Научная статья на тему 'Двумерная упаковка на основе генетического поиска'

Двумерная упаковка на основе генетического поиска Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Двумерная упаковка на основе генетического поиска»

Рис. 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 (дайна хромосомы).

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

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

Таблица

Результаты экспериментов

Элитная селекция Случайная селекция

Кол-во эл-тов Результат % Кол-во эл-тов Результат %

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

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