META_GA

advertisement
Задача нерегулярного размещения геометрических объектов:
годограф - ориентированная адаптация генетических алгоритмов 
Верхотурова Галина Николаевна
Логинов Евгений Валерьевич
Лохматов Олег Витальевич
450025, г. Уфа, ул. К. Маркса, 12,
Уфимский государственный авиационный технический университет,
Кафедра вычислительной математики и кибернетики,
Тел.:(3472)237967, Факс:(3472)222918, verhotur@vmk.ugatu.ac.ru,
Аннотация
В статье рассматривается задача нерегулярного размещения геометрических
объектов (ГО). Для ее решения применяется идея генетических алгоритмов (Genetic
Algorithm - GA), адаптированная на базе применения годографа функции плотного
размещения. Приводятся алгоритмы.
1. Введение
Задача нерегулярного размещения геометрических объектов (Irregular Cutting
Stock Problem - ICSP) формулируется следующим образом: необходимо разместить n
объектов Pi в области  пространства R2 (R3) так, чтобы минимизировать незанятую
область. Геометрические объекты должны быть размещены в области  таким образом,
чтобы они не пересекались друг с другом и не выходили за границу области
размещения. Эта проблема, с точки зрения вычислительной сложности, относится к NP
- трудным. Переборная сложность NP - трудных задач не позволяет находить их точное
решение для большого числа объектов за приемлемое время даже при введении
некоторых ограничений. Поэтому для решения практических задач применяются
эвристические методы решения. Эти методы используются для поиска локальных
оптимумов и организации некоторого перебора экстремальных значений функций цели
для получения решений, близких к оптимальным, за приемлемое время. Существует
много разнообразных эвристических методов. Одному из них, "Генетическому
алгоритму" (GA), посвящена данная статья.
2. Генетические алгоритмы
Применение концепции эволюционного развития живой природы посредством
естественного отбора для задач оптимизации было представлено Холландом (1) в 1975
году. Разработанные и исследованные им алгоритмы были названы генетическими. Их
систематизированное рассмотрение было дано Голдбергом (2) в 1989 году. Эти
алгоритмы получили очень широкое распространение для решения разнообразных
задач дискретной оптимизации.

Работа поддержана РФФИ, проект 01-01-00510
Идея "Генетических Алгоритмов" состоит в том, чтобы после
предварительного
генерирования
фиксированного
множества
решений
продолжить поиск, моделируя на этом первоначальном наборе процедуры
(операторы) мутации и скрещивания, и, отбрасывая те решения, которые имеют
наихудшие значения целевой функции.
Разновидности генетических операторов и их сочетаний порождает множество
генетических алгоритмов, описание которых можно найти, например, в [2, 3].
Рассмотрим одну из простейших реализаций генетического алгоритма.
Процедура общего инкрементального GA
Генерировать индивидуумов исходной популяции
Оценить индивидуумов исходной популяции
while Критерий окончания do
{
Выбрать оператор op из {кроссовер, мутация} согласно вероятностям
pcross и pmut
if op = кроссовер then
{
Выбрать пару индивидуумов текущей популяции
Генерировать двух потомков, применяя оператор скрещивания над
выбранной парой
Оценить обоих потомков
Включить обоих потомков в текущую популяцию
Удалить из популяции двух потомков с самыми низкими
значениями приспособленности
}
else
{
Выбрать один индивидуум текущей популяции
Сгенерировать потомка, применяя оператор мутации к
индивидууму
Оценить потомка
Включить потомка в текущую популяцию
Удалить из популяции индивидуума с самым низким значением
приспособленности
}
}
Выбрать лучшее сгенерированное решение
Предполагается, что на каждом шаге применяется либо оператор кроссовера,
либо оператор мутации. Оператор кроссовера приводит к двум потомкам, а оператор
мутации только к одному. Выбор этих операторов основан на дополняющих
вероятностях p cross и p mut , т.е. p cross  p mut  1 . В соответствии с применяемой в
данном виде генетического алгоритма инкрементальной концепцией сгенерированные
потомки заменяют тех индивидуумов в текущей популяции, чьи вычисленные значения
приспособленности являются самыми низкими. Это обеспечивает выживание лучшего
решения в течение всего процесса репродукции.
Критерием завершения может, например, служить число сгенерированных
популяций.
Примером применения генетических алгоритмов для задач трехмерного
размещения геометрических объектов произвольной формы на базе процедуры
занесения (присоединения) является работа [5].
3. Годограф ориентированная адаптация "Генетических алгоритмов" (HOGA)
Рассмотрим возможную реализацию метода GA для решения ICSP на основе
моделирования годографа и метода последовательно-одиночного размещения.
Отличительной особенностью метода ПОР является использование приоритетного
списка. В этом случае адаптация общего инкрементального GA к задаче нерегулярного
размещения ГО затрагивает следующие части алгоритма:
- представление задачи, т.е. кодирование решений задачи с помощью хромосом
(строк);
- декодирование и оценка, т.е. присвоение решений задачи хромосомам и
вычисление значений приспособленности;
- генетические операторы: кроссовер и мутация.
Представление задачи
Решение определяется в терминах хромосомы следующим образом: Хромосома
– это вектор размещения chrom(i), i = 1, …, n, который указывает последовательность
размещений ГО и который, дополнительно, указывает ориентацию (вариант поворота)
каждого ГО. Элемент chrom(i) вектора размещения это структура данных, содержащая
два элемента данных: индекс it ГО и вариант его поворота rotate. Значение rotate
означает ориентацию ГО относительно его исходного положения. Возможные значения
углов поворота задаются заранее.
t
В задаче Р-У в качестве особи ak выступает конкретное решение - размещение
ГО,
удовлетворяющее
условиям
взаимонепересечения.
Это
позволяет
интерпретировать сам процесс решения экстремальной задачи как эволюционный
процесс, связанный с переразмещением ГО в области Р-У с целью отыскания
глобального минимума критерия оптимальности. В этом и заключается в данном
случае цель эволюционного развития (эволюции) особей.
Декодирование и оценка
Декодирование хромосомы предназначено для генерации соответствующего
допустимого решения задачи. Описание процесса декодирования требует точного
определения решения из имеющейся хромосомы.
Решение, аналогично хромосоме, определяется вектором размещения sol(i), i = 1,
…, n. Элемент sol(i) также является структурой данных; но эта структура составляется
из четырех элементов данных, а не из двух: индекс it ГО, его варианта поворота rotate
и, дополнительно, координат x и у центра ГО centrx и centry в координатах области Р-У.
Для получения координат centrx и centry применяется аппарат годографа вектор
функции плотного размещения. В качестве значений centrx и centry i -го ГО
используются координаты точки с минимальной абсциссой, выбранной из множества
точек годографа, (если таких точек несколько, то берется та, которая имеет
минимальную ординату). Годограф строится для ГО с углом поворота rotate.
Процедура декодирования однозначно трансформирует каждую хромосому
популяции в одно решение.
Целью оценки является вычисление значения приспособленности, которое
связано с каждой хромосомой популяции. В простейшем случае используются
соответствующие значения целевой функции, в качестве которой используется длина
занятой части области Р-У (для полубесконечной полосы).
Генетические операторы
Кроссовер
Процесс кроссовера может заключаться, например, в следующем:
Пусть i, j – две перестановки пары родителей и inew, jnew – две новые
перестановки, созданные скрещиванием. Сначала выбраны два случайных числа p и q,
1<=p, q<=n. В случайной позиции p скрещивающий оператор копирует q элементов из
i в начало inew и копирует q элементов j в начало jnew. Затем inew дозаполняется еще
отсутствующими в нем элементами из j в том порядке, в котором они находятся в j, а
jnew аналогично дозаполняется другими элементами из i .
Например,
i = {1, 2, 3, 4, 5, 6} и j = {6, 4, 2, 5, 3, 1}, если p = 2, q = 3, тогда:
inew(1) = i(p) = i (2) = 2,
inew(2) = i(p + 1) = 3,
inew(3) = i(p + 2) = 4,
inew(4) = j(1) = 6,
inew(5) = j(4) = 5,
inew(6) = j(6) = 1.
Таким образом, inew = {2, 3, 4, 6, 5, 1}. Используя этот же метод jnew = {4, 2, 5, 1, 3, 6}.
Мутация
Существует несколько подходов для выполнения оператора мутации [4].
Например, последовательность случайного подмножества из ПС разворачивается в
обратном порядке или некоторые элементы обмениваются местами.
Относительно применения этих операторов, необходимо учитывать то, что
каждая позиция хромосомы кодирует не только номер ГО, но и вариант поворота.
Заключение
Вышесказанное позволяет сделать следующие выводы:
- разработана адаптация метода GA для решения задачи ICSP, использующая
понятие годограф - HO-GA;
- операция построения годографа должна работать максимально быстро и
надежно в связи с тем, что она является для данного метода базовой и часто
повторяемой процедурой;
- для реализации операторов кроссовера и мутации возможно использование
соответствующих наработок в области теории GA.
Литература
1. Holland J.H. Adaptation in Natural and Artificial Systems. Ann Arbor: The University of
Michigan Press, 1975.-96p.
2. Goldberg D. Genetic algorithms in search, Optimization and machine learning, AdisionWesley publ., 1989.-99p.
3. Батищев Д.И. Генетические алгоритмы решения экстремальных задач. Воронеж:
ВГТУ, 1995.-54с.
4. Folkenauer E. The grouping genetic algorithms for Bin-Packing. JORBEL-Belgian
Journal of Operations Research, Statistics and Computer Science, 1995, vol 35, pp.64-88.
5. I. Ikonen, W. E. Biles, et al., ``A Genetic Algorithm for Packing Three - Dimensional Non
- Convex Objects Having Cavities and Holes,'' Proceedings of the 7th Int. Conference on
Genetic Algorithms, Michigan State Univ., East Lansing, MI (Jul. 19--23, 1997).
Download