Актуальные проблемы авиации и космонавтики. Информационные технологии
Так как стайный алгоритм является стохастическим, то его эффективность определялась усреднением по количеству прогонов. Критерием эффективности служила надежность решения задачи, т. е. процент прогонов, давших точное решение задачи. Проверялось, сколько потребуется ресурса для получения верного ответа с вероятностью 80-100 %. Для этого в задачах безусловной оптимизации проводилось изменение количества независимых переменных от 2 до 4. Длина переменных в случае бинарных частиц была равна 10. Для параллельного Р80 получены результаты работы алгоритма на двух и четырех процессорах. Изучалась зависимость эффективности алгоритма от выделяемого вычислительного ресурса, т. е. сочетания количества частиц и числа шагов развития популяции. После этого сравнивалась эффективность алгоритма в зависимости от количества ядер, то есть полученные для каждой задачи результаты фиксировались, а количество ядер менялось. Установлено, что надежность параллельного и последовательного Р80 совпадает. При этом число процессоров (ядер) не влияет на
надежность алгоритма. Кроме того, при решении задач как с вещественными, так и с бинарными частицами, последовательный PSO работал заметно медленнее параллельного.
Библиографические ссылки
1. Kennedy J., Eberhart R. Particle Swarm Optimization // Proceedings of IEEE International Conference on Neural Networks. IV. 1995. P. 1942-1948.
2. Kennedy, J. and Eberhart, R. C. A discrete binary version of the particle swarm algorithm. // Proceedings of the World Multiconference on Systemics, Cybernetics and Informatics 1997, Piscataway, NJ. 1997. Р. 4104-4109.
3. Eiben A. E., Smith J. E. Introduction to evolutionary computation. Springer, Berlin, 2003.
4. URL: http://www-optima.amp.i.kyoto-u. ac.jp/member/student/hedar
/Hedar_files/TestGO_files/Page422.htm.
© Ахмедова Ш. А., 2012
УДК 519.87
К. Ю. Брестер Научный руководитель - Е. С. Семенкин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
О РЕШЕНИИ ЗАДАЧ МНОГОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ САМОНАСТРАИВАЮЩИМСЯ ГЕНЕТИЧЕСКИМ АЛГОРИТМОМ
Рассматривается возможность решения задач многокритериальной оптимизации функций многих переменных с использованием самонастраивающегося генетического алгоритма. В программной системе реализован метод БРЕА, основанный на идее Парето-доминирования. На тестовых задачах показана работоспособность подхода.
Известно, что эффективность работы генетического алгоритма (ГА) во многом зависит от выбора значений входных параметров и комбинаций генетических операторов. Результаты оптимизации для одной и той же задачи могут значительно отличаться при варьировании настроек алгоритма. Неудачный выбор последних приводит к снижению эффективности ГА, поэтому целесообразно осуществлять настройку генетических операторов в ходе работы.
В зависимости от числа целевых критериев задачи оптимизации делят на однокритериальные и многокритериальные. Остановимся на решении второго класса задач. В 1998 г. был предложен метод 8РБЛ, основанный на идее Парето-доминирования. Решение многокритериальной задачи целесообразно выбирать из множества Парето, эти точки не могут быть предпочтены друг другу. Их образ в пространстве критериев - фронт Парето.
Схема метода 8РБЛ включает следующие этапы:
1. Инициализировать начальную популяцию Р.
2. Скопировать в промежуточное внешнее множество индивидов, чьи векторы решений недоминируемы относительно Р.
3. Удалить из промежуточного внешнего множества (Рг) индивидов, доминирумых относительно -РГ .
4. Если мощность Р' больше заданного значения, то применить механизм кластеризации.
5. Сформировать внешнее множество из индивидов Р'.
6. Применить генетические операторы: селекция, скрещивание, мутация.
7. Проверить выполнение критерия останова: если выполняется - завершить работу алгоритма, иначе -перейти к п. 2.
В среде Builder 6 на языке С++ была разработана программная система, реализующая стандартный генетический алгоритм для решения задач многокритериальной оптимизации методом SPEA. Для исследования эффективности алгоритма и работоспособности программной системы использовались тестовые задачи с оптимизируемыми функциями тридцати переменных (семь задач с двумя критериями и три - с тремя). Эти задачи были разработаны в научной среде для сравнения эффективности реализованных алгоритмов [1].
Результат работы алгоритма оценивался метрикой
IGD:
-v JLsS-ii&vffl
шл= -
,
Секция «Математические методы моделирования, управления и анализа данных»
где Р~ - фронт Парето; А - аппроксимация фронта Парето (результат работы алгоритма); V - точка фронта Парето; ¿Й^? - минимальное расстояние между точкой и множеством^, вычисленное по евклидовой метрике.
Тестирование проводилось для различных комбинаций типов операторов, результат усреднялся по тридцати прогонам. При выделенном количестве ресурсов (число вычислений функции не более 300 тыс.) доля просматриваемого поискового пространства не
Ъ- Юа превышала 105+^°.
Анализ полученных результатов показал эффективность метода 8РБЛ, что дало основания для применения к данному алгоритму механизма самонастройки.
В статье Дариди предложен следующий вариант адаптивной мутации [2]:
,
I - длина хромосомы в битах; t - номер текущего поколения; Т - максимальное число доступных поколений. На каждом поколении вероятность мутации пе-ресчитывается в соответствии с вышеприведенной формулой [2].
В основу самонастройки оператора скрещивания заложена идея, предложенная в статье Банзафа. Для
генетических операторов вводится вероятность: р и4 | 100 "
я
■-----' ■ ^ .'' п - число вариантов данного опе-
лыхакИ
ратора; ряц. - ,г;- - отношение
и 2С1 А
числа успешных применений данного варианта оператора к общему числу его применений. Работа оператора признается успешной в том случае, если пригодность потомка выше пригодности обоих родителей [3].
Причем вычисление значений целевых функций для оценки пригодности потомков проводилось уже после работы оператора мутации. В противном случае дополнительный расчет оптимизируемых критериев привел бы к необходимости сокращения числа поколений, так как при тестировании алгоритмов количество вычислений целевых функций ограничено. По сути, оценивалась эффективность работы двух операторов в совокупности: адаптивной мутации и скрещивания.
Результаты работы самонастраивающегося ГА показали, что на данных тестовых задачах он не проигрывает в эффективности алгоритмам с худшими комбинациями операторов. В трех случаях самонастраивающийся ГА был лучше среднего, в двух - на уровне среднего, а в пяти случаях - хуже среднего. И никогда - хуже худшего. Это значит, что отказавшись от настройки параметров, в половине случаев можно ожидать выигрыша против выбора наугад. При этом проигрыш среднему только один раз значителен, в остальных случаях проигрыш во втором или даже третьем знаке после запятой.
Библиографические ссылки
1. URL:http://web.mysites.ntu.edu.sg/epnsugan/Publi cSite/Shared%20Documents/Forms/AllItems.aspx?Root Folder=%2fepnsugan%2fPublicSite%2fShared%20Docu ments%2fCEC2009-M0EA&FolderCTID=&View = {DAF31868-97D8-4779-AE49-9CEC4DC3F310}.
2. Daridi, F., Kharma, N., Salik, J. Parameterless Genetic Algorithms: Review and Innovation - Electrical & Computer Eng. Dept., Concordia University, 1455 de Mai-sonneuve Blvd. W., Montreal, QC, Canada. H3G 1M8.
3. Niehaus, J., Banzhaf W. Adaption of Operator Probabilities in Genetic Programming. In: J. Miller et al. (Eds.): Proceedings of the 4th European Conference on Genetic Programming, Lecture Notes In Computer Sci-enc., Vol. 2038. P. 325-336. Springer-Verlag, Berlin, Heidelberg, 2001.
© Брестер К. Ю., 2012
УДК 519.856
С. С. Волкова Научный руководитель - Е. С. Семенкин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ АДАПТИВНОЙ МУТАЦИИ В ГЕНЕТИЧЕСКИХ АЛГОРИТМАХ
Рассматриваются варианты адаптивной мутации в генетическом алгоритме, сравнивается эффективность работы генетического алгоритма при адаптивной и постоянной видах мутации.
Генетические алгоритмы, как стохастические методы оптимизации, имеют широкую область применения за счет того, что являются методами прямого поиска и не требуют от целевой функции каких-либо свойств [1]. Эффективность применения генетических алгоритмов была показана уже не раз, так же, как и
то, что результат работы алгоритма сильно зависит от выбора комбинации его настроек. Наилучшей универсальной комбинации настроек не существует. Главной причиной этому является то, что в процессе работы генетический алгоритм реализует две стратегии. Первая стратегия - исследование, ее целью является по-