НАУЧНОЕ ИЗДАНИЕ МГТУ ИМ. Н. Э. БАУМАНА
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 • 48211. Государственная регистрация №0421200025. ISSN 1994-0408
электронный научно-технический журнал
Ко-эволюционный алгоритм глобальной оптимизации
на основе алгоритма роя частиц
# 11, ноябрь 2013
Б01: 10.7463/1113.0619595
Карпенко А. П., Воробьева Е. Ю.
УДК 519.6
Россия, МГТУ им. Н.Э. Баумана apkarpenko@mail.ru vorobeva ey@mail.ru
Введение
Основная идея ко-эволюционных алгоритмов (ко-алгоритмов) оптимизации состоит в следующем. Одновременно в пространстве поиска задачи оптимизации эволюционируют несколько субпопуляций, каждая из которых решает исходную оптимизационную задачу и имеет свою стратегию оптимизации, которая определяется значениями свободных параметров субалгоритма (алгоритма, который управляет данной субпопуляцией). В процессе решения задачи субпопуляции конкурируют между собой за некоторый ресурс (в данной работе - число вычислений значений оптимизируемой функции), который в процессе работы ко-алгоритма перераспределяется в пользу более эффективной из них [1].
Целью ко-гибридизации алгоритмов поисковой оптимизации является повышение их эффективности, которое достигается тем, что в процессе коэволюции, по сути, решается задача мета-оптимизации этих алгоритмов - то есть задача определения значений их свободных параметров, которые являются наилучшими для данной задачи оптимизации [2].
Чаще всего при ко-гибридизации в качестве субалгоритмов используют генетический алгоритм и его модификации [3]. Помимо большого числа достоинств генетический алгоритм обладает и рядом
недостатков. Так, индивиды в популяции генетического алгоритма не имеют памяти и, по-сути, не «сотрудничают» между собой. В отличие от этого, в используемом нами для ко-гибридизации популяционном алгоритме роя частиц (Particle Swarm Optimization, PSO) агенты (частицы) «помнят» свое лучшее положение за всю предысторию поиска. Кроме того, в алгоритме PSO информация о лучшем из найденных роем решении раньше или позже становится известной всем частицам, то есть в этом алгоритме имеет место «сотрудничество» между частицами.
Данная статья является продолжением работы [1], в которой предложен двухпопуляционный ко-алгоритма Co-PSO, построенный на основе алгоритмов PSO, использующих топологии соседства «клика» и «кольцо».
Целью работы является разработка многопопуляционного ко-алгоритма PSO, программная реализация этого алгоритма, исследование эффективности разработанного алгоритмического и программного обеспечения.
В первом разделе работы приводим постановку задачи глобальной оптимизации и схему базового алгоритма PSO. Во втором разделе представляем разработанный нами ко-алгоритм Co-PSO и MatLab-программное обеспечение, реализующее этот алгоритм. Третий раздел посвящен исследованию эффективности разработанного алгоритмического и программного обеспечения. В четвертом разделе рассматриваем решение с помощью разработанных средств задачи оптимального управления космическим аппаратом на этапе его спуска в атмосфере Земли. В заключении сформулированы основные результаты работы и очерчены перспективы ее развития.
1. Постановка задачи глобальной оптимизации и схема алгоритма
роя частиц для ее решения
Рассматриваем детерминированную непрерывную задачу глобальной условной минимизации
min f (X) = f (X ) = f , (1)
X eDc R|X|
где f (X) e R1 - скалярная целевая функция (критерий оптимальности),
f (X *) = f * - искомое минимальное значение целевой функции,
1x1
X = (x1, x2,...,xX ) e R - | X | -мерный вектор варьируемых параметров, D -
множество допустимых значений этого вектора (область поиска); R X| - | X |-мерное арифметическое пространство.
Множество частиц в рое обозначаем S = {si, i e [1: |S|]}, где |S| - число частиц (размер популяции). На итерации t координаты частицы si определяют |X|-мерные векторы ее координат Xit и «скорости» Vit. Начальные координаты и «скорости» всех частиц роя полагаем заданными и равными Xi 0 = Хг0, Vi0 = Vf соответственно.
Основные итерационные формулы алгоритма PSO имеют вид
Xi,t+1= Xi ,t + Vit+1, (2)
Vht+1 = aVit + U[0; ß] ® (Xbif - XiJt) + U[0; у] ® (Xg,t - Xt,). (3) Здесь U[a; b] - |X| -мерный вектор псевдослучайных чисел, равномерно распределенных в интервале [a; b]; ® - символ покомпонентного умножения векторов; Xbt - вектор координат частицы si с наилучшим (в смысле формулы (1)) значением целевой функции f (X) за все время поиска [0: t ]; Xg t - вектор координат соседней с данной частицы с наилучшим за то же
время значением целевой функции; a, ß, у - свободные параметры алгоритма. Параметр a определяет «инерционные» свойства частицы, ß - ее «когнитивные» свойства, у - «социальность» частицы. Рекомендуемые значения параметров a, ß, у равны, соответственно, 0,7298; 1,49618; 1,49618 [4].
Соседство частиц в рое определяет их топология соседства, задаваемая неориентированным графом, в котором вершины графа соответствуют частицам роя, а ребра связывают непосредственных соседей. В алгоритме РЫО обычно используют топологии
- «клика» (глобально оптимальная топология),
- «кольцо» (локально оптимальная топология),
- «двумерный тор» (топология фон Неймана),
- «кластер».
Топологии «клика» соответствует полносвязный граф, в котором соседями каждой из частиц si, I е [1: |Ы|] являются остальные |Ы| -1 частицы.
Диаметр клики равен единице. В топологии «кольцо» соседями каждой из частиц являются всего две частицы, которые имеют соседние номера.
Ы
Диаметр соответствующего графа равен
, где - символ ближайшего
целого большего.
Обзор большого числа модификаций алгоритма РЫ0 представлен в работе [4].
2. Ко-алгоритм Со-РЗО и его программная реализация 2.1. Схема ко-алгоритма Со-РЗО
Поскольку речь идет о ко-алгоритмической гибридизации алгоритмов РЫО, ко-эволюционирующие субпопуляции далее называем суброями.
Суброи обозначаем Ы1, Ы2,..., Ые, где Ы - их число. Схема предлагаемого ко-
ЫI
алгоритма Со-РЫО имеет следующий вид.
1) Задаем числа суброев, топологии соседства, используемые каждым из суброев, значения свободных параметров субалгоритмов.
2) Задаем значения свободных параметров ко-алгоритма:
- величина ресурса пу - максимально допустимое число испытаний
(вычислений значений целевой функции);
- интервал адаптации Аа е (0; Т);
- величина штрафа пр;
- минимально допустимый размер суброя |£| или его относительное значение
П = I е [1: 5].
3) Инициализируем суброи, то есть, присваиваем всем частицам каждого из суброев ,1 е [1: £] начальные положения в пространстве поиска и начальные «скорости».
3) Реализуем асинхронное выполнение каждым суброем А а независимых итераций.
4) Производим оценку эффективности суброев.
5) Проверяем выполнение условия останова. В случае выполнения этого условия, в качестве решения принимаем лучшее решение, найденное роем, и прекращаем вычисления.
6) Осуществляем перераспределение ресурса.
7) Реализуем миграцию лучших частиц. Частицы всех суброев объединяем в единый массив и сортируем в порядке убывания соответствующих значений целевой функции. Затем каждому из суброев из этого массива передаем число частиц, пропорциональное текущему размеру суброя.
8) Переходим к шагу 3.
Оценку эффективности суброя производим на основе вычисления текущих значений его функции пригодности <р1 = ъ (£), где ? е [1: £] - номер текущей итерации; $ - общее число итераций. Пригодность суброя есть мера его адаптации (приспособленности) к решаемой задаче оптимизации. Значение пригодности вычисляем по формуле
А а -1 А ~Т
Ъ (0 = (т), I е [1: Я], (4)
т=0 Т + 1
где ai (т) = 1, если суброй Si на итерации (t - т) включал в себя лучшую во всей популяции частицу, и ai (т) = 0 в противном случае. Заметим, что вес
величины at (т) определяется отношением ——-, так что при т = 0 (текущая
т +1
итерация) этот вес максимален и равен интервалу адаптации — a. С уменьшение номера итерации т вес величины ai (т) в сумме (4) быстро уменьшается [1].
Перераспределение ресурса производим на основе приспособленности суброев (4). Если текущее значение пригодности суброя Si максимально по сравнению с пригодностями остальных суброев, то этот суброй признаем победившим, а остальные суброи - проигравшими. Перераспределение ресурса осуществляем путем сокращения размера каждого из проигравших суброев на величину штрафа, определяемого величиной np, и увеличения
размера победившего суброя на число, равное сумме потерь проигравших. Таким образом, общий размер роя не меняется [1].
Если размер проигравшего суброя оказывается меньше величины |S| min,
то принимаем его равным этой величине. Таким образом, если |Sf| - размер суброя Si, проигравшего на текущем интервале адаптации, то на следующем интервале размер этого суброя будет равен величине
|S;| = max (np SI, IS ■ ), i e [1: S].
I l\ \ p I 1 PI Imin ' L J
Если же суброй Si выиграл на текущем интервале адаптации, то на следующем интервале его размер определяет выражение
IS' = % | + Z max (np \S] |, |S|min), i, j e [1: \S\], l * j.
j
2.2. Обзор других методов ко-гибридизации алгоритмов PSO
Отметим следующее обстоятельство. Задача глобальной оптимизации (1) поставлена нами как задача условной оптимизации. Однако канонический алгоритм PSO и рассмотренная выше схема ко-алгоритма PSO
не учитывают ограничений на вектор варьируемых параметров X, то есть, ориентированы на решение задачи безусловной оптимизации. Мы полагаем, что задача условной оптимизации (1) сведена к задаче безусловной оптимизации методом штрафных функций (п. 4).
Известно большое число приемов, позволяющих учитывать в популяционных алгоритмах оптимизации и, в частности, в алгоритме PSO, ограничения на компоненты вектора X. Такие приемы, по сути, модифицируют базовые популяционные алгоритмы и приводят к новым алгоритмам. В ко-алгоритмах ограничения на вектор X могут быть учтены также на уровне ко-алгоритма. Приведем несколько примеров.
В работе [5] предложен ко-алгоритм CPSO (Co-evolutionary PSO) для случая, когда множество допустимых значений вектора варьируемых параметров D определяют ограничения типа неравенств gj (X) < 0, j е [1: |G|]. Алгоритм CPSO использует мулътирой
Su, S12,...,S1 ^, содержащий |G| роев по |S| частиц в каждом, а также рой S2,
число частиц в котором равно числу ограничивающих функций |G|. Размерность вектора параметров, ассоциированного с каждой из частиц роев S1 i , равна |X|. В рое S2 размерность того же вектора равна числу штрафных
коэффициентов в штрафной функции, с помощью которой задача условной оптимизации сведена к задаче безусловной оптимизации. Рои S11, S12,...,S1 G
используются для ко-алгоритмического поиска решения указанной задачи безусловной оптимизации, а рой S2 - для такого же поиска оптимальных значений коэффициентов штрафа.
Близкий подход к решению задачи условной оптимизации используется в работе [6], в которой наряду с ограничениями типа неравенств рассматриваются ограничения типа равенств вида hk (X) = 0, k е [1: \И\]. При выполнении условий теоремы Куна-Таккера из этой теоремы следует, что исходная задача минимизации (1) эквивалентна
задаче безусловной минимизации соответствующей функции Лагранжа по вектору варьируемых параметров X и такой же задаче максимизации этой функции по множителям Лагранжа. Для решения указанной минимаксной задачи используется два ко-эволюционирующих роя PSO S1, S2, их которых рой S1 решает задачу минимизации, а рой S2 - задачу максимизации.
Отличная от представленных выше схема ко-эволюционной гибридизации используется в работе [7]. Предложенный в этой работе алгоритм CECBPSO (Co-Evolutionary Cultural Based Particle Swarm Optimization), основан на культурном алгоритме (Cultural algorithm) [8].
2.3. Программная реализация ко-алгоритма Co-PSO
Программная реализация ко-алгоритма Co-PSO выполнена в среде пакета программ MatLab R2012a и на языке программирования этого пакета. Язык программирования MatLab представляет собой высокоуровневый интерпретируемый язык, основанный на операциях с векторами и матрицами. Язык включает в себя широкий набор функций, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования. MatLab-программы могут быть оформлены как функции и скрипты. Программная реализация ко-алгоритма PSO выполнена в виде скриптов и также получила наименование Co-PSO.
Программа Co-PSO включает в себя расширяемые библиотеки тестовых функций и графов, определяющих топологии соседства, которые могут быть использованы субалгоритмами PSO. В программе могут быть заданы различные условия окончания итераций, но во всех случаях их число ограничено заданным пользователем значением t.
Для повышения вероятности локализации глобального экстремума целевой функции, программа Co-PSO поддерживает метод мультистарта. По результатам заданного пользователем числа стартов Z программа вычисляет оценку вероятности локализации глобального экстремума ^, а также
средние числа испытаний пу, итераций 1гпС и побед данного суброя пк, а также предельные размеры суброев-победителей £" , £ + , размер суброя-победителя в момент окончания итераций £ * , величины свободных
* _ * *
параметров а , в , у суброя-победителя (если эти параметры были различны для различных суброев). Победителем считается тот из суброев, который обеспечил меньшее результирующее значение целевой функции.
В качестве результата работы программа Со-Р£0 может построить график изменения значений целевой функции с ростом числа итераций для суброя-победителя а также графики изменения размеров суброев в функции номера итерации.
3. Вычислительный эксперимент
Всюду далее в данном разделе имеется в виду использование в качестве условия окончания итерационного процесса его стагнацию в течение = 20 итераций, когда лучшее достигнутое значение целевой
функции изменяется на величину, не превышающую б = 10-6.
В качестве тестовых функций используем широко известные унимодальную овражную функцию Розенброка, четырехэкстремальную функцию Химмельблау и многоэкстремальную функцию Растригина. Для функций Розенброка и Растригина задача решается в параллелепипеде П = {X | - Ь < х; < Ь; / е [1: |х|]}, где Ь = 2,0, а для функции Химмельблау - в аналогичном параллелепипеде при Ь = 4,0.
Во всех случаях вычислительный эксперимент выполнен для размерностей вектора варьируемых параметров |х|, равных 2, 4, 8, 16, 32 и 64.
Рассматриваем канонический алгоритм РБО и два варианта коТ Р
алгоритма Р£0, называемые Со - РБО , Со - РБО и отличающиеся друг от друга используемыми субалгоритмами Р£0.
Ко-алгоритм Со - РБОт построен на основе шести суброев, из которых два имеют топологию «клика», два - «кольцо» и два -динамическую топологию. Значения свободных параметров а, в, у всех субалгоритмов РБО постоянны и равны рекомендованным (п. 1).
Ко-алгоритм Со - РБОР также построен на основе шести суброев, но все суброи в этом случае используют одну и ту же топологию соседства частиц. Значения свободных параметров а, в, У указанных суброев
случайным образом равномерно распределенные в интервале [0; 2,0].
Свободные параметры ко-алгоритмов Со - РБОТ, Со - РБОР имеют следующие значения: интервал адаптации А а = 9; величина штрафа пр = 0,2;
минимально допустимый размер суброя = 10. Число частиц в каждой из
субпопуляций обоих ко-алгоритмов принято равным 50. Используем мультистарт с числом запусков 2 = 30. Как и в предыдущем исследовании, в качестве тестовых используем функции Розенброка, Химмельблау, Растригина.
3.1. Канонический алгоритм Р8О
Исследование эффективности канонического алгоритма РБО выполнено с целью тестирования разработанного алгоритмического и программного обеспечения, а также с целью создания базы для последующей сравнительной оценки эффективности ко-алгоритма Со-РБО. Рассмотрен канонический алгоритм РБО с топологиями соседства «клика», «кольцо» и динамическая топология (когда, начиная с топологии «кольцо», через каждое фиксированное число итераций в граф соседства случайным образом добавляется одно ребро). В качестве значений свободных параметров алгоритма использованы их рекомендованные значения (п. 1). Число частиц в популяции принято равным = 50. Используем мультистарт с числом запусков алгоритма 2 = 30.
Оценки вероятности % локализации глобального экстремума в функции величины |х| представлены в таблице 1. Аналогичная таблица 2 представляет средние числа испытаний пг.
Таблица 1 - Оценки вероятности % локализации глобального экстремума
Тестовая функция Топология Размерность вектора X
2 4 8 16 32 64
Розенброка клика 100 93 90 80 67 64
кольцо 80 73 60 53 50 43
динамическая 87 84 73 64 57 60
Химмельблау клика 97 84 70 64 57 53
кольцо 100 73 77 70 53 43
динамическая 93 80 73 64 50 40
Растригина клика 77 67 60 53 47 32
кольцо 100 93 87 77 70 64
динамическая 73 77 64 57 53 47
Таблица 2 - Оценки среднего числа испытаний п
Тестовая функция Топология Размерность вектора X
2 4 8 16 32 64
Розенброка клика 3700 5150 12500 12650 14700 16400
кольцо 9200 14750 16600 19500 21150 30700
динамическая 7600 11800 13200 16400 19750 28200
Химмельблау клика 12100 14600 14000 17700 21400 27650
кольцо 11700 14900 17250 16200 22700 25700
динамическая 10650 17700 22400 21600 25050 30250
Растригина клика 6700 13000 15200 19100 25750 32900
кольцо 5250 8200 14650 15750 21650 28200
динамическая 6400 10050 16350 22700 25300 30800
Представленные в таблицах 1, 2 результаты подтверждают тот известный факт, что уменьшение диаметра графа соседства частиц ускоряет
сходимость итерационного процесса, то есть повышает интенсивность поиска. С другой стороны, небольшой диаметр этого графа уменьшает широту поиска и повышает вероятность преждевременной сходимости итераций к локальному минимуму целевой функции. Таким образом, в каноническом алгоритме РБО топологию соседства «кольцо» целесообразно использовать в случае многомерных многоэкстремальных целевых функций. При оптимизации более простых целевых функций лучшим решением может быть использование топологии типа «клика».
Т
3.2. Ко-алгоритм Св-РЗО Оценка вероятности локализации глобального экстремума.
Зависимость величины % от размерности вектора варьируемых параметров X иллюстрирует рисунок 1, на котором одновременно показаны наиболее вероятные по мультистарту топологии суброев-победителей.
а) функция Розенброка
б) функция Химмельблау
в) функция Растригина Рисунок 1 - Оценка вероятности % в функции величины |х|: алгоритм
Со - РБ0Т; С - топология «клика», Я - «кольцо», В -динамическая
топология
Из рисунка 1а следует, что при низкой размерности вектора X (равной 2, 4) для всех рассматриваемых тестовых функций алгоритм
Со - РБ0Т обеспечивает 100% оценку вероятности локализации глобального минимума. В случае высокой размерности указанного вектора эта оценка не опускается ниже примерно 90% (при |х| = 64). Важно, что величина % медленно уменьшается с ростом размерности вектора X. Сравнение рисунка 1 и таблицы 1 показывает, что во всех случаях алгоритм Со - Р£0Т обеспечивает лучшую оценку вероятности % , чем канонический алгоритм Р£0.
Среднее число побед. На рисунке 2 приведены диаграммы зависимости среднего по 2 стартам числа побед суброев п^, % от величины
|х| для каждой из рассматриваемых топологий соседства.
а) функция Розенброка
б) функция Химмельблау
в) функция Растригина Рисунок 2 - Среднее число побед пм,, % в функции величины |х|: ко-
Т
алгоритм Со - РБО ; ■ - топология «клика», ■ - «кольцо», □ - динамическая
Как и ожидалось (п. 3.1), для функции Розенброка (рисунок 2а) наибольшее среднее число побед (примерно 60%) обеспечивает топология «клика». Для функций Химмельблау и Растригина (рисунки 2б, 2в) в среднем в 90% случаев побеждает алгоритм с топологией «кольцо».
Среднее число итераций. На рисунке 3 представлена диаграмма зависимости среднего числа итераций !епа от величины Ш
300 250 200 150 100 50
Рисунок 3 - Среднее число итераций tend в зависимости от величины X : ко-
алгоритм Со - РБОт; ■ - функция Розенброка, ■ - Химмельблау, □ -
Растригина
Рисунок 3 показывает, что для всех рассмотренных тестовых функций сходимость итерационного процесса к глобальному минимуму в худшем случае (при |Х| = 64) достигается в среднем за 225 итераций. Это значение почти в два раза меньше аналогичной величины для канонического алгоритма РБО (п. 3.1). Ожидаемо, при всех значениях |Х| быстрее всего
вычислительный процесс достигает состояния стагнации для унимодальной функции Розенброка. Неожиданным является то обстоятельство, что то же состояние для многоэкстремальной функции Растригина достигается, в среднем, при меньшем числе итераций, чем для всего лишь четырехэкстремальной функции Химмельблау. Для объяснения этого феномена необходимы дополнительные исследования.
Среднее число испытаний. Диаграмма зависимости среднего числа испытаний Пу от величины |Х| для суброя-победителя представлена на
рисунке 4.
60 ООО
50 ооо
40 ооо
30 ооо
20 ооо
10 000
и
3 1В 32 6Л
Рисунок 4 - Среднее число испытаний п^ для суброя-победителя в зависимости от величины |Х|: ко-алгоритм Со - РБОт; ■ - функция Розенброка, ■ - Химмельблау, □ - Растригина
Из рисунка 4 следует, что для суброя-победителя в худшем случае (при |х| = 64) среднее число испытаний п^- не превышает 53 000. Эта величина
почти в 1,5 раза выше аналогичного значения для канонического алгоритма
РБО (таблица 2). Меньшее среднее число испытаний ко-алгоритм Со - РБОт обеспечивает, как правило, для функции Розенброка, большее число - для функции Химмельблау.
Размеры суброев. На рисунке 5 представлены зависимости размера
суброя-победителя
5
в момент окончания итерационного процесса от
величины X , а также зависимости
5 ■
(X), 5 + (|Х|).
-ч> X
а) функция Розенброка
б) функция Химмельблау
И.
И
в) функция Растригина
Рисунок 5 - Размеры суброев-победителей
5
в момент окончания
итерационного процесса в функции величины X : алгоритм Со - РБО
т
Рисунок показывает, что для всех исследуемых функций интервал
изменения величины
S
равен [20: 240]. Для всех рассматриваемых
тестовых функций и размерностей вектора X, суброй-победитель в своей эволюции проходит этап, когда число частиц в нем близко к минимально допустимому . Достигнув своего максимального размера суброй-
победитель, как правило, не уменьшается или уменьшается незначительно. Отметим еще то обстоятельство, что не всегда суброй-победитель в момент перехода итерационного процесса в состояние стагнации достигает своего максимального размера.
3.3. Ко-алгоритм Co-PSOр
Исследование выполнено для трех вариантов ко-алгоритма Co - PSO:
Co - PSOpc , Co - PSOPR, Co - PSOPD. Все суброи в этих вариантах используют топологии «клика», «кольцо» и динамическую топологию соответственно.
Оценка вероятности локализации глобального экстремума.
Диаграммы зависимости оценки ; от величины |X| приведены на рисунке 6.
юо i-■■п—---г--!-1-
90 ........ ■■■■■ .....: П.....................;...........-
so -....... ■-■-■ ............... .....;-(-[.......-
70 -..............■■■■ ■ ■■■ ■■■■ ■ ■■ ■■■■ .......-
60 -..............■-■-■ -■-■ ■--■ -■■■ -■-■ .......-
50 -................................-■ ■■ ■ ■■■ .......-
40 -..............■■■■ ■ ■■ ■ ■ ■■ ■ ■ ■■ ■ ■ ■■ .......-
30 -..............■■■■■ ..................■■■■ ■■■■ .......-
20 -..............■■■■ ■ ■■■ ■ ■■ ■ ■■■■ ■■■■ .......-
10 -........................■■■■ ■■■■ ■■■■ ■■■■ .......-
а) функция Розенброка
í
2 4 8 16 32 64
100 90 80 70 60 50 ДО 30 20 10 О
100 30 80 70 60 50 ДО 30 20 10 О
И
1В
32
6Д
б) функция Химмельблау
16
32
И
6Л
в) функция Растригина Рисунок 6 - Оценка вероятности £ в функции величины IX: ■ — ко-
алгоритм Со - РБОРС; ■ - Со - РБОРк; □ - Со - РБО
РЯ
\РБ
Рисунок 6 показывает следующее. Ожидаемо (п. 3.1), для функции Розенброка (рисунок 6а) при любых значениях |х| максимальную оценку £
обеспечивает ко-алгоритм Со - РБО , а минимальную оценку — ко-алгоритм
Со - РБОРЯ. В случае функции Химмельблау (рисунок 6б) все три ко-алгоритма показывают близкие результаты. Для функции Растригина
(рисунок 6в) во всех случаях лучшая оценка ; получается с помощью ко-
алгоритма Co - PSOPR, а худшая - ко-алгоритма Co - PSOPC . В худшем случае (при |X| = 64) оценка ; достигает величины, равной примерно 84%.
В целом, данное исследование показывает, что ко-алгоритм Co - PSOP обеспечивает более низкую оценку вероятности ; в сравнении с
ко-алгоритмом Co - PSOT, но более высокую оценку, чем канонический алгоритм PSO (п. 3.1).
Среднее число итераций. На рисунке 7 представлены диаграммы зависимости среднего числа итераций tend от величины |X|.
tend
350 j-1-,-!-,-1-1-
300 ............-...........;............:............i............:.....................-
250-...........:...................................j....................... Г1.......-
200 ............|...........i........................|........... .......-
150-........... ......................~.......i ■■■■ .......-
50 ....... иП ll l ...........-
а) функция Розенброка
I
2 4 8 16 32 64
460 400 350 300 250 200 150 100 50 О
и
2 4 3 16 32 64
б) функция Химмельблау
и
в) функция Растригина Рисунок 7 — Среднее число итераций !епС в функции величины |х|: ■ — ко-
алгоритм Со - РБОРС, ■ - Со - РБОРЯ, □ - Со - РБО™
Рисунок 7 иллюстрирует следующие факты. Для функции Розенброка (рисунок 7а) наименьшее значение величины 1епС зафиксировано у ко-
алгоритма Со - РБОРС, а наибольшее — у алгоритма Со - РБОРЯ. В случае функции Химмельблау (рисунок 7б) минимальное значение величины 1епС,
преимущественно, показывает ко-алгоритм Со - РБОРЯ. Для функции
Растригина (рисунок 7в) лучшие результаты с точки зрения величины 1епс1
также обеспечивает ко-алгоритм Со - РБОт. Рисунок 7 показывает, кроме того, что, в худшем случае (при |х| = 64), для всех трех рассматриваемых тестовых функций величина 1епС составляет примерно 324 итерации. Этот
результат хуже, чем зафиксированный для алгоритма Со - РБОТ, но лучше результата, который показал канонический алгоритм РБО (п. 3.1).
Среднее число испытаний. Зависимость среднего числа испытаний Иу от величины |х| иллюстрирует рисунок 8.
60 ООО
ео ооо
40 ооо
30 ооо
20 ооо
10 ооо
и
8 16
32
64
а) функция Розенброка
90 ооо
ео ооо 70 ООО 60 ООО
ео ооо
40 ооо 30 ооо 20 ооо 10 000 о
шш
и
16
32
64
б) функция Химмельблау
в) функция Растригина Рисунок 8 - Среднее число испытаний п^ в функции величины |Х|: ■ — ко-
алгоритм Со - РБОРС, ■ - Со - РБОРК, □ - Со - РБОРВ
Из рисунка 8а следует, что для функции Розенброка минимальное значение величины п^ в большинстве случаев соответствует ко-алгоритму
Со - РБОРС, а максимальное значение - ко-алгоритму Со - РБОРк. Для функции Химмельблау явного лидера по среднему числу испытаний п^
рисунок 8б не выявляет. В случае функции Растригина (рисунок 8в) минимальная величина п^- соответствует ко-алгоритмам Со - РБОРК,
Со - РБОР1°. При |Х| = 64 (худший случай) величина п^- для суброя-
победителя для всех рассматриваемых тестовых функциях примерно равна 64 000. Эта величина почти в два раза выше аналогичного значения для канонического алгоритма РБО (п. 3.1) и примерно на 30% выше того же
значения для алгоритма Со - РБО
Размеры суброев. На рисунке 9 представлены графики зависимости
конечных размеров суброев-победителей
5
от величины X , а также
аналогичные графики зависимостей 5 (Х|), 5 + (Х|). Из всех результатов
исследования представляем четыре: ко-алгоритм Со - РБО и функция Розенброка; ко-алгоритмы
Со - РБОРС, Со - РБОРк и функция Химмельблау; ко-алгоритм Со - РБОРК и функция Растригина.
5 , 5П, 5
Хйъ \
\
Л .........
\....... И
\....... .........
I5" —
•
о |Х|
а) ко-алгоритм Со - РБОРС, функция Розенброка
И:
-.....Л к-..... \ Л . У" .........
|?р N к
-....... .........
о--_-- _______Л
у' 1 1 1 А
\х\
Т)/"1
б) ко-алгоритм Со - РБО , функция Химмельблау
в) ко-алгоритм Со - РБОрк, функция Химмельблау
г) ко-алгоритм Со - РБОрк, функция Растригина
* I I
Рисунок 9 - Предельные размеры суброев £ в функции величины X
Из рисунка 9 следует, что для суброя-победителя минимальная
величина
£'
равна 20, а максимальная - 240. Характер поведения
предельных размеров суброев-победителей близок к аналогичным результатам, полученным для алгоритма Со - РБОт (см. выше).
Величины свободных параметров а*, в*, У* суброев-победителей.
На рисунке 10 представлены диаграммы значений свободных параметров а*, в*, У* суброев-победителей в функции величины |х|.
а) ко-алгоритм Со - РБО , функция Розенброка
б) ко-алгоритм Со - РБО , функция Химмельблау
в) ко-алгоритм Со - РБО™, функция Химмельблау
г) ко-алгоритм Со - Р8ОРк, функция Растригина Рисунок 10 - Значения свободных параметров а*, в*, У* суброев-победителей в функции величины |х|: ■ — параметр а*, ■ - в*, □ - У*
Рисунок 10 показывает, что во всех экспериментах полученные значения свободных параметров значительно отличаются от рекомендованных (п. 3.1). Так, оказалось, что значение инерционного параметра а* во всех случаях не превышает значения 0,6, в то время как рекомендованное значение равно 0,7298. Значения социальной и когнитивной компонент изменяются в широком диапазоне [0,2; 1,8].
Таким образом, вычислительный эксперимент показал, что по всем рассмотренным индикаторам эффективности ко-алгоритмы Со - РБО и Со - РБОР превосходят канонический алгоритм РБО. Эффективность ко-алгоритма Со - РБОт в большинстве случаев оказалась выше эффективности ко-алгоритма Со - РБОР.
4. Задача об управляемом спуске космического аппарата
Рассматриваем задачу оптимального управления спуском космического аппарата в атмосфере Земли [9]. Используем уточненную постановку задачи из работы [3].
4.1. Постановка задачи
Начало системы координат 0 х1 х2 х3, в которой рассматриваем
движение аппарата, находится в центре Земли. Ось 0х1 направлена на исходное положение аппарата, ось 0х3 - в сторону его движения и перпендикулярна оси 0х1, ось 0х2 образует с указанными осями правую тройку.
Математическую модель объекта управления представляет система обыкновенных дифференциальных уравнений (ОДУ)
йт 2
^ У п л
—2 — -^г х! - (1 - и) ах ,
Ж Г3 1
ш г (П)
йхз
= ^
ах4 у п \
—4 — -^т- х3 - (1 - и) а х4
ат Г
при заданных начальных условиях х1 (0) — х0, г е [1:4]. Приняты следующие обозначения: х1, х3 - координаты центра масс космического аппарата; х2, х4 -
компоненты его скорости; и - управление; г — Л х1 + х3 - величина радиус-
к - XI
вектора аппарата; у - гравитационная постоянная Земли; q = се п V -
составляющая аэродинамической силы; V = ^ + х4 - величина скорости аппарата; с - его аэродинамическая характеристика; к - высота атмосферы; п - согласующий коэффициент модели атмосферы [3]. Определены функционалы качества управления
г( л (х2(т) + х23(т))^х2(т) + х42(т) .
1Аи) = шах-2--> шт> (12)
те[0;Т] gо Г3 иеВи
¡2(и) = х2(т) -1 ^ ш1и. (13)
/з(и) = шах о ^ шт> (14)
ие°ы
имеющие смысл максимальной перегрузки, отклонения от заданной точки на поверхности Земли и максимальной амплитуды перегрузки соответственно. Здесь г3 = 6371 км - радиус Земли, g0 = 9,81 ^ - ускорение свободного падения, т - длительность полета, I - координата по оси 0х3 заданной точки
на поверхности Земли, Би = {и(т)| |и(т)| е [и"; и+]} - множество допустимых
~ - +
управлений, и , и - заданные константы.
Задача представляет собой трехкритериальную задачу оптимального управления динамической системой и состоит в определении допустимого
управления и *(т) е Би, доставляющего минимум критериям оптимальности (12) - (14).
Не смотря на известный недостаток решения задач многокритериальной оптимизации с помощью скалярной свертки их частных критериев оптимальности [10], применяем именно этот метод. Используем аддитивную скалярную свертку
/ (и) = 1 Лг/г (и), (15)
г =1
где Л{ > 0 - весовой коэффициент, учитывающий относительную важность функционала (и). В результате получаем однокритериальную задачу оптимального управления динамической системой (11) с критерием оптимальности (15).
Аналогично тому, как это сделано в работе [3], сводим полученную задачу оптимального управления к задаче нелинейного программирования. Покрываем интервал [0;т] равномерной сеткой с узлами т, I е [0: \и\]
и отыскиваем оптимальное управление и *(т) в классе кусочно-линейных функций (рисунок 11).
/Г Т, ч т3 г4 / 1 "\U\-2 1 1 1 1 1 1 ¡\! ' иЩ г
г 1 ; г / 1 1 |/ 1 1 \ У V 1 ' К4 .ъ^^г_____________ и2 Тр\-2 _____1
Рисунок 11 - Кусочно-линейная аппроксимация управления и (т)
Обозначаем и = (и1,и2,...,ии ), где и1 = и(тг). Тогда указанная выше
однокритериальная задача оптимального управления принимает вид
Ш1П /(и) = /(и*), (16)
иеОи
где Би = {и | |иг | е [и "; и+], / е [0 : \и|]}. Таким образом, имеем задачу
глобальной условной оптимизации (16) с целевой функцией (15), вектором варьируемых параметров и и множеством его допустимых значений Ви.
4.2. Вычислительный эксперимент
Эксперимент выполнен при следующих начальных условиях космического аппарата: x1(0) = 6471 км, x3(0) = 0, x2(0) = -0,5 км/^ x4(0) = 6,58 км/с. Поскольку снижение значения максимальной перегрузки является приоритетным, задаем следующие значения весовых коэффициентов :
4 = 2,0; Я2 =Л3 = 1,0. Размерность вектора \и| принимаем равной 50.
Специальное исследование показало, что система ОДУ (11) является нежесткой. Поэтому для интегрирования этой системы используем метод Рунге-Кутты 4-го порядка.
рс
Задачу решаем с использованием ко-алгоритма Со - РБО с пятью ко-эволюционирующими суброями, каждый из которых имеют топологию соседства частиц типа «клика» и отличается от других суброев значениями своих параметров а, в, у. Приняты следующие значения свободных параметров ко-алгоритма: интервал адаптации Аа = 9, величина штрафа пр = 0,2, минимально допустимый размер суброя |£| = 4. Размер роя равен |£| = 100. В процессе инициализации роя все субпопуляции получают число
частиц, равное 20. Поскольку размерность вектора варьируемых параметров велика (равна 51), а априорная информация о ландшафте целевой функции /(и) отсутствует, для повышения вероятности локализации глобального экстремума используем мультистарт с числом запусков алгоритма 2 = 30. Число итераций ко-алгоритма ограничиваем величиной I = 1000.
Рисунок 12 иллюстрирует сходимость вычислительного процесса при
рс
решении задачи с помощью ко-алгоритма Со - РБО и канонического алгоритма РБО соответственно. Заметим, что не учитывает максимальную амплитуду перегрузки 0 [3].
а) ко-алгоритм Co - PSOpc : суброй-победитель
б) канонический алгоритм Р8О Рисунок 12 - Сходимость вычислительного процесса для лучшего по мультистарту запуска алгоритма и суброя-победителя
Рисунок показывает значительное превосходство в скорости
РС
сходимости ко-алгоритма Co - PSO над каноническим алгоритмом PSO.
РС
Лучшее, достигнутое ко-алгоритмом Co - PSO значение целевой
функцией, равно /* = 8,85, а аналогичное значение для канонического алгоритма РБО - /* = 9,66. Таким образом, из рисунка следует, что ко-
т)/"1
алгоритм Со - РБО по сравнению с каноническим алгоритмом РБО обеспечивает не только более высокую скорость сходимости, но и более высокую точность локализации глобального экстремума целевой функции.
Представляет интерес рисунок 13, иллюстрирующий характер сходимости итерационного процесса для каждого из суброев ко-алгоритма Со - РБОРС (вариант Л1 = 2,0; Х2 = 1,0; Л3 = 0). Победителем в данном эксперименте стал суброй Б4, который обеспечил значения критериев оптимальности, равные /1* « 7,61, /2* « 0,68.
/а
Рисунок 13 - Сходимость лучшего по мультистарту запуска алгоритма: вариант \ = 2,0; = 1,0; Л3 = 0; ко-алгоритм Со - РБОРС; -, А, □, 0, V - суброи - Б5 соответственно; красные маркеры соответствуют концу итерационного процесса
На рисунке 14 представлены зависимости численности |£г.| суброев ко-алгоритма в функции номера итерации . е [1:5]. Зависимость победившего суброя (имеющего номер 4) выделена красным цветом. 10.7463/1113.0619595 464
90->-1-.-1-1-i-i-1-1-
so -...............|.....l-j........i........;........i........i........;........j........-
70........!........ñ.......i........i........I........i........:.................
Б0 ................rj.....■;........-........:................i................i........-
50 -.......;......fp.....j.................;................i................|........-
40 i.............•;.................:................i........i................-
30 I ij.....i-...............-:......................... ........ ................-
20 [ ■ —-— :........;................................................-
- ■ н.......A........i........ I ; ji.......
Q _1_I_ ■ 1 ■ j 1 1 I ^
o 20 40 60 ею 100 120 140 160 130 200
Рисунок 14 - Численности |Sf| суброев в функции номера итерации для
РС
лучшего по мультистарту запуска алгоритма: ко-алгоритм Co - PSO ; -,---, ,-,------ суброи - S5 соответственно
J
г г ;
ё
1 1
1_v_ *
¡ L l ¡
Рисунок 14 показывает, что после первого интервала адаптации лидером становится суброй . Суброй-победитель £4 начинает лидировать после третьего интервала адаптации и сохраняет свое лидерство до завершения итерационного процесса, когда число частиц в нем становится равным 84.
Диаграмма значений свободных параметров а, в, у суброев -приведена на рисунке 15. Примечательно, что значения этих параметров суброя-победителя наиболее близки к их рекомендованным значениям (п. 1) и составляют 0,9846, 1,13299, 1,6412 соответственно.
О1, р, у
2 1 3 1.6 1 4
1-2 1
0.8 0 6 0 й О 2
о
% ¿ч
Рисунок 15 - Значения свободных параметров суброев ко-алгоритма
Со - РБОРС для лучшего по мультистарту запуска: ■ — параметр а, ■ - в,
□ -у
Полученная в вычислительном эксперименте траектория спуска космического аппарата представлена на рисунке 16. Минимальное отклонение от заданного места посадки, достигнутое алгоритмом Со - РБОРС, составляет 0,68 км, а каноническим алгоритмом РБО — 0,92 км.
Рисунок 16 — Траектория спуска космического аппарата для лучшего по
РС
мультистарту запуска алгоритма; ко-алгоритм Со - РБО
Показательным является рисунок 17, на котором приведены максимальные перегрузки /1 в функции времени спуска т космического
рс
аппарата, полученные с помощью ко-алгоритма Со - РБО и канонического алгоритма РБО. Пунктирные линии на графиках соответствуют начальному
приближению управления и0, сплошные линии - найденному оптимальному
управлению и * (в момент 1епс1 окончания итерационного процесса).
Перегрузка обусловлена действием аэродинамической силы, пропорциональной квадрату скорости космического аппарата. После 250-ой секунды спуска эта скорость становится относительно малой и колебания перегрузки несущественны. Поэтому графики ограничены этим временем.
Я
12
я
б) канонический алгоритм РБО Рисунок 17 - Зависимость перегрузки /1 от времени спуска космического аппарата для лучшего по мультистарту запуска алгоритма
Рисунок 18, показывает, что ко-алгоритм Со - РБО обеспечивает по сравнению с каноническим алгоритмом Р8О значительно более гладкую зависимость перегрузки от времени снижения космического аппарата (что подтверждают соответствующие значения критерия оптимальности /3).
Приведем, наконец, оптимальные управления, найденные ко-
рс
алгоритмом Со - РБО и каноническим алгоритмом РБО, которым соответствуют представленные выше результаты (рисунок 18).
и (V)
а) ко-алгоритм Со - РБОрС
и (г)
О 26-'-1-1-г~
■О 25-■-1-1-1-
О 60 100 150 200 250
б) канонический алгоритм РБО Рисунок 18 - Варианты оптимального управления и *(т) для лучшего по
мультистарту запуска алгоритма
Известно, что характерной особенностью рассматриваемой динамической системы является оптимальность в ней, так называемых, скользящих режимов, когда, в пределе, управление переключается между своими минимально и максимально допустимыми значениями с бесконечной
частотой. Заметим, что именно это обстоятельство делает рассматриваемую задачу сложной с вычислительной точки зрения. Рисунок 20 показывает, что
ко-алгоритм Со - РБОРС обеспечивает гораздо более хорошее приближение к указанному режиму, чем канонический алгоритм РБО.
Заключение
В работе предложен ко-эволюционный алгоритм глобальной оптимизации Со-РБО, основанный на алгоритме роя частиц. Ко-алгоритм предполагает параллельное (по крайней мере, на логическом уровне) функционирование заданного числа субалгоритмов РБО, которые используют различные топологии соседства частиц и/или различные значения своих свободных параметров.
Представлен ЫМЬаЪ-комплекс программ, реализующих алгоритм Со-РБО и канонический алгоритм роя частиц РБО.
Выполнен широкий вычислительный эксперимент по исследованию эффективности алгоритма Со-РБО и реализующего его программного обеспечения. В эксперименте использованы тестовые функции Розенброка, Химмельблау и Растригина. Результаты исследования показывают превосходство алгоритма Со-РБО над каноническим алгоритмом РБО по ряду критериев эффективности.
С помощью разработанного алгоритмического и программного обеспечения решена трехкритериальная задача оптимального управления космическим аппаратом на этапе его спуска в атмосфере Земли. Результаты решения показали высокую эффективность предложенных алгоритмических и программных решений.
В развитие работы авторы планируют параллельную реализацию и исследование параллельной версии ко-алгоритма Со-РБО.
Список литературы
1. Воробьева Е.Ю., Карпенко А.П., Селиверстов Е.Ю. Ко-гибридизация алгоритмов роя частиц // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журнал. 2012. № 4. Режим доступа:
http://www.technomag.edu.ru/doc/355729.html (дата обращения 27.08.2013).
2. 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. http://dx.doi.org/10.3103/S1060992X11040059
3. Карпенко А.П., Митина Е.В., Семенихин А.С. Когенетический алгоритм Парето-аппроксимации в задаче многокритериальной оптимизации // Информационные технологии. 2013. № 1. С. 22-32.
4. Карпенко А.П., Селиверстов Е.Ю. Глобальная оптимизация методом роя частиц. Обзор // Информационные технологии. 2010. № 2. С. 25-34.
5. Yongquan Zhou, Shengyu Pei. A hybrid co-evolutionary particle swarm optimization algorithm for solving constrained engineering design problems // China: Journal of computers. 2010. Vol. 5, no. 6. P. 965-972.
6. Yuhui Shi, Renato A. Krohling. Co-evolutionary particle swarm optimization to solve min-max problems // USA: Proceedings of the Evolutionary Computation. 2002. Vol. 2. P. 1682-1687.
7. Yang Sun, Lingbo Zhang, Xingsheng Gu. Co-evolutionary cultural based particle swarm optimization algorithm // China: Life system modeling and intelligent. Communications in computer and information science. 2010. Vol. 98, no. 1. P. 1-7.
8. Jie J., Han Ch., Zeng J. An Extended Mind Evolutionary Computation Model for Optimizations // Applied Mathematics and Computation. 2007. Vol. 185, no. 2. P. 1038-1049.
9. Федоренко Р.П. Приближенное решение задач оптимального управления. М.: Наука, 1978. 488 с.
10. Карпенко А.П., Федорук В.Г. Один класс прямых адаптивных методов многокритериальной оптимизации // Информационные технологии. 2009. № 5. С. 24-30.
SCIENTIFIC PERIODICAL OF THE BAUMAN MSTU
SCIENCE and EDUCATION
EL № FS77 - 48211. №0421200025. ISSN 1994-040S
electronic scientific and technical journal
Co-evolutionary algorithm of global optimization based on particle swarm optimization # 11, November 2013 DOI: 10.7463/1113.0619595 Karpenko A.P., Vorob'eva E.Yu.
Bauman Moscow State Technical University, 105005, Moscow, Russian Federation
apkarpenko@mail.ru vorobeva ey@mail.ru
This paper deals with a co-evolutionary algorithm of global optimisation, Co-PSO, based on particle swarm optimisation. Implementation of this algorithm developed in MATLAB was described in this work. This software is oriented to a parallel operation of the given number of PSO algorithms at the logical level. These algorithms use various neighbourhood topologies of particles and/or various values of their free parameters. Results of a comprehensive numerical experiment on performance study of Co-PSO and its implementation were also presented. The experiment was based on Rosenbrock, Himmelblau and Rastrigin benchmark functions. Experimental results show superiority of the Co-PSO algorithm over the canonical PSO. A three-criterion problem of optimal control for a spacecraft during its reentry was solved with the use of Co-PSO. Methods of additive scalar convolution and reduction of the optimal control problem to a nonlinear programming problem were used in this work.
Publications with keywords: PSO, hybridization, Co-evolution Publications with words: PSO, hybridization, Co-evolution
References
1. Vorob'eva E.Yu., Karpenko A.P., Seliverstov E.Yu. Ko-gibridizatsiya algoritmov roya chastits [Co-hybridization of PSO]. Nauka i obrazovanieMGTUim. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 4. Available at: http://www.technomag.edu.ru/doc/355729.html , accessed 27.08.2013.
2. 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. http://dx.doi.org/10.3103/S1060992X11040059
3. Karpenko A.P., Mitina E.V., Semenikhin A.S. Kogeneticheskiy algoritm Pareto-approksimatsii v zadache mnogokriterial'noy optimizatsii [Co-generic algorithm for Pareto set approximation]. Informatsionnye tekhnologii, 2013, no. 1, pp. 22-32.
4. Karpenko A.P., Seliverstov E.Iu. Global'naia optimizatsiia metodom roia chastits. Obzor. [Overall optimization by method of particles swarm. Review]. Informatsionnye tekhnologii, 2010, no. 2, pp. 25-34.
5. Yongquan Zhou, Shengyu Pei. A hybrid co-evolutionary particle swarm optimization algorithm for solving constrained engineering design problems. China: Journal of computers, 2010, vol. 5, no. 6, pp. 965-972.
6. Yuhui Shi, Renato A. Krohling. Co-evolutionary particle swarm optimization to solve minmax problems. USA: Proceedings of the Evolutionary Computation, 2002, vol. 2, pp. 1682-1687.
7. Yang Sun, Lingbo Zhang, Xingsheng Gu. Co-evolutionary cultural based particle swarm optimization algorithm. China: Life system modeling and intelligent. Communications in computer and information science, 2010, vol. 98, no. 1, pp. 1-7.
8. Jie J., Han Ch., Zeng J. An Extended Mind Evolutionary Computation Model for Optimizations. Applied Mathematics and Computation, 2007, vol. 185, no. 2. pp. 1038-1049.
9. Fedorenko R.P. Priblizhennoe reshenie zadach optimal'nogo upravleniya [Approximate solution of optimal control problems]. Moscow, Nauka, 1978. 488 p.
10. Karpenko A.P., Fedoruk V.G. Odin klass pryamykh adaptivnykh metodov mnogokriterial'noy optimizatsii [A class of direct adaptive methods for multi-criteria optimization]. Informatsionnye tekhnologii, 2009, no. 5, pp. 24-30.