Научная статья на тему 'Решение задачи о переводе спутника между орбитами с помощью гибридного меметического алгоритма'

Решение задачи о переводе спутника между орбитами с помощью гибридного меметического алгоритма Текст научной статьи по специальности «Математика»

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

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

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

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

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

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

SOLUTION OF THE SATELLITE TRANSFER PROBLEM WITH HYBRID MEMETIC ALGORITHM

This paper presents a hybrid memetic algorithm (MA) to solve the problem of finding the optimal program control of nonlinear continuous deterministic systems based on the concept of the meme, which is one of the promising solutions obtained in the course of implementing the procedure for searching the extremes. On the basis of the proposed algorithm the software complex is formed in C#. The solution of satellite transfer problem is presented.

Текст научной работы на тему «Решение задачи о переводе спутника между орбитами с помощью гибридного меметического алгоритма»

УДК 517.977.58

РЕШЕНИЕ ЗАДАЧИ О ПЕРЕВОДЕ СПУТНИКА МЕЖДУ ОРБИТАМИ С ПОМОЩЬЮ ГИБРИДНОГО МЕМЕТИЧЕСКОГО АЛГОРИТМА1

А.В. ПАНТЕЛЕЕВ, В.А. ПИСЬМЕННАЯ

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

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

Введение

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

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

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

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

Второе поколение МА использует принципы меметической трансмиссии и селекции в своих реализациях. В таких МА меметический материал кодируется как часть генотипа. Далее декодированный мем каждой особи используется для локального уточнения решения. Меметический материал передаётся с помощью простого механизма наследования от родителей к потомкам.

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

В разработанном алгоритме культурная эволюционная составляющая реализуется в ходе решения подзадачи оптимизации любым из двух методов: с помощью метода муравьиных колоний [5; 10] или методом имитации отжига [6; 10]. В ходе культурной эволюции информация о мемах используется для генерации более совершенной в терминах решаемой задачи особи. В качестве процедур улучшения решения используются метод покоординатного поиска и перекомпоновки пути (path-relinking).

1 Работа выполнена при финансовой поддержке РФФИ (проект № 12-08-00892-а).

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

Поведение модели объекта управления описывается дифференциальным уравнением x = f (t, x(t), u(t)), где x - вектор состояния системы, x e Rn; u - вектор управления,

u = (Uj,...,uq) eU ^ Rq; U - множество допустимых значений управления, представляющее

собой прямое произведение отрезков [ai, bi ], i = 1,2,..., q ; t - непрерывное время, t eT = [t0, tN ],

начальный t0 и конечный tN моменты времени заданы; f(t,x,u) = (f1(t,x,u),...,fn(t,x,u))T -непрерывно-дифференцируемая вектор-функция.

Начальное состояние системы задано: x(t0) = x0. Ограничения на конечное состояние: xj (t N) = xjN, где j = 1,..., l ;0 < l < n . Предполагается, что при управлении используется информация только о непрерывном времени t, т.е. применяется так называемое программное управление.

Множество допустимых процессов D(t0, x0) - это множество пар d = (x(t), u(t)), включающих траекторию x(t) и кусочно-непрерывное управление u(t), u(t) e U, удовлетворяющих дифференциальному уравнению, начальному условию, а также ограничениям на конечное состояние.

На множестве допустимых процессов определен функционал качества управления

tN

I(d) = |f0(t,x(t),u(t))dt + F(x(tN)), где f 0(t,x,u), F(x) - заданные непрерывные функции.

t0

Требуется найти такую пару d* = (x*(t), u (t)) e D(t0, x0), что I(d*) = min I(d) .

deD (t0, x0)

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

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

Выберем N точек из отрезка [t0, tN ], в которых будем искать оптимальное дискретное

управление. Пусть t0 = 0, тогда h = — - величина шага. В результате получим равномерную

сетку {0,h,2h,...,Nh}. Управлению u(t) будет соответствовать дискретное управление u (•) = {u (0), u (1),..., u (N -1)}, где u(t) = u (th), t = 0,1,..., N -1. Дифференциальные уравнения модели объекта управления приближенно заменяются разностными с помощью численных методов [7].

Перейдем от функционала Больца к функционалу Майера. Для этого введем дополнитель-

dx, (t) 0

ную компоненту вектора состояния следующим образом: -— = f (t, x(t), u(t)) . Начальное

dt

условие для этой компоненты имеет вид xn+j (t0) = 0 . Таким образом, получаем расширенный вектор состояния x = (xj,..., xn, xn+j) e R"+1.

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

Функционал качества управления исследуемой системой примет вид:

i

I(u(0), u (1),..., u(N -1)) = xn+i(tN) + F (x(tN)) + ^ Rj [ Xj (tN) - х]гЫ ]2, где Д,..., R - параметры

i=1

штрафа, tN = Nh. Данный функционал будет являться целевой функцией в рассматриваемой

задаче. Выбору подлежит вектор u = (u(0), u(1),...,u(N - 1))г , который соответствует дискретному управлению u (•) = {u (0), u (1),..., u (N -1)} .

Для оптимизации критерия будем использовать меметический алгоритм, который применим к решению задачи оптимизации целевой функции f (х) = f (х1,х2,...,xn) , определенной на

множестве допустимых решений D = {х | xt e[at, bi ], i = 1,2,..., n} ^ Rn, и позволяет найти ее

условный глобальный минимум на заданном множестве, т.е. такую точку х* е D, что f (х) = min f (х).

xеD

Для удобства изложения заменим вектор (содержащий всю информацию об управлении)

u = {u(0\u{\\...,u(N-\))T =(i/1(0),...,i/9(0);i/1(1),...,i/9(1);...;i/1(^-1),...,i/9(^-1))7' на вектор

« = («M,...,M^,M2jl,...,M2ii>...sMVJ,..., UNJ = {uvu1,...,uNq)T (заметим, что здесь й..=и.(1-\)Е[а.;Ь.]).

Обозначим через U множество допустимых векторов u, координаты которых удовлетворяют приведенным ограничениям. Тогда задачу можно сформулировать следующим образом: требуется найти такой вектор и , что 1{и ) = min 1(и).

иеи

Рассматриваемая целевая функция /(и) эквивалентна природному понятию приспособленности живого организма. Чем меньше значение целевой функции, тем более приспособлен организм. Каждый допустимый вектор й = = (ul>u2,...,uNq)T EUX= -'Xn? E d

является возможным решением поставленной оптимизационной задачи и называется особью. Генерируемое на каждой итерации алгоритма конечное множество решений (особей) называется популяцией.

Стратегия поиска решения предлагаемым меметическим алгоритмом включает процедуры создания начальной популяции, формирования множества Pool, содержащего «хорошие» решения; реализацию локального поиска, механизм обновления множества Pooi , процедуру path-relinking [8] для улучшения имеющихся решений путем выделения взаимосвязей между элементами множества Pool, а также процедуру покоординатного уточняющего поиска.

3. Алгоритм

Шаг 1. Задание параметров. Задать максимальное число итераций Mmax; размер популяции m ; параметр ° - некоторый порог расстояния между решениями; К - характерное количество элементов множества Pool; P - количество направляющих решений процедуры path-relinking; IM - количество повторений в уточняющем поиске; q - количество удаляемых решений из множества Pool на каждой итерации; область определения C коэффициентов c1,...,ck; параметры метода муравьиных колоний или имитации отжига в зависимости от сделанного выбора. Положить k = 0 - количество элементов в множестве Pool; M = 0 - номер итерации. Шаг 2. Формирование множества Pool.

Шаг 2.1. Случайным образом сформировать популяцию 1м. Для этого с помощью равномерного распределения m раз сгенерировать последовательность из N ■ q случайных значений {PM,p }, i = 1,..., N; i = 1,..., q; p = 1,2,..., m на отрезке [0,1]. Используя линейное преобразова-

ние, каждое значение отображается на соответствующий ему промежуток множества допустимых значений управления[аг ; рр = [¿> - а/ + а/. Составляя векторы из элементов последовательности {рр}, г = 1,...,N; у = 1,...,q при фиксированном значении р , получаем т начальных векторов ыр = (й^,...,йр^)Т, мр = Р!\ / = 1,2,...,N, / = 1, . Таким образом может

быть сформирована начальная популяция = {йр, р = 1,2,...,/« | йр = (йр,йр,...,йр )т Е £/}.

Шаг 2.2. Вычислить значение функции приспособленности для каждой особи йр Е У¥ : = 1{йр), р = \,...,тп. В соответствии со значениями функции приспособленности }^

упорядочить решения йр от лучшего (обеспечивающего наименьшее значение 1 ) к худшему

(обеспечивающему наибольшее значение I ).

^'"'хЬез: поместить в множество Роо! . Положить н*+1 , = йЬеь!■

pool

Шаг 2.3. Лучшее решение й Если М = 0 , то перейти к шагу 2.4. Иначе перейти к шагу 3.

Шаг 2.4. Решение й\ следующее за Г/'4'"' в упорядоченном списке и удовлетворяющее

Nq

условию d(uhe!<t,iij) = - Щ)2>о, поместить в множество Pool. Положить

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

йш , = й}.

pooi

Шаг 3.1. Решить задачу I(uim) min , где ünew = +c2üzpmA + ..лскйкртА; и"

с, .г ,

сх,...,ск е С; й ы,й г...,й ы Е Роо1 с1' ■■■ 'ск е с . Для решения этой задачи применить метод муравьиных колоний или метод имитации отжига.

Шаг 3.2. Поместить в множество Pool. Положить иш = а''" "', к = к + 1.

pool

Шаг 3.3. Если ^ < К т0 перейти к шагу 3.1. Если к = К ^ перейти к шагу 4. Шаг 4. Процедура перекомпоновки пути (path-relinking).

Шаг 4.1. Упорядочить решения, находящиеся в множестве Pool в соответствии со значениями функции приспособленности 1(й' j = 1, ...,К, от лучшего к худшему.

K-2

Шаг 4.2. Генерация подмножеств. Создать T = ^ j подмножеств типа

^ pool ^ ^pool }

^' pool * ^ роо!' ^ pool J

, где

г = 1,...,К -2, ] > г.

Шаг 4.3. Для каждого из созданных на шаге 4.2 подмножеств

Шаг 4.3.1. Сгенерировать Р решений {и1рг,...,иррг}, где

pool *

выполнить:

и =и ,+-

pr pool | р <

Шаг 4.3.2. Из решений {и1рг,...,иррг} выбрать решение ирг, которое соответствует наименьшему значению среди ),] = I,...,/*.

Шаг 4.3.3. Сгенерировать Р решений где

и. = и

pi' pr

(

/+1 * и . — и

pool ру

j=1,..., P.

Шаг 4.3.4. Из решений jw1 ,...,йг j выбрать решение и , которое соответствует наименьшему значению из I(ûJ ),j = 1,...,Р.

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

Шаг 4.3.5. Добавить решение и в множество Pool, положить к = к +1.

Шаг 5. Процедура интенсивно-уточняющего поиска по координатам. Для каждого решения й' = (ùf ,...,й!)Т из множества Pool выполнить следующие шаги.

Шаг 5.1. Задать номер цикла w = 1 и величину смещения А = (IM + 1)- о.

Шаг 5.2. Задать номер исследуемой координаты y = 1.

Шаг 5.3. Найти решения й'_ = - и й'+ = + Д,...,Й^)Г.

Шаг 5.4. Если /(й;) < /(й;), то заменить ûJ на й; и перейти к шагу 5.3; если /(й;) > /(й;), то перейти к шагу 5.5.

Шаг 5.5. Если /(ir ) < I{ w ), то заменить îij на uJ+ и перейти к шагу 5.3; если /(й^) > /(й;), то перейти к шагу 5.6.

Шаг 5.6. Увеличить y на единицу. Если y > Nq, то увеличить w на единицу и перейти к шагу 5.7. В противном случае перейти к шагу 5.3.

Шаг 5.7. Если w > IM, то перейти к шагу 6. В противном случае положить А = А - о и перейти к шагу 5.2.

Шаг 6. Обновление множества Pool.

Шаг 6.1. Упорядочить решения, находящиеся в множестве Pool, в соответствии со значениями функции приспособленности 1(й' 7 = 1,...,к от лучшего к худшему. Наилучшее решение записать на лист памяти.

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

Шаг 6.3. Удалить Q + T наихудших решений из Pool, положить к = к - Q - T .

Шаг 6.4. Удалить из множества Pool худшее из двух решений й^оо],й'^ооР находящихся слишком близко друг к другу, т.е. не удовлетворяющих условию:

d(û'1 ,,îti2 ,) = jy(uJl ,.-uJl ,.)2>a, VwJl ,,u'2 ,, каждый раз полагая к = к -1. Перейти к шагу 2.

^ pool pool/ Л I / t poon pooli/ pool pool 1 1 J

V ¿=i

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

На основе предложенного алгоритма разработан комплекс программ для поиска оптимального управления непрерывными детерминированными системами. Среда разработки -Microsoft Visual Studio, язык программирования - C#. C помощью программного обеспечения пользователь может вводить параметры постановки задачи, а также задавать параметры меме-тического алгоритма и метода решения задачи локального поиска. В программе имеется возможность выбора метода решения задачи локального поиска: муравьиных колоний (непрерывный вариант) либо имитации отжига (рис. 1).

Рис. 1. Главное окно комплекса программ 5. Решение задачи о переводе спутника между орбитами

Пусть движение спутника описывается системой дифференциальных уравнений [9]:

Х^ — х,, х, — ■ х^ , X,

ы 2 * * хЛ

У _ _ь_у _ у

Ai 1 А4 лТ,1

X,

где Xj = г - радиус-вектор от притягивающего центра; х, = г - скорость изменения радиус-вектора; дг = ф — скорость изменения угла поворота радиус-вектора; х4 = ф - угол поворота радиус-вектора.

Начальное состояние системы - x(0) = (1; 0; 1; 0,785)T, конечное состояние -

х(17,2 ) = (1; 0; 1; 17,2) = х , tN = 17,2 . Требуется перевести спутник из заданного начального состояния в заданное конечное при помощи выбора управления, удовлетворяющего ограничению Vt u (t) е {-0,005; 0; 0,005} , описывающему трехпозиционное реле.

4 2

Функционал качества управления терминальный I = ^ (xk (tN ) - х* ) ^ min .

k=1

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

х1=х2.

1

Х2 ~ ' Хт, 2 '

-0,005 т(и)-2-

=

х2'Х3

где r (u) - релейная функция, определяемая следующим образом

> )=

-1, 0 < u <-, 3

^ 1 2

0, -<u <-, 3 3

2

1, -<u < 1.

3

В полученной задаче ограничение на управление выглядит следующим образом: : и (/)е[0;1]. Управление и траектории системы, найденные в [9], изображены на рис. 2; величина функционала составляет 0,00024.

Рис. 2. Результаты решения задачи, полученные в [9]

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

итераций А/тах = 107; размер популяции m ; порог расстояния между точками ° ; максимальное количество элементов множества Pool К количество удаляемых решений из множества Pool Ч ; область определения коэффициентов с1,...,ck C = [—1; 1], IM = 10, P = 5.

Параметры метода имитации отжига: максимальное количество итераций N = 50, начальная температура T0 = 1; параметр закона распределения Больцмана C = 0,85 ; параметр уменьшения температуры в = 0,8.

Рис. 3. Результаты решения задачи, полученные гибридным меметическим алгоритмом

Метод дискретизации - метод Эйлера, количество шагов дискретизации - 100, величина функционала I = 0,000081, значения координат в конечный момент:

х (17,2) = (1,005; -0,005; 1,002; 17,206) .

Заключение

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

ЛИТЕРАТУРА

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

2. Dawkins R. The Selfish Gene. - Oxford University Press, 1976.

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

4. Neri F., Cotta C., Moscato P. Handbook of Memetic Algorithms // Studies in Computational Intelligence, V. 379, Springer-Verlag, Berlin Heidelberg, 2012.

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

6. Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by simulated annealing. Science. V. 220, 1983. - P. 671-680.

7. Киреев В.И., Пантелеев А.В. Численные методы в примерах и задачах. - М.: Высшая школа, 2008.

8. Duarte A., Marti R., Gortazar F. Path relinking for large scale global optimization. Soft Comput. 15(11), 2001. - P. 2257-2273.

9. Охорзин В.А., Рыжиков И.С. Решение терминальной задачи управления в виде многоуровневого реле // Перспективные инновации в науке, образовании, производстве и транспорте 2012: материалы междунар. науч.-практич. конф. - Вып. 2. - 2012. - Т. 2. - С. 89-93.

10. Пантелеев А.В., Метлицкая Д.В., Алешина Е.А. Методы глобальной оптимизации. Метаэвристические стратегии и алгоритмы. - М.: Вузовская книга, 2013.

SOLUTION OF THE SATELLITE TRANSFER PROBLEM WITH HYBRID MEMETIC ALGORITHM

Panteleyev A.V., Pismennaya V.A.

This paper presents a hybrid memetic algorithm (MA) to solve the problem of finding the optimal program control of nonlinear continuous deterministic systems based on the concept of the meme, which is one of the promising solutions obtained in the course of implementing the procedure for searching the extremes. On the basis of the proposed algorithm the software complex is formed in C#. The solution of satellite transfer problem is presented.

Key words: optimal control, global extremes, nonlinear continuous deterministic systems, memetic algorithm, satellite transfer problem.

Сведения об авторах

Пантелеев Андрей Владимирович, 1955 г.р., окончил МГТУ им. Н.Э. Баумана (1978), профессор, доктор физико-математических наук, заведующий кафедрой математической кибернетики МАИ (Национального исследовательского университета), автор более 170 научных работ, область научных интересов - методы синтеза оптимальных нелинейных систем управления, методы оптимизации.

Письменная Виктория Александровна, окончила МАИ (2013), аспирантка МАИ, область научных интересов - методы оптимизации, численные методы, эвристические алгоритмы.

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