Лежебоков Андрей Анатольевич - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347902, г. Таганрог, ул. Кузнечная, 142/2, кв. 1; тел.: 89282141767; кафедра систем автоматизированного проектирования; ассистент.
Nagoev Zalimhan Vyacheslavovich - Institute of Computer Science and Problems of Regional Management of KBSC of RAS; e-mail: [email protected]; 37-a, I. Armand's street, Nalchik, 360000, KBR; phone: +78662426552; cand. of eng. sc.; head the department of multiagent systems.
Kudayev Anzor Yurievich - e-mail: [email protected]; cand. of phys.-math. sc., c.r.o. of the department of multiagent systems.
Leghebokov Andrey Anatolievich - Federal State-Owned Autonomous Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; 142/2, Kuznechnaya street, fl. 1, Taganrog, 347902, Russia; phone: +79282141767; the department of computer aided design; assistant.
УДК 658.512.2.011.5
Л.А. Гладков, Н.В. Гладкова, Е.С. Скубриева
РЕШЕНИЕ ЗАДАЧИ ТРЕХМЕРНОЙ УПАКОВКИ РАЗНОГАБАРИТНЫХ
ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ БИОНИЧЕСКИХ МЕТОДОВ*
Рассматривается задача трехмерной упаковки разногабаритных элементов. Приведена постановка задачи, разработана методика кодирования/декодирования решений. Предложена эвристика создания начальной популяции на основе последовательного алгоритма. Разработаны генетический и эволюционный алгоритмы решения поставленной задачи. Описан процесс кодирования и декодирования решения. Разработана программная среда. Представлено краткое описание проведенных вычислительных экспериментов, подтверждающих эффективность предложенного метода, а так же выполнена оценка его временной сложности.
Упаковка разногабаритных элементов; генетический алгоритм; эволюционный алгоритм; эвристика создания начальной популяции.
L.A. Gladkov, N.V. Gladkova, E.S. Skubrieva
THE DECISION OF THE 3D-PACKING PROBLEM DIFFERENTLY DIMENSIONAL OBJECTS WITH USE BIONIC METHODS
In article the problem of 3D packing differently dimensional elements is considered. Problem statement is resulted; the technique of coding/decoding of decisions is developed. The heuristics of creation of initial population on the basis of consecutive algorithm is offered. Genetic and evolutionary algorithms of the decision of a task in view are developed. Process of coding and decision decoding is described. The program environment is developed. The short description of the spent computing experiments confirming efficiency of the offered method and as the estimation of its time complexity is executed is presented.
Packing differently dimensional elements; genetic algorithm; evolutionary algorithm; heuristics of creation of initial population.
Одной из актуальных отраслей экономики, требующих автоматизации является складское хозяйство, в том числе задачи логистики и транспортные задачи, задачи упаковки. Такого рода задачи, как правило, являются NP-полными. Поэтому необходима разработка эвристических методов решения данного класса задач
*
Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00122).
[1-3]. Результатом непрекращающегося поиска наиболее эффективных методов решения задачи упаковки блоков стало использование биоинспирированных алгоритмов. К ним можно отнести генетические и эволюционные алгоритмы, методы моделирования отжига, роевые алгоритмы. Эти эвристические методы осуществляют поиск баланса между эффективностью и качеством решений за счет «выживания сильнейших альтернативных решений», в том числе, в неопределенных и нечетких условиях [4-7].
Приведем постановку задачи размещения грузов в ограниченном трехмерном пространстве. Дана область трехмерного пространства шириной W, длиной Н и высотой D. Имеется множество блоков А = {а,}, і = 1, ..., N. Множество блоков разбито на множество типоразмеров Т = {/,}, ] = 1, ..., К, имеющих различные габариты. Необходимо разместить заданное множество блоков (А) различных типоразмеров (Т) общим числом N в контейнере, пространство которого ограничено параллелепипедом М = W х Н х Б, таким образом, чтобы выполнялись все ограничения, и значение целевой функции было наилучшим с точки зрения используемого критерия оптимизации. Результат представляется в виде плана размещения блоков в контейнере.
Каждый тип блоков описывается кортежем длины три <хі, уі, і>, где хі, уі, іі -габаритные размеры элемента [8, 9]. В ходе решения задачи положение элементов, обозначенное заданным типом, в пространстве задается множеством 8 = {5,(<х1в Ун, ги>, <Х2і, Ун, 2Ъ>) | і = 1, 2, ..., п}, где <хи, уи, 2і>, <Х2,, У2і, ^2і> - координаты углов элемента - самого близкого к началу осей координат и самого удаленного соответственно. Также задан параллелепипед М = <тх, ту, т>, где тх, ту, т2 - габаритные размеры контейнера. Введем следующие ограничения:
1. Ни один элемент не может выходить за границы заданного объема, т.е. удовлетворять системе неравенств:
2. Суммарный объем элементов не может превышать объема контейнера:
* п
' Уі ' 2і) ^ ШХ ‘ тут2
І = 1
3. Блоки не могут накладываться друг на друга (в одну область пространства нельзя поместить два объекта):
(х2£*и &У2£Уц &22і2гц) ^(х2і<хц &У2>Уц у(хи>хц&уи<у ) V
= 1 пч/ійп5і ^п^іт^)
В качестве критерия оптимизации в рассматриваемой задаче используется отношение полезного объема, занимаемого грузом к общему объему контейнера. Таким образом, целью решения задачи является уменьшение пустот в области упаковки. В идеальном случае, когда целевая функция равна 1, область упаковки заполнена на 100 % [8, 9].
у_ р = ^ 1,
У_
кон
где Убл - объем каждого блока; Укон - объем контейнера.
Рассмотрим методику кодирования-декодирования решений. Для кодирования решения используется векторная хромосома, каждый ген которой задается кортежем <кі, а>, где к - номер і-го блока, йі - вариант поворота і-го блока. Хромосома устанавливает порядок рассмотрения блоков при декодировании.
Алгоритм декодирования является последовательным, очередной размещаемый элемент устанавливается в окончательное место на каждом шаге алгоритма. Размещение каждого элемента происходит в два этапа.
На первом этапе элемент помещается в вогнутом трехгранном угле, образованном плоскостями Н, Б, как показано на рис. 1, эти плоскости параллельны плоскостям у07, х07, х0у, а в начале алгоритма они с ними совпадают. В процессе первоначального размещения после размещения і-го элемента, плоскости Н, Б
сдвигаются, чтобы гарантировать отсутствие пересечений с множеством ранее размещенных элементов.
Для любого блока при оценке вариантов размещения рассматриваются все возможные положения в пространстве (рис. 2). Поскольку номер блока является целым неотрицательным числом, то предлагается кодировать варианты поворота отрицательными числами от -1 до -6.
Рис. 2. Варианты поворота заданного блока
На втором этапе выполняется уплотнение элементов в сторону начала координат. Например, в случае, изображенном на рис. 3, для элемента будет подобрана наименьшая положительная координата 7, при которой элемент будет размещен без пересечений. Процедура спуска производится сначала по оси 2, затем по оси У, после этого по оси X.
В начале для спускаемого блока определяется список размещенных блоков, которые находятся у него на пути при его движении вниз, на рис. 4 они выделены темно-серым цветом. Затем создается список пометок границ этих блоков и для каждого блока в него помещается две пометки: метка начала блока («+») и метка конца («-»), вместе с меткой в списке запоминается ее координата, после чего список сортируется по возрастанию позиции. Затем алгоритм проходит список, начиная от нулевой координаты. Рассматривая поочередно в каждую метку можно определить, со сколькими фигурами пересечется блок при размещении в соответствующей позиции. Сделать это можно при помощи счетчика: если алгоритм пришел в метку «+», то счетчик увеличить, если в «-», то уменьшить. Если счетчик на очередном шаге будет равен нулю, то это будет означать, что найдена пустая область, а по расположению следующей метки можно определить ее размер. Таким образом, предложенный алгоритм позволяет определить положения и размеры всех потенциальных областей размещения фигуры. Как только они определены, выбирается первая подходящая по размеру область с наименьшей координатой. В рассматриваемом примере будет выбрана область, начинающаяся с координаты 125.
б
Рис. 4. Процедура уплотнения блоков при декодировании
Процесс поиска решения может проходить в два этапа за счет возможности учета влияния внешней среды на выбор одного из алгоритмов. В зависимости от выбранного пути развития популяции, например, эволюционного алгоритма, мо-
жет быть потрачено меньше времени на решение задачи (при найденном оптимальном решении), т.к. в нем новые хромосомы в популяции формируются путём реализации одного оператора мутации.
Если после работы эволюционного алгоритма получено качественное решение и критерий останова достигнут, то можно алгоритм на этом этапе остановить. Если решение не удовлетворяет поставленной задачи, производится переход к генетическому алгоритму. В генетическом алгоритме новые решения в популяции формируются путем реализации различных модифицированных генетических операторов: кроссинговер, мутация и редукция.
Процесс создания начальной популяции очень важен, т.к. именно на его основе работают различные генетические операторы, которые пытаются улучшить исходное решение. Поэтому было решено использовать не случайную генерацию популяции, а эвристику, на основе которой происходит этот процесс.
Данная эвристика представляет собой последовательный алгоритм размещения элементов. На первом этапе заданное множество блоков сортируется по убыванию объема каждого из них, т.е. первым элементом в списке буде стоять самый большой элемент. На втором этапе из списка выбирается первый элемент, который помещается в начало координат (левый верхний угол по плоскости XOY), затем выбирается второй из списка элемент, который размещается по принципу, описанном выше на этапе декодирования. Таким образом, заполняется весь контейнер. Полученное решение является первой из хромосом, которая образует начальную популяцию. Для создания всей оставшейся популяции было предложено взять за основу созданную популяцию и изменить в ней углы поворота блоков. Данная эвристика позволяет обеспечить разнообразие популяции для скорейшего нахождения оптимального решения.
Пример работы предложенной эвристической процедуры показан на рис. 5.
3 6 2 8 10 4 9 7 5 1 X» блока
Р1: -1 _5 _2 -3 -б _2 -1 -3 -4 _5 Тпп поворота
Рис. 5. Пример работы эвристики
В ходе исследований разработанных алгоритмов были проведены шесть серий экспериментов, каждая из которых содержала по десять опытов, число начальной популяции - 25 особей, количество итераций - 500. Результаты экспериментов представлены на рис. 6, 7. Объектами исследований являлись генетический, эволюционный и итерационный алгоритмы. В ходе проведения экспериментов были определены оптимальные значения вероятностей выполнения модифицированных генетических операторов: для оператора кроссинговера: вероятность 60-70 %; для оператора мутации (ОМ) № 1: вероятность 40-50 %; для ОМ № 2: вероятность 45 %; для ОМ №3 - 35 %. Также исследовалась зависимость целевой функции от размерности задачи (числа элементов). На графике видно, что при ма-
лом числе элементов итерационный алгоритм находит лучшее решение. Но по мере увеличения числа элементов эффективность ГА и ЭА растет. Следовательно, бионические алгоритмы дают приемлемое решение для небольшого количества элементов и наиболее эффективны при решении задач большой размерности.
Из приведенных графиков видно, что временная сложность алгоритма (ВСА), полученная экспериментальным путем совпадает с теоретическими исследованиями и для рассмотренных тестовых задач и не превышает О(п2).
Значение ЦФ
0,6
0,5
0,4
03
0,2
ОД
О
і jim d і 1 1 і
і Генетический алгоритм
Щ
|__ ■Эволюционный
алгоритм
■ Итерационный алгоритм
■ II
100 250 500 1200
Количество элементов
Рис. 6. Зависимость значения ЦФ от числа элементов
Рис. 7. График зависимости времени работы алгоритма от числа элементов
Описанный в данной статье алгоритм, позволяет получать наборы квазиоп-тимальных и оптимальных решений, за полиномиальное время и позволяет частично решать проблему предварительной сходимости. Проведенные серии тестов и экспериментов позволили уточнить теоретические оценки временной сложности разработанных алгоритмов упаковки.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик В.М., Гладков Л.А., Баринов С.В. Развитие технологии производства печатных плат. Разработка алгоритма трехмерной компоновки СБИС на основе итерационной кластеризации с учетом временных задержек // Известия ЮФУ. Технические науки.
- 2007. - № 2 (77). - С. 47-53.
2. Гладков Л.А. Гибридный генетический алгоритм решения задачи размещения элементов СБИС с учетом трассируемости соединений // Вестник РГУПС. - 2011. - № 3 (43). - С. 58-66.
3. Щеглов С.Н. Исследование алгоритмов автоматизированного проектирования на примере задачи разбиения СБИС // Известия ЮФУ. Технические науки. - 2010. - № 7 (108).
- С. 74-78.
4. Гладков Л.А., Курейчик В.М., Курейчик В.В., Сороколетов П.В. Биоинспирированные методы в оптимизации. - М.: Физматлит, 2009.
5. Курейчик В.В., Курейчик В.М., Родзин С.И. Теория эволюционных вычислений. - М.: Физматлит, 2013.
6. Берёза А.Н., Стороженко А.С. Комбинированный многопопуляционный муравьиный генетический алгоритм // Известия ЮФУ. Технические науки. - 2008. - № 9 (86). - C. 24-31.
7. Гладков Л.А., Болоцкова И.А. Эволюционный подход к решению графовых задач // Известия ТРТУ. - 2002. - № 1 (24). - C. 84.
8. Нужное Е.В., Барлит А.В. Трехмерная упаковка несвязных элементов на основе эвристических процедур. - Таганрог: Изд-во ТРТУ, 2002. - 23 с.
9. Курейчик В.В., Потарусое Р.В., Гонкалеес Ж. Бионические методы упаковки блоков.
- Таганрог: Изд-во ТТИ ЮФУ, 2009.
Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.
Гладков Леонид Анатольевич - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371625; кафедра систем автоматизированного проектирования; доцент.
Гладкова Надежда Викторовна - тел.: 88634393260; кафедра ДМ и МО; старший преподаватель.
Скубриева Елена Сергеевна - e-mail: [email protected]; тел.: 88634371625; кафедра систем автоматизированного проектирования; аспирант.
Gladkov Leonid Anatol’evich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; 44, Nekra-sovsky, Taganrog, 347928, Russia; phone: +78634371625; the department of computer aided design; associate professor.
Gladkova Nadezhda Vrntorovna - phone: +78634393260; DM&MO department; senior teacher.
Skubrieva Elena Sergeevna - phone: +78634371625; the department of computer aided design; postgraduate student.
УДК 681.325
В.Б. Лебедев, О.Б. Лебедев
РОЕВОЙ ИНТЕЛЛЕКТ НА ОСНОВЕ ИНТЕГРАЦИИ МОДЕЛЕЙ АДАПТИВНОГО ПОВЕДЕНИЯ МУРАВЬИНОЙ И ПЧЕЛИНОЙ КОЛОНИЙ*
Предлагается парадигма роевого алгоритма на основе интеграции моделей адаптивного поведения муравьиной и пчелиной колоний, заключающейся в создании гибридного агента-пчеломуравья поочередно выполняющего функции муравьев и пчел. При этом решение попеременно отражается либо на графе поиска решений, либо в виде позиции в пространстве поиска решений. Предложенный в работе класс гибридных алгоритмов может быть использован для решения широкого круга комбинаторных задач. Заложенные в каждой модели метаэвристики при их интеграции усиливают возможности и эффективность алгоритмов. Экспериментальные исследования показали, что алгоритмы на основе предлагаемого подхода могут давать лучшие результаты, чем при использовании методов пчелиной и муравьиной колоний по отдельности. Проведены экспериментальные исследования. подтвердившие эффективность предложенной парадигмы.
Роевой интеллект; муравьиная колония; пчелиная колония; адаптивное поведение; самоорганизация; интеграция; оптимизация.
* Работа выполнена при частичной поддержке РФФИ (проекты: № 12-01-00100, № 13-01-00596).