УДК 681.356
О.Б. Лебедев Размещение на основе генетических процедур
Введение
В работе рассматриваются задачи, связанные с упаковкой элементов прямоугольной формы, и размещением одно- и разногабаритных элементов. Упаковка осуществляется в два этапа. На первом этапе элементы рассматриваются как одногабаритные. Последовательно выбираются варианты размещения элементов (т.е. фактически задается взаимное расположение реальных элементов). На втором этапе для каждого выбранного варианта решается задача сжатия, минимизирующая занимаемую площадь. При размещении разногабаритных элементов множество позиций элементов разбиваеггся на подмножества одногабаритных. Затем осуществляется параллельное размещение в пределах каждого подмножества.
Алгоритм решения задач основан на эволюционной стратегии поиска. Используют в качестве начального не одно, а несколько альтернативных решений (популяцию), которые обрабатываются генетическими операторами с целью получения путем комбинирования новых решений.
Генетическая рекомбинация подразумевает несколько типов не;>ераэмещения наследственности комбинирование целыми хромосомими, кроссингонир, мутация, селекция « и т.д.. В большинстве разработанных генетических алгоритмов используется представление решения в виде одной хромосомы, что исключает использование такой мощной генетичЬской операции, как комбинирование целыми хромосомами. Кроме того, как правило, накладываются ограничения, связанные с тем, что числовые значения генов не должны понтопяться. Это затрудняет использование оператора кроссинговера. Приходится создавать довольно сложные структуры для исключения такой ситуации. Мутация как процедура при таком подходе вырождается и фактически сводится к инверсии. Предложенный в работе подход спободен ог перечисленных недостатков и позволяет реализовать все генетические операторы в полном объеме, что увеличивает в общем случае сходимость алгоритмов.
I. Структура хромосом и их деколирование
Введем ряд определений и обозначений. Множество позиций представляем в виде регулярной структуры - решетки (рис. 1).
Каждая позиция Р1 имеет координаты (X) У1). Первая позиция имеет координаты (1,1). Установим взаимно однозначное соответствие между множеством порядковых номеров позиций и множеством их координат. С этой целью упорядочим и пронумеруем позиции по возрастанию параметра \\,1=Х1+
Гак как позиции, расположенные на одной диагонали в решетке, имеют одно и то Же значение ,то в пределах диагонали они упорядочиваются и нумеруются по убыванию значения параметра (^=Х1 В соответствии с этим правилом
позиции пронумеруются следующим образом (в скобках возле номера позиции первый элемент - значение второй элемент - значение (31): 1(2,0); 2(3,1); 3(3,-1); 4(4,2); 5(4,0); 6(4,-2); 7(5,3); 8(5,1); 9(5,-1); 10(6,2); 11(6,0); 12(7,1). Таким образом, порядок нумерации полностью определяется координатами и правилами нумерации. Пусть имеется множество размещенных в позициях элементов Е, число которых равно числу позиций. Построим упорядоченный список Е" по правилам, изложенным выше, т.е. по значениям параметров и Очевидно, что порядковый номер элемента в списке Е" будет соответствовать номеру позиции, в
которой он размещен. Воспользуемся этими приемами для кодирования и декодирования хромосом, несущих информацию о размещении. В работе каждое решение представляется в виде двух гомологичных (морфологически и генетически сходных) хромосом НИ и №2. Порядковый номер гена в хромосоме соответствует порядковому номеру элемента. Число генов в хромосоме равно числу элементов. Если фактическое число размещаемых элементов меньше числа позиций, то вводятся "пустые" элементы (не имеющие связи).так. чтобы общее число элементов было равно числу "позиций. В каждом гене хранятся два параметра ау и Ьц, на основе которых определяются позиция и координаты элемента, соответствующего гену (рис. 2).
аП ац • ••
Ы1 ьу ...
а)
НМ
№
Н\2
1 3 8 10
4 2 7 5
б)
рис.2
XI
хЗ
хб
О о о
о о о
о о о
рис.За
рис.36
Н1
1*2
рис.4
рис. 5а
рис.6
Н21
2 4 в 7 5 6 5 2
ц 4 3 2 1 2 5 1 5
иг 4 7 7 9 9 4 12 8 6 1
[Г 8 5 3 6 7 8 2 8 1
Н2
К 12 17 10 15 16 18 10 14 1
1-3 -4 2 4 3 2 6 6 -2
ЕР рис. 56 Е2"
Г-Тт-2- 3 4 5 6 7 8 9
СГТ 4 I8, 1 2 1 з 9 5 1 6 7
2 4 3 5 4 4 1 3 6
2 1 3 1 2 3 2 3 2
Н22
1 2 3 4 3 2 1 3 5
1 2 3 3 2 1 3 5 2
3 6 6 9 7 6 2 6 11
3 3 6 4 4 4 5 8 4
1 2 3 4 5 6 7 8 9
6 9 12 13 11 10 7 14 15
0 3 0 5 3 2 -3 -2 7
1 2 3 4 5 6 7 8 9
1 > 7 1 2 6 5 1_2_ 1 4 8 9
А
И1
х1 х8 х9
51=2+2+4+4+4+4+6+4*30
Я2
52-4+6+6+4+2+4+2+4-34
рис.7
Н1 Я2
I-----------------------------1 I-----------------------------1
НИ Н12 Н21 Н22
рис.8
ЯЗ
х 1
х8
хЗ
х9
53=2+2+2+6+6+4+4+2=30
И4
х1
х2 х5
^4=4+2+4+4+4+4+2+6=30
§5=4+2+4+8+6+4+8+4=40
Я6
56=4+4+8+2+4+4+2+2=30 рис. 9
Отметим, что параметры ау, Ьу в составе гена ву не являются действительными координатами позиции, в которой размещен соответствующий элемент. Однако между параметрами ау, Ьу и координатами позиции существует корреляционная сгопь. Декодирование информации хромосом осуществляется в следующем
псрядке. Для каждой пары гомологичных генов рассчитываются следующие
параметры: >Му=а’у+а"у+Ь'у+Ь"У ; ()у=(а'у+а"у)-(Ъ'у+Ь"у) Затем размещаемые элементы упорядочиваются по значениям соответствующих им параметров \Уу и <2у (по возрастанию \Уу и убыванию 0у в пределах каждого \Уу) и строится вектор Е", который и определяетразмещение элементов.
2. Описание общего алгоритма
Процесс синтеза новых решений осуществляется в следующей
последовательности. Селектором выбираются два разных решения № й Я), присутствующих в популяции. В каждом решении между парой гомологичных хромосом осуществляются операции кроссинговера и мутации. Затем каждое решение разбивается на две половинки (КЧ и Я"!) и (И^ и и из них формируются четыре новых решения как комбинации половинок решения
родителей: (ЯЧ.Я^), (114,(К"1,КЧ), (Н"1,Я"]). Блок селекции рассчитывает для каждого решения значение функции качества и осуществляет отбор худших решений, которые удаляются из популяции. Предварительно задаются значения следующих параметров: размер популяции П, число мутаций М, число скрещиваний К, число рекомбинаций Я, Число хромосом ,Х. Кроме того, предусматривается возможность выбора типа и способа каждой генетической операции, число поколений (итераций) Т.
Задание случайным образом начальной популяции П(0) размером N.
1=0.
Выбор случайным образом К решений формирования новых решений К(0) и реализация операции кроссинговера между парой хромосом одного решения.
Выбор случайным образом М решений формирования новых решений М(0) и реализация для случайно выбраннрй хромосомы операции мутации.
Выбор случайным образом X пар решений; для каждой пары осуществляется рекомбинация целыми хромосомами.
Селекция. Отбор N решений с наилучшим значением фитнесса из множества решений П(0) К(0) М(0) Я(0) и включение их в новую популяцию П(И-1).
1=1+1.
Если КТ, то переход к 3.
Вывод решений с наилучшими значениями фитнесса.
Рисунки I - 9 иллюстрируют работу алгоритма.
ЛИТЕРАТУРА
1 ■ Dao J., Matsumoto N.. Hamai Т.. Ogawa Е.. Mori S. A Compaction method for full chip VLSI layouts, Proc. 30th Design Automation Couf., p 407-412 , ACM/IEEE , 1993.
2. Cohoon J.P and Paris W.D. Genetic placement, IEEE Trans. Comput. Aided Des. Integrated Cirenits & Syst., p. 956-964, 1987.
3. Gotdberd David E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Publishing Company, Inc. 1989.
658.512
V. M. Kureichik, A. Y. Tetelbaum,V. V. Mlgklkh, A. P. Topchy Hybrid genetic and local search heuristic for the quadratic assignment problem
1. troduction
The Quadratic Assignment Problem (QAP) is one of the most difficult combinatorial optimization problems [6]. This problem is of significant importance because it is often employed as a model for facility layout [4]. Formally, the QAP is stated as following [7]: Given a set N - (1,2,..,n} and real numbers Ajj, By, Cy for
find a permutation <p of the set JV which minimizes:
z = + £ £ A>i' /) ^
/«1 i*iy=l
where (assuming the facility layout problem) n number of facilities/locations,
Cjj: fixed cost of locating facility / at location j,
Ajj : cost of transferring a material unit from location i to location j,
Bjj : flow of material from facility / to facility j.
As a generalization of the Traveling Salesman Problem (TSP) [3], the QAP is NP-hard, and only moderately sized QAPs (approximately, n«18) can by solved to optimality with exact algorithms within reasonable time limits [6]. Hence, the problem to be solved is finding the heuristic algorithms for the QAP. There were some proposed methods for the QAP solution based on: Evolutionary Programming (EP) [7], Threshold Accepting (TA) [6], T^bu search [8], Evolution Strategy [6], and Migration Model Genetic Algorithm (MMGA) [1]. In this paper, the authors would like to outline their
findings obtained after applying all methods mentioned above, and follow with a
description of their own genetic heuristic in comparison with other known algorithms.
The QAP is characterized by a high degree of epistasis (non-linear interaction between solution elements). For example, swapping the assignment of two facilities might affect the quality of ^virtually all other assignments [6]. This fact strongly influences the performance of different approaches being applied to the QAP. The local search algorithms based on modification of a single solution (like TA) are able to rind rather good solutions quickly, provided that starting solution is not far from deep pit of the evaluation function landscape. However, the search usually stagnates on such solutions. The global search algorithms, i.e. simple Genetic Algorithms (GAs), are also unsuccessful in the QAP, because t,hey are based on linear combinations of solution