Другие журналы
|
научное издание МГТУ им. Н.Э. БауманаНАУКА и ОБРАЗОВАНИЕИздатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211. ISSN 1994-0408![]()
Ко-эволюционный алгоритм глобальной оптимизации на основе алгоритма роя частиц
# 11, ноябрь 2013 DOI: 10.7463/1113.0619595
Файл статьи:
![]() Россия, МГТУ им. Н.Э. Баумана
Основная идея ко-эволюционных алгоритмов (ко-алгоритмов) оптимизации состоит в следующем. Одновременно в пространстве поиска задачи оптимизации эволюционируют несколько субпопуляций, каждая из которых решает исходную оптимизационную задачу и имеет свою стратегию оптимизации, которая определяется значениями свободных параметров субалгоритма (алгоритма, который управляет данной субпопуляцией). В процессе решения задачи субпопуляции конкурируют между собой за некоторый ресурс (в данной работе – число вычислений значений оптимизируемой функции), который в процессе работы ко-алгоритма перераспределяется в пользу более эффективной из них [1]. Целью ко-гибридизации алгоритмов поисковой оптимизации является повышение их эффективности, которое достигается тем, что в процессе ко-эволюции, по сути, решается задача мета-оптимизации этих алгоритмов – то есть задача определения значений их свободных параметров, которые являются наилучшими для данной задачи оптимизации [2]. Чаще всего при ко-гибридизации в качестве субалгоритмов используют генетический алгоритм и его модификации [3]. Помимо большого числа достоинств генетический алгоритм обладает и рядом недостатков. Так, индивиды в популяции генетического алгоритма не имеют памяти и, по-сути, не «сотрудничают» между собой. В отличие от этого, в используемом нами для ко-гибридизации популяционном алгоритме роя частиц (ParticleSwarmOptimization, PSO) агенты (частицы) «помнят» свое лучшее положение за всю предысторию поиска. Кроме того, в алгоритме PSOинформация о лучшем из найденных роем решении раньше или позже становится известной всем частицам, то есть в этом алгоритме имеет место «сотрудничество» между частицами. Данная статья является продолжением работы [1], в которой предложен двухпопуляционный ко-алгоритма Co-PSO, построенный на основе алгоритмов PSO, использующих топологии соседства «клика» и «кольцо». Целью работы является разработка многопопуляционного ко-алгоритма PSO, программная реализация этого алгоритма, исследование эффективности разработанного алгоритмического и программного обеспечения. В первом разделе работы приводим постановку задачи глобальной оптимизации и схему базового алгоритма PSO. Во втором разделе представляем разработанный нами ко-алгоритм Co-PSOи MatLab-программное обеспечение, реализующее этот алгоритм. Третий раздел посвящен исследованию эффективности разработанного алгоритмического и программного обеспечения. В четвертом разделе рассматриваем решение с помощью разработанных средств задачи оптимального управления космическим аппаратом на этапе его спуска в атмосфере Земли. В заключении сформулированы основные результаты работы и очерчены перспективы ее развития.
1. Постановка задачи глобальной оптимизации и схема алгоритма роя частиц для ее решения Рассматриваем детерминированную непрерывную задачу глобальной условной минимизации
где Множество частиц в рое обозначаем Основные итерационные формулы алгоритма PSOимеют вид
Здесь Соседство частиц в рое определяет их топология соседства, задаваемая неориентированным графом, в котором вершины графа соответствуют частицам роя, а ребра связывают непосредственных соседей. В алгоритме PSO обычно используют топологии ‑ «клика» (глобально оптимальная топология), ‑ «кольцо» (локально оптимальная топология), ‑ «двумерный тор» (топология фон Неймана), ‑ «кластер». Топологии «клика» соответствует полносвязный граф, в котором соседями каждой из частиц Обзор большого числа модификаций алгоритма PSOпредставлен в работе [4].
2. Ко-алгоритм Co-PSO и его программная реализация 2.1. Схема ко-алгоритма Co-PSO Поскольку речь идет о ко-алгоритмической гибридизации алгоритмов PSO, ко-эволюционирующие субпопуляции далее называем суброями. Суброи обозначаем 1) Задаем числа суброев, топологии соседства, используемые каждым из суброев, значения свободных параметров субалгоритмов. 2) Задаем значения свободных параметров ко-алгоритма: ‑ величина ресурса ‑ интервал адаптации - величина штрафа ‑ минимально допустимый размер суброя
3) Инициализируем суброи, то есть, присваиваем всем частицам каждого из суброев 3) Реализуем асинхронное выполнение каждым суброем 4) Производим оценку эффективности суброев. 5) Проверяем выполнение условия останова. В случае выполнения этого условия, в качестве решения принимаем лучшее решение, найденное роем, и прекращаем вычисления. 6) Осуществляем перераспределение ресурса. 7) Реализуем миграцию лучших частиц. Частицы всех суброев объединяем в единый массив и сортируем в порядке убывания соответствующих значений целевой функции. Затем каждому из суброев из этого массива передаем число частиц, пропорциональное текущему размеру суброя. 8) Переходим к шагу 3. Оценку эффективности суброя
где Перераспределение ресурса производим на основе приспособленности суброев (4). Если текущее значение пригодности суброя Если размер проигравшего суброя оказывается меньше величины
Если же суброй
2.2. Обзор других методов ко-гибридизации алгоритмов PSO Отметим следующее обстоятельство. Задача глобальной оптимизации (1) поставлена нами как задача условной оптимизации. Однако канонический алгоритм PSOи рассмотренная выше схема ко-алгоритма PSOне учитывают ограничений на вектор варьируемых параметров Известно большое число приемов, позволяющих учитывать в популяционных алгоритмах оптимизации и, в частности, в алгоритме PSO, ограничения на компоненты вектора В работе [5] предложен ко-алгоритм CPSO(Co-evolutionaryPSO) для случая, когда множество допустимых значений вектора варьируемых параметров Близкий подход к решению задачи условной оптимизации используется в работе [6], в которой наряду с ограничениями типа неравенств рассматриваются ограничения типа равенств вида Отличная от представленных выше схема ко-эволюционной гибридизации используется в работе [7]. Предложенный в этой работе алгоритм CECBPSO(Сo-EvolutionaryCulturalBasedParticleSwarmOptimization), основан на культурном алгоритме (Culturalalgorithm) [8].
2.3. Программная реализация ко-алгоритма Co-PSO Программная реализация ко-алгоритма Co-PSOвыполнена в среде пакета программ MatLabR2012aи на языке программирования этого пакета. Язык программирования MatLabпредставляет собой высокоуровневый интерпретируемый язык, основанный на операциях с векторами и матрицами. Язык включает в себя широкий набор функций, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования. MatLab-программы могут быть оформлены как функции и скрипты. Программная реализация ко-алгоритма PSOвыполнена в виде скриптов и также получила наименование Co-PSO. Программа Co-PSOвключает в себя расширяемые библиотеки тестовых функций и графов, определяющих топологии соседства, которые могут быть использованы субалгоритмами PSO. В программе могут быть заданы различные условия окончания итераций, но во всех случаях их число ограничено заданным пользователем значением Для повышения вероятности локализации глобального экстремума целевой функции, программа Co-PSOподдерживает метод мультистарта. По результатам заданного пользователем числа стартов В качестве результата работы программа Co-PSOможет построить график изменения значений целевой функции с ростом числа итераций для суброя-победителя а также графики изменения размеров суброев в функции номера итерации.
Всюду далее в данном разделе имеется в виду использование в качестве условия окончания итерационного процесса его стагнацию в течение В качестве тестовых функций используем широко известные унимодальную овражную функцию Розенброка, четырехэкстремальную функцию Химмельблау и многоэкстремальную функцию Растригина. Для функций Розенброка и Растригина задача решается в параллелепипеде Во всех случаях вычислительный эксперимент выполнен для размерностей вектора варьируемых параметров Рассматриваем канонический алгоритм Ко-алгоритм Ко-алгоритм Свободные параметры ко-алгоритмов 3.1. Канонический алгоритм PSO Исследование эффективности канонического алгоритма PSO выполнено с целью тестирования разработанного алгоритмического и программного обеспечения, а также с целью создания базы для последующей сравнительной оценки эффективности ко-алгоритма Co-PSO. Рассмотрен канонический алгоритм PSO с топологиями соседства «клика», «кольцо» и динамическая топология (когда, начиная с топологии «кольцо», через каждое фиксированное число итераций в граф соседства случайным образом добавляется одно ребро). В качестве значений свободных параметров алгоритма использованы их рекомендованные значения (п. 1). Число частиц в популяции принято равным Оценки вероятности
Таблица 1 ‑ Оценки вероятности
Таблица 2 ‑ Оценки среднего числа испытаний
Представленные в таблицах 1, 2 результаты подтверждают тот известный факт, что уменьшение диаметра графа соседства частиц ускоряет сходимость итерационного процесса, то есть повышает интенсивность поиска. С другой стороны, небольшой диаметр этого графа уменьшает широту поиска и повышает вероятность преждевременной сходимости итераций к локальному минимуму целевой функции. Таким образом, в каноническом алгоритме PSOтопологию соседства «кольцо» целесообразно использовать в случае многомерных многоэкстремальных целевых функций. При оптимизации более простых целевых функций лучшим решением может быть использование топологии типа «клика».
3.2. Ко-алгоритм Co-PSO Оценка вероятности локализации глобального экстремума. Зависимость величины
а) функция Розенброка б) функция Химмельблау в) функция Растригина Рисунок 1 – Оценка вероятности
Из рисунка 1а следует, что при низкой размерности вектора Среднее число побед. На рисунке 2 приведены диаграммы зависимости среднего по
а) функция Розенброка б) функция Химмельблау в) функция Растригина Рисунок 2 – Среднее число побед
Как и ожидалось (п. 3.1), для функции Розенброка (рисунок 2а) наибольшее среднее число побед (примерно 60%) обеспечивает топология «клика». Для функций Химмельблау и Растригина (рисунки 2б, 2в) в среднем в 90% случаев побеждает алгоритм с топологией «кольцо». Среднее число итераций. На рисунке 3 представлена диаграмма зависимости среднего числа итераций Рисунок 3 – Среднее число итераций
Рисунок 3 показывает, что для всех рассмотренных тестовых функций сходимость итерационного процесса к глобальному минимуму в худшем случае (при Среднее число испытаний. Диаграмма зависимости среднего числа испытаний
Рисунок 4 – Среднее число испытаний
Из рисунка 4 следует, что для суброя-победителя в худшем случае (при Размеры суброев. На рисунке 5 представлены зависимости размера суброя-победителя
а) функция Розенброка
б) функция Химмельблау в) функция Растригина Рисунок 5 – Размеры суброев-победителей
Рисунок показывает, что для всех исследуемых функций интервал изменения величины
3.3. Ко-алгоритм Co-PSO Исследование выполнено для трех вариантов ко-алгоритма Оценка вероятности локализации глобального экстремума. Диаграммы зависимости оценки а) функция Розенброка б) функция Химмельблау в) функция Растригина Рисунок 6 – Оценка вероятности
Рисунок 6 показывает следующее. Ожидаемо (п. 3.1), для функции Розенброка (рисунок 6а) при любых значениях В целом, данное исследование показывает, что ко-алгоритм Среднее число итераций. На рисунке 7 представлены диаграммы зависимости среднего числа итераций а) функция Розенброка б) функция Химмельблау в) функция Растригина Рисунок 7 – Среднее число итераций
Рисунок 7 иллюстрирует следующие факты. Для функции Розенброка (рисунок 7а) наименьшее значение величины Среднее число испытаний. Зависимость среднего числа испытаний а) функция Розенброка б) функция Химмельблау в) функция Растригина Рисунок 8 – Среднее число испытаний
Из рисунка 8а следует, что для функции Розенброка минимальное значение величины Размеры суброев. На рисунке 9 представлены графики зависимости конечных размеров суброев-победителей
а) ко-алгоритм
б) ко-алгоритм в) ко-алгоритм г) ко-алгоритм Рисунок 9 – Предельные размеры суброев
Из рисунка 9 следует, что для суброя-победителя минимальная величина Величины свободных параметров а) ко-алгоритм б) ко-алгоритм в) ко-алгоритм г) ко-алгоритм Рисунок 10 – Значения свободных параметров Рисунок 10 показывает, что во всех экспериментах полученные значения свободных параметров значительно отличаются от рекомендованных (п. 3.1). Так, оказалось, что значение инерционного параметра
Таким образом, вычислительный эксперимент показал, что по всем рассмотренным индикаторам эффективности ко-алгоритмы
4. Задача об управляемом спуске космического аппарата Рассматриваем задачу оптимального управления спуском космического аппарата в атмосфере Земли [9]. Используем уточненную постановку задачи из работы [3]. Начало системы координат Математическую модель объекта управления представляет система обыкновенных дифференциальных уравнений (ОДУ)
при заданных начальных условиях Определены функционалы качества управления
имеющие смысл максимальной перегрузки, отклонения от заданной точки на поверхности Земли и максимальной амплитуды перегрузки соответственно. Здесь Задача представляет собой трехкритериальную задачу оптимального управления динамической системой и состоит в определении допустимого управления Не смотря на известный недостаток решения задач многокритериальной оптимизации с помощью скалярной свертки их частных критериев оптимальности [10], применяем именно этот метод. Используем аддитивную скалярную свертку
где Аналогично тому, как это сделано в работе [3], сводим полученную задачу оптимального управления к задаче нелинейного программирования. Покрываем интервал
Рисунок 11 – Кусочно-линейная аппроксимация управления
Обозначаем
где
4.2. Вычислительный эксперимент Эксперимент выполнен при следующих начальных условиях космического аппарата:
Размерность вектора Специальное исследование показало, что система ОДУ (11) является нежесткой. Поэтому для интегрирования этой системы используем метод Рунге-Кутты 4-го порядка. Задачу решаем с использованием ко-алгоритма Рисунок 12 иллюстрирует сходимость вычислительного процесса при решении задачи с помощью ко-алгоритма
а) ко-алгоритм б) канонический алгоритм PSO Рисунок 12 – Сходимость вычислительного процесса для лучшего по мультистарту запуска алгоритма и суброя-победителя
Рисунок показывает значительное превосходство в скорости сходимости ко-алгоритма Представляет интерес рисунок 13, иллюстрирующий характер сходимости итерационного процесса для каждого из суброев ко-алгоритма
Рисунок 13 – Сходимость лучшего по мультистарту запуска алгоритма: вариант ‑, ∆, □, ◊,
На рисунке 14 представлены зависимости численности
Рисунок 14 – Численности
Рисунок 14 показывает, что после первого интервала адаптации лидером становится суброй Диаграмма значений свободных параметров
Рисунок 15 – Значения свободных параметров суброев ко-алгоритма
Полученная в вычислительном эксперименте траектория спуска космического аппарата представлена на рисунке 16. Минимальное отклонение от заданного места посадки, достигнутое алгоритмом
Рисунок 16 – Траектория спуска космического аппарата для лучшего по мультистарту запуска алгоритма; ко-алгоритм
Показательным является рисунок 17, на котором приведены максимальные перегрузки
а) ко-алгоритм
б) канонический алгоритм PSO Рисунок 17 – Зависимость перегрузки
Рисунок 18, показывает, что ко-алгоритм Приведем, наконец, оптимальные управления, найденные ко-алгоритмом
а) ко-алгоритм б) канонический алгоритм PSO Рисунок 18 – Варианты оптимального управления
Известно, что характерной особенностью рассматриваемой динамической системы является оптимальность в ней, так называемых, скользящих режимов, когда, в пределе, управление переключается между своими минимально и максимально допустимыми значениями с бесконечной частотой. Заметим, что именно это обстоятельство делает рассматриваемую задачу сложной с вычислительной точки зрения. Рисунок 20 показывает, что ко-алгоритм
В работе предложен ко-эволюционный алгоритм глобальной оптимизации Co-PSO, основанный на алгоритме роя частиц. Ко-алгоритм предполагает параллельное (по крайней мере, на логическом уровне) функционирование заданного числа субалгоритмов PSO, которые используют различные топологии соседства частиц и/или различные значения своих свободных параметров. Представлен MatLab-комплекс программ, реализующих алгоритм Co-PSO и канонический алгоритм роя частиц PSO. Выполнен широкий вычислительный эксперимент по исследованию эффективности алгоритма Co-PSO и реализующего его программного обеспечения. В эксперименте использованы тестовые функции Розенброка, Химмельблау и Растригина. Результаты исследования показывают превосходство алгоритма Co-PSO над каноническим алгоритмом PSO по ряду критериев эффективности. С помощью разработанного алгоритмического и программного обеспечения решена трехкритериальная задача оптимального управления космическим аппаратом на этапе его спуска в атмосфере Земли. Результаты решения показали высокую эффективность предложенных алгоритмических и программных решений. В развитие работы авторы планируют параллельную реализацию и исследование параллельной версии ко-алгоритма Co-PSO.
Список литературы 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. C. 24-30. Публикации с ключевыми словами: алгоритм роя частиц, гибридизация, ко-эволюция Публикации со словами: алгоритм роя частиц, гибридизация, ко-эволюция Смотри также: Тематические рубрики: Поделиться:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|