Комбинированный многопопуляционный муравьинный генетический алгоритм

сложность предложенного генетического алгоритма о кратчайшем пути оценивает-

2

ся как 0 (п ), что позволяет сократить время решения задачи о назначении.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Вагнер Г. Основы исследования операций. - М.: Мир, 1972, т. 1. - 335 с.

2. Голыйтейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. -М.: Наука, 1969. - 382 с.

3. Кофман А. Введение в прикладную комбинаторику. - М.: Наука, 1975. - 479 с.

4. Чернышев Ю.О. Электронное моделирование задачи о назначении // Однородные цифровые и интегрирующие структуры. - Таганрог: Изд-во ТРТИ, 1977, вып. 8. - С. 99-103.

5. Чернышев Ю.О., Насекин 5.4.Сведение задачи выбора максимальных интервалов буле-

// . . -

1974, №3. - С. 235-238.

6. . ., . ., . . -

. - - - : - , 2008. - 87 .

УДК 004.896

АЛ. Берёза, АХ. Стороженко КОМБИНИРОВАННЫЙ МНОГОПОПУЛЯЦИОННЫЙ МУРАВЬИННЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ*

Введение. Комплексная интеллектуализация систем автоматизированного проектирования в электронике (САПР-Э или ECAD - Electronic Computer Aided Design) предполагает разработку интеллектуальных процедур для всех этапов маршрута проектирования. Одной из таких процедур является оптимизация схемотехнических решений на транзисторном уровне (transistor level). Цель оптимизации заключается в нахождении такой точки пространства допустимых решений, в которой критерии оптимальности принимают экстремальные значения или имеют желаемые характе-.

позволит повысить качество схемотехнических решений и значительно сократить время их проектирования.

В настоящее время созданы алгоритмы и описаны методы для решения различных оптимизационных задач, как для конкретных случаев, так и в общем виде. Эффективным методом решения оптимизационных задач являются генетические алгоритмы (ГА), основоположником которых считается Джон Холланд (John Holland), описавший ключевые принципы ГА в своей книге Адаптация в естественных и искусственных системах» (Adaptation in Natural and Artificial Systems).

ГА моделируют процесс эволюции живой природы и на основе эволюционных принципов осуществляют поиск лучших решений [1, 2]. -

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

эвристики [1, 3, 4], ( ).

Принцип функционирования МГ А заключается в создании определенного ко, .

* Работа выполнена при поддержке РФФИ (гранты № 07-01-00174, № 08-01-00473). 24

При наступлении этого времени, называемого временем миграции, популяции обмениваются между собой решениями. Процесс обмена решениями называют меха,

механизма [4, 5].

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

Гибридный многопопуляционный муравьиный генетический алгоритм (ММГА). Муравьиные алгоритмы были разработаны Марко Дориго в 90-х годах XX века, они моделируют поведение группы муравьев, ищущих пищу [2, 6, 7]. Главная идея алгоритма состоит в том, что по ходу своего передвижения муравей на земле оставляет след феромона, и муравей, идущий за ним, будет выбирать до, , .

:

количество феромона уменьшается.

Муравьиные алгоритмы как и ГА работают с некоторым набором решений, но, в отличие от них, не отбрасывают худшие решения сразу, а позволяют, постепенно уменьшая значения феромона, свести к нулю вероятность выбора конкрет-

,

решения при проведении дальнейшего поиска.

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

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

Выбор направления перехода основывается на одном простом вероятностном правиле. Если муравей еще не закончил путь, то есть количество проб выбора популяций не равно их числу, то выбор следующей вершины выполняется при помощи алгоритма «колеса рулетки» на основе вероятностей выбора всех вершин, связанных с той, в которой он находится. Если муравей находится в /-ой вер шине, то вероятность выбора ,'-ой вершины рассчитывается по следующей формуле:

К, (0Г

Р,, (?) Ч X К/(?)]“ • X рт(*),, 6 Зик, т * к,

lEJj к т=0

0] * Ji,k

где а - параметр, задающий степень веса следа феромона, Т, (V) - количество феромона ,-ой популяции, С - количество популяций. Правило расчета вероят-

С

ности выбора следующей популяции для развития во время проведения поиска не изменяется, но выбор следующей популяции является вероятностным, т.к. у каждого муравья разный пройденный им путь.

Пройдя в точку -, муравей откладывает на ребра (і, -), і є [0, С ], где С -, , -зано с оптимальностью сделанного выбора. Пусть МахСР- - максимальное значение целевой функции --ой популяции, АСР- - изменение ЦФ --ой популяции, тогда откладываемое количество феромона может быть задано в следующем виде:

МахСР‘ МахСР‘1 - МахСР-

С--------І— + (1 -аСЕ)-------Н---------- ,(і,У)є «;

^ МахСР‘т ^ АМахСрт

т=0 т=0

0, (і,-) £Гк (Ґ),

где аСр 6 [0,1] - коэффициент, учитывающий процент влияния на откладываемый след феромона, значение ЦФ и развитие популяции, С - количество популяций.

Воздействие внешней среды определяется, в первую очередь, испарением феромона. Пусть р 6 [0,1] является коэффициентом испарения, тогда уравнение испарения имеет вид:

Ср

Т, (г +1) = (1 - р) • Т,, (г) + Ати (г), где Ат,, = £ гг]Л (г).

к=1

Принцип работы ММГА заключается в следующем: последовательно помещают муравьев во все вершины графа, сопровождая при этом запуском ГА соот-

. ,

процесс продолжается.

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

Описанный гибридный алгоритм позволяет существенно сократить время поис-, , ,

.

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

, , , чтобы он обладал следующими характеристиками:

♦ обладал более быстрой сходимостью алгоритма к субоптимальному решению по сравнению с ГА;

♦ обеспечивал возможность нахождения других оптимальных решений. Основываясь на описанных требованиях, предлагается комбинировать ММГА

и алгоритм имитации отжига (ИО).

Комбинированный ММГА. Алгоритм имитации отжига был описан следующими учеными S. Kirkpatrick, C. D. Gelatt и M. P. Vecchi в 1983 году [8]. Свое экзотическое название алгоритм получил в связи с методами имитационного моделирования в статистической физике [9], основанными на технике Монте-Карло. Исследование кристаллической решетки и поведения атомов при медленном остывании тела привело к появлению на свет вероятностных алгоритмов, которые оказались чрезвычайно эффективными в комбинаторной оптимизации. Алгоритм ИО относится к классу пороговых алгоритмов, общая схема которых может быть представлена следующим образом:

10. Выбор начального решения i0 е I и положим f * = f (i0), k = 0.

20. Если выполнен критерий останова, то выход из алгоритма, иначе перехо-

о0

дим на шаг 3 .

30. В окрестности точки ^выбираем некоторое решение j .

4°. Если f (j) - f (ik) < tk, то ik+i = j.

50. Если f * > f (ik), то f * = f (ik).

60. Положить k = k +1.

Различают различные алгоритмы этого класса, опишем некоторые из них:

♦ Алгоритмы последовательного улучшения. В алгоритмах такого типа принимают tk = 0 на всех итерациях, этот вариант соответствует классическому локальному спуску с монотонным улучшением по целевой функции (ЦФ).

♦ Алгоритмы порогового улучшения. У алгоритмов этого типа допускается ухудшение по ЦФ до некоторого заданного порога, и этот порог последовательно снижается до нуля.

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

1, f (j) < f (i);

- f (i)-f ( j ) e Ck ,гд ek = 0,1,2,....

Ck -

бирается так, чтобы Ck ^ 0 при k . Иногда параметр Ck называют температурой [10], по аналогии с названием параметров физического процесса кристаллизации вещества из жидкого в твердое состояние, в том числе при отжиге металла.

Ck

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

меняют небольшие параметры [11, 12]. В большинстве работ следуют рекомендациям, приведенным в [8], и используют схему геометрической прогрессии.

При использовании схемы геометрической последовательности для задания последовательности Ск вначале принимают С0 = тах А/. Понижение порога рассчитывают по следующей формуле:

Ск+1 =ас х Ск, к = 0 1 2,...,

где ас - положительная константа, достаточно близкая к 1, например, ас е [0,8;0,99]. Конечное значение Ск > 0 определяется либо по числу сделанных изменений, либо как максимальное Ск, при котором алгоритм не меняет текущее

. Ск ,

выполняет некоторое количество шагов, не меняя значение порога.

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

1. Функция Растригина ^т1П = Р(0,0,...,0) = 0 :

F(x) = 10n + ^ | xf10Cos(2nxi), при - 6,12 < xt < 6,12, i е 1,2,3,..., n с

i=1

шагом 0,001, где n - размерность пространства решений.

2. Функция “сфера” Fmin = (F(0,0,...,0) = 0 :

n-1 Гj <= i I2

F(x) = X | XXj ( , ПРИ -100 < x, < 100, i е 1,2,3,...,n с шагом 0,001,

i=0 I j=0 J

n - .

3. Функция Аклей Fmin = (F(0,0,...,0) = 0 :

I j n-1 I n-1

-02Jn £x-2 - £ cos

F(x) = -20e * j=0 - e '=0 + 20 + e при - 30 < x, < 30,

i е 1,2,3,..., n 0,001, n - .

4. Функция Гриванка (Griwank) Fmin = (F(0,0,...,0) = 0 :

1 n-1 n-1 / _ 1 ПгЛ

F(x) =-------------------V(x. -100)2-Пcos i ----- +1, при -600 < x < 600,

40001^0 i=o ^ Vi +1

i е 1,2,3,..., n 0.001, n - .

5. Шаговая функция Fmin = (F(0,0,...,0) = 0 :

n-1

F(x) = 6n + ^[xi j при -100 < x, < 100, i е 1,2,3,...,n с шагом 0.001,

i = 0

n - .

В экспериментах размерность пространства решений принималась равной 10, 20, 30, 40, 50, 60, 70, 80, 90 и 100 вершинам. Кодирование генов в хромосоме осуществлялось в виде целого положительного числа. Результаты проведенных экспериментов приведены в таблице.

Таблица

Результаты выполнения алгоритмов на тестовых функциях

Размерность задачи МГЛ КММГЛ ММГЛ ГЛ

Полученное решение Время, с Полученное решение Время, с Полученное решение Время, с Полученное решение Время, с

Функция Лклей

10 1,41 9184 1,91 6276 1,93 6586 8,76 75

20 2,04 9448 2,23 6566 2,40 6785 10,38 78

30 2,47 9715 2,99 6796 3,16 6980 11,24 81

40 2,91 9987 3,34 7055 3,73 7169 12,82 84

50 3,48 10262 3,84 7313 4,38 7371 14,11 87

60 3,76 10533 4,06 7619 4,56 7559 14,67 91

70 4,20 10809 4,38 7899 5,11 7761 15,49 94

80 4,58 11078 4,88 8177 5,39 7966 16,42 97

90 4,96 11351 4,93 8441 5,84 8165 16,74 100

100 5,14 11626 5,33 8753 6,29 8379 17,14 103

Функция Гриванка

10 0,70 9182 0,84 6732 0,83 6238 12,37 76

20 0,56 9349 0,69 6810 0,78 6336 4,50 78

30 0,78 9522 0,87 6958 0,96 6431 6,99 80

40 0,88 9695 0,92 7114 1,02 6597 11,53 82

50 0,97 9871 1,02 7244 1,08 6754 15,98 84

60 1,03 10048 1,07 7392 1,12 6861 19,39 87

70 1,06 10229 1,12 7533 1,18 6983 23,12 88

80 1,07 10400 1,13 7683 1,23 7111 28,87 90

90 1,11 10577 1,18 7818 1,29 7215 34,63 92

100 1,11 10753 1,23 7950 1,34 7371 35,15 94

Функция Растригина

10 123,13 9160 118,54 6341 122,52 6230 290,7 76

20 438,02 9465 389,91 6670 447,92 6451 898,827 79

30 930,62 9792 824,78 6976 986,22 6673 2018,59 83

40 1634,04 10118 1498,66 7287 1635,81 6893 2921,09 86

50 2428,26 10442 2097,12 7634 2386,17 7116 4281,84 90

60 3260,34 10758 2869,96 7936 3360,78 7336 5481,66 94

70 4198,56 11087 3649,75 8261 4336,33 7554 9872,1 97

80 5184,97 11398 4621,52 8579 5163,86 7771 8603,78 100

90 6399,37 11704 5553,14 8910 6374,20 7986 10160,1 104

100 7392,12 12027 6466,30 9195 7529,15 8217 11907,9 107

Функция Сферы

10 21,S1 9026 24,V9 6101 33,59 6139 990,VV VV

20 S4,16 91SV 34,44 6255 VS,22 6255 2S10,S6 V6

30 66,SS 9359 63,V1 6411 VS,26 63V2 42V4,SV VS

40 100,S4 9S3S 143,61 6553 1V9,VV 6499 V962,64 SO

SO 1V1,21 9V1S 1V6,61 6V02 314,6V 6624 111SV,60 S2

б0 2S2,41 9S94 295,10 6S63 530,14 6VS2 1906S,V0 SS

V0 4V0,SS 100 VS 432,12 V03S 6V9,6S 6S69 25400,00 S6

SO б11 ,6s 102SS 42S,4V V21V SS0,S1 V000 34311,90 SS

90 V03,23 10433 S1V,63 V3V6 11VS,2S V132 4SS2S,30 90

100 1163,49 1061V V69,S2 VS46 1VVS,SS V2SV 603SS,30 92

Шаговая функция

10 21,S2 9045 29,SO 63SS 25,9S 6195 S99,SS V4

20 44,56 92 V1 S4,6S 6524 51,50 6354 1966,2S VV

30 V4,V4 9S01 113,12 6V0S 103,бб 6S0S 4161,2S V9

40 129,SS 9V36 145,34 6911 1VS,94 66V3 V049,60 S2

SO 23S,S0 99V4 2V1,VS V12S 403,06 6S34 11521,00 SS

б0 34S,6S 10214 3VS,62 V349 S1V,0S 6990 1V214,S0 S9

V0 454,50 1044V 450,40 VS61 666,4S V16S 26S90,90 90

SO 511 ,S0 106SS V21,60 VV9S 1022,64 V329 36S66,S0 93

90 V92,V0 10920 S3S,0S S036 126V,S6 V49S 49336,00 95

100 1000,96 111SS 952,26 S2S0 1S46,06 V6V6 6064V,60 9S

В таблице серым цветом выделены лучшие результаты оптимизации тестовых функций. Анализируя данные таблицы видно, что лучшие решения были получены при помощи алгоритма МГА, но время поиска этого алгоритма является худшим. Алгоритм КМ МГА по качеству получаемых решений отличается от МГА в среднем на 14%, а время выполнения этого алгоритма - в среднем на 28% меньше. При сравнении эффективности поиска при помощи алгоритмов КМ МГА и ММГА следует отметить, что КММГА, в среднем, на 30% более эффективен, чем ММГА, а время вычислений, в среднем, у КММГА больше, чем ММГА на 5%.

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

Комбинирование ММГА и алгоритма имитации отжига для улучшения решения задачи параметрической оптимизации является эффективным способом повышения качества получаемых решений. При этом время поиска увеличивается всего на 5%.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Редько ВТ. Эволюционная кибернетика. - М.: Наука 2001.

2. МакКоннелл Дж. Основы современных алгоритмов. - М.: Техносфера, 2004.

3. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning / USA: Addison-Wesley Publishing Company, Inc., 1989.

4. Potts C.I., Giddens T.D., Yadav S.B. The Development and Evaluation of an Improved Genetic Algorithm Based on Migration and Artificial selection. IEEE Trans. on Systems, Man and Cybernetics, vol.24, No.1, Sammary 1994.

5. Гладков Л.А. Методы генетического поиска: Монография / J1.A. Гладков, J1.A. Зинченко, ВБ. Курейчик. - Таганрог: Изд-во ТРТУ, 2002.

6. Букатова ИЛ. Эволюционное моделирование и его приложения./И.Л. Букатова - М.:

, 1994.

7. Штовба С.Д. Муравьиные алгоритмы. Exponenta Pro. Математика в приложениях, 2003, №4. - С. 70-75. '

8. Kirkpatrick S., Gelatt C. D., Vecchi M. P. Optimization by simulated annealing. Science. v220 (1983), pp. 671-680.

9. Binder K. Monte Carlo methods in statistical physics. Berlin: Springer, 1978.

10. Aarts E. H. L., Korst J. H. M., Laarhoven van P. J. M. Simulated annealing. in Aarts E., Len-straJ.K. (Eds) Local search in combinatorial optimization. Chichester: Wiley, 1997. pp. 91-120.

11. Aarts E. H. L., Korst J. H. M. Simulated annealing and Boltzmann machines. Chichester: Wiley, 1989.

12. HajekB., Sasaki G. Simulated annealing: to cool it or not. Sys. Contr. Lett. v12 (1989), pp. 443-447.

УДК 519.712.2

Л.А. Гладков, Н.В. Гладкова

РЕШЕНИЕ ЗАДАЧИ КОММИВОЯЖЕРА НА ОСНОВЕ НЕЧЕТКОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА*

Нечеткий генетический алгоритм можно определить как алгоритм, сочетающий поисковые возможности генетических алгоритмов и возможности математического аппарата нечеткой логики. Математический аппарат теории нечетких систем используется в данном случае для кодирования, подбора оптимальных параметров генетических алгоритмов, значений вероятности генетических операторов, выбора функции пригодности и критерия останова, создания нечетких генетиче-.

Одной из особенностей нечеткого генетического алгоритма является наличие нечеткого логического контроллера (НЛК). НЛК преобразует заданные параметры к нечеткому виду, затем с помощью Базы Правил (БП) определяет управляющее воздействие и возвращает скорректированные значения контрольных параметров.

В составе НЛК можно выделить следующие блоки [1]:

♦ база знаний, включающая в себя базу правил и базу данных;

♦ блок фаззификации;

♦ блок дефаззификации;

♦ система вы вода решения;

♦ система контроля.

, , -бой множество нечетких правил R(k>, k = 1, ..., N. НЛК оперирует нечеткими множествами. Поэтому конкретное значение входного параметра НЛК подлежит опе-, -

.

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

* Работа выполнена при поддержке РФФИ (грант № 08-01-00473).