НАУЧНОЕ ИЗДАНИЕ МГТУ ИМ. Н. Э. БАУМАНА
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 • 48211. Государственная регистрация №0421200025. ISSN 1994-0408
электронный научно-технический журнал
Мультимемеевая модификация гибридного муравьиного
алгоритма непрерывной оптимизации HCIAC
# 09, сентябрь 2012
DOI: 10.7463/0912.0470529
Карпенко А. П., Чернобривченко К. А.
УДК 519.6
Россия, МГТУ им. Н.Э. Баумана [email protected] chemobrivchenko.k@gmail. com
Введение
Публикация продолжает работу [1], посвященную исследованию эффективности модифицированного нами алгоритма непрерывно взаимодействующей колонии муравьев CIAC (Continuous Interacting Ant Colony) [2].
Муравьиные алгоритмы представляют собой новый класс алгоритмов оптимизации, инспирированных живой природой. В основу алгоритмов положено моделирование самоорганизации в муравьиной колонии, как многоагентной системе, в которой каждый агент (муравей) функционирует по очень простым правилам, но поведение системы в целом оказывается высоко рациональным. Муравьи в колонии образуют структуру, называемую гетерархией, которая, в отличии от иерархии, предполагает не вертикальные связи между агентами системы, а горизонтальные, когда все агенты равноправны между собой. В колонии муравьев имеет место плотная гетерархия, когда каждый из агентов системы может связываться с любым другим агентом и в любой момент времени. Общение между муравьями происходит через каналы прямого взаимодействия и стигмергии (stigmergy). Прямое взаимодействие между агентами осуществляется посредством
обмена пищей и выделениями желез (трофоллаксис). Канал стигмергии (следовой канал) представляет собой способ обмен информацией через феромонный след, оставляемый муравьями.
Муравьиные алгоритмы используют для решения задач, как дискретной, так и непрерывной оптимизации. Первым вариантом алгоритма колонии муравьев, разработанным для решения задачи непрерывной оптимизации, стал алгоритм непрерывной оптимизации колонией муравьев (Continuous Ant Colony Optimization, CACO), наметки которого были предложены Билчевым (G.Bilchev) и Парми (I.C. Parmee) в 1995 г. В настоящее время известно большое число алгоритмов непрерывной оптимизации колонией муравьев, одним из которых является упомянутый выше алгоритм CIAC. Для повышения эффективности алгоритма CIAC его авторы разработали модификацию Hybrid CIAC (HCIAC) [3], основной особенностью которой является реализация локального поиска с помощью широко известного алгоритма Нелдера-Мида.
В данной работе мы предлагаем модификацию алгоритма HCIAC на основе меметических (memetic) алгоритмов, которые представляют собой гибридные популяционные метаэвристические алгоритмы поисковой оптимизации, основанные на концепции мема и нео-дарвиновском принципе эволюции [4]. Модифицированный алгоритм назван нами HCIAC-M.
В контексте меметических алгоритмов мем является реализацией какого-либо алгоритма локальной оптимизации, уточняющего текущие решения на каждой итерации, либо через некоторое число итераций. В широком смысле, меметические алгоритмы можно рассматривать как гибридизацию одного из популяционных алгоритмов глобального поиска и одного или нескольких классических или популяционных алгоритмов локальной оптимизации.
Из различных вариантов меметических алгоритмов чаще всего используют вариант мулътимемных (multi-memes) адаптивных алгоритмов. Основной задачей конструирования таких алгоритмов является выбор 10.7463/0912.0470529 262
целесообразной стратегии использования того или иного мема из роя доступных мемов. Задача относится к классу задач метаоптимизации [5]. Указанную стратегию иногда называют гиперэвристикой (hyperheuristic).
Наиболее известны три следующие категории гиперэвристик, используемых в гиперэвристических адаптивных мулътимемных алгоритмах: случайные (random) гиперэвристики, жадные (greedy) гиперэвристики, гиперэвристики c функцией выбора (choice-function). В алгоритме HCIAC-M использован один из вариантов жадной гиперэвристики.
HCIAC-M включает в себя еще одну модификацию алгоритма HCIAC -последний алгоритм дополнен процедурой встряски популяции, которая призвана диверсифицировать поиск и тем самым повысить вероятность локализации глобального экстремума целевой функции.
В пункте 1 приведена постановка задачи и представлены схемы алгоритмов CIAC и HCIAC. Предлагаемая модификация алгоритма HCIAC рассматривается в пункте 2. Пункт 3 посвящен исследованию эффективности алгоритма HCIAC-M при поиске глобального экстремума одноэкстремальной овражной функции Розенброка (Rosenbrock) и многоэкстремальной функции Растригина (Rastrigin) из известного пакета тестовых функций CES (Congress of Evolutionary Computing) [6]. Последовательно представлены результаты исследования модифицированных встряской алгоритмов CIAC и HCIAC, а также алгоритма HCIAC-M. В пункте 4 в качестве примера применения алгоритма HCIAC-M рассмотрена практически значимая задача оптимизации системы двигатель-генератор [7], сводящаяся к задаче оптимального управления, которую мы решаем путем редукции к задаче нелинейного программирования, а затем к задаче безусловной оптимизации.
1. Постановка задачи и схема базового муравьиного алгоритма
Рассматриваем задачу многомерной глобальной безусловной оптимизации: найти максимум целевой функции f (X), определенной на
множестве D евклидова пространства RX :
тах Г (X) = f (X *) = f \ (1)
x евс
Здесь X = (х15 х2,..., х^) - вектор варьируемых параметров,
В = {XIX-< х < х+, г е [1: ^Ц} - (2)
параллелепипед допустимых значений этого вектора.
Как мы отмечали выше, алгоритм НС1АС построен на основе алгоритма С1АС. Рассмотрим поэтому прежде последний алгоритм [2].
1.1. Алгоритм С1АС Схема алгоритма С1АС имеет следующий вид.
1) Создаем агентов (муравьев) Sj , у е [1: £ |] и случайным образом
распределяем их в области поиска В. Здесь - число агентов в колонии £.
2) Моделируем работу канала стигмергии, для чего для каждого из агентов sJ■ вычисляем координаты центра тяжести феромонных точек
|ф|
ф у =№■ ^ ,
г =1
где Xi - вектор координат ¡-ой феромонной точки, |ф| - их общее число,
-
¡, У |Ф|
Ъщ
¡, 1 г=1
нормированный интерес у-го агента к ¡-ой феромонной точке;
8
Ч,у = 2 6г ехР("8, 1). Здесь 8 - среднее расстояние между двумя агентами в колонии, 61 -количество феромона в точке Xi, 8г у - расстояние между у-м агентом и ¡-ой феромонной точкой.
3) Перемещаем агента 8- в направлении точки Ф- на случайное
расстояние в пределах его размерного параметра г- = —, где —. - случайная
щ
величина, распределенная по нормальному закону с нулевым математическим ожиданием и среднеквадратичным отклонением а ; щ -делитель размерного параметра, определяющий величину этого перемещения.
4) Моделируем функционирование канала прямого взаимодействия -агент 8- читает из своей памяти случайное сообщение, полученное от
агента 8к.
5) Сравниваем значение целевой функции / (X -) в точке расположения агента 8- с соответствующим значением /(Хк), полученным в сообщении от агента 8к . Если /(Хк) > /(Х-), то агента 8- перемещаем в случайную точку гиперсферы, центром которой является точка Хк , а радиусом -размерный параметр г- этого агента.
6) Если /(Хк) < /(Х-) , то агент посылает сообщение со своими координатами Х} и значением целевой функции /(Х-) случайному агенту
популяции, а затем в пределах своего размерного параметра г- совершает случайное перемещение в окрестности точки Х ■.
7) После того, как по рассмотренной схеме все агенты колонии завершили свои перемещения, моделируем испарение феромонных точек (см. ниже).
8) Проверяем выполнение критерия останова, в качестве которого может использоваться условие достижения заданного числа итераций ( = £ или условие стагнации вычислительного процесса
/ (Х (()) - / (Х ((-(5)) <8Г,
где (8 - заданное число итераций, е^ - малая положительная величина.
В каждой точке Xу (т), в которой побывал муравей sJ, он оставляет
феромонную точку ф] (г, т), интенсивность которой (количество феромона)
на данной итерации г равна ву(г,т), где те[0:г] - номер итерации, на
которой оставлена эта точка. Количество феромона в феромонных точках с ростом числа итераций уменьшается (феромон испаряется) в соответствии с рекуррентной формулой
где р е (0; 1) - коэффициент устойчивости феромонных точек. Формула
означает, что феромонная точка исчезает, если количество феромона в ней становится равным величине 6тт. Начальное количество феромона агента полагаем равным единице, а остальных агентов - пропорциональным соответствующим значениям целевой функции.
Размер памяти агента ограничен, так что максимально допустимое число сообщений в памяти каждого из агентов не превышает величины ^тах . В ситуации, когда возможно переполнение памяти (агент получает новое сообщение при текущем числе сообщений в его памяти, равном ^тах), одно из выбранных случайным образом сообщений удаляем из памяти, а новое сообщение записываем в нее.
Алгоритм НС1АС использует следующие модификации алгоритма
С1АС [3]. Во-первых, как мы отмечали выше, НС1АС реализует локальный
поиск на основе алгоритма Нелдера-Мида. Во-вторых, НС1АС использует
модифицированную модель канала стигмергии.
В алгоритме С1АС в случае медленного испарения феромонных точек
число этих точек может стать чрезвычайно большим, что приведет к
значительному увеличению требуемой памяти ЭВМ и высоким
вычислительным затратам. В алгоритме НС1АС для решения этой проблемы 10.7463/0912.0470529 266
(3)
1.2. Алгоритм НС1АС
муравьи могут не только добавлять новые точки, но и усиливать старые, находящиеся в зоне видимости (visible zone) агентов.
Схему алгоритма HCIAC передает следующая последовательность его основных шагов.
1) Инициализируем агентов по схеме алгоритма CIAC. Кроме того задаем начальные радиусы зон видимости dj, j е [1: |S|] , подчиненные
нормальному закону распределения с математическим ожиданием и среднеквадратичным отклонением равными соответственно md, <rd.
2) Моделируем испарение феромонных точек по формуле (3).
3) Для каждого из агентов Sj реализуем этап глобального поиска.
3.1) Моделируем выбор агентом Sj канала стигмергии или канала
прямого взаимодействия на основании функции выбора (stimulus-response function) вида
4(e) =-г1-ч, (4)
1 + exp (- bs e + bh )
где £(e) е [0; 1] - вероятность выбора канала стигмергии, e -привлекательность (stimulus) канала; bs, bh - одинаковые для всех агентов коэффициент гладкости (smoothness) и величина порога чувствительности (threshold) соответственно.
3.2) Если для агента sj был выбрал канал стигмергии, то отыскиваем
все феромонные точки в пределах его зоны видимости dj и по схеме
алгоритма CIAC реализуем движение агента в направлении их центра тяжести.
3.3) Если для агента sj выбрал канал прямого взаимодействия, то
извлекаем из памяти этого агента первое сообщение и обрабатываем его в соответствии с алгоритмом CIAC.
4) Если в зоне видимости агента sj нет феромонных точек
(случай 3.2) или в его памяти нет сообщений (случай 3.3), то основываясь на
мотивации (motivation) агента Aj по формуле вида (4) производим выбор в пользу работы агента Sj с каналом прямого взаимодействия или в пользу локального поиска. Здесь величина Aj в отличие от привлекательности ej,
является динамической величиной c нулевым начальным значением.
4.1) Если выбор сделан в пользу работы агента Sj с каналом прямого
взаимодействия, то моделируем отправку этим агентом сообщения случайному агенту популяции и полагаем Aj = Aj + SA, то есть, увеличиваем
мотивацию агента на небольшую величину SA> 0.
4.2) В случае выбора второго варианта действий, исходя из текущего положения агента X ■, полагаем мотивацию Aj равной нулю и выполняем
следующие действия.
4.2.1) Запускаем локальный поиск алгоритмом Нелдера-Мида, полагая начальную длину ребра симплекса, равной текущему радиусу зоны видимости dj . Локальный поиск ограничиваем n ™ах оценками значений целевой функции. В качестве конечного положения агента Sj принимаем положение, соответствующее лучшему достигнутому значению функции
f (X).
4.2.2) Отыскиваем видимые данным агентом феромонные точки.
4.2.3) . Если указанные точки имеются, усиливаем ближайшую из них Xk в соответствии с формулой
et = et,
а радиус видимости dj уменьшаем до величины, равной расстоянию данного
агента до наиболее дальней феромонной точки в зоне его видимости.
4.2.4) Если указанные феромонные точки отсутствуют, формируем новую феромонную точку X j с количеством феромона, пропорциональным
f (Xj). Мотивацию Aj устанавливаем равной нулю.
5) Реализуем случайное перемещение агента в пределах его текущей зоны видимости .
6) По правилам алгоритма С1АС продолжаем либо завершаем итерации.
2. Модификация базового алгоритма
Результаты исследований, выполненных авторами алгоритма НС1АС, показывают, что этот алгоритм по сравнению с алгоритмом С1АС позволяет значительно повысить скорость сходимости итераций. Однако ценой этого является значительное увеличение числа испытаний (вычислений значений целевой функции). Так, в наших экспериментах показано, что один акт локального поиска пятимерной функции Розенброка может требовать до 800 испытаний. Причиной этого является низкая скорость сходимости алгоритма Нелдера-Мида на некоторых классах функций. При решении практически значимых задач оптимизации, в которых целевая функция имеет высокую вычислительную сложность, данное обстоятельство может привести к недопустимо большим вычислительным затратам.
В алгоритме НС1АС-М в качестве мемов используем алгоритм т1
Нелдера-Мида, алгоритм т2 ортогонального исследования области поиска [8], квазиньютоновский алгоритм т3 со смешанной процедурой квадратичного и кубического поиска [9]. Таким образом, рой мемов состоит из мемов т1, т2, т3 и число мемов |М| = 3.
Используем жадную гиперэвристику, основные особенности которой заключаются в следующем.
1) Лучшего для данного агента , - е [1: ] мема выбираем на основе И
запусков локального поиска.
2) Критерий эффективности мема тк строим на основе среднего числа испытаний за один запуск алгоритма локального поиска
_ 1 h
nf (mk) = 7! nfp (mk)' k e [1:3]'
hp=1 'y
где nfp (mk) - число испытаний в процессе p -го локального поиска мемом тк. Точнее говоря, мема тк объявляем победителем, если
nf (тк) = min nf (т)
J /е[1:3] J
и если лучшее решение f (X*), полученное им, не более чем на величину Sf > 0 меньше лучшего решения f (X*), найденного популяцией мемов, то есть
f(X*) - f(X*) <Sf, / е [1:3], / ф к. 3) На последних tf итерациях мема-победителя выбираем только по второму из указанных критериев, то есть полагаем, что
max (f (X*)' f (X*)' f (X3*))= f (X*). Как отмечалось выше, алгоритм HCIAC-M включает в себя еще процедуру встряски популяции, которая запускается c шагом
tд — tд + a t ,
где t - текущий номер итерации; t°, a - свободные параметры алгоритма.
В соответствии с этой формулой с ростом числа итераций шаг встряски t д
увеличивается, обеспечивая переход от исследования пространства поиска к точной локализации найденного максимума целевой функции.
Суть процедуры встряски популяции заключается в следующем.
S
не лучших
1) После завершения очередных (д итераций отбираем
агентов ~ с координатами Х - и распределяем их случайным образом в
^ к ^ к
области поиска в точках Х- соответственно; -к е [1: ], к е [1: £ ].
2) Вычисляем значения целевой функции в точках Х- и создаем в этих точках феромонные пятна, интенсивность которых полагаем равной
в' =ße/ Jk , (5)
lk Jk f (X'h)
где ej - количество феромона в точке X J , ß > 1 - свободный параметр.
J к J к
3. Исследование эффективности алгоритма HCIAC-M
Модификация алгоритма HCIAC была выполнена в несколько этапов. Соответственно многоэтапным было исследование его эффективности.
Реализация рассматриваемых алгоритмов выполнена среде MatLab Вычислительные эксперименты проводились на персональном компьютере с процессором Intel Core 2 Duo 78100 2,1 ГГц и оперативной памятью объемом 2 ГБ.
3.1. Модификация алгоритма С1АС встряской.
В качестве тестовой использована пятимерная функция Растригина. Если не указано иное, вычислительные эксперименты выполнены со значениями свободных параметров модифицированного алгоритма С1АС, называемого нами С1АС-Б, которые использованы в работе [1]: коэффициент устойчивости феромонных точек р = 0,9; минимальное количество феромона втт = 0,00000001; среднеквадратичное отклонение размерного параметра <г = 0,1; число агентов в колонии |£| = 186 ; делитель размерного параметра у = 50; максимально допустимое число итераций £ = 5000; период стагнации 18 = 1500. Число стартов алгоритма принято равным 30; а = 0,01; в = 1 ;
0 —3
= 1; бу = 10 . Относительное число агентов, подвергшихся перемещению
в процессе встряски популяции, равно п =
S = °,99.
В качестве критерия эффективности алгоритма используем величину ; - оценку вероятности локализации глобального максимума функции.
Данная оценка во всех случаях получена по итогам мультистарта как процент успешных стартов, то есть стартов, в результате которых глобальный максимум найден с требуемой точностью.
Рисунок 1 иллюстрирует вероятность ; в функции величины делителя размерного параметра у . Из сравнения этого рисунка с рисунком 13 публикации [1] вытекает, что встряска обеспечивает значительное повышение вероятности локализации глобального экстремума. Так, при
у = 4 алгоритм С1ЛС-Б обеспечивает ; = 0,98 , в то время как исходный алгоритм - всего ; = 0,6. В дальнейших экспериментах принято у = 10.
Рисунок 1 - Оценка вероятности ; в функции значений параметра у : пятимерная функция Растригина; алгоритм С1ЛС-8
Зависимость вероятности ; от значений параметра а, отвечающего за частоту запуска процедуры встряски, показывает рисунок 2.
Рисунок 2 - Оценка вероятности ; в функции значений параметра а: пятимерная функция Растригина; алгоритм С1ЛС-8
Из рисунка 2 следует, что, как и ожидалось, малые значения величины а , которым соответствует высокая частота встряски, приводят к более высокой вероятности локализации глобального экстремума. Ценой этого является увеличение числа испытаний и, как следствие, времени решения задачи. Поэтому для дальнейших исследований принимаем компромиссное значение параметра а, равное 0,025.
Результаты исследования зависимости С(в) иллюстрирует рисунок 3. Заметим, что, как следует из формулы (5), большим значениям величины в соответствует большее количество феромона, откладываемого в новых точках, то есть в точках, возникших в результате реализации процедуры встряски.
Рисунок 3 - Оценка вероятности % в функции значений параметра в: пятимерная функция Растригина; алгоритм С1ЛС-8
Рисунок 3 показывает, что увеличение значений параметра в ожидаемо повышает вероятность локализации экстремума. Однако при этот значительно возрастает число испытаний, поскольку из-за большего количества феромона в новых точках он в этих точках испаряется медленнее. На основе данного исследования для многоэкстремальных функций типа функции Растригина можно рекомендовать значение в = 4 , которое мы используем в последующих экспериментах.
Результаты варьирования относительного числа агентов п , участвующих в процедуре встряски, иллюстрирует рисунок 4.
Рисунок 4 - Оценка вероятности % в функции значений параметра п: пятимерная функция Растригина; алгоритм С1ЛС-8
Из рисунка 4 отчетливо видно, что встряска популяции повышает вероятность локализации глобального экстремума в тем большей степени, чем выше значение этого параметра. Однако с ростом величины п быстро растет требуемое число испытаний, так что в качестве оптимального значения этой величины мы рекомендуем значение п = 0,79, используемое в дальнейших вычислительных экспериментах.
Таким образом, представленные результаты показывают эффективность предложенной модификации алгоритма С1ЛС. Исследование позволило определить оптимальные для пятимерной функции Растригина значения свободных параметров процедуры встряски. Есть основания полагать, что эти значения будут близки к оптимальным и для других многоэкстремальных функций. Важно, что процедура встряски не уменьшает результирующую точность алгоритма, поскольку на его завершающих итерациях эта процедура «отключается». Процедура оставляет широкие возможности оптимизации ее свободных параметров по критериям вероятности локализации глобального экстремума и вычислительной сложности.
3.2. Модификация алгоритма НС1АС встряской
Исследование эффективности данной модификации алгоритма НС1АС, названной нами НС1АС-8, выполнено на функциях Розенброка и Растригина. В качестве значений свободных параметров алгоритма использованы значения, указанные в п. 3.1.
Зона видимости агента в алгоритме НС1АС динамически меняется в
процессе поиска, поэтому исследование зависимости % (у) в данном случае не имеет смысла. В качестве основного варьируемого параметра рассматриваем число агентов |£| в популяции.
Исследование выполнено для пяти- и десятимерной функций Розенброка. В работе [3] показано, что при поиске экстремума этой функции с помощью канонического алгоритма НС1АС, возникает ряд проблем. Модификация алгоритма НС1АС встряской имела целью, как отмечалось выше, повышение эффективности алгоритма при поиске экстремума многоэкстремальных функций. Использование в качестве тестовых функций Розенброка разной размерности позволяет проверить насколько процедура встряски эффективна для иного класса функций - класса овражных функций.
Результаты исследования для пятимерной функции Розенброка иллюстрирует рисунок 5, а для десятимерной функции - рисунок 6.
50
О
100 200 300 400
Рисунок 5 - Оценка вероятности % в функции размера популяции пятимерная функция Розенброка; алгоритм НС1АС-Б
Рисунок 6 - Оценка вероятности % в функции размера популяции |£|: десятимерная функция Розенброка; алгоритм ИСЫС-Б
Рисунок 5 показывает, что популяция уже из 100 агентов обеспечивает практически стопроцентную вероятность локализации экстремума пятимерной функции Розенброка. Поскольку увеличение числа агентов популяции вызывает почти пропорциональный рост требуемого числа
испытаний (в рассматриваемом примере с ~ 9,9 • 105 испытаний при |£| = 100
до ~4 • 106 при |£| = 400), такое поведение величины % является важным с
точки зрения сокращения вычислительных затрат. Аналогичные выводы можно сделать из рисунка 6 для десятимерной функции Розенброка. Заметим, что в тех же условиях для обеспечения 100 % вероятности локализации экстремума алгоритм С1АС требовал число агентов в популяции, равное |£| = 398 [1].
Отметим следующее обстоятельство. Благодаря динамическому изменению зоны видимости агента и гибридизации с алгоритмом локального поиска, алгоритм ИСЫС-Б в обоих экспериментах обеспечил среднюю
8 9
абсолютную погрешность порядка 10" - 10" , что на порядок меньше лучшего результата алгоритма С1АС.
Некоторые результаты исследования эффективности алгоритма НС1ЛС-8 для функции Растригина представлены на рисунке 7.
Рисунок 7 - Оценка вероятности % в функции размера популяции |£|: пятимерная функция Розенброка; алгоритм НС1ЛС-Б
Из рисунка 7 вытекает, что алгоритм НС1ЛС обеспечивает 100 % вероятность локализации глобального экстремума пятимерной функции Растригина уже при 200 агентах (против 398 агентов алгоритма С1ЛС [1]). Данное обстоятельство, как отмечалось выше, позволяет значительно уменьшить вычислительные затраты. Алгоритм обеспечил среднюю
7 8
абсолютную погрешность решения порядка 10" - 10-8, то есть на два-три порядка меньше, чем лучший результат алгоритма С1ЛС.
Итого, на основе представленных результатов можно сделать вывод, что гибридизация алгоритма С1ЛС с алгоритмом локального поиска Нелдера-Мида, а также использование процедуры встряски позволяют существенно повысить эффективность алгоритма, как по критерию вероятности локализации глобального экстремума, так и по критериям средней абсолютной погрешности решения и суммарных вычислительных затрат. При этом снижение вычислительных затрат имеет место, не смотря на то, что применение алгоритма Нелдера-Мида в локальном поиске неизбежно влечет
за собой увеличение суммарного числа испытаний, необходимых для эволюции каждого из агентов в течение одной итерации. Эффект обусловлен следующими причинами: возможность использования меньшего числа агентов для обеспечения той же точности поиска; уменьшение общего числа феромонных точек в зоне поиска; более высокая скорость сходимости алгоритма.
3.3. Мультимемеевая модификация алгоритма HCIAC
Эффективность алгоритма HCIAC-M исследуем на пятимерных тестовых функциях Розенброка и Растригина. Мультимемеевую модификацию в экспериментах, результаты которых представлены ниже, определяют следующие значения свободных параметров: число запусков локального
_о
поиска h = 200 , точность решения Sf = 10 , число последних итераций tf = 3 . Остальные свободные параметры алгоритма HCIAC-M имеют
значения, указанные в пп. 3.1, 3.2.
Эффективность рассматриваемых мемов для функций Розенброка и Растригина иллюстрируют рисунки 8, 9 соответственно, на которых величина Xk представляет собой оценку вероятности использования мема mk ; k = 1,2,3. Напомним, что мему m1 соответствует алгоритм Нелдера-Мида, мему m2 - алгоритм ортогонального исследования области поиска, мему m3 - квазиньютоновский алгоритм со смешанной процедурой квадратичного и кубического поиска (п. 2).
Рисунок 8 - Оценка вероятность использования мемов: функция Розенброка
(\S\ = 5); алгоритм HCIAC-M
Рисунок 9 - Оценка вероятность использования мемов: функция Растригина
(|S| = 5); алгоритм HCIAC-M
Рисунки 8, 9 получены при использовании в качестве меры эффективности мемов среднего числа испытаний n^ за один запуск
алгоритма локального поиска. Рисунки показывают, что в 86 % и 79 % случаев для функции Розенброка и Растригина соответственно, лучший результат показал квазиньютоновский алгоритм. Аналогично в 14 % и в 21 % случаев лучшие результаты продемонстрировал алгоритм Нелдера-Мида. Алгоритм ортогонального поиска по данному критерию не смог составить конкуренцию квазиньютоновскому алгоритму и алгоритму Нелдера-Мида. Отметим слабую чувствительность представленных результатов к классу экстремизируемой функции.
10.7463/0912.0470529 280
На рисунках 10, 11 представлены средние по числу запусков локального поиска погрешности е мемов т1, т3 . Аналогичные результаты для ортогонального алгоритма не приведены, поскольку его эффективность по данному критерию оказалась не порядок ниже.
Рисунок 10 - Средняя погрешность локального поиска мемами т1, т3: функция Розенброка (= 5); алгоритм НС1АС-М
Рисунок 11 - Средняя погрешность локального поиска мемами т1, т3 : функция Растригина (= 5); алгоритм НС1АС-М
Из рисунков 10, 11 следует, что средняя точность квазиньютоновского алгоритма примерно на два порядка выше такой же точности алгоритма Нелдера-Мида.
Средние числа испытаний п^ за один запуск алгоритма локального поиска для мемов т1, т2, т3 иллюстрируют рисунки 12, 13.
Рисунок 12 - Средняя число испытаний за один запуск алгоритма локального поиска для мемов т1, т2, т3: функция Розенброка (= 5);
алгоритм НС1АС-М
Рисунок 13 - Средняя число испытаний за один запуск алгоритма локального поиска для мемов т15 т2, т3: функция Растригина (= 5);
алгоритм НС1АС-М
Рисунки 12, 13 показывают, что по критерию п^ в несколько раз
лучшим является алгоритм ортогонального поиска. По этому же критерию преимущество квазиньютоновского алгоритма над алгоритмом Нелдера-Мида достигает почти четырех раз (для функции Растригина).
Представленные результаты исследования свидетельствуют о том, что задачу выбора лучшего мема следует рассматривать как трех- или более критериальную задачу.
3.4. Сравнение эффективности алгоритмов С1АС, НС1АС и НС1АС-М
Введем в рассмотрение еще один критерий эффективности
алгоритма - среднее по мультистарту число испытаний Щ за время работы алгоритма. Значения этого критерия для функции Растригина (= 5 ) и
алгоритмов С1АС, НС1АС и НС1АС-М представлены на рисунке 14. Использованы указанные выше значения свободных параметров алгоритмов. Число агентов в популяции для алгоритма С1АС принято равным 398, а для алгоритмов НС1АС, НС1АС-М- равным 400.
Рисунок 14 - Среднее по мультистарту число испытаний за все время решения задачи: функция Растригина (= 5); алгоритмы С1АС, НС1АС,
НС1АС-М
Из рисунка 14 вытекает, что алгоритм НС1АС-М обеспечивает почти тоже суммарное число испытаний, что алгоритм С1АС и почти в четыре раза меньшее число, чем алгоритм НС1АС. В целом, результаты данного исследования показывают, что алгоритм НС1АС-М позволяет для пятимерной функции Растригина примерно в четыре раза повысить быстродействие, сохранив практически прежней вероятность локализации глобального экстремума.
4. Пример
Рассматриваем силовую часть электрического привода типа генератор-двигатель, предназначенного для управления некоторым рабочим механизмом (рисунок 15) [7].
Рисунок 15 - Схема силовой части электрического привода типа генератор-двигатель: Г - генератор; Д - двигатель; РМ -рабочий механизм
Динамику системы описываем системой алгебро-дифференциальных уравнений вида
J у = Мд - Мс,
А ¡1 = Е1 -11
^2 12 = Е2 12 Я2 :
у(0) = у0, у(0) = у0,
11(0) = Л0, 12(0) = 120,
I я =
Фг (¡1) - С12^ Я
(6)
(7)
где приняты следующие обозначения: J — момент инерции якоря двигателя и приводимого им в движение рабочего механизма; Яя — сопротивление якоря двигателя; у — угол поворота вала двигателя; Мд — момент, развиваемый двигателем; Мс - момент нагрузки; Ь1 , Я1 , ¡1 , Е1 -индуктивность обмотки возбуждения генератора, его омическое сопротивление, ток и электродвижущая сила (ЭДС) соответственно; Ь2, Я2, 12, Е2 - аналогичные величины обмотки возбуждения двигателя; Ег - ЭДС в контуре якоря двигателя, связанная с током в его обмотке возбуждения
выражением Ez = Фг (Ij); Ed = с I2 ц/ — ЭДС в контуре якоря двигателя, где c = const - коэффициент пропорциональности.
Во-первых, при заданных начальных условиях требуется найти закон
изменения во времени ЭДС Ej (т) = E* (т), который минимизирует значение функционала
F(Ej) = ](i2(Ej, т) RM + Ij2(Ej, т) Rj +122(Ej, т) R2, (8)
о
имеющего смысл суммарных затрат энергии на перемещение якоря двигателя за период времени [0; т].
Во-вторых, функция E^) должна обеспечивать поворот якоря двигателя на требуемый угол цтах за указанный период времени. Другими словами, эта функция должна обеспечивать минимальное значение функционала
F2 (Ej ) = abs (ц(EJ (т)) - Цтах ). (9)
В-третьих, функция Ej^) должна обеспечивать нулевую угловую скорости якоря двигателя в момент времени т , то есть минимизировать функционал
F3(Ej) = abs Цц/(Ej(f))). (j0)
Таким образом, имеем трехкритериальную задачу оптимального управления: найти допустимое управление E^) е DE, которое на решениях системы уравнений (6), (7) обеспечивает минимум критериев оптимальности (8) - (j0).
При всех известных недостатках решения задачи оптимального управления методом сведения ее к задаче нелинейного программирования, используем именно этот метод [j0]. Обозначим для простоты записи E^) = ^т) и положим, что множество допустимых управлений DE = Du
определяют двухсторонние ограничения вида u < u(т) < u + . Покроем
интервал [0; т] равномерной сеткой, узлы которой обозначим т{, i е [0: \U|]. http://technomag.edu.ru/doc/470529.html 285
Будем искать оптимальное управление и *(т) в классе кусочно-линейных функций (рисунок 16).
Рисунок 16 - Кусочно-линейная аппроксимация управления Е1(т) = и(т)
Обозначив U = (u1,u2,...,Up|) - (Цх 1)-вектор, где ui = u(ri) , получим
трехкритериальную задачу вида
min Fj (U) = Fj (U*), j = 1,2,3; (11)
U eDv
Dp = {u~ < ui < u+, i e [1: Ц]}. Переведем критерии оптимальности F1(U) , F2(U) в ограничения с помощью алгоритма штрафных функций, то есть перейдем от задачи (11) к одноцелевой задаче глобальной безусловной оптимизации
min cp(U) = min (F1(U) + a^U) + «2F3(U)), (12)
U e^lUl U eDU
где a1, a2 - коэффициенты штрафа.
Примем следующие значения параметров задачи: ,/=0,425 кгм ; RM =0,224 Ом; Mд = кд I2 Iя Нм, где кд = 10 - масштабный коэффициент; Mс =150 Н м; L1 =8 Гн; R1 =43 Ом; L2 =8 Гн; R2 =43 Ом; E2 = 40 В;
Фг (I1) = кг I1 , где кг = 10 - коэффициент кривой намагничивания; c=1;
и = 0 ; и + = 100 В. Начальные условия примем нулевыми: |0 = цг0 = 0 ; 7° = 12 = 0 . Конечное состояние угла поворота якоря двигателя полагаем равным |тах = 210, град . Движение системы рассматриваем на интервале [0; 20], то есть полагаем т = 20 с.
Число узлов сетки, покрывающей интервал [0; т] , принимаем равным 21, так что размерность вектора варьируемых параметров Щ = 20. Потребуем удовлетворения ограничений
Е1) = ||(Е1,Т) -^ах| = 0, (13)
ЗД) = \И (Е1, т)\ = 0 (14)
с точностями £1 = 1,0 , е2 = 1,0 соответственно. Начальные значения коэффициентов штрафа а1, а2 принимаем равными 2,0; 5,0.
4.1. Алгоритм С1ЛС-3
Принимаем следующие значения основных свободных параметров алгоритма: размер популяции равен = 300; максимальное число поколений
£ = 100; коэффициент устойчивости феромонных точек р=0,1; минимальное количество феромона в точке 6^=0,0001; максимальное число сообщений цтах = 30; делитель размерного параметра для всех агентов одинаков и равен
| = аЬ8 (И1 (0; а)),
где N (0; а) - случайная величина, распределенная по нормальному закону с нулевым математическим ожиданием и средним квадратичным отклонением а = 0,9.
Пример начального приближения к решению иллюстрирует рисунок 17. Указанному приближению соответствуют угол |(т) = 223,14° , угловая
скорость |(г) = 2,46 град/ и расход энергии Е°) = 5636 Вт .
Лучшие (с точки зрения достигнутого значения функционала (8) результаты вычислительного эксперимента иллюстрируют рисунки 18а -18в. Рисунок 18а показывает найденное оптимальное управление Е*(т), а рисунки 18б, 18в - соответствующие законы изменения во времени угла поворота якоря двигателя ц*(т) и его скорости ц/*(г).
100 50
- 0
ЬЗ
-50
------- ...... ......1....... ------- ....... ...... ...... .......
0 2 4 6 8 10 12 14 16 18 20
Т, С
0,
а) Е»
б) ц\т)
20 и 15 10
0
/
/ .....-V
—-
0 2 4 6 8 10 12 14 16 1S 20
г, С
в) Ц/ V)
Рисунок 17 - Пример начального приближения к решению Е10(т) и соответствующие функции ц°(т), ц/ 0(т); Ц = 21
а) е*( т )
б) ф( т )
в) Ф*(т)
Рисунок 18 - Результаты решения задачи - оптимальная функция Е* ( т ) и соответствующие функции у/*(т), |*(т); Щ = 21; алгоритм С1АС-Б
Полученному решению задачи соответствуют угол у/*(т) = 209,7° , угловая скорость |*(г) = 0,02 град/С и расход энергии Е*) = 3352 Вт . Таким образом, требование (13) выполнено с точностью 0,3 °, требование (14) - с точностью 0,02 град/
с
а расход энергии уменьшился по сравнению с
начальным приближением более чем на 40 %.
Рассмотрим также движение системы на интервале [0; 30] секунд, когда
конечный угол поворота якоря двигателя равен |тах = 330° м. Число узлов http://technomag.edu.ru/doc/470529.html 289
сетки, покрывающей интервал [0; т] , принимаем равным 31, так что
размерность вектора варьируемых параметров \и\ = 31.
Пример начального приближения к решению в этом случае иллюстрирует рисунок 19. Указанному приближению соответствуют угол
ц(т) = 352,45° , угловая скорость ц/(т) = 0,75град/ и расход энергии 71(Е°) = 6574 Вт.
йч 50 0 -50
0 5 10 15 20 25 30
т, С
а) Е°(т)
400
8 зоо
г*, г* 1 200
о
100 о
о
б) ц0(т)
20 15
ю
о
5
О
0 5 10 15 20 25 30
г, с
в) ц/ 0(т)
Рисунок 19 - Пример начального приближения к решению Е10(т) и соответствующие функции ц/°(т), ц/ 0(т); |и| = 31
Лучшие результаты вычислительных экспериментов, выполненных при помощи алгоритма С1ЛС-Б, представлены на рисунке 20. Ему соответствует
угол ц/*(т) = 330,15° , угловая скорость вала ц/*(т) = 0,12 град/ и расход энергии Е*) = 4083 Вт.
4.2. Алгоритм НС1АС-М
Максимальное число оценок целевой функции в процессе локального
поиска ограничиваем величиной = 400 , число запусков алгоритма локального поиска полагаем равным И = 200.
100
£Ç| 5
50
ЕЧ
-50
10
15 Г, С
20
25
30
а) e0(t)
б) ц\т)
10 15
т, С
• 0 ,
в) ц/0(т)
Рисунок 20 - Результаты решения задачи - оптимальная функция E* (т) и соответствующие функции у/*(т), ц/*(г); \U\ = 31; алгоритм CIAC-S
Результаты решения задачи с помощью алгоритма НС1АС-М, полученные в условиях п.4.1, иллюстрирует рисунок 21. Представленному
решению соответствует угол ц/*(т) = 329,98° , угловая скорость вала ц/ *( т) = 7,24 • 10-2 град/ и расход энергии 71( Е*) = 3895 Вт.
а) Е°( т )
б) ц0( т )
в) ц/ 0( т )
Рисунок 21 - Результаты решения задачи - оптимальная функция Е*( т ) и соответствующие функции ц/*(т ), ц/ *( т ); \и\ = 31; алгоритм НС1АС-М
Из рисунков 20, 21 следует, что, как и ожидалось, алгоритм НС1АС-М обеспечивает повышение точности решения и позволяет получить более
гладкий управляющий сигнал. Вследствие увеличения числа испытаний скорость поиска замедляется по сравнению с алгоритмом CIAC-S примерно на 30%.
Заключение
Представленные результаты исследования позволяют сделать вывод, что предложенная мультимемеевая гибридизация муравьиного алгоритма HCIAC позволяет не только увеличить вероятность локализации глобального экстремума целевой функции, но и повысить точность решения. Кроме того, за счет повышения эффективности поиска, гибридный алгоритм дает возможность уменьшить число агентов в системе и повысить тем самым его быстродействие. Мультимемеевая гибридизация приводит к алгоритму, обладающему свойствами самоадаптации, поскольку в процессе поиска мемы конкурируют между собой и победивший на данном этапе поиска мем используется на последующих этапах.
В развитие работы авторы планируют использовать расширенный набор мемов, выбирать наилучших мемов для различных подобластей пространства поиска. Планируется также параллельная реализация рассматриваемых алгоритмов.
Список литератуы
1. Карпенко А.П., Чернобривченко К.А. Эффективность оптимизации методом непрерывно взаимодействующей колонии муравьев (CIAC) // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2011. № 2. Режим доступа: http : //technomag. edu. ru/doc/165551. html (дата обращения 20.10.2012).
2. Dréo J., Siarry P. Continuous interacting ant colony algorithm based on dense heterachy // Future Generation Computer Systems. 2004. Vol. 20, no. 5. P. 841-856. DOI: http://dx.doi.org/10.1016/i.future.2003.07.015
3. Dreo J., Siarry P. Hybrid Continuous Interacting Ant Colony aimed at enhanced global optimization // Algorithmic Operations Research. 2007. Vol. 2, no. 1. P. 52-64.
4. Krasnogor N. Studies on the Theory and Design Space of Memetic Algorithms : Ph.D. Thesis. Faculty of Computing, Mathematics and Engineering, University of the West of England, Bristol, U.K, 2002. 289 p.
5. Karpenko A.P., Svianadze Z.O. Meta-optimization based on self-organizing-map and genetic algorithm // Optical Memory and Neural Networks (Information Optics). 2011. Vol. 20, No. 4. P. 279-283. DOI: 10.3103/S1060992X11040059
6. Tang K., Yao X., Suganthan P.N., MacNish C., Chen Y.P., Chen C.M., Yang Z. Benchmark Functions for the CEC'2008 Special Session and Competition on Large Scale Global Optimization. Nature Inspired Computation and Applications Laboratory, USTC, China, 2007.
7. Александров А.Г. Оптимальные и адаптивные системы. М.: Высшая школа, 1989. 263 с.
8. Hu X.-M., Zhang J., Li Y. Orthogonal Methods Based Ant Colony Search for Solving Continuous Optimization Problems // Journal of Computer Science and Technology. 2008. Vol. 23, no. 1. P. 2-18. DOI: 10.1007/s11390-008-9111-5
9. MatLab, Optimization Toolbox Fminunc. Центр компетенции MathWorks. Режим доступа: http://matlab. exponenta.ru (дата обращения 20.10.20120).
10.Федоренко Р.П. Приближенное решение задач оптимального управления. М.: Наука, 1978. 488 с.
SCIENTIFIC PERIODICAL OF THE RAIJMAN MS TU
SCIENCE and EDUCATION
EL № FS77 - 48211. №0421200025. ISSN 1994-040S
electronic scientific and technical journal
Multimemeev modified hybrid ant algorithm for HCIAC continuous
optimization
# 09, September 2012
DOI: 10.7463/0912.0470529
Karpenko A.,P., Chernobrivchenko K., A.
Russia, Bauman Moscow State Technical University
[email protected] [email protected]
This publication continues the authors' work in the field of ant algorithms of global continuous optimization. The authors propose a modification of the known HCIAC algorithm which was proposed by J.Dreo and P. Syarri in 2007. This modification is based on a set of memes in order to make local search more efficient. The authors present the results of their research on effectiveness of the modified algorithm - HCIAC-M - during the search of global extremum of Rosenbrock and Rastrigin functions. As an example, the authors consider practical importance of optimization of the engine-generator system.
Publications with keywords: global optimization, ant algorithm, mem Publications with words: global optimization, ant algorithm, mem
References
1. Karpenko A.P., Chernobrivchenko K.A. Effektivnost' optimizatsii metodom nepreryvno vzaimodeistvuiushchei kolonii murav'ev (CIAC) [Efficiency of optimization by continuous interacting ant colony (CIAC)]. Nauka i obrazovanie MGTUim. N.E. Baumana [Science and Education of the Bauman MSTU], 2011, no. 2. Available at: http://technomag.edu.ru/doc/165551.html , accessed 20.10.2012.
2. Dreo J., Siarry P. Continuous interacting ant colony algorithm based on dense heterachy. Future Generation Computer Systems, 2004, vol. 20, no. 5, pp. 841-856. DOI:
http://dx .doi .org/ 10.1016/j.future.2003.07.015
3. Dreo J., Siarry P. Hybrid Continuous Interacting Ant Colony aimed at enhanced global optimization. Algorithmic Operations Research, 2007, vol. 2, no. 1, pp. 52-64.
4. Krasnogor N. Studies on the Theory and Design Space of Memetic Algorithms. Ph.D. Thesis. Faculty of Computing, Mathematics and Engineering, University of the West of England, Bristol, U.K, 2002. 289 p.
5. Karpenko A.P., Svianadze Z.O. Meta-optimization based on self-organizing-map and genetic algorithm. Optical Memory and Neural Networks (Information Optics), 2011, vol. 20, no. 4, pp. 279-283. DOI: 10.3103/S1060992X11040059
6. Tang K., Yao X., Suganthan P.N., MacNish C., Chen Y.P., Chen C.M., Yang Z. Benchmark Functions for the CEC'2008 Special Session and Competition on Large Scale Global Optimization. Nature Inspired Computation and Applications Laboratory, USTC, China, 2007.
7. Aleksandrov A.G. Optimal'nye i adaptivnye sistemy [Optimal and adaptive systems]. Moscow, Vysshaia shkola, 1989. 263 p.
8. Hu X.-M., Zhang J., Li Y. Orthogonal Methods Based Ant Colony Search for Solving Continuous Optimization Problems. Journal of Computer Science and Technology, 2008, vol. 23, no. 1, pp. 2-18. DOI: 10.1007/s 11390-008-9111-5
9. MatLab, Optimization Toolbox Fminunc. Tsentr kompetentsii MathWorks [MatLab, Optimization Toolbox Fminunc. Competence center MathWorks]. Available at: http://matlab.exponenta.ru , accessed 20.10.2012.
10. Fedorenko R.P. Priblizhennoe reshenie zadach optimal'nogo upravleniia [Approximate solution of optimal control problems]. Moscow, Nauka, 1978. 488 p.