Научная статья на тему 'Решение задачи двумерной упаковки методом вариационного генетического алгоритма'

Решение задачи двумерной упаковки методом вариационного генетического алгоритма Текст научной статьи по специальности «Математика»

CC BY
775
95
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Cloud of science
ВАК
Область наук
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / КОМБИНАТОРНЫЕ ЗАДАЧИ / УПАКОВКА / ВАРИАЦИИ / БАЗИСНОЕ РЕШЕНИЕ

Аннотация научной статьи по математике, автор научной работы — Дивеев А.И., Шмалько Е.Ю.

Представлен новый подход к применению генетических алгоритмов для решения комбинаторных задач. Основная трудность в применении ГА заключается в проверке корректности новых возможных решений, полученных в результате рекомбинации. Представленный в работе метод вариационного генетического алгоритма позволяет избежать указанных трудностей, так как реализует генетические операции на множестве малых вариаций базисного решения. В работе приведено описание алгоритма и его применение в задаче двумерной упаковки.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Дивеев А.И., Шмалько Е.Ю.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solution of two-dimensional packing problem by variational genetic algorithm

This paper presents a new approach to the use of genetic algorithms to solve combinatorial problems. The main difficulty in the application of GAs is to verify the correctness of new potential solutions resulting from recombination. The proposed variational genetic algorithm avoids these difficulties via implementing the genetic operations on the set of small variations of the basic solution. The paper describes the approach and its application for two-dimensional packing problem.

Текст научной работы на тему «Решение задачи двумерной упаковки методом вариационного генетического алгоритма»

Cloud of Science. 2016. T. 3. № 3 http:/ / cloudofscience.ru ISSN 2409-031X

Решение задачи двумерной упаковки методом вариационного генетического алгоритма

А. И. Дивеев, Е. Ю. Шмалько

Федеральный исследовательский центр «Информатика и управление» Российской академии наук, 119333, Москва, ул. Вавилова, 44

Российский университет дружбы народов, 117198, Москва, ул. Миклухо-Маклая, 6

e-mail: aidiveev@mail.ru, e.shmalko@gmail.com

Аннотация. Представлен новый подход к применению генетических алгоритмов для решения комбинаторных задач. Основная трудность в применении ГА заключается в проверке корректности новых возможных решений, полученных в результате рекомбинации. Представленный в работе метод вариационного генетического алгоритма позволяет избежать указанных трудностей, так как реализует генетические операции на множестве малых вариаций базисного решения. В работе приведено описание алгоритма и его применение в задаче двумерной упаковки. Ключевые слова: генетический алгоритм, комбинаторные задачи, упаковка, вариации, базисное решение.

1. Введение

Многообразие задач комбинаторной оптимизации, таких как упаковки и раскройки, а также смежных задач маршрутизации, составления расписаний и др., представляют собой проблему как теоретического, так и практического плана. Причина растущего интереса к этим задачам со стороны производственников состоит в их безусловно большом прикладном значении, а со стороны исследователей в разнообразии и сложности, связанной с поиском достаточно точного решения в пространстве большой размерности.

Вопрос об эффективном применении точных комбинаторных методов решения задач дискретной оптимизации большой размерности остается открытым до сих пор. Сегодня для решения NP-трудных комбинаторных задач с успехом применяются современные эвристические методы локального поиска. Бурное развитие этих методов началось с появления так называемых метаэвристик [1-3], то есть общих схем построения алгоритмов, которые могут быть применены практически к любой задаче дискретной оптимизации. Это связано, прежде всего, с тем, что изменился общий взгляд на построение локальных алгоритмов. Требование монотонного улучшения по целевой функции больше не является доминирующим. Как отмеча-

ется в [2], наиболее мощные алгоритмы допускают произвольное ухудшение по целевой функции.

Первыми среди сложных метаэвристик для дискретных задач упаковки-раскройки стали применяться генетические алгоритмы. Впервые нестандартные идеи генетических алгоритмов были применены к решению оптимизационных задач в середине 70-х гг. [4, 5]. Примерно через 10 лет появились первые теоретические обоснования этого подхода [6, 7]. На сегодняшний день генетические алгоритмы доказали свою конкурентоспособность при решении многих NP-трудных задач [8, 9] и особенно в практических приложениях, где математические модели имеют сложную структуру и применение стандартных методов типа ветвей и границ, динамического и линейного программирования крайне затруднено.

Противники эволюционных подходов заметят, что применение локального спуска позволяет генетическому алгоритму сосредоточиться только на локальных оптимумах. Однако экспериментальные исследования распределения локальных оптимумов свидетельствуют о высокой концентрации их в непосредственной близости их от глобального оптимума [10, 11]. Это наблюдение известно как гипотеза о существовании «большой долины»: в среднем локальные оптимумы расположены гораздо ближе к глобальному оптимуму, чем к случайно выбранной точке. Их распределение в области допустимых решений не является равномерным. Они концентрируются в районе глобального оптимума, занимая область небольшого диаметра [2]. Эта гипотеза отчасти объясняет работоспособность и эффективность генетических алгоритмов.

В настоящей работе мы представляем новый подход на основе генетического алгоритма к решению NP-сложной задачи упаковки. Применение генетического алгоритма к решению NP-сложных оптимизационных задач затруднено реализацией генетических операций на кодах возможных решений. Наибольшую сложность при реализации вызывает основная операция генетического алгоритма — скрещивание. Выполнение операции скрещивания в классическом варианте реализации, когда к части кода одного возможного решения механически добавляют часть кода другого возможного решения, чаще всего приводит к получению «неправильного» кода, не соответствующего никакому возможному решению. В этих случаях исследователи вырабатывают правила исправления кода в соответствии с решаемой задачей. Процедуры проверки и исправления кода часто существенно замедляют работу генетического алгоритма и нарушают принцип наследования в результате значительного изменения кода нового возможного решения.

В качестве примера можно рассмотреть большое количество работ по применению генетического алгоритма для решения задачи упаковки [12-16]. В задаче вместе с номерами укладываемых предметов в коде возможного решения иногда

присутствует информация о правилах упаковки [15], что не исключает возникновения проблемы повтора номеров укладываемых предметов в кодах новых возможных решений после выполнения операции скрещивания. Для исправления кода была придумана процедура «жадного» скрещивания [17], которая включала нахождение повторяющегося числа, ближайших неповторяющихся чисел, вычисление оценок значений целевой функции с этими числами и замену повторяющегося числа на лучшее по значению целевой функции неповторяющееся число. Перечисленные этапы исправления кода значительно превосходят по вычислительным затратам саму операцию скрещивания, особенно при наличии в коде нового возможного решения нескольких повторяющихся чисел.

В задачах с более сложными кодами возможных решений возникновение коллизий в кодах новых возможных решений после выполнения операции классического скрещивания неизбежно. Чем сложнее код возможного решения, тем сложнее получить новые возможные решения с помощью операции скрещивания без нарушений правил кодирования.

В работе мы приводим универсальный способ построения генетических алгоритмов для решения NP-трудных задач с кодами возможных решений любой сложности. Подход основан на использовании принципа малых вариаций базисного решения [18]. Суть принципа состоит в определении малых вариаций (мутаций) кода возможного решения рассматриваемой задачи и поиске оптимального решения с помощью генетического алгоритма на множестве малых вариаций кода одного базисного решения. Малые вариации всегда приводят к правильному коду возможного решения. Все генетические операции выполняем на упорядоченных множествах малых вариаций. Результатом генетических операций всегда будет правильный код возможного решения. В работе приводим описание универсального вариационного генетического алгоритма на основе принципа малых вариаций базисного решения для решения задачи двумерной упаковки.

2. Постановка задачи

Рассмотри задачу двумерной ортогональной упаковки.

Задано множество номеров предметов

1„=(1.--»). (1)

Задано упорядоченное множество габаритов предметов в виде пар положительных чисел

А = (а1=[а11 4Г,...,а"=[< а'Ц), (2)

а\ >0, а\ > 0, 7=1,..., п.

Заданы габариты контейнера или размеры области, куда необходимо укладывать предметы

х~, х+, у~, у+, X- < х+, у~ < у+. (3)

Необходимо найти упорядоченное подмножество номеров в (1)

N£1,,, N = (/,,...,/Д (4)

к < п, * ц, ,е Iп

и месторасположение контейнеров в виде пар координат, например верхних левых углов предметов,

в = л^т,...У=[ук; (5)

которые должны удовлетворять габаритным ограничениям

х" < \'( < х+, у < т2' < у+, + (¿1 < х+, -а\> у , (6)

где = Аг; ц ёК

Уложенные предметы должны также удовлетворять условию отсутствия пересечений между собой:

+ 4 < V/) V {л{ > V/ + 4) V {л{ < - а>_) V {л{ - а\ > л>{), (7)

где 1,] <е{\, ...,к}.

Критерием оптимизации выбран минимум оставшейся в контейнере площади

к

/о(Ы) = (х+ - х- )(у+ - у- )-X аЧ ^ тт. (8)

Для решения задачи выберем стратегию укладки. Укладывать контейнеры будем слева направо, снизу вверх. При укладке каждого контейнера вычисляем место укладки в виде наименьших значений по координатам х и у.

Решение задачи ищем с помощью вариационного генетического алгоритма.

3. Вариационный генетический алгоритм

Пространство поиска, или пространство кодов возможных решений, определяем с помощью базисного решения, закодированного в виде матрицы сетевого оператора, и наборов векторов малых вариаций базисного решения.

Задаем первое базисное решение

У°еЁ„, (9)

где Нн = {у°, у1,...} — множество допустимых кодов элементов ограниченной длины п.

Базисное решение выбираем случайно или на основании анализа задачи и свойств искомого оптимального решения.

Введем понятие малой вариации кода. Замена кода одного символа на другой допустимый символ является элементарной вариацией кода. Но не всегда замена одного символа в допустимом коде элемента приводит к новому допустимому коду. Иногда замена одного символа в допустимом коде элемента приводит к некорректному коду. Элементарной вариации недостаточно для получения из одного допустимого кода элемента другого допустимого кода.

Малой вариацией называем необходимый минимальный набор элементарных вариаций для получения из одного допустимого кода элемента другого допустимого кода. В некоторых случаях малая вариация состоит из одной элементарной вариации. В других случаях для получения нового допустимого кода элемента малая вариация включает несколько элементарных вариаций.

Для описания малой вариации введем вектор вариаций

W = K ■■■ w,-f > (10)

где размерность г вектора вариаций определена количеством необходимой для выполнения малой вариации 6,. (у) информации; — номер малой вариации, w1 = /; w2 — номер варьируемого символа в коде элемента у и т. д.

Вектор вариации (10) описывает функцию отображения множества допустимых кодов элементов в себя. Определим действие вектора вариаций на любой элемент у множества Еи допустимых кодов элементов ограниченной длины в виде действия оператора на элемент множества.

у-'' = W о у'', (11)

где yJ =0Ду') при м\ = к.

Вариации кода элемента у из окрестности Д(у) определяем с помощью конечного набора векторов вариаций

Vy7'eA(y), f =wk 0...0W1 °у, к < А. (12)

Целью вводимых конструкций является организация целенаправленного поиска на множестве кодов возможных решений. Поиск набора малых вариаций, определяющих оптимальное решение задачи, реализуем генетическим алгоритмом на множестве наборов малых вариаций.

Пусть на множестве кодов допустимых решений необходимо найти оптимальное допустимое решение согласно заданным критериям

/0>, (у)->min, i = l,nf. (13)

Целевая функция /0,(у), i = \,nf отображает любой код элемента в вещественное число

/0Ду): г=\пг (14)

Генерируем множество наборов векторов вариаций

\ = (15)

где = | \\у' ... иу' |7. / = 1, с/, (I — количество векторов вариаций в одном

наборе; Н — количество наборов или согласно терминологии генетического алгоритма размер начальной популяции.

Вместе с Н наборами векторов вариаций задаем также тождественный набор вариаций

(» .....« <). (16)

Вектор вариации w0J описывает невыполняемую вариацию.

УуеЁ„, = (17)

Определим нулевой вектор в качестве вектора вариации для описания невы-полняемой малой вариации

w0J = ... м'У = 0, /' = \~г, } = \й. (18)

Все наборы W1, 1 = 0, Н длины й векторов вариаций при их применении к

базисному решению определяют возможные решения из ^-окрестности базисного решения

\\Г°у°=у, уе</(у°)сЁп> (19)

где W¿ о у° = о... о V-1 о у°, |у11 - у|| =с1, / = 0, Н.

Согласно свойству тождественного набора векторов вариаций имеем

\Гоу°=у°. (20)

Организуем с помощью генетического алгоритма поиск наилучшего решения в ¿/-окрестности базисного решения (9) у0. Операции генетического алгоритма применяем к наборам (15) векторов вариаций.

Для оценки каждого возможного решения используем ранговый критерий. Для этой цели первоначально для каждого возможного решения

У'= / = 0^, (21)

вычислим значения критериев

где

Л' /: (>')■ 1 = 0, н, к = \, пГ (23)

Ранг возможного решения (21) определяем по количеству других возможных

решении с лучшими значениями критериев

H

.1=0 где

il, если Г Г

Л,=ХМу'), (24)

' 4 ' 0 - иначе,

f0,j < f0,i, если № < к = 1, nf, и 3r, f^ < fr0i 1 < r < nf.

Ранг A. (24) является целочисленной оценкой возможного решения у' по нескольким критериям (13). Наилучшие решения во множестве возможных решений имеют нулевое значение ранга Л; = 0, 0 < i < H.

Операцию скрещивания для возможных решений осуществляем для наборов (15) векторов вариаций. Отбираем случайно или по известным из теории генетических алгоритмов методикам два набора векторов вариаций

W'1 = (w'"1,...,wh'd ), = (wu,...,wh'd ). (26)

Возможные решения, соответствующие отобранным наборам

у4=\\Л°у0, y''=W'°y° (27)

по терминологии генетических алгоритмов называем родителями.

По значениям рангов родительских возможных решений вычисляем вероятность скрещивания

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

f1+ УЛ 1 + УЛ,21

ps = max <--,-L >, (28)

s I 1+ Л. 1+ Л. I

L Ч '2 J

где y — параметр скрещивания, 0 < y < 1.

При значении y = 0 максимальная вероятность скрещивания для возможных решений с ненулевым рангом не превышает величины 0.5. При величине y = 0.9 максимальная вероятность скрещивания для возможных решений с ненулевым рангом составляет величину 0.95. Решения с нулевым рангом скрещиваем всегда с вероятностью 1.

Для принятия решения по скрещиванию двух отобранных возможных решений (27) генерируем случайное вещественное число Ç в диапазоне от 0 до 1. При условии превышения сгенерированным случайным числом вероятности скрещива-

ния С > р выполняем операцию скрещивания для отобранных возможных решений (27).

Определяем случайно целое число к из диапазона от 1 до й. Данное число в генетическом алгоритме называют точкой скрещивания, 1 < ку < й.

Создаем из отобранных наборов (27) векторов вариаций с учетом точки скрещивания к два новых набора векторов вариаций

\УЯ+1 = ,..., w'lЛ-1, ,..., ^ ), (29)

Wя+2 .....^'"У^'.....(30)

Далее согласно классическому генетическому алгоритму выполняем операцию мутации. Суть данной операции в варьировании новых полученных возможных решений. Операцию мутации выполняем с учетом заданной величины вероятности мутации рт.

Для выполнения операции мутации для каждого из двух новых наборов векторов вариаций генерируем случайное вещественное число С в диапазоне от 0 до 1. При выполнении условия С > р„ выполняем операцию мутации. Определяем точку мутации. Генерируем случайное целое число к в диапазоне от 1 до й и заменяем вектор вариации wH+1,km в новом наборе WH+1 на случайно сгенерированный вектор вариаций. Эти же операции при выполнении условия С > р„ для нового сгенерированного числа С повторяем для второго нового набора WH+2. В результате получаем два новых набора векторов вариаций

(31)

\Уя+2=(тея+2Д,...,тея+2^). (32)

Каждый из новых наборов векторов вариаций соответствует новому возможному решению

(33)

y^=Wя+2oy0. (34)

Определяем значения векторов критериев качества для новых возможных решений

... /=1,2, (35)

где

/Г^/оДу™)' ' = 2- к = (36)

Вычисляем ранг для первого нового возможного решения

н

Ля+1=1МУя+1)- <37>

.1=0

Среди возможных решений без учета базисного решения и новых возможных решений находим решение у'+ с наибольшим значением ранга

Л = max {л, i = \И}. (38)

При выполнении условия превышения наибольшим рангом величины ранга первого нового возможного решения заменяем набор векторов вариаций для возможного решения с наибольшим значением ранга набором векторов вариаций первого нового возможного решения.

Wi+= WH+1, f = f+1. (39)

Повторяем по формулам (24), (25) пересчет рангов для всех возможных решений.

Вычисляем ранг для второго нового возможного решения

н

Ля+,=ХМуя+2> <40>

./=0

Среди возможных решений без учета базисного решения и второго нового возможного решения находим решение у'+ с наибольшим значением ранга (38).

В случае превышения наибольшим рангом величины ранга второго нового возможного решения заменяем набор векторов вариаций для возможного решения с наибольшим значением ранга набором векторов вариаций второго нового возможного решения.

Wi+= WH+2, f °'i+= f +2. (41)

При многократном повторении операций построения новых решений и замены возможных решений по значению ранга множество возможных решений изменяет свой состав на возможные решения с меньшими значениями критериев качества.

В операциях замены наборов векторов вариаций на полученные в результате скрещивания новые вектора вариаций не участвует базисное решение и ему соответствующий набор тождественных векторов вариаций. В то же время при выполнении операции скрещивания набор тождественных векторов для базисного решения участвует. Для базисного решения вычисляем значение ранга по соотношениям (24), (25) после замены одного возможного решения.

После выполнения заданного количества итераций построения новых возможных решений базисное решение заменяем на одно из решений с нулевым значением ранга

у°=у\Л,=(Х (42)

где у'- — отобранное для нового базиса возможное решение; у - = V/' оу°.

Для определения возможного решения для нового базисного решения используем дополнительные условия выбора с учетом особенностей задачи.

После повторения заданного количества циклов построения новых возможных решений и замен базисного решения строим множество Парето из возможных решений с нулевыми значениями рангов.

Р = {у\...,у'-Л,. =0,У=1ГР}„ (43)

Полученное множество Парето является решением рассматриваемой задачи многокритериальной оптимизации на множестве нечисловых элементов.

4. Численный эксперимент

В качестве малой вариации выбираем обмен номеров предметов в упорядоченном множестве номеров (4). Вектор вариаций содержит две компоненты

ъ = м'2]т, м\,м'2е{\,...,п). (44)

В случае использования вариации обмена, меняем местами 1 и 1

...,/:). (45)

Заметим, что из п предметов в контейнер укладываем к < п предметов в зависимости от порядка укладываемых предметов, поэтому малая вариация с щ > к и щ > к является тождественной, не меняющей базисное решение. Тождественная вариация в вариационном генетическом алгоритме необходима из-за фиксированного значения количества вариаций й в возможном решении.

В численном примере случайно было сгенерировано п = 100 предметов со сторонами от 5 до 20. Их необходимо было упаковать в контейнер с координатами х- = 0, х+= 100, у -= 0, у += 100.

Множество исходных предметов имело следующие элементы: А = ([16.13 14.06]т, [19.02 12.37]т, [17.16 15.89]т, [19.10 13.96]т, [8.29 8.75]т, [16.77 18.77]т, [18.14 6.65]т, [19.16 13.01]т, [6.49 6.35]т, [6.32 5.63]т, [10.94 19.66]т, [16.07 10.13]т, [14.60 17.46]т, [6.20 13.37]т, [17.07 5.25]т, [17.30 5.17]т, [15.94 12.44]т, [7.97 15.01][9.68 15.34]т, [8.18 9.28] т, [19.01 8.15]т, [15.63 18.74]т, [18.04 18.39]т, [17.11 18.26]т, [18.06 12.21]т, [16.67 15.10]т, [15.50 11.72]т, [8.59 12.83]т, [11.00 18.84]т, [12.02 16.10]т, [7.05 8.21]т, [8.64 15.38]т, [9.84 9.47]т, [8.62 12.48]т, [16.76 5.27]т, [12.86 8.33]т, [13.88 12.48]т, [7.27 9.34]т, [13.36 14.96]т, [12.41 8.20]т, [10.34 8.15]т, [19.84 5.83]т, [12.32 16.94]т, [15.99 18.84]т, [9.23 5.18]т, [18.62 5.84]т, [16.64 8.51]т,

[12.29 6.56]т, [6.89 12.55]т, [5.60 6.76]т, [18.02 7.07]т, [6.00 19.91]т, [18.84 18.52]т, [5.63 13.73]т, [13.56 14.54]т, [7.79 14.18]т, [10.64 9.61]т, [9.50 6.44]т, [17.13 7.36]т, [7.27 9.04][8.57 8.31]т, [14.03 5.06]т, [5.96 6.32]т, [15.63 11.11]т, [14.82 5.33]т, [8.22 9.35]т, [6.86 17.57]т, [17.23 14.66]т, [14.45 5.83]т, [9.20 9.07]т, [11.13 14.73]т, [11.24 9.79]т, [12.77 17.81][19.80 8.11]т, [18.68 12.11]т, [5.12 11.27]т, [10.34 13.40]т, [15.53 15.89]т, [12.57 17.80]т, [6.55 11.54]т, [9.32 15.11]т, [6.53 7.10]т, [15.32 6.37]т, [15.44 5.53]т, [9.89 10.94]т, [5.92 8.36]т, [19.19 17.55]т, [10.73 13.38]т, [18.17 14.84]т, [19.28 10.12]т, [14.99 12.21]т, [18.74 6.35]т, [18.73 9.38]т, [6.23 7.40]т, [19.28 13.18]т, [16.54 18.09]т, [10.61 13.54]т, [10.10 8.12]т, [15.13 10.07]т ).

В качестве базисного решения был выбран исходный порядок предметов. Для базисного решения в контейнер уместилось 43 предмета N = 1, 43.

Координаты верхних левых углов предметов имели следующие значения: В(]) = ([0.00 15.04]т, [11.50 14.06]т, [27.63 12.37]т, [46.65 15.89]т, [63.82 13.96]т, [82.92 8.75][0.00 33.80]т, [16.77 20.71]т, [34.91 28.90]т, [54.08 22.24]т, [60.56 21.52]т, [66.88 33.61]т, [77.82 24.09]т, [0.00 51.27]т, [14.60 46.02]т, [29.59 34.16]т, [46.66 34.06]т, [63.97 46.05]т, [79.90 39.09]т, [87.87 39.42]т, [0.00 60.54]т, [8.18 59.42][27.19 64.76]т, [42.82 52.55]т, [60.86 64.31]т, [77.97 58.27]т, [0.00 75.64]т, [16.67 76.48]т, [32.17 77.59]т, [40.76 83.60]т, [51.76 80.41]т, [63.78 72.52]т, [70.83 79.69]т, [79.48 67.73]т, [89.32 70.75]т, [0.00 81.75]т, [16.76 84.81]т, [29.62 96.09]т, [43.50 92.94][50.77 98.56]т, [64.12 87.88]т, [76.53 87.84]т, [0.00 90.63]1).

Базисное решение представлено на рис. 1. Значение целевой функции (8) для базисного решения составило величину /0 (]) = 2868.23.

Рисунок 1. Базисное решение

Для поиска оптимального решения был использован вариационный генетический алгоритм со следующими параметрами: число возможных решений в начальном множестве Н = 1024, число поколений 512, число скрещиваний в одном поколении 256, число вариаций в одном возможном решении 8, число поколений между сменой базисного решения 128, вероятность мутации ^ = 0.7.

В результате было получено решение из 54 предметов. ^ = (73, 81, 53, 96, 14, 3, 4, 17, 95, 93, 70, 27, 80, 13, 36, 15, 83, 68, 18, 19, 72, 66, 89, 23, 24, 2, 87, 67, 22, 29, 71, 30, 94, 88, 41, 47, 86, 37, 38, 39, 26, 75, 6, 43, 21, 82, 31, 92, 44, 76, 91, 49, 54, 51).

Координаты расположения предметов имели следующие значения: В(^) = ([0.00 17.81][12.77 15.11]г, [22.09 18.52]т, [40.94 18.09]т, [57.47 13.37]т, [63.67 15.89]т, [80.84 13.96]т, [0.00 30.25]т, [15.94 31.69]т, [35.22 27.89]т, [53.94 27.16]т, [63.14 27.61]т, [78.64 27.43]т, [85.19 31.42]т, [0.00 38.58]т, [12.86 36.95]т, [29.93 38.05]т, [45.25 42.55]т, [62.48 42.62]т, [70.45 42.95]т, [80.13 41.20]т, [91.37 40.77]т, [0.00 53.42]т, [18.17 56.45]т, [36.20 60.81]т, [53.31 55.31]т, [72.34 60.50]т, [91.53 58.34]т, [0.00 72.16]т, [15.63 75.30]т, [26.63 75.55]т, [37.77 76.91]т, [49.79 68.22]т, [56.02 68.70]т, [66.75 68.65]т, [77.09 69.01]т, [93.73 66.70]т, [0.00 84.64]т, [13.88 84.63]т, [21.15 90.51]т, [34.50 92.01]т, [51.17 80.81]т, [69.85 87.78]т, [86.63 85.95]т, [0.00 92.80]т, [19.01 97.61]т, [25.54 98.72]т, [32.59 98.36]т, [51.34 99.65]т, [67.33 99.05]т, [72.45 100.00]т, [87.44 98.50]т, [94.33 99.68]т, [0.00 99.87]1).

Значение целевой функции для полученного решения составило величину Л (N^04) = 552.94. Найденное решение представлено на рис. 2.

Рисунок 2. Решение вариационного генетического алгоритма N

5. Заключение

Приведен универсальный подход к применению генетических алгоритмов к решению задачи упаковки. Метод основан на принципе малых вариаций базисного решения. Основная идея заключается в том, что для кодов возможных решений определяются возможные малые вариации. Основные операции эволюционного поиска (скрещивание и мутация) осуществляются на множестве малых вариаций возможного решения, которое определяется как базисное. Само базисное решение в процессе поиска также может заменяться на лучшее, найденное к определенному моменту. Такой подход позволяет избежать громоздкой процедуры проверки корректности получаемых возможных решений, что дает с вычислительной точки зрения возможность использовать большие объемы популяций. Кроме того, он применим для любых кодировок и не зависит от типов решаемых задач, а значит, является универсальным.

Работа выполнена при поддержке грантов РФФИ (№ 16-29-04224, № 14-08-00008-а) и Президента РФ (MK-6277.2015.8).

Литература

[1] Osman I. H., Laporte G. Metaheuristics: a bibliography // Ann. Oper. Res. 1996. Vol. 63, P. 513-628.

[2] Кочетов Ю. А. Вероятностные методы локального поиска для задач дискретной оптимизации // Дискретная математика и ее приложения: сб. лекций молодежи. и науч. шк. по дискретной математике и ее приложениям. — М.: Изд-во центра прикладных исследований при мех.-мат. ф-те МГУ, 2000. С. 87-117.

[3] Норенков И. П. Эвристики и их комбинации в генетических методах дискретной оптимизации // Информационные технологии. 1999. № 1. С. 2-7.

[4] Растригин Л. А. Случайный поиск — специфика, этапы истории и предрассудки // Вопросы кибернетики. 1978. Вып. 33. С. 3-16.

[5] Bremermann H. J., Roghson J., Salaf S. Global properties of evolution processes // Natural automata and useful simulations. — London : Macmillan, 1966. P. 3-42.

[6] Holland J. H. Adaptation in natural and artificial systems. — Ann Arbor : University of Michigan Press, 1975.

[7] Schwefel H. P. Numerical optimization of computer models. — Chichester : Wiley, 1981.

[8] Еремеев А. В. Разработка и анализ генетических и гибридных алгоритмов для решения задач дискретной оптимизации: дисс. ... канд. физ.-мат. наук. — Омск, 2000.

[9] Goldberg D. E. Genetic algorithms in search, optimization, and machine learning. — Reading, MA: Addison-Wesley. 1989.

[10] Boese K. D., Kahng A. B., Muddu S. A new adaptive multi-start technique for combinatorial global optimizations // Oper. Res. Lett. 1994. Vol. 16, No. 2. P. 101-114.

[11] Kirkpatrick S., Toulouse G. Configuration space analysis of traveling salesman problem // J. de Phys. 1985. Vol. 46. P. 1277-1292.

[12] Мухачева А. С., Чиглинцев А. В., Смагин М. А., Мухачева Э. А. Задачи двумерной упаковки: развитие генетических алгоритмов на базе смешанных процедур локального поиска оптимального решения // Информационные технологии. Приложение. 2001. № 9. 28 с.

[13] Курейчик В. В., Заруба Д. В., Запорожец Д. Ю. Применение генетического алгоритма решения задачи трехмерной упаковки // Известия ЮФУ. Технические науки. 2012. № 7.

[14] Тимофеева О. П., Соколова Э. С., Милов К. В. Генетический алгоритм в оптимизации упаковки контейнеров // Труды Нижегородского государственного технического университета им. Р.Е. Алексеева. 2013. № 4(101). С. 167-172.

[15] Chekanin A. V., Chekanin V. A. Efficient Algorithms for Orthogonal Packing Problems //

Computational Mathematics and Mathematical Physics. 2013. Vol. 53. No. 10. P. 1457-1465.

[16] Dequan Liu D., Teng H. An improved BL-algorithm for genetic algorithm of the orthogonal packing of rectangles // European Journal of Operational Research. 1999. Vol. 112. P. 413420.

[17] Grefenstette J., Gopal R., Rosmaita B., Van Gucht D. Genetic Algorithms for the Traveling Salesman Problem // Proc. of 1st Int. Conf. on Genetic Algorithms and Their Applications, 1985. P.160-168.

[18] Diveev A. I. Small Variations of Basic Solution Method for Non-numerical Optimization // IFAC-PapersOnLine, 2015. Vol. 48. No. 25. P. 028-033.

Авторы:

Дивеев Асхат Ибрагимович — доктор технических наук, профессор, зав. сектором проблем кибернетики отдела Нелинейного анализа и проблем безопасности, Федеральный исследовательский центр «Информатика и управление» РАН; заведующий кафедрой кибернетики и мехатроники, Российский университет дружбы народов

Шмалько Елизавета Юрьевна — кандидат технических наук, старший научный сотрудник, отдел Нелинейного анализа и проблем безопасности, Федеральный исследовательский центр «Информатика и управление» РАН

Solution of two-dimensional packing problem by variational genetic algorithm

A.I. Diveev, E.Yu. Shmalko

Federal Research Center "Computer Science and Control" of Russian Academy of Sciences

Vavilova str., 44, Moscow, Russia, 119333,

e-mail: aidiveev@mail.ru, e.shmalko@gmail.com

Abstract. This paper presents a new approach to the use of genetic algorithms to solve combinatorial problems. The main difficulty in the application of GAs is to verify the correctness of new potential solutions resulting from recombination. The proposed variational genetic algorithm avoids these difficulties via implementing the genetic operations on the set of small variations of the basic solution. The paper describes the approach and its application for two-dimensional packing problem.

Key words: genetic algorithm, combinatorial problems, packing, variations, basic solution

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Referenses

[1] Osman I. H, Laporte G. (1996) Ann. Oper. Res, 63:513-628.

[2] Kochetov Ju. A. (2000) Verojatnostnye metody lokal'nogo poiska dlja zadach diskretnoj opti-mizacii, In book: Diskretnaja matematika i ee prilozhenija. Moscow, pp. 87-117. [In Rus]

[3] Norenkov I. P. (1999) Informacionnye tehnologii, 1:2-7. [In Rus]

[4] Rastrigin L. A. (1978) Voprosy kibernetiki, 33:3-16. [In Rus]

[5] Bremermann H. J., Roghson J., SalafS. (1966) Global properties of evolution processes, In Natural automata and useful simulations. London, Macmillan, pp. 3-42.

[6] Holland J. H. (1975) Adaptation in natural and artificial systems. Ann Arbor, University of Michigan Press.

[7] Schwefel H. P. (1981) Numerical optimization of computer models. Chichester, Wiley.

[8] Eremeev A. V. (2000) Razrabotka i analiz geneticheskih i gibridnyh algoritmov dlja reshenija zadach diskretnoj optimizacii. This. PhD. Omsk. [In Rus]

[9] Goldberg D. E. (1989) Genetic algorithms in search, optimization, and machine learning. Reading, MA, Addison-Wesley.

[10] Boese K. D, Kahng A. B., Muddu S. (1994) Oper. Res. Lett., 16(2):101-114.

[11] Kirkpatrick S, Toulouse G. (1985) J. de Phys., 46:1277-1292.

[12] Muhacheva A. S., Chiglincev A. V., Smagin M. A., Muhacheva Je. A. (2001) Informacionnye tehnologii. Prilozhenie, 9. [In Rus]

[13] Kureychik V. V., Zaruba D. V., Zaporozhec D. Ju. (2012) Izvestija JuFU. Tehnicheskie nauki, 7. [In Rus]

[14] Timofeeva O. P., Sokolova Je. S., Milov K. V. (2013) Trudy Nizhegorodskogo gosudarstven-nogo tehnicheskogo uni-versiteta im. R.E. Alekseeva, 101:167-172. [In Rus]

[15] Chekanin A. V., Chekanin V. A. (2013) Computational Mathematics and Mathematical Physics, 53(10):1457-1465.

[16] Dequan Liu D., Teng H. (1999) European Journal of Operational Research, 112:413-420.

[17] Grefenstette J., Gopal R., Rosmaita B., Van Gucht D. (1985) Genetic Algorithms for the Traveling Salesman Problem, In Proc. of 1st Int. Conf. on Genetic Algorithms and Their Applications, pp. 160-168.

[18] Diveev A. I. (2015) IFAC-PapersOnLine, 48(25):028-033.

i Надоели баннеры? Вы всегда можете отключить рекламу.