Рис. 3. График зависимости ЦФ от количества итераций алгоритма
Заключение. В статье было приведено решение задачи размещения вершин графа (элементов СБИС) в узлы сетки с минимизацией суммарной длины связей с помощью генетического алгоритма, а также выработаны количественные рекомендации по выбору эффективного вероятностного отношения применения генетиче-.
Отличительной особенностью рассмотренного подхода является получение хороших результатов на популяциях с малым числом хромосом, что значительно уменьшает временную сложность алгоритма. Использование модифицированного генетического алгоритма отличает оптимизация случайного множества решений, позволяет получить субоптимальное решение с наилучшей оценкой.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гладков Л.А, Курейчик В.В, Курейчик В.М. Генетические алгоритмы: Учебное пособие. Под ред. Курейчика В.М. - Ростов-на-Дону: ООО “Ростиздат”, 2004. - 400 с.
2. Sridharan R. The capacitated plant location problem. European Journal of Operational Research. 1995, №87, pp 203-213.
3. Гладков Л.А., Зинченко Л.А., Курейчик В.В и др. Методы генетического поиска. - Таган-
: , 2002.
..
ДВУМЕРНАЯ УПАКОВКА НА ОСНОВЕ ГЕНЕТИЧЕСКОГО ПОИСКА*
. -
стве модели распределения ресурсов разного рода. В вычислительной технике это может быть размещение элементов БИС и СБИС, Браун [1] приводит дополнительно приложения задачи в индустрии и бизнесе, также в задачах транспортировки грузов и т.д.
,
оптимизации и относится к классу NP-полных. Поэтому для ее решения разрабатываются различные аппроксимационные, эвристические алгоритмы, позволяющие получать приемлемые по качеству результаты за приемлемое время. Однако
* Работа выполнена при поддержке РФФИ (фант №05-08-18115)
известные приближенные алгоритмы двумерной упаковки дают решения достаточно низкого качества.
Для повышения качества решения следует использовать методы комбинатор,
способные находить близкие к оптимальному решения. Перспективными в этом смысле являются алгоритмы, основанные на методе отжига и генетические алгоритмы (ГА).
ГА позволяют получать близкие к оптимальному решения значительно быстрее, чем метод отжига [8]. Это происходит за счет сочетания в них элементов случайного и направленного поиска. ГА работают одновременно с несколькими решениями и синтезируют новые субоптимальные решения на основе свойств дос.
.
Разработаны несколько ГА двумерной упаковки [9].
Проведенный обзор показывает, что разработка генетического алгоритма для решения задачи двумерной упаковки является актуальной.
В представленном алгоритме рассмотрены два вида мутации и два вида крос, . направленности введены защищенные от деструкции фрагменты хромосом, поскольку по мере приближения решений к оптимуму возрастает деструктивность , .
++
Builder 5.4 для IBM PC. Проведены статистические исследования, подтверждающие их эффективность.
Рассмотрим задачу двумерной упаковки в следующей постановке.
Дано: множество элементов E={eb e2 , ... , en }, имеющих высоту H(E)={h(eO, h(e2), ... , h(en)} и ширину W(E) ={w(eO, w(e2), ... , w(en)}, и поле B, имеющее высоту H(B) и ширину W(B).
Цель: разместить элементы в имеющемся поле, заполняя его так, чтобы описывающий размещенные элементы прямоугольник имел минимальную площадь ( .1).
Рис.1. Пример размещения элементов
Для работы ГА необходимо определить функцию стоимости, в соответствии с которой будут оцениваться решения. Целью решения определена минимизация площади, занятой размещенными элементами. Соответственно, необходимо найти способ ее оценки. Будем считать, что в идеальном случае (верхняя оценка) пло-
, , :
IS = ±s(e,). i= 1
Площадь, занятая элементами при каждом конкретном размещении, определяется следующим образом:
PS=Xr * Yr ,
где Xr -ширина описывающего прямоугольника, равная ширине поля Wb, Yr - высота описывающего прямоугольника. Оценкой решения в таком случае будет коэффициент C = —. Целью решения задачи становится максимизация коэффици-PS
ента C.
В алгоритме использовано линейное кодирование, при котором хромосома представляет собой список элементов, где позиция элемента в списке означает очередь его размещение на поле. Элемент размещается на поле, если на поле есть достаточное для этого место.
Алгоритм отрезков предназначен для размещения элементов, причем элементы выстраиваются в строго определенной последовательности. Метод основан на выборе наиболее подходящей позиции элемента в соответствии с заданными критериями. Качество позиции определяется с помощью функции стоимости.
z = kl * ( xoip - хэл ) + k2 * ( уотр + уэл ), (1)
где z - оценка качества позиции элемента; Хтр - длина отрезка; хэл - длина элемента; уотр - высота отрезка; уэл - высота элемента; kl - коэффициент учета первого ( , . . ); k2 - -фициент учета второго критерия (элементы ставятся плотнее, т.е. с увеличением
).
Первый элемент по умолчанию ставится в левый верхний угол поля размещения. На рис.2 j - индекс интервала, от которого начинается образование отрезков; j+n - индекс рассматриваемого интервала; L - длина отрезка; ^ - длина i-того интервала; у; - высота i-того интервала.
■4
•4
Рис.2. Построение отрезков
Высота интервала - высота, на которой лежит интервал, считая от верхнего края поля размещения.
Сформулируем следующий алгоритм:
10 Формируется первый отрезок с начальной длиной равной нулю и высотой первого интервала.
20 Рассматривается высота следующего интервала (j + 1) и проверяется его высота относительно предыдущего интервала (у > yJ+1). Если «Да», то высота следующего интервала больше либо рана высоте первого (у > yJ+1), длина отрезка (L) увеличивается до длины (lJ+1) интервала (j + 1), если «Нет», то берется следующий (j + 2) 10.
30 Просмотр следующего интервала (j + n).
40 Сравнивается высота второго интервала (j+1) с высотой следующего интервала (j+n). Если высота второго интервала больше высоты рассматриваемого интервала (yj+j > yj+n), то длина второго интервала увеличивается на длину интервала (j + п), иначе, запоминается текущее значение длины второго интервала (L) и координаты его начала, которые равны координатам начала второго интервала (j + 1), .
50 Если высота первого интервала больше высоты рассматриваемого интер-
(yj > yj+n), , -
дущего и рассматриваемого интервала (L=L+li+n), иначе, берется следующий интервал (j = j + 1) и осуществляется переход к 10. Если интервал (j=j+1) оказался , .
60 Проверка: все ли интервалы заполнены. Если «Да», то выход из алгоритма,
« », 30.
Хромосомы кодируют размещение элементов каким-либо алгоритмом.
Для размещения элементов разработан следующий эвристический алгоритм:
10. .
20. .
30. .
40. - : -
ли « Да», то данные подставляются в (1) и подсчитывается значение z; если «Нет», то проверяется следующий отрезок. Если не найден ни один отрезок, то переход к пункту 80.
50. z -
.
60. z.
70 Проверка - был ли установлен последний элемент хромосомы. Если «Да», то переход к пункту 80, если «Нет», то берется следующий элемент и осуществля-10.
80. .
ПГА представлен следующим образом:
GA = (P0, spn, s, c, m, r, stop),
P0 - , s - , c - , m-
оператор мутации, r - оператор рекомбинации.
Прерывание работы ПГА осуществляется:
♦ при достижении глобального оптимума,
♦ либо через определенное, указанное пользователем, количество поко-
.
stop = {0, 1}sp a {0, 1}.
Рассмотрим эффект произведенных генетических операций [8].
. pm ,
каждого GA. Тогда вероятность того, что схема S порядка n(S) во всей популяции подвергнется случайной мутации, будет равна pmn(S). В стандартном последовательном ГА вероятность того, что схема выживет, равна 1-pmn(S).
Эффект кроссинговера. Возьмем случайно выбранную хромосому. Вероят-, , pc. -
ков этой хромосомы зависят от того, какая хромосома будет выбрана в качестве . spn
1 шансов быть выбранным в качестве второго родителя.
spn -1
Эффективность ГА определяется нормой выживания схемы. Важно определить, какой эффект на выживаемость схемы имеет выбор индивида для кроссинго-. pc, -
дивида в начальной популяции - pc. Тогда для GA вероятность того, что схема S некоторой длины d(S) выживет после кроссинговера, равна d (S), где L - длина
Pc L-1
.
В программе для увеличения быстродействия во всех ключевых местах исключены вложенные циклы. Этого удалось добиться путем введения дополнитель-
,
( ). -
но представить в виде функции (x+On-kn). Эта зависимость была подтверждена .
Временная сложность ГА складывается из временных сложностей отдельных составляющих его процедур: селекции, кроссинговера, мутации, инверсии. Сложность процедуры селекции равна o(n2). Дополнительное время нужно для копирования индивидов из одного поколения в другое. Для копирования одного индивида o(L) , L - . ,
всю популяцию, требуется o(nL) шагов. В целом селекция занимает o(n2 + nL), что равносильно o(n2). Кроссинговер одноточечный или двухточечный требует o(L) , o(n2L) , n - . -
o(nL) . ,
сложность ГА составляет o(n2 + nL + L + n2L + n2) или o(n2L), где n - размер популяции, L - длина индивида.
С использованием разработанного ПО исследовались следующие зависимости: зависимость времени работы алгоритма от количества элементов, динамика качества решений в поколениях и зависимости этих показателей от весовых рас.
Исследования проводились с доверительной вероятностью 75% , размер серии эксперимента 40, на IBM Р-233 ММХ.
Для исследования использовались наборы данных по 100, 200, 300, 400 элементов при четырех весовых распределениях.
Нормы ГО использовались одинаковые: Вероятность кроссинговера 60%, вероятность мутации 40%, данное соотношение дает наилучший результат при равном числе поколений. Селекция «Элитная». Размер популяций брался из расчета 0,5*L (дайна хромосомы).
В ходе проведения экспериментов получены следующие результаты, представленные в таблице.
Таблица
Результаты экспериментов
Элитная селекция Случайная селекция
Кол-во эл-тов Результат % Кол-во эл-тов Результат %
100 97-100 100 94-97
200 96-100 200 94-97
300 94-98 300 93-95
400 93-96 400 93-94
Выводы. Разработан ГА для решения задачи двумерной упаковки. Разработаны генетические операторы, позволяющие ускорить получение близкого к оп-.
размещения элементов на заданной площади с целью сокращения области поиска ГА двумерной упаковки. Дана теоретическая оценка эффективности разрабо-. , -
дования эффективности разработанных алгоритмов и генетических операций.
Проведены статистические исследования, которые подтвердили эффективность .
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Brown A.R. Optimal Packing and Depletion. American Elsevier, New York, 1971.
2. Митропольский АЖ. Техника статистических исследований. - М., “Наука”, 1971. - 218с.
3. Гладков Л.А, Курейчик В.В., Курейчик В.М. Генетические алгоритмы: Учебное пособие. Под ред. В.М. Курейчика. - М: ФИЗМАТЛИТ, 2004. - 402 с.
4. Chi-Chin Yao. A new algorithm for bin packing J. of the ACM, Vol.27, No.2, 1980.
5. Johnson D.S., Demers A., Ullmans J.D. and oth. Worts-case performance bounds for simple one-dimensional packing algorithms. SIAM J. Comput., vol. 3, No. 4, 1974.
6. Kao C.-Y., Lin F.-T. A statistic approach for the one-dimensional bin-packing problems. In Proceedings of the 1992 IEEE International Conference on Systems, Man, and Cybernetics, vol. 2, 1545-1551. Chicago, IL, 1992.
7. Garey M.R., Graham R.L., Johnson D.S., Yao A.C. Resource constrained scheduling as generalized bin packing. J. Combinatorial Theory Ser. A21, pp. 257-298.
8. Goldberg D.E., Genetic Algorithms in Search, Optimization and Machine Laming. Addison-Wesley Publishing Company, Inc. 1989. - 354 p.
9. Falkenauer E., Delchambre A. A Genetic Algorithm for Bin Packing and Time Balancing. In: Proc. of the IEEE 1992 International Conference on Robotics and Automation (RA92), Nice, 1992.
В.Б. Тарасов, АЛ. Голубин
ЭВОЛЮЦИОННОЕ ПРОЕКТИРОВАНИЕ: НА ГРАНИЦЕ МЕЖДУ ПРОЕКТИРОВАНИЕМ И САМООРГАНИЗАЦИЕЙ*
.
различной природы, обладающий свойствами необратимости (нарушение симметрии между прошлым и будущим), альтернативности (возможности реализации различных, несовместимых между собой сценариев развития), а также вариативности самих законов, по которым происходят изменения в данном объекте ( ). ( , , )
*
Работа выполнена при поддержке РФФИ, грант № 04-01-00306, 05-01-00514