Научная статья на тему 'АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МЕМЕТИЧЕСКОГО АЛГОРИТМА ПОИСКА УСЛОВНОГО ГЛОБАЛЬНОГО ЭКСТРЕМУМА'

АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МЕМЕТИЧЕСКОГО АЛГОРИТМА ПОИСКА УСЛОВНОГО ГЛОБАЛЬНОГО ЭКСТРЕМУМА Текст научной статьи по специальности «Математика»

CC BY
13
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Труды МАИ
ВАК
Область наук
Ключевые слова
УСЛОВНЫЙ ГЛОБАЛЬНЫЙ ЭКСТРЕМУМ / МЕМ / МЕМЕТИЧЕСКИЙ АЛГОРИТМ / ОПТИМИЗАЦИЯ / ГИБРИДНЫЙ АЛГОРИТМ / МЕТОД ИМИТАЦИИ ОТЖИГА / МЕТОД МУРАВЬИНЫХ КОЛОНИЙ / ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ / ОРИЕНТАЦИЯ КОСМИЧЕСКОГО АППАРАТА

Аннотация научной статьи по математике, автор научной работы — Письменная Виктория Александровна

В работе предложен меметический алгоритм поиска условного глобального экстремума функций, основанный на концепции мема, которым является одно из перспективных решений, полученных в ходе реализации процедуры поиска экстремума. На основе предложенного алгоритма сформирован комплекс программных средств на языке C#. Его эффективность продемонстрирована на широко распространённых тестовых задачах поиска глобального условного экстремума функций многих переменных. Кроме того, описано применение данного алгоритма для решения задачи об ориентации космического аппарата.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Письменная Виктория Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МЕМЕТИЧЕСКОГО АЛГОРИТМА ПОИСКА УСЛОВНОГО ГЛОБАЛЬНОГО ЭКСТРЕМУМА»

Электронный журнал «Труды МАИ». Выпуск № 79 www.mai.ru/science/trudy/

УДК 519.688

Алгоритмическое и программное обеспечение меметического алгоритма поиска условного глобального экстремума

Письменная В.А.

Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия

e-mail: wildangel9@yandex. ru

Аннотация

В работе предложен меметический алгоритм поиска условного глобального экстремума функций, основанный на концепции мема, которым является одно из перспективных решений, полученных в ходе реализации процедуры поиска экстремума. На основе предложенного алгоритма сформирован комплекс программных средств на языке C#. Его эффективность продемонстрирована на широко распространённых тестовых задачах поиска глобального условного экстремума функций многих переменных. Кроме того, описано применение данного алгоритма для решения задачи об ориентации космического аппарата.

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

Введение

На данный момент в математике большое внимание уделяется решению задач глобальной оптимизации. Решение данных задач необходимо в ходе проектирования конструкций летательных аппаратов, когда возникает необходимость оптимизации характерных параметров (вес, дальность полета, аэродинамические характеристики) и разработки систем управления, как отдельными элементами конструкции, так и объектом в целом.

В данной статье рассматривается решение задачи об ориентации космического аппарата (КА). В процессе полёта поддержание ориентации космического аппарата является наиболее распространённой задачей. В статье рассмотрен плоский вариант задачи: поворот КА производится в одной плоскости за счет вращения маховика, установленного внутри КА. В начальный момент времени угловая скорость КА и угол ориентации равны нулю. За счёт вращения маховика необходимо за конечное время привести угол ориентации КА к заданному значению, обнулив при этом угловую скорость [1,2].

Применение разработанного алгоритма целесообразно также для ряда других оптимизационных задач, таких как задача о стабилизации спутника (задача гашения вращательного движения спутника с помощью установленных на нем двигателей) [3], задача о перехвате (перехват ракетой цели), задача о стабилизации высоты летательного аппарата. Применение описанного в статье алгоритма значительно сокращает временные затраты, необходимые для решения подобных задач.

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

Термин «меметические алгоритмы» (МА) широко используется в качестве обозначения взаимодействия эволюционного или другого подхода, основанного на понятии популяции, и индивидуального обучения особей либо другой локальной процедуры улучшения решения для задач поиска глобального экстремума.

Теория «универсального дарвинизма», предложенная Ричардом Докинзом (Richard Dawkins) [4], полагает, что понятие эволюции применимо не только к биологическим системам, но и к любой сложной системе, которой присущи принципы наследования, изменения и селекции, т.е. все принципы развития. К примеру, наука меметика представляет собой аналог генетики в развитии культуры. Термин «мем» был введён Р.Докинзом как «единица передачи культурной информации, распространяемая от одной особи к другой посредством имитации, научения и др.» [5].

Термин «меметический алгоритм» был впервые предложен П.Москато (P.Moscato) в [6], где он рассматривал МА как гибрид генетического алгоритма и процедуры индивидуального обучения для уточнения решения задачи. На этапе индивидуального обучения решение (особь или её генотип) заменяется новым

(обученным) решением в случае, если новое решение имеет большую приспособленность независимо от остальной части популяции. Таким образом, происходит так называемое культурное развитие особи, которое затем передаётся её потомкам в течение последующих поколений.

В данный момент МА также называют гибридными эволюционными алгоритмами, эволюционными алгоритмами Болдуина (Baldwinian Evolutionary Algorithms), эволюционными алгоритмами Ламарка (Lamarckian Evolutionary Algorithms), культурными алгоритмами или генетическими алгоритмами локального поиска.

К первому поколению МА относятся алгоритмы-гибриды эволюционного подхода, используемого для глобального поиска, и культурной эволюционной составляющей. Хотя это поколение МА и включает в себя характеристики культурной эволюции (в форме локального уточнения решения) в цикле поиска, оно не до конца отвечает требованиям развивающейся системы в соответствии с идеей «универсального дарвинизма», так как все основные принципы: наследование (передача мемов), изменение и селекция отсутствуют. Это объясняет, почему термин МА вызвал критику и споры среди исследователей, когда впервые был предложен [6].

Второе поколение МА - это так называемые мульти-МА [7], гиперэвристические МА [8] и мета-МА Ламарка [9] (Meta-Lamarckian MA), которые проявляют принципы меметической трансмиссии и селекции в своих реализациях. В мульти-МА меметический материал кодируется как часть генотипа. Далее

декодированный мем каждой особи используется для локального уточнения решения. Меметический материал передаётся с помощью простого механизма наследования от родителей к потомкам. С другой стороны, в гипер-эвристических и мета-МА Ламарка кандидаты в мемы конкурируют между собой на основании их прошлых заслуг в локальном улучшении решения. Конкуренция мемов обеспечивается механизмом вознаграждения лучших мемов, на основании чего принимается решение о выборе того или иного мема для последующего уточнения решения задачи. Мемы с большим количеством наград имеют больше шансов на воспроизведение или копирование. Таким образом, МА второго поколения используют несколько методов индивидуального обучения особей в рамках эволюционной системы [10].

В качестве третьего поколения МА выделяют коэволюцию [11] и самогенерирующиеся МА [12]. Здесь выполнены все три принципа развивающихся систем согласно теории «универсального дарвинизма». В отличие от второго поколения МА, в которых предполагается, что используемые мемы известны изначально, третье поколение МА использует локальный поиск, основанный на некоторых правилах, для пополнения множества кандидатов в решение в рамках эволюционной системы, тем самым учитывая регулярно повторяющиеся структуры и черты данной области задач.

Меметические алгоритмы являются предметом интенсивных научных исследований и успешно применяются для множества реальных задач. Примерами таких задач служат: задача коммивояжёра, задача о назначениях, задача о

минимальной раскраске графа, задача упаковки в контейнеры. Более поздние применения включают в себя обучение искусственных нейронных сетей [13], распознавание образов [14], медицинские экспертные системы [15] и многое другое.

В разработанном алгоритме культурная эволюционная составляющая реализуется в ходе решения подзадачи оптимизации любым из двух методов: с помощью метода муравьиных колоний [16-18] или методом имитации отжига [17,19]. В ходе культурной эволюции информация о мемах используется для генерации более совершенной в терминах решаемой задачи особи.

Постановка задачи

Дана целевая функция f(х) = f,х2,...,хп), определённая на множестве

допустимых решений DcC Требуется найти условный глобальный минимум функции f (х) на множестве D , т.е. такую точку х* е D, что

f (/) = min f (х), (1)

xeD v J

где х = (Xj,х2,...,xn)T , D = {x | xt e[at,bt],i = 1,2,...,n} .

Задача поиска максимума функции f (х) сводится к задаче поиска минимума путем замены знака перед функцией на противоположный:

f (х*) = max f (х) = - min[^^f (х)]. (2)

xеD xеD v '

Функция f (х) может быть многоэкстремальной, поэтому искомое решение в общем случае неединственное.

Стратегия поиска решения

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

Рассматриваемая целевая функция f (x) эквивалентна природному понятию приспособленности живого организма. Каждый допустимый вектор x = (Xj,x2,...,xn)T e D является возможным решением поставленной оптимизационной задачи и называется особью. Генерируемое на каждой итерации алгоритма конечное множество решений (особей) называется популяцией.

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

Сначала формируется начальная популяция, состоящая из m особей

x1,x2,...,xm, при помощи равномерного распределения на множестве допустимых

решений. Для каждой особи популяции вычисляется значение функции

приспособленности (целевой функции f (x)), после чего список особей сортируется

от особи с наилучшей приспособленностью к особи с наихудшей

приспособленностью. Особь с наилучшей приспособленностью помещается в множество Pool. Далее путём последовательного перебора оставшихся особей из отсортированного списка находится наилучшая особь среди находящихся на достаточном расстоянии от особи, уже помещенной в множество Pool (расстояние должно превышать пороговое значение а). Она тоже помещается в множество Pool. Обе отобранные особи считаются мемами (текущее число мемов равно к = 2)

и обозначаются xlpo0l, xpoot.

Рассмотрим процедуру локального поиска. С использованием мемов из множества Pool решается задача условной минимизации целевой функции, в качестве аргумента которой будет выступать некоторая новая точка xnew -претендент в множество Pool:

г/ new\

f (x ) ^ min , (3)

— — ~ new l 2 к new тл . l 2 к _ n / .

где x = cx ,+ c0x ,+... + c,x ,; x e D; x ,,x .,...,x , e Pool;

^ l pool 2 pool к pool ' ' pool' pool' ' pool '

С,...,ct e С с ^к; C - множество допустимых значений коэффициентов cx,...,c^; к -текущее значение числа мемов в множестве Pool (2 < к < K).

Для нахождения наилучших значений коэффициентов cx,...,ck предлагается использовать непрерывный вариант метода муравьиных колоний [16] или метод имитации отжига [17]. Поскольку в стратегии используются сразу несколько эвристических процедур, метод является гибридным.

После решения задачи локального поиска полученная точка x new добавляется в множество Pool, и проверяется условие окончания заполнения этого множества.

Если к = K, процедура локального поиска, связанная с заполнением множества Pool, завершается. Если к < K, необходимо снова решить задачу минимизации функции f (xnew) с числом коэффициентов, большим на единицу, и

добавить в множество Pool полученную точку xnew.

После завершения заполнения множества Pool принимается решение о продолжении поиска. Если число выполненных итераций локального поиска не достигло максимального числа Мшах, то происходит обновление множества Pool. Сначала среди точек, находящихся в множестве Pool, выбирается точка с наилучшей приспособленностью, которая записывается на «лист памяти». Затем из множества Pool удаляются q наихудших решений. Оставшиеся решения проверяются на близость друг к другу, т.е. происходит проверка условия

d (хЛ, х/2)

V

X (Х/' - х/2)2 (4)

i='

где х*', х/2 е Pool, и наихудшее из двух близких решений удаляется из множества Pool.

После этого формируется новая популяция так же, как и начальная. Наилучшее решение в этой популяции добавляется в множество Pool. Далее реализуется процедура локального поиска.

В случае достижения максимального количества итераций Мшах из «листа памяти» выбирается наилучшая точка (с наилучшим значением функции приспособленности), которая считается приближенным решением задачи условной минимизации целевой функции.

Алгоритм

Шаг 1. Задать максимальное число итераций Mmax, размер популяции m, параметр а - пороговое значение расстояния между точками, K - максимальное количество элементов множества Pool, q - количество удаляемых решений из множества Pool на каждой итерации, область определения C коэффициентов С,..., ck, параметры метода муравьиных колоний или имитации отжига в зависимости от сделанного выбора. Положить к = 0 - количество элементов в множестве Pool; M = 0 - номер итерации.

Шаг 2. Формирование множества Pool.

Шаг 2.1. Случайным образом сформировать популяцию /м . Для этого с помощью равномерного распределения m раз сгенерировать последовательность из n случайных точек {PM,p}П=1, i =',...,n, p = ',2,...,m на отрезке [0,1]. Используя линейное преобразование, каждая точка отображается на соответствующий ей промежуток [at, bt ]:

Pp = (b. - a.)PM,p + a.. Составляя векторы из точек последовательности {Pp }П=1 при фиксированном p, получаем m начальных векторов xp = (х[,х2,...,xp)T, xp = Pp, i = ',2,...,n, координаты которых xp имеют равномерное распределение на отрезках [at, b ], i =', . ., n . Таким образом, может быть сформирована начальная популяция

/м = {xp,p = ',2,...,m | xp = (xp,xp,...,хП)T е .

Шаг 2.2. Вычислить значение функции приспособленности для каждой особи xp е /м : f = f (xp), p = 1,..., m. В соответствии со значениями

функции приспособленности f (xp) упорядочить векторы xp от лучшего xbest (обеспечивающего наименьшее значение f (xp)) к худшему (обеспечивающему наибольшее значение f (xp)).

Шаг 2.3. Лучшее решение xbest поместить в множество Pool. Положить xkp +ooi = xbest. Если M = 0, то перейти к шагу 2.4. Иначе перейти к шагу 3.

Шаг 2.4. Решение xj, следующее за xbest в упорядоченном списке и удовлетворяющее условию

d (xbest, xJ) =

V

n

X л / best i \ 2 . _

Z(Xb " x ) >a>

i=1

поместить в множество Pool. Положить

X p02l - X

1. Положить p = p о 2.

Если такого решения нет, то перейти к шагу 2.1. Шаг 3. Решение задачи локального поиска.

Шаг 3.1. Решить задачу нахождения нового решения xnew:

Л new \

X ) ^ min ,

Ci,C2,...,Cp

— — ~ new 1 2 p new тл . 1 2 P _ 7^» / .

где x = c,x , о c0x , о... о cx x e D; x ,,x .,...,x , e Pool;

^ 1 pool 2 pool p pool ' ' pool' pool' ' pool '

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

Шаг 3.2. Поместить xnew в множество Pool. Положить xp01 = xnew, p - p о 1.

Шаг 3.3. Если p < ^, то перейти к шагу 3.1.

11

Если к = K, перейти к шагу 4. Шаг 4. Обновление множества Pool.

Шаг 4.1. Упорядочить решения, находящиеся в множестве Pool, в соответствии со значениями функции приспособленности f (xjool), j =',...,K от лучшего к худшему. Наилучшее решение записать на «лист памяти».

Шаг 4.2. Положить M = M +'. Если M < Mmax, то перейти к шагу 4.3. Иначе выбрать наилучшее решение из «листа памяти» и закончить выполнение алгоритма.

Шаг 4.3. Удалить q наихудших решений из множества Pool, положить к = к - q.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Шаг 4.4. Удалить из множества Pool худшее из двух решений xj'ooPх/2оог,

находящихся слишком близко друг к другу, т.е. не удовлетворяющих условию:

л(хроо1, х];оо1) = ^ (хроо11 - хроо11 )2 > о; ух^, хроо1 е роо/,

каждый раз полагая к = к -1. Перейти к шагу 2. Замечание. Рекомендуемые значения параметров алгоритма: Мшах = 100 ^ 200;

m = 50 - '00; а = 0,00'; K = '0 - '5; q

K_ 2

; ck е [-5; 5].

n

Программное обеспечение

На основе предложенного алгоритма автором разработано программное обеспечение для поиска глобального минимума функций. Среда разработки -Microsoft Visual Studio, язык программирования - C#.

С помощью программного обеспечения пользователь может выполнять следующие действия: вводить параметры постановки задачи; задавать параметры метода; проводить серии решений одной и той же задачи с одинаковыми или различными значениями параметров алгоритма; получать статистические данные по проведенной серии решений.

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

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

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

алгоритма в миллисекундах), а также среднее и минимальное значения функции и среднеквадратическое отклонение в результате проведения 100 тестов. На рис. 3 показан вид окна при выборе метода имитации отжига для решения данной задачи.

и^ Меметичеосие алгоритмы

ED

Функции: 100*^-хЛ2)Л2+^-1)Л2 Переменные: х.у Область поиска: [-1 (Ю; 100>с[-100; 100]

П Пошаговый режим Функция Розенброка

Параметры меметического алгоритма Максимальное количество итераций Количество удаляемых решений

15

Размер популяции

5

Сигма

20 0,001

Максимальное кол-во эл-тов мн-ва Pool Интервал для коэффициентов с_к

10

Результат работы алгоритма

[-5:5]

х* = D,397739532393379 х 0.993979592997392 F&0 - D.HM2622S29M128693 memetictime: 1402

Параметры метода муравьиных колоний Параметры метода имитации отжига Число муравьев в популяции кси

3D

D.S5

Размер архива

20 0.0001

Максимальное количество итераций

25 Анализ эффективности

Запустить меметический алгоритм

Анализ эффективности

average: 0,000325210251770037 F min: 5.76857725635323Е-07 sigma: D,DDD46339D8D7G83521

Рис. 1. Окно программы при выборе метода муравьиных колоний в качестве метода

решения задачи локального поиска

Рис.2. Окно программы при выборе метода имитации отжига в качестве метода

решения задачи локального поиска

Кроме того, имеется возможность для функций одной и двух переменных

просмотра пошаговой работы алгоритма, а

- графического представления результатов 14

его работы. На рис. 4 показано графическое представление и пошаговый вывод работы метода для функции Розенброка.

Рис. 3. Окно графического представления работы меметического алгоритма.

Первая итерация

На рисунках изображены линии уровня исследуемой функции. На первом рисунке точками изображаются особи сформированной популяции 1М; ромбом -наилучшая особь популяции, попавшая в множество Pool; треугольником - особь, следующая за лучшей в упорядоченном списке и находящаяся на расстоянии, большем а, также попавшая в множество Pool. На втором рисунке точками изображаются особи из множества Pool , а ромбом - особь, полученная решением задачи локального поиска. На третьем рисунке точками изображаются особи из множества Pool после его заполнения (к = K), квадратом выделена лучшая особь, попавшая в «лист памяти». На следующем рисунке изображаются точки, оставшиеся в множестве Pool после всех удалений. На пятом рисунке изображаются особи, находящиеся в «листе памяти» на текущей итерации, лучшая

из них выделяется ромбом. На последнем рисунке изображается сгенерированная популяция на следующей итерации алгоритма, ромбом выделяется точка, попавшая в Pool. В правой части окна представлен список особей, попавших в «лист памяти» на каждой из просмотренных итераций, а также значение целевой функции в точках с этими координатами.

На рис. 5 представлена последняя итерация работы алгоритма. Наилучшая точка из «листа памяти» (являющаяся ответом):

х = 0,996172623873161;у = 0,991837895197196. Значение функции в этой точке: f (x,y) = 0,00004189735 . Данная точка достаточно близка к точному ответу задачи: x* = y * = 1, f (x\ y *) = 0.

1 Информация об алгоритме

151

Сформированная популяция, лучшие точки

Итерация № 30 ■ / I • . ¡И

t\v Ж

Множество Pool, особь, полученная решением задачи локального поиска

Особи,

Множество Pool после всех удалений

Ишрация N" 30 ' * / /

к А

I I

Итерация № 30 ■

i / ♦

Â

'Листпамяти", лучшая точка из "листа

Итерации № 30 ' Ф

к А

Итерация № 30 ■ ■

к А

Сформированная популяция, лучшая точка

Конец работы алгоритма

Итерация N5 30

х1 = 0.996172623873161 х 0.991837895197196

F(x1) = 4,18973497021056Е-05

х2 = 0.ЭЭ6172623873161 х 0.ЭЭ1837895197196

ftx2) = 4.18973497021056Е-05

хЗ = 0,996172623873161 х 0,991837895197196

f(x3) = 4.18973497021G56E-05

х4 = D.996172623873161 х 0.991837895197196

f(x4) = 4.18973497021056Е-05

х5 = 0,996172623873161 х 0,991837895197196

f(x5) = 4.18973497021056Е-05

хб = 0,996172623873161 х 0,991837895197196

f(xG) = 4.18973497021056Е-05

х7 = 0,996172623873161 х 0.991837895197196

f(x7) = 4,18973497021056Е-05

х8 = 0,996172623873161 х 0,991837895197196

Г(х8) = 4.18973497021056E-Q5

х9 = 0,996172623873161 х 0,991837895197196

f(x9) = 4.18973497021056Е-05

хЮ = 0.ЭЭ6172623873161 х 0.ЭЭ18378Э51Э71Э6

1(х10) = 4.18973497021056Е-05

х11 = 0.996172623873161 х 0.991837895197196

ftx1 1) = 4.18973497021056Е-05

х12 = 0.996172623873161 х 0.991837895197196

ffc12) = 4.1897349702105SE-05

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

х13 = 0.996172623873161 х 0.991837895197196

f(x13) = 4.1897349702105GE-05

х14 = 0.996172623873161 х 0.991837895197196

f(x14) = 4.18973497021056Е-05

х15 = 0.996172623873161 х 0.991837895197196

f(x15) = 4.18973497021056Е-05

х16 = 0.996172623873161 х 0.991837895197196

Г(х16) = 4.18973497021056Е-05

х17 = 0,996172623873161 х 0.991837895197196

Ffccl 7) = 4.18973497021056Е-05

х18 = 0.996172623873161 х 0.991837895197196

Номер итерации: [30

Рис. 4. Окно графического представления работы меметического алгоритма.

Последняя итерация

Рекомендации по выбору параметров метода

Максимальное количество итераций Мшах определяет, как долго будет

продолжаться поиск новых решений. Чем больше Мтах, тем более точным будет

решение, если при этом другие параметры алгоритма подобраны подходящим

16

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

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

Максимальное количество K элементов множества Pool существенно увеличивает время работы алгоритма, однако не сильно влияет на точность результатов его работы. В связи с этим не следует выбирать данный параметр слишком большим. Рекомендуемые значения данного параметра: 10 ^ 15.

Количество удаляемых решений q из множества Pool. Увеличение количества удаляемых решений влияет на качество исследования множества допустимых решений, а, следовательно, положительно сказывается на точности, но существенно снижает скорость работы алгоритма. При незначительных изменениях количества удаляемых элементов (в сравнении с числом элементов самого множества Pool ) точность полученного решения практически не изменяется. В связи с этим рекомендуется выбирать количество удаляемых решений, равное

приблизительно K.

Пороговое значение близости между решениями а влияет на количество

удаляемых из множества Pool решений при завершении его заполнения, а также на

то, насколько близко будут расположены особи, добавляемые в это множество при

его формировании. Большое значение параметра может негативно повлиять на

17

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

Интервал для коэффициентов с^ (при выборе метода муравьиных колоний)

влияет на качество исследования множества допустимых решений и вероятность отыскания глобального экстремума. Расширение интервала незначительно увеличивает время работы алгоритма. В то же время слишком маленький интервал может не позволить эффективно определить новое решение х"е№. Рекомендуемый интервал для коэффициентов ^: [-5; 5].

Тестовые примеры. Анализ эффективности метода Во всех примерах, приведенных ниже, проводились серии из 100 решений одной и той же задачи с одними и теми же значениями параметров. Для полученной

__I 100

выборки {/ \ /2,..., /100} вычислялись выборочное среднее / =-^ и

100 г=1

_ 1=- - 1 100 —

среднеквадратическое отклонение с/ =У£ 100 , S100 =—^ (/' - /)2. Для опытов с

99 '=1

использованием метода муравьиных колоний ^ е [-5; 5]. Пример 1. Целевая функция (функция Экли):

/(х,у) = -20exp(-0,2^0,5(х2 + у2) ) - exp(0,5(^2^х + ) + 20 + е ,

область поиска В = [-100:100]х[-100;100]. Точное решение: х* = у* = 0 ,

/ (х*, у *) = 0. Результаты решения примера отражены в табл. 1 и 2.

Рис.5. Линии уровня и график функции Экли Влияние параметров меметического алгоритма (при использовании

Таблица 1

Параметры меметического алгоритма Параметры метода муравьиных колоний / / ^ наим а

М тах т К Ч а т г К £ Ч

25 20 10 5 0,001 20 10 10 0,85 0,0001 0,08557 0,00144 0,16113

25 20 10 5 0,1 20 10 10 0,85 0,0001 0,09604 0,0008 0,10876

50 20 10 5 0,1 10 5 20 0,85 0,0001 0,00146 0 0,00191

25 50 10 5 0,1 10 5 20 0,85 0,0001 0,00156 0 0,00277

25 30 20 5 0,1 10 5 20 0,85 0,0001 0,14108 0 0,51175

Влияние параметров меметического алгоритма (при использовании

Таблица 2

Параметры меметического алгоритма Параметры метода имитации отжига / / Л наим а

М тах т К Ч а N Т 1 0 С Р

25 20 10 5 0,001 1000 1000 0,85 0,95 1,57947 0,1972 0,82634

25 20 10 5 0,001 3000 100 0,85 0,95 1,47809 4,44Е-16 0,84828

25 20 10 5 0,01 3000 10 0,85 0,9 0,050997 4,44Е-16 0,27062

25 20 10 5 0,1 4000 5 0,85 0,9 3,29Е-06 4,44Е-16 2,27Е-05

25 20 10 5 0,1 4000 5 0,88 0,99 0,087762 0 0,398621

30 50 10 5 0,1 2000 5 0,88 0,9 2,54Е-07 4,44Е-16 1,93Е-06

Пример 2. Целевая функция (функция Растригина):

/(х,у) = 20 + х2 + у2 -10(еов2^х + со$2жу),

область поиска В = [-100:100]х[-100;100]. Точное решение:

/ (х*, у *) = 0. Результаты решения примера отражены в табл. 3 и 4.

х

У

Рис.6. Линии уровня и график функции Растригина Влияние параметров меметического алгоритма (при использовании

Таблица 3

Параметры меметического алгоритма Параметры метода муравьиных колоний / ^ наим а

М тах т К Ч а т г К £ Ч

25 20 10 5 0,001 20 10 10 0,85 0,0001 0,13434 0,00056 0,17866

25 20 10 5 0,1 20 10 10 0,85 0,0001 0,18627 0,00005 0,23419

50 20 10 5 0,1 10 5 20 0,85 0,0001 0,00092 0 0,00195

25 50 10 5 0,1 10 5 20 0,85 0,0001 0,00808 0 0,02686

25 30 20 5 0,1 10 5 20 0,85 0,0001 0,04004 0 0,06817

Влияние параметров меметического алгоритма (при использовании

Таблица 4

Параметры меметического алгоритма Параметры метода имитации отжига / с/ наим а

М тах т К Ч а N Т 1 0 с Р

25 20 10 5 0,001 1000 1000 0,85 0,95 0 0 0

25 20 10 5 0,001 3000 100 0,85 0,95 0 0 0

25 20 10 5 0,01 3000 10 0,85 0,9 0 0 0

25 20 10 5 0,001 100 100 0,85 0,95 3,62271 0,375716 2,078148

25 20 10 5 0,001 500 100 0,85 0,95 8,59Е-06 3,83Е-09 7,24Е-05

15 20 10 5 0,001 800 10 0,85 0,95 0,059713 0 0,237476

Пример 3. Целевая функция (функция Швефеля):

/(х,у) = -837,9658 - х • б1п - у • ,

область поиска В = [-100:100]х[-100;100]. Точное решение: х* = у* = 420,96, /(х*,у*) = -837,9658 . Результаты решения примера отражены в табл. 5 и 6.

Рис.7. Линии уровня и график функции Швефеля Влияние параметров меметического алгоритма (при использовании

Таблица 5

Параметры меметического алгоритма Параметры метода муравьиных колоний / с/ наим а

М тах т К Я а т г К 4 Я

25 20 10 5 0,001 20 10 10 0,85 0,0001 -645,82356 -829,78406 99,53866

150 40 20 10 0,1 20 10 10 0,85 0,0001 -762,13255 -837,4895 59,63854

200 20 5 3 0,1 20 10 10 0,85 0,0001 -757,67882 -837,69154 53,37359

300 20 5 3 0,001 10 5 10 0,85 0,0001 -777,00427 -832,6224 42,75873

1000 10 5 3 0,001 10 5 10 0,85 0,0001 -819,89811 -837,85295 16,14568

2500 10 5 3 0,001 10 5 10 0,85 0,0001 -832,9426 -837,9433 5,0068

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Влияние параметров меметического алгоритма (при использовании

Таблица 6

Параметры меметического алгоритма Параметры метода имитации отжига / с/ наим а

М тах т К Я а N Т 1 0 с Р

10 20 10 5 0,1 300 1000 0,85 0,95 -722,014 -837,284 73,239

10 20 10 5 0,1 500 1000 0,85 0,95 -719,542 -837,165 77,739

20 20 10 5 0,1 500 1000 0,85 0,95 -764,601 -836,493 51,03

50 20 10 5 0,1 100 1000 0,85 0,95 -798,928 -837,794 34,909

50 100 20 10 0,01 250 1000 0,7 0,9 -830,55 -837,955 7,801

Для функции Швефеля алгоритм показывает менее точные результаты, что объясняется крайне сложной и многоэкстремальной структурой функции. Для таких функций параметр а не следует выбирать слишком большим. Пример 4. Целевая функция (функция Букина №6)

/(х, у) = 100^1 у - 0,01*21 + 0,01-1 х +101,

область поиска В = [-100:100]х[—100;100]. Точное решение:х* I (х*, у *) = 0. Результаты решения примера отражены в табл. 7 и 8.

= —10, у* = 1,

Рис.8. Линии уровня и график функции Букина №6 Влияние параметров меметического алгоритма (при использовании

Таблица 7

Параметры меметического алгоритма Параметры метода муравьиных колоний I I ^ наим а

М тах т К Я а т г К 4 Я

25 20 10 5 0,001 20 10 10 0,85 0,0001 4,74811 0,36169 3,03991

25 20 10 5 0,1 20 10 10 0,85 0,0001 5,01667 0,6558 2,86372

100 10 5 3 0,1 10 5 10 0,85 0,0001 2,46723 0,25467 1,42307

200 10 5 3 0,1 10 5 10 0,85 0,0001 1,86747 0,1201 1,07266

500 10 5 33 0,01 10 5 10 0,85 0,0001 0,95661 0,12441 0,50721

Влияние параметров меметического алгоритма (при использовании

Таблица 8

Параметры меметического алгоритма Параметры метода имитации отжига I Л наим а

М тах т К Я а N Т 1 0 с Р

25 20 10 5 0,01 250 1000 0,7 0,9 0,265 0,023 0,339

25 20 10 5 0,01 250 1000 0,7 0,8 1,022 0,016 2,436

25 20 10 5 0,01 250 1000 0,7 0,99 6,943 0,215 3,421

25 20 10 5 0,01 250 1000 0,85 0,9 0,494 0,046 1,529

50 20 10 5 0,01 200 1000 0,7 0,9 0,523 0,025 0,36

Данные, приведенные в табл. 1-8, показывают, что алгоритм сконструирован достаточно хорошо, и приемлемые результаты достигаются за небольшое количество итераций.

Пример 5. Задача об ориентации космического аппарата.

С помощью описанного алгоритма была решена задача об ориентации космического аппарата. Рассмотрим плоский вариант задачи ориентации космического аппарата (КА): поворот КА производится лишь в одной плоскости за счет вращения маховика, установленного внутри КА. На вал маховика подается вращательный момент М, который сообщает ему угловое ускорение 0. Таким образом, JMQ =М, где Jм - момент инерции маховика. Согласно закону сохранения

кинетического момента КА: —ÍJMQ + J0(Л = 0, где J0 - момент инерции КА, ср -

угол ориентации. Тогда из последнего равенства следует, что JMQ = = М. Величину, пропорциональную вращательному моменту М, взятую с обратным

М

знаком, примем за сигнал управления и =--.

•0

Введем обозначения для составляющих вектора состояния: х1 ) = ф, х2(7) = ф, тогда хД/) = х2(7) , х2(7) = и(7). Функционал качества управления:

tN

I = | и.

к

Допустим, что в начальный момент времени ^ = 0: х1 (^) = х2 (^) = 0, в конечный момент времени ^ = 1: х1 (^) = ж, х2(^) = 0 .Тогда оптимальное управление, полученное с помощью принципа максимума: и) = -12^ + 6ж . Точное значение критерия: I* = 12^2 «118,435 .

Для решения данной задачи используемый функционал качества управления с помощью метода дискретизации Рунге-Кутты и численного интегрирования был

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

На рис. 9 изображены результаты (управление и траектории), полученные меметическим алгоритмом, (сплошная линия) и точное решение задачи (штриховая линия). Полученное с помощью алгоритма значение критерия: I = 118,739. Точное

значение критерия: I* = 12^2 «118,435 .

Рис. 9. Результаты работы алгоритма для задачи об ориентации космического

аппарата

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

Заключение

В работе предложен меметический алгоритм для решения задач поиска

условного глобального экстремума функций. Решение данного рода задач зачастую

востребовано в ходе проектирования конструкций летательных аппаратов, когда возникает необходимость оптимизации характерных параметров (вес, дальность полета, аэродинамические характеристики) и при разработке систем управления, как отдельными элементами конструкции, так и объектом в целом. В работе также реализован программный комплекс, позволяющий применять разработанный алгоритм для различных функций, а также проводить анализ эффективности его работы. Эффективность метода продемонстрирована на нескольких модельных примерах, обладающих как простой, так и сложной структурой линий уровня. Кроме того, описано применение данного алгоритма для решения задачи об ориентации космического аппарата.

Библиографический список

1. Попов В.И. Системы ориентации и стабилизации космических аппаратов -М.: Машиностроение, 1986. - 184 с.

2. Раушенбах Б.В., Токарь Е.Н. Управление ориентацией космических аппаратов - М.: Наука, 1974. — 600 с.

3. Крылов И.А. Численное решение задачи об оптимальной стабилизации спутника // Журнал вычислительной математики и математической физики: 1968. Т.8, №1, С.203-208.

4. Dawkins R. Universal Darwinism in D.S. Bendall (ed.), Evolution: From Molecules to Men, Cambridge University Press, Cambridge, 1983, P. 403-425.

5. Dawkins R. The Selfish Gene. Oxford University Press, 1976, 192 p.

6. Moscato P. On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic Algorithms // Caltech Concurrent Computation Program (report 826), 1989.

7. Krasnogor N. Coevolution of genes and memes in memetic algorithms. Graduate Student Workshop. 371 p.

8. Kendall G., Soubeiga E., Cowling P. Choice function and random hyperheuristics // 4th Asia-Pacific Conference on Simulated Evolution and Learning, SEAL 2002, P. 667671.

9. Ong Y.S., Keane A.J. Meta-Lamarckian learning in memetic algorithms // IEEE Transactions on Evolutionary Computation. V.8 (2), 2004. P. 99-110.

10. Ong Y.S., Lim M.H., Zhu N., Wong K.W. Classification of Adaptive Memetic Algorithms: A Comparative Study // IEEE Transactions on Systems Man and Cybernetics, Part B. 36 (1): 141.

11. Smith J.E. Coevolving Memetic Algorithms: A Review and Progress Report // IEEE Transactions on Systems Man and Cybernetics - Part B 37 (1), 2007. P. 6-17.

12. Krasnogor N., Gustafson S. Toward truly "memetic" memetic algorithms: discussion and proof of concepts, Advances in Nature-Inspired Computation: the PPSN VII Workshops. PEDAL (Parallel Emergent and Distributed Architectures Lab), University of Reading, 2002.

13. Ichimura T., Kuriyama Y. Learning of neural networks with parallel hybrid GA using a royal road function // IEEE International Joint Conference on Neural Networks. 2. New York, NY, 1998. pp 1131-1136.

14. Aguilar J., Colmenares A. Resolution of pattern recognition problems using a hybrid genetic/random neural network learning algorithm// Pattern Analysis and Applications. V. 1 (1), 1998. pp. 52-61.

15. Wehrens R., Lucasius C., Buydens L., Kateman G. HIPS, A hybrid self-adapting expert system for nuclear magnetic resonance spectrum interpretation using genetic algorithms// Analytica Chimica ACTA. V. 277 (2), 1993. pp. 313-324.

16. Dorigo M., Socha K. Ant colony optimization for continuous domains // European Journal of Operational Research. V. 185, 2008. pp. 1155-1173.

17. Пантелеев А.В. Метаэвристические алгоритмы поиска глобального экстремума. - М.: Изд-во МАИ-ПРИНТ, 2009. - 129 c.

18. Пантелеев А.В., Алешина Е.А. Применение непрерывной модификации метода муравьиных колоний к задаче поиска оптимального управления дискретными детерминированными системами // Научный вестник МГТУ ГА. 2013. Вып. 194(8). С. 47- 54.

19. Пантелеев А.В., Дмитраков И.Ф. Анализ сравнительной эффективности метода имитации отжига для поиска глобального экстремума функций многих переменных // Научный Вестник МГТУ ГА.2009. Вып. 145(8). C. 26-31.

20. Пантелеев А.В., Письменная В.А. Применение меметического алгоритма в задаче поиска оптимального программного управления нелинейными непрерывными детерминированными системами // Авиакосмическое приборостроение - М.: 2014. №3. С. 26-34.

i Надоели баннеры? Вы всегда можете отключить рекламу.