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

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

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

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

Литература.

1. J.Soukup. Fast wise router .Proceedings of 15th Design Automation Conference, pages 100-102,1972.

2. J.Heisterman and T.Lengauer .The efficient solution of integer programs for hierarchical global routing IEEE Transactions on Computer-Aided Design, CAD 10(6): 748-753, Jane 1991.

3. C.Chang , M.Sarrafzadeh ,and C.K. Wong .A powerful global router :Based on sterner min-max trees .Proceedings of IEEE International Conference on Computer-Aided Design, pages 2-5 , November 7-10 1989.

4. S.Burman , H .Chen ,and N. Sherwani Improved global routing using X- geometry •Proceedings of 29th Annual Allerton Conference on Communications , Computing , and Control •October 1991

5. J.M. Ho , G. Vijayan , and С. К Wong A new approach to the rectilinear Sterner tree problem . IEEE Transactions on Computer -Aided Design , 9(2): 185-193 , February 1985 .

6. Селютин В.А. Автоматизированное проектирование топологии БИС ,-М.:Радио и связь , 1983,-112 с

7. C.Chiang, M.Sarrafradeh, C.K.Wong. A Weighted-Steiner-Tree-Based Global Router, Manuscript, 1992.

УДК 658.512

Мухлаева И.В.

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

алгоритма

Введение.

В работе представлен паралелльный генетический алгоритм (ПаГА) для решения задачи одномерной упаковки. В целом эта задача является задачей разбиения множества объектов на непересекающиеся подмножества:

и*?/= е, е/Пе] = 0>

;

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

Задача одномерной упаковки является широко применяемой в качестве модели Распределения ресурсов разного рода. В вычислительной технике это могут быть назначение заданий на процессоры, локация памяти, форматирование таблиц и т.д. Браун [1] приводит Дополнительно приложения задачи в индустрии и бизнесе.

Как известно, задача одномерной упаковки является задачей комбинаторной оптимизации и относится к классу ЫР-полных [2]. Поэтому для ее решения разрабатываются Различные аппроксимационные, эвристические алгоритмы, позволяющие получать приемлемые по качеству результаты за приемлемое время. Однако, известные приближенные алгоритмы одномерной упаковки дают решения достаточно низкого качества. Так, оценка алгоритма РР равна

/7Г(/) <, ОРТ\1) + 2 [2].

Дальнейшие попытки получить приближенные алгоритмы с более высокими оценками не привели к существенным результатам [3-7]. Не удалось превысить оценку алгоритма ЮТ:

^(/)<|0Р7Х/) + 5[3,4].

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

ГА позволяют получать близкие к оптимальному решения значительно быстрее, чем метод отжига [8]. Это происходит за счет сочетания в них элементов случайного и направленного поиска. ГА работают одновременно с несколькими решениями и синтезируют новые субоптимальные решения на основе свойств достигнутых. ГА обладают механизмами избежания локальных оптимумом за счет элементов случайности.

Разработаны несколько ГА одномерной упаковки [9-11].

разработка параллельных ГА является перспективной, поскольку распараллеливание процесса поиска позволяет сократить время решения [12].

Известны несколько параллельных генетических алгоритмов [12-14], предназначенных

для решения различных оптимизационных задач.

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

эвристика, сокращающая объем данных для ГА.

Для исследования предложенного алгоритма разработано ПО на языке С++ для 1ВМ РС. Проведены статистические исследования, подтверждающие эффективность ПаГА.

1. Параллельный генетический алгоритм.

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

Рассмотрим задачу одномерной упаковки в следующей постановке Дано: множество элементов Е={е„ е2 ,..., е„ }, имеющих размеры 8(Е)={в(е ) в(е ) ®(®п)}, И множество блоков В={1>1, Ь2,..., Ьт}, имеющих размеры 8(В)=(8(Ь,), 8(Ь2) * ’ 3(Ъ )}" ’ Цепь: разместить элементы в имеющиеся блоки, заполняя каждый ’ю"'блоков до максимально возможного уровня и минимизируя общее количество заполненных блоков

1.2. Функция стоимости.

Для работы ГА необходимо определить функцию стоимости, в соответствии с КОТОРОЙ будут оцениваться решения. Целью решения определена минимизация площади занятой размещенными в блоках элементами. Соответственно, необходимо найти способ *

Будем считать, что в идеальном случае (верхняя оценка) площадь, занятая элемент^Тмня

сумме их размеров: ’ ^

N

г=1

Площадь, занятая элементами при каждом конкретном размещении отоепеляется СЛедуЮЩИМ ОбраЗОМ: ’ уьцслпси»*

Рвгвв* + вг ,

где SB* - сумма размеров блоков, занятых элементами, кроме последнего занятого блока, Sr - сумма размеров элементов в последнем блоке. Оценкой решения в таком случае будет

^ К

коэффициент С =-------- Целью решения задачи становится максимизация коэффициента С.

PiS

1.3. Кодирование.

Среди шести принципов создания эффективных решений (см. например, [9]) фигурирует принцип минимальной избыточности: каждый элемент области поиска (в

данном случае области всех легальных подмножеств) должен быть представлен минимальным (идеально - одной) числом хромосом, чтобы сократить размер области поиска ГА. Областью поиска в случае задачи одномерной упаковки является множество всех легальных (т.е. не допускающих переполнение какого-либо блока) распределений элементов в блоки.

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

1.4. Г енетические операции.

1.4.1. Операторы кроссинговера.

В начале работы ГА создается начальная популяция, разделенная на три субпопуляции. Независимая эволюция в субпопуляциях позволяет сохранять разнообразие генетического материала (ГМ) и вести поиск в различных направлениях. Для кооперации этого поиска были разработаны операторы кроссинговера, применение которых согласовано при коммуникации субпопуляций. Каждый оператор кроссинговера передает потомкам максимально возможный фрагмент решения, получившего высокую оценку. Для этого схема действующего кроссинговера выбирается в зависимости от схемы кроссинговера, который применялся на более низком уровне (в субпопуляции).

В первой субпопуляции используется упорядоченный оператор кроссинговера (Order crossover, ОХ), разработанный D. Davis в 1985г.. Во второй субпопуляции используется модификация ОХ, при которой считывание генов производится справа налево. Для отличия эти операторы обозначены OXL и OXR соответственно. В третей субпопуляции используется Двухточечный оператор кроссинговера.

При коммуникации 1 и 2 субпопуляции используется OXL. В результате формируются Два потомка, которые записываются один в 1 субпопуляцию, второй во вторую. При коммуникации 2 и 1 субпопуляций используется OXR. Потомки записываются один во 2 субпопуляцию, второй - в 1-ю. При коммуникации 1 и 3 субпопуляции используется OXL. Потомки записываются один в 1 субпопуляцию, второй - в 3-ю. При коммуникации 3 и 1 субпопуляций используется двухточечный кроссинговер. В результате формируются два потомка, которые записываются один в 3 субпопуляцию, второй - в 1 -ю. При коммуникации 2 и 3 субпопуляции используется OXR. Потомки записываются один во 2 субпопуляцию, второй ■ в 3-ю. При коммуникации 3 и 2 субпопуляций используется двухточечный кроссинговер. Потомки записываются один в 3 субпопуляцию, второй - во 2-ю.

1.4.2. Операторы мутации.

В алгоритме использованы, кроме случайной мутации, специально разработанные Проблемно-ориентированные направленная мутация, с поиском 1-1 (подстановка элемента списка в подходящую по размеру незанятую позицию) и оправленная мутация, с поиском 2-1 (обмена позициями элементов, один из которых равен по величине сумме величин второго элемента и свободной позиции за ним).

1.4.3. Инверсия.

В алгоритме использован также классический оператор инверсии.

1.5. Параллельный поиск.

ПаГА работает следующим образом.

1° Формируется начальная популяция, разделенная на три субпопуляции..

2° В каждой субпопуляции происходит соответствующий кроссинговер.

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

4° По истечении Ю поколений происходит кроссинговер между субпопуляциями /гпптнетствуюший ДЛЯ каждой).

5° Окончание работы при достижении С=1 или предела введенного пользователем

числа поколений. разделения ГА является потенциальный рост быстродействия

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

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

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

составу^ГМ^решение-д^йствий между популяциями может быть критическим фактором в опоеделениии Эффективности параллельного ГА. При наличии большого числа

я^имопействнй преимущества использования субпопуляций оказываются потерянными, так как хорошие хромосомы из одной субпопуляции быстро попадают в другие субпопуляции, и эволюция недолго остается независимой. Результаты, полученные в исследованиях [13,14] плптпепжяают это положение»

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

Благодаря применению трех типов кросинговера в каждой из субпопуляций

Аппмиоуется отдельный качественный фрагмент упаковки. Синтез этих фрагментов

осуществляется В процессе коммуникации между субпопуляциями, при которой в

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

решений, полученных в ие-чаяисимых сублопуляциях, наследуются во всей популяции и направляют процесс поиска.

Рассмотрим Эффект произведенных генетических операций [8].

Эффект мутации. Обозначим рго норму случайной мутации, одинаковую для каждого ального ГА Тогда вероятность того, что схема Б порядка п(Б) во всей популяции подвергнется случайной мутации, будет равна ртп(8). В стандартном последовательном ГА р >ма выживет, равна: 1 - ртп(8). Таким образом. ПаГ а » .....^ *

вероятность того, что схема выживет, равна: 1- ртп(8). Таким образом ПаГА в спав гд

не изменяет эффект случайной мутации. Однако, учитывая, что при с^чяйипв . НЄНИИ ° мутации выбираются случайно эволюция в отдельных субпопуляциях пойдет раз^ТптГи С ростом нормы мутации эффект, производимый ею в разных популяциях сблюкае^

■анет ппинакгшмм. лишь если мутапия плтегтпит пл>,„,х______^ ’ илп*«іиі,

станет одинаковым, лишь если мутация осуществит полный перебор генов в хром Н°

лпт/екяетея РОМОСОМе,

допускается. г ° А^осоме, что не

Эффект кроссинговера. Возьмем случайно выбранную хромосому. Вероятность тпгп что она подвергнется кроссинговеру, равна рс. Характеристики потомков этой хромосом зависят от того, какая хромосома будет выбрана в качестве второго родителя. В субпо^Гц„и

1

размером N у всякого другого индивида есть --------- шансов быть выбранным в качестве

N-\

второго родителя.

Эффективность ГА определяется нормой выживания схемы. Важно определить, какой эффект на выживаемость схемы имеет выбор индивида для кроссинговера. Вероятность выбора индивида в субпопуляции равна рс, вероятность выбора индивида в начальной популяции рс. Тогда для локального ГА и ПаГА вероятность того, что схема 8 некоторой

ад

— г, где Ь - длина схемы. Норма с Ь- 1

выживания схемы в ПаГА отличается от нормы выживания схемы в ГА, что определяется Распределенной природой селекции и коммуникацией генетической информации. Средний или плохой по качеству для одной субпопуляции индивид может быть хорошим для другой сУбпопуляции.

3. СТАТИСТИЧЕСКИЕ ИССЛЕДОВАНИЯ

3.1. План экспериментов.

С использованием разработанного ПО исследовались следующие зависимости. Зависимость времени работы алгоритма от количества элементов, динамика качества решений в поколениях и зависимости этих показателей от весовых распределений элементов. Исследования проводились с доверительной вероятностью 75%, размер серии эксперимента 33» на 1ВМ 486 БХ/2 66.

Для исследования использовались наборы данных по 20, 50, 100, 150, 200 элементов При четырех весовых распределениях; вид весовых распределений элементов представлен ниже.

Вид тестов на 200 элементов.

Длины (1(8) выживет после кроссинговера, равна 1 — 7?

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

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

Зависимости времени от числа элементов при разных типах данных (цвет означает соответствующее количество элементов).

ТШГ-КМ) тести <эд тесм(1<ю) тести (1®) тести роо)

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

3.3. Сравнение с известными результатами.

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

Алгоритм

Кол-во

эл-тоэ

весовое

рапред.

размер

попул.

кол-во

покол.

время

решения

качество

ПГА

ПаГА

ПГА

ПаГА

ПГА

ПаГА

ПГА

ПаГА

20

20

20

20

20

20

20

20

тест -1 тест-1 тест-2 тест-2 тест-3 тест-3 тест-4 тест-4

20

20

20

20

20

20

20

20

25

11

25

25

25

660

517

660

407

412

264

412

410

0.8544

J_______

0.8686

J_______

0.8193

J_______

0.8418

1

Литература

1. Brown A.R. Optimal Packing and Depletion. American Elsevier, New York, 1971.

2. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи.-М.. Мир, 1982.-416с.

3. Yao А.С. New algorithms for bin packing. Report NoSTAN-CS-78-662. Computer Science

Dept., Stanford University, Stanford, CA, 1978.

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,

•545-1551. Chicago,IL, 1992.

7. Garey M.R., Graham R.L., Johnson D.S., Yao A.C. Resource constramed schedulmg as

generalized bin packing. J. Combinatorial Theory Ser. A21, pp. 257-298.

8. Goldberg D.E., Genetic Algorithms in Search, Optimization and Machine Larning. Addison-

Wesley Publishing Company, Inc. 1989. -354p.

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.

10. Kroger B. Genetic algorithms for bin packing problems. In Stender J. (Ed.) Parallel Genetic

Algorithms. IOS Press, Amsterdam, 1993.

11. Goodman E.D., Telelbaum A.Y., Kureichik V.M. Genetic Algorithm Approach to Compaction, Bin Packing and Nesting Problems, Technical Report N# 940502, MSU, East lansing.USA, 1994.

12. MUhlenbein H„ Schomisen М., Born J. The Parallel Genetic Algorithm as Function Optimizer. Proc. of the Fourth International Conference on Genetic Algorithms. San Mateo. Morgan Kaufman, 1991. -576p.

13. MUhlenbein H. Parallel Genetic Algorithms, Population Genetics and Combinatorial Optimization. Proc. of the Third International Conference on Genetic Algorithms. San Mateo.

Morgan Kaufmann, 1989. -576p.

14. Tanese R. Distributed Genetic Algorithms. In J.D.Schaffer (Ed.) Proceedings of the Third international Conference on Genetic Algorithms. Morgan Kaufmann, San Mateo, CA, 1989.

15. Митропольский A.K. Техника статистических исследований.- М., «Наука», 1971. - 218с.

16. Применение математических методов и ЭВМ. Планирование и обработка результатов эксперимента- Учеб. пособие./ Под общ. ред. Останина А.Н.- Минск.: Вышэйшая школа., 1989. ' 237с.

17. Адлер Ю.П. Планирование эксперимента при поиске оптимальных условий.-М.: Наука, 19?1.-283c.

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