Научная статья на тему 'Применение метода динамических сеток в задачах поиска оптимального управления дискретными детерминированными системами'

Применение метода динамических сеток в задачах поиска оптимального управления дискретными детерминированными системами Текст научной статьи по специальности «Математика»

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

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

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

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

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

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

THE VARIABLE MESH OPTIMIZATION METHOD IN THE OPTIMAL CONTROL PROBLEMS FOR DISCRETE DETERMINISTIC SYSTEMS

This paper presents the decision of an optimum control problem for the discrete deterministic systems by means of variable mesh optimization method. Was generated the algorithm of the decision of a task in view on which basis the software is created. The examples illustrating efficiency of generated algorithm are submitted.

Текст научной работы на тему «Применение метода динамических сеток в задачах поиска оптимального управления дискретными детерминированными системами»

УДК 519.6

ПРИМЕНЕНИЕ МЕТОДА ДИНАМИЧЕСКИХ СЕТОК В ЗАДАЧАХ ПОИСКА ОПТИМАЛЬНОГО УПРАВЛЕНИЯ ДИСКРЕТНЫМИ ДЕТЕРМИНИРОВАННЫМИ СИСТЕМАМИ

А.В. ПАНТЕЛЕЕВ, Д.В. МЕТЛИЦКАЯ

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

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

Введение

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

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

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

Метод динамических сеток применяется к широкому кругу прикладных задач проектирования сложных авиационно-космических систем, в том числе к задачам поиска оптимальных траекторий летательных аппаратов различных типов [2].

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

Поведение модели объекта управления описывается разностным уравнением

x(t +1) = f(t, x(t), u(t)), (1)

где t - дискретное время, t еТ = [0,1,...,N — 1]; x - вектор состояния системы, xе Rn; u -

вектор управления, u е U(t) i Rq ; U(t) - множество допустимых значений управления, для каждого значения t представляющее собой прямое произведение отрезков [a. (t), bt (t)],

i = 1, 2,...,q ; число шагов дискретного времени N задано; f (t,x,u) = (fx(t,x,u),..., fn(t,x,u))T -непрерывная вектор-функция.

Начальное состояние задано: x(0) = x0. Правый конец траектории x(N) свободен.

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

N—1

I(d) = Z f0 (t, x(t), u(t)) + F (x(N)), (2)

t=0

где f0 (t, x,u), F (x) - заданные непрерывные функции.

Требуется найти такую пару d* = (x *(•), u *(•)) е D(0, x0), что

I(d*) = max I(d). (3)

deD(0,x0)

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

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

Метод динамических сеток применим к решению задачи оптимизации целевой функции f (x) = f (xx, x2,..., xn), определенной на множестве допустимых решений

D = {x | xi е [at, b], i = 1,2,...,n} с Rn, и позволяет найти ее условный глобальный максимум на

заданном множестве, т.е. такую точку x*e D, что f (x*) = max f (x).

xeD

Задача поиска минимума функции f (x) сводится к задаче поиска максимума путем замены знака перед функцией на противоположный f (x*) = min f (x) = — max[— f (x)].

xeD xeD

Целевую функцию f (x) будем называть функцией приспособленности, а вектор параметров x = (xx,x2,...,xn)T - узлом. Каждый узел является возможным решением поставленной оптимизационной задачи. При решении задачи используются конечные наборы Y = {x; = (x(,x2,...,xJn)T,j = 1,2,...,P}сD возможных решений, называемые популяциями

или сеткой, где x j - узел с номером j , P - количество узлов в сетке. Применение метода динамических сеток сводится к исследованию множества D при помощи изменения сетки и перехода от одной популяции к другой. Чем больше значение целевой функции f (xj), тем более

узел x j подходит в качестве решения.

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

В процессе расширения происходит добавление новых узлов в сетку. Стадия расширения содержит несколько этапов: локальное, глобальное и дополнительное расширение. Также предлагается выполнять расширение вблизи лучшего решения сетки.

На этапе локального расширения в окрестности каждого p-го узла сетки, p = 1,2,...,P выбирается некоторое заранее заданное число K ближайших по расстоянию узлов, называемых соседними узлами. Среди соседних узлов выбирается наилучший и, если данный соседний узел

лучше р-го узла, то производится генерация нового узла в направлении наилучшего из К соседних узлов.

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

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

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

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

При использовании метода динамических сеток для решения задачи (1)-(3) нахождения оптимального программного управления дискретными системами будем оптимизировать управление и (•) . Целевой функцией, а также функцией приспособленности будет являться функционал I(ё) = I(х(-), и(-)) . Узел с номером к в популяции будет представлять собой вектор ик = (ик(0),ик(1),...,ик(Ы — 1))Т , который соответствует дискретному управлению ик (•) = {ик (0), ик (1),..., ик (N — 1)}. Для того чтобы определить значение функционала I (йк ), соответствующее паре ёк = (хк (•), ик (•)), необходимо найти траекторию системы хк(•) = {х(0),хк(1),...,хк(Ы)}, соответствующую управлению ик, из уравнения дискретной системы (1) с учетом начального условия.

3. Алгоритм

Шаг 1. Задать параметры метода: Р - размер популяции; Т - число новых узлов, генерируемых в процессе расширения; К - количество соседних узлов; С - максимальное число вычислений целевой функции; N0 - параметр операции клонирования; в и у - параметры операции мутации; I - параметр операции сокращения. Вычислить вектор амплитуд множества допустимых управлений

Л = (А 1(0),..., А, (0), А 2(1),..., А, (1), А 1( N — 1),..., А, (N — 1))Т = (А 1, А 2,..., А „)Т, где А{(г) = |Ьг.(г) — а{(г)|, I = 1,...,q ; г = 0,...,N — 1; п = N • q и центр множества допустимых управлений (центральный узел)

ит = (и?(0),...,и? (0),и?(1),...,и?(1),и?(N — 1),...,и?(N — 1))Т = (и?,и?,...,и? )Т,

где ит(г) = (а.(г) + Ьг(г))/2, . = 1,...,q ; г = 0,...,N — 1; п = N • q .

Шаг 2. Генерация начальной сетки. С помощью равномерного распределения на множестве допустимых управлений и сгенерировать начальную популяцию: 70 = {ир = (и1р,ир,...,ир)Т, р = 1,2,...,Р} с и, состоящую из Р векторов

ир =(ир(0),...,ир(0),ир(1),...,ир(1),...,ир(N — 1),...,ир(N — 1))Т =(ир,<,...,ир)Т,

где п = N • q ; р = 1,2,...,Р . Задать счетчик количества вычислений целевой функции о = 0 и счетчик популяций г = 0 .

Шаг 3. Упорядочивание сетки. Вычислить значения функции приспособленности во всех узлах сетки. Для этого необходимо сначала вычислить траекторию хр (•), соответствующую каждому узлу ир е.У(. Найти среди полученных значений наилучшее I(хЪеЛ (•),ыЬеЛ(•)), которому соответствует наибольшее значение функции приспособленности. Положить с = с + Р.

Шаг 4. Локальное расширение сетки. Генерация новых узлов по направлению к локальным

экстремумам. Для каждого узла ир, р = 1,...,Р выполнить шаги 4.1. - 4.4.

4.1. Вычислить расстояния от р-го узла до всех остальных узлов сетки

I " 2

,и) = л>р -<) , ] = 1,2,...,Р, ] Ф р .

4.2. Выбрать К узлов, для которых расстояние dpj до узла ир минимально, данные узлы

являются соседними узлами с узлом u .

4.3. Среди соседних узлов найти наилучший узел ub¡0>sct, которому соответствует наибольшее значение целевой функции.

4.4. Сравнить значения целевой функции в узлах u^ и up если

I(x^c ('),ub¡0c (')) < I(xp,ир), то новый узел не генерировать; иначе сгенерировать новый узел

- . loc / , loc „ loc „,loc\T .

и = (ux ,u2 ,...,un ) :

вычислить фактор близости текущего узла ир и наилучшего соседнего с ним узла и

best , loc

Рг (ир, иЪС) = (1 +1 / (ир) - / (иЪС )| у1;

- вычислить вектор минимального расстояний по каждой координате £ = (£ 1, £ 2,..., £ п) Т, где каждая компонента £ { определяется по формуле

А74, если с < 0,15%С;

tt

А78, если 0,15%С < c < 0,3%С;

А716, если 0,3%С < c < 0,6%С;

А750, если 0,6%С < c < 0,8%С;

А 7100, если c > 0,8%С,

вычислить вектор средних значений mp = (mp, mp,..., mp) T, где mp = (up + u^ )/2;

, loc

- вычислить координаты нового узла u

„.loa

u. = <

m

u

, best loc,i

+R [—t i, t i ],

если если

p best

mF — u j

г loc,г

p best

mF — u,

г loc,г

> tг иR[0,1]<Pr(up,ubc);

< t г;

Я[~ир,дагр| или Я,ир| в остальных случаях, где Я[х,у] - равномерное распределение на отрезке [х,у], / = 1,...,п и соответствующее ему значение функции приспособленности I(х1ос(•),и1ос(•)) . Положить с = с +1.

В результате шага 4 генерируется множество новых узлов Yloc = {u

loc,1 „ loc,2

,u

,..,u

loc,Z

}, состоящее из 2 узлов.

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

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

- вычислить фактор близости текущего узла up и наилучшего узла ubest Pr (up, ubes ) = (1 + | f (up ) — f (ubest )|)—1";

- вычислить вектор средних значений mp = (mp, mp,..., mp) T, где mp = (up + ubest )/2;

glob

- вычислить координаты нового узла u

uglob = ■

mp, если R[0,1] < Pr(up,ubest);

Rp,ubest jj или R[ubasi,mip jj в остальных случаях,

где ' = 1,...,п и соответствующее ему значение функции приспособленности I(х^°ъ(•),иг'°ь(•)) . Положить 0 = 0 + 1 .

В результате шага 5 генерируется множество новых узлов У^оЬ = {и^'1,иг'°ь'2,...,иг1оЬ'Р~1}, состоящее из (Р — 1) узлов.

Шаг 6. Дополнительное расширение сетки. Если 2 + Р — 1 < Т , то выполнить шаги 6.1-6.5, иначе перейти к шагу 7.

6.1. Найти расстояния от центра ит множества допустимых решений до всех узлов сетки:

d (um, uJ) =

^ (ит — и/) , j = 1,2,...,Р . Упорядочить узлы по возрастанию расстояния от

1=1

центра множества допустимых управлений.

С — 0

Т 0 1 ^ 1

6.2. Вычислить вектор смещения к = к2,..., ) , где = — •———+ м?{,

к* =А ./ 10; =А ./100, ' = 1,..., п.

6.3. Вычислить количество генерируемых узлов V = Т — (2 + Р — 1). Если V > Р, то положить V = Р.

6.4. Генерировать по одному новому узлу для [V/2] последних узлов из популяции У(( ):

и^ = и^,и2^,...,и/"), j = Р,Р — 1,...,Р — [^2] +1, и<" = К) + ^, еслии( 1 \ < 0;

[иу — , если и у < 0,

где ' = 1,..,п и вычислить I(хе'1 (•),ие/, 1 (•)) . Положить о = о + [V/2].

6.5. Генерировать по одному новому узлу для V — [V/2] первых узлов из упорядоченной популяции (): и'1,1 = (и/"1', и ,..., и/"1), 1 = 1,2,..,V — [^2],

uf,1

u,(j) + w.

u,(1) — w.

если u.1) > 0; если u,(1) < 0,

где ' = 1,...,п и вычислить I(х', 1 (•),и''1 (•)) . Положить о = о + V — [V/2].

В результате шага 6 генерируется множество новых узлов

V ( е/ ,1 ^ [VI2] '/ ,1 '/ V—[V/ 2] Л

^ = {и ,...,и ,и ,...,и }, состоящее из V узлов.

Шаг 7. Локальное расширение сетки вблизи лучшего решения.

7.1. Для лучшего узла сетки иЬеЛ сгенерировать Nо клонов.

7.2. Для сгенерированных клонов ио'1, 1 = 1,2,...,Nо выполнить операцию мутации:

1) используя равномерный закон распределения на отрезке [0;1] , сгенерировать случайный

вектор w = (н,1,^2,...,)Т ;

2) если м>г < в, г = 1,2,..., п, то координату ис, 1 заменить на ус, 1: Ус, 1 = ис, 1 + у • (0;1) • (Ь - а,), где N(0;1) - случайное число, сгенерированное при помощи

стандартного нормального распределения; а1 и Ъ1 - нижняя и верхняя границы множества до" с!, 1

пустимых значений для координаты иг ;

3) если ус, 1 > Ъi, то положить ус, 1 = Ъi; если ус, 1 < аг, то положить ус, 1 = аг.

7.3. Вычислить I(хс!, 1 (•),ис!, 1 (•)), 1 = 1,2,...,N. Положить с = с + Nc . В результате шага 7 генерируется множество узлов Ус1 = {ис!д,...,ис!,Nc} . Шаг 8. Добавление сгенерированных узлов в текущую популяцию. Добавить узлы множеств У1°с, УгьЪ, У^ ^ и Ус1 в текущую популяцию Уг и упорядочить узлы в популяции по убыванию соответствующих им значений целевой функции. В результате получается упорядоченная популяция, состоящая из Р + = 2Р + 2 + V — 1 узлов.

Шаг 9. Сокращение популяции. Задать 1 = 1. Для 1 -го узла сетки выполнить:

9.1. Найти векторы разностей координат узла и1 и всех последующих в популяции У( узлов ир: 51,р = (8/,р,52,р,...,5Пр)Т, где 51,р = \и\ -ир|, р = 1 +1,1 + 2,...,Р +.

9.2. Сравнить координаты векторов 8Лр , р = 1 +1,1 + 2,...,Р + с координатами вектора £,

найденного на шаге 4: если для р-го узла условие 81,р > £ 1, г = 1,2,...,п не выполняется более

чем для ! координат, то удалить из сетки узел с индексом р , положить Р + = Р + -1 ; иначе узел с индексом р остается в сетке.

9.3. Положить 1 = 1 +1. Если 1 > Р +, то процесс сокращения завершить; если 1 < Р +, то повторить шаги 9.1 - 9.3.

В результате шага 9 остается популяция, содержащая В узлов.

Шаг 10. Генерация новой популяции. Сравнить количество оставшихся узлов в сетке В с количеством узлов в начальной сетке Р : если В < Р, то генерировать Р - В новых узлов, используя равномерное распределение на множестве допустимых управлений и; если В > Р, то выбрать Р первых узлов сетки, которым соответствует наибольшее значение целевой функции. Положить / = / +1.

Шаг 11. Проверка условий окончания работы алгоритма. Если с < С, то перейти к шагу 3; иначе перейти к шагу 12.

Шаг 12. Получение ответа. Из последней популяции выбрать узел и * с наибольшим значением функции приспособленности. В качестве решения задачи (1)-(3) выбрать пару d* = (х * (•),и * (•)). Значение функционала при этом будет равно I^*) = I(х *(•), и * (•)) .

4. Примеры работы алгоритма

Пример 1. Поведение модели объекта управления описывается разностным уравнением х(/ +1) = х(/) + и(/), где хе Я, и е Я, \и\ < 30, / = 0,1,...,N -1, N = 4. Задано начальное состо-

N-1 1

яние системы х(0) = 3 и определен функционал качества I = ^-и ) + 2х(N). Требуется

г=0 I +1

найти минимальное значение функционала и оптимальный процесс (х *(•), и *(•)), на котором это значение достигается.

Выберем параметры метода динамических сеток (см. алгоритм): P = 10, С = 2000, T = 15 , K = 5, l = 2, Nc = 10, ß=0.2, у=0.5 .

Найденные оптимальное управление и траектория системы представлены в табл. 1. Минимальное значение функционала при этом minI = -3.9997 . Точное минимальное значение функционала min I = —4, оптимальное управление и траектория системы представлены в табл. 2.

Таблица 1 Таблица 2

t 0 1 2 3 4

u*(t) -0,995 -1,999 -3,029 -3,994

x*(t) 3 2,005 0,006 -3,023 -7,017

t 0 1 2 3 4

u*(t) -1 -2 -3 -4

x*(t) 3 2 0 -3 -7

Пример 2. Увеличим число шагов до N = 20 (увеличивается размерность задачи). Точное минимальное значение критерия при этом min I = —204 . Выполним по 100 запусков метода при различных значениях параметров. Средние и наименьшие значения функционала, полученные при различных параметрах метода динамических сеток (МДС), представлены в табл. 3.

Таблица 3

С T K P l / ß/y/Nc МДС

I I min

2000 15 5 10 10/0.2/0.5/10 -178.731 -198.162

10000 15 3 10 10/0.2/0.5/10 -203.992 -203.996

10000 150 50 100 10/0.2/0.5/10 -164.621 -192.849

10000 15 5 10 10/0.2/0.5/10 -203.992 -203.997

10000 15 5 10 10/0.5/0.5/10 -203.921 -203.960

10000 15 5 10 10/0.2/1/10 -203.973 -203.992

10000 15 5 10 15/0.2/0.5/10 -203.990 -203.997

10000 15 5 10 5/0.2/0.5/10 -203.991 -203.997

10000 15 5 10 1/0.2/0.5/10 -203.992 -203.999

10000 15 5 10 20/0.2/0.5/10 -203.995 -203.999

О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

t

Рис. 1. Оптимальная траектория и управление в примере 2

Сравнивая полученные в двух примерах результаты с точными решениями, можно сделать вывод, что метод динамических сеток эффективно справляется с задачами большой и малой размерности. Для задач большой размерности метод работает лучше при небольшом размере сетки; малочувствителен к изменению параметра сокращения; работает эффективнее при небольших вероятностях и величине мутации; при небольшом размере сетки не чувствителен к изменению числа соседних узлов. Найденные оптимальное управление и траектория системы представлены на рис. 1.

Заключение

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

ЛИТЕРАТУРА

1. Puris A., Bello R., Molina D., Herrera F. Variable mesh optimization for continuous optimization problems // Soft comp. DOI 10.1007/s00500-011-0753-9, Springer, 2011.

2. Остославский И.В., Стражева И.В. Динамика полета. Траектории летательных аппаратов. - М.: Машиностроение, 1969.

3. De Castro L., Timmis J. An Artificial Immune Network for Multimodal Function Optimization // Proceedings of IEEE Congress on Evolutionary Computation, vol. 1, pp. 669-674, 2002.

THE VARIABLE MESH OPTIMIZATION METHOD IN THE OPTIMAL CONTROL PROBLEMS FOR DISCRETE DETERMINISTIC SYSTEMS

Panteleyev A.V., Metlitckaya D.V.

This paper presents the decision of an optimum control problem for the discrete deterministic systems by means of variable mesh optimization method. Was generated the algorithm of the decision of a task in view on which basis the software is created. The examples illustrating efficiency of generated algorithm are submitted.

Key words: variable mesh optimization method, metaheuristic algorithm, optimal control.

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

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

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

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