книги / Математические методы в системах поддержки принятия решений
..pdfОтсюда следует, что рекуррентное уравнение записывается в виде
/»(**)= mta.|с*х*+/4 ■ Ш |
1где-R* = Rk-t (Хк-1)•••Ля (х п) |
|
Д> |
Случай противоречивости частных критериев. Требуется найти опти мальное решение х * = (x *,X j,...,x *), при котором достигается
т т т а х { /Д х у), j = hn, |
х у = (x',x*,...,x'j)} |
||
(Xj) [ f j ) J J |
J |
J J |
J |
с учетом условия |
|
|
|
n |
|
|
__ |
j(X j)£ b, Xj> 0, Xj — |
целое, j = |
1 ,n. |
|
y-l |
|
|
|
Рекуррентное уравнение для такой задачи распределения ресурсов записывается в виде
|
Л*(© = тт[ш ах{Л 4_, (£-,?*(**)>/*(**))}]> |
(*) |
|
где |
\хк ) |
|
|
|
|
|
|
|
к |
|
|
|
0 < $ = ' £ g j ( x J)<b, к |
- 1,2, ,Л . |
|
|
7*1 |
|
|
А л г о р и т м |
|
|
|
1. Записать исходные данные в виде таблицы. |
|
|
|
|
|
|
Т а б л и ц а 1 |
J |
хз |
№ |
«/*;> |
1 |
л\ |
/i(*J) |
*i(*,‘) |
А ( ф |
*t(4> |
||
|
х2 |
/.(*,') |
*i(*,') |
|
*\ |
||
|
х1 |
|
|
|
J |
/2(4) |
*2(4) |
2 |
х2 |
||
х2 |
Л(4) |
*2(4) |
|
|
Y 2 |
|
|
|
х2 |
Л Ю |
*2(4) |
201
|
|
_--- tfelt_ _ _ |
Продолжение табл. |
1 |
j |
* j |
*<*;) |
|
|
|
xh |
/*(**) |
gh(x'h) |
|
|
r 2 |
/*(**) |
gh(*h) |
|
h |
xh |
|
||
|
/*(**) |
«*(**) |
|
|
|
X P |
|
||
|
|
|
|
|
2. Пользуясь табл. |
1, вычислить Л ^ ) = f\(xi) Для всех Х| и заполнить табл. 2. |
|
||
|
|
|
Т а б л и ц а |
2 |
A, =/,<*2)
«l(*2>
U x \)
g2(*[)
...
fl(x [ )
gi(x[)
/ i ( 4 )
£l(*2 >
тах{Л, |
)) |
S = S i( 4 ) + g i(x J)
... |
... |
... |
тах{Л, (§ - £2(*i )) ,/2(x l)}
$ = gt(*2)+ g2(x[)
3. На множестве максимальных значений, содержащихся в клетках таблицы, выде лить убывающую последовательность значений согласно операции (*) с соответствующи ми им величинами сумм
&(*■)+£|(*2>-
Первый элемент этой последовательности содержится в левой верхней клетке, послед ний - в клетке последнего столбца с максимальным значением суммы g2(xj) +gi(x2). По следовательность значений этой суммы возрастает.
4. Заполнить табл. 3. В верхней строке таблицы разместить элементы убываю щей последовательности, выделенной по операции 3, и соответствующие им значения сумм
S2(*I) + £I(*2)-
В клетках левого столбца разместить пары из значений
{/з(*2>> £з(*2)>-
5. Выполнить оп. 3 по табл. 3.
6. Заполнить табл. 4 согласно оп. 4.
202
7. Продолжить выполнение операций 5, 6 до заполнения таблицы, в левом столбце которой должны быть элементы
8. Пользуясь последней таблицей, найти оптимальное значение критериальной функ ции и далее по всем предыдущим таблицам в порядке перехода от большего номера к меньшему определить оптимальное решение, соответствующее оптимальному значению критериальной функции.
6.8.Методы выбора решений
вдинамических условных задачах оптимизации
Численные методы решения динамических условных задач оптими зации принято [51] разделять на два класса: прямые и непрямые. Класс прямых методов основывается на итерационном процессе в направле нии минимизации критериального функционала без использования не обходимых (согласно принципу максимума) или достаточных условий; класс непрямых методов основан на использовании необходимых или достаточных условий, и итерационный процесс распространяется на ре шение краевой задачи для системы обыкновенных дифференциальных уравнений.
6.8.1. Прямые методы итерационного решения
Метод градиента для простой вариационной задачи Майера. Пусть требуется найти решение u(t), t0 £ t < T , обеспечивающее на отрезке
времени [Г0, 7]
m in/(x,«) = ттФ(Т,х(Т)), Т = const,
«<•) ■<•>
при условии, что x(t) и u(t) (векторные функции в общем случае) связа
ны дифференциальным уравнением
Щ= /(/,*(/),и(/))
сграничным условием x(t0) = х„ и неограниченным вектором u(t).
Ал г о р и т м
1.Задать исходное приближение u°(t) для функции u(t).
2.При управлении w* и начальном условии х0 проинтегрировать дифференциальное уравнение
|
*(0 =/(',*( 0 ,«(0 ), |
Т, |
пользуясь численными методами. |
|
|
3. |
Проинтегрировать в обратном времени от Т к f0 сопряженное дифференциальное |
|
уравнение |
|
|
^= ЭЯ(*(О,1/0(О ,У )(0,О
дх
203
с граничным условием
от _ д Ф (Т М Т )) ах(Т) ’
где H(x(t), |
у°(/), /) =(V ° (О ,/(М '),и 0<О,О) - Функция Гамильтона. |
4.Вычислить градиент функции Щх(Г), u°(t), у°(/), /) по и°(/).
5.Задать шаг а<) > 0.
6. Задать (7-матрицу весов компонент вектора Au°(t) приращений (изменений) управ
ления u°(t). |
|
|
ЭН |
|
7. Вычислить вектор приращений Au°(t) |
= <х0G~] |
|||
— -. |
||||
8о«. Вычислить А/дг= -чхо I гГэ— г р |
— - dt |
|
Эи |
|
|
|
|||
Я Ь |
ЭЯ |
|
|
|
П д и ° ] |
Эи° |
|
|
и проверить условие |ДУ| < е, е > 0.
Если это условие выполняется, то и°(г) = u*(t) = «*(•), в противном случае перейти к оп. 9.
9.Вычислить управление
u'(t) = и°(Г) + Аи°(0 .
10.Перейти к оп. 2 с управлением и'(Г), и вычисления продолжать до тех пор, пока не
будет выполнено условие |Д^ < е, где j — индекс операции вычислительного процесса
У= 0, 1, 2,...
Метод градиента в задаче оптимального управления [93].Требуется найти решение u ( t ), обеспечивающее на отрезке времени [/0 7] минимум функционала интегрального вида
т
J(x,u) = J F(x(}),u(t),t)dt
*0
при условии, что векторные функции x(t), u{t) связаны дифференциаль
ным уравнением
x(t) = f(t,x(t),u(t))
с фиксированным левым концом х(/0) = х0; и в U, где U — заданное
множество.
Преобразуем эту задачу к конечно-разностному виду. Для этого дис кретизируем отрезок [С0, 71 с шагом численного интегрирования т. В ре зультате дифференциальное уравнение и критериальный функционал заменим выражениями
хт = х, + хДх„ и,), i = 0, 1 ,..., N - 1,
ЛМ /(х,и) = т £ /■(*,,и,).
/=0
204
На интервале (ix, (/ + 1)т) управление и, примет постоянное значение. С учетом того, что х0 известно, конечно-разностную аппроксимацию за
дачи можно переписать в виде
X= *0 + V(*0, «о) = Ф.(«о),
х2 = х , + тДх,, и,) = Ф(и0) + тЛФ|Ю . И|) = Фг(«о, «■),
................................................................ <*)
Хк = ф к(и0, и„
XJV= Ф*(«0» «1. •••» «лг-i).
JV-1
|
1=0 |
|
J, = хР(Ф,(и0, и„ ..., |
и,). |
|
Потребуется вычисление |
производных от преобразованной ска- |
|
|
dUj |
|
лярной критериальной функции; эти производные являются векторами с компонентами
Э/,. Э/, |
Э/, |
Эи}’ Эи} ’ |
’ Эи^ |
Для их вычисления представим функцию J в линеаризованном виде в окрестности некоторого текущего и(7), 70< t < Т, с учетом приращения ■&,
т. е. в виде
|
/(и + д ) = /(и )+ 5 /+ о (д 2), |
Л - 1 |
Л - 1 -ч J |
где&/ = Х « ? / . * / ) . ^ = Х | ^ - /«О l“J^Uj
В уравнениях
*,+1 = X + тЛх„ и,), / = 0, N - 1,
положим х, =Х/ + у ,, и, =и, + 6 ,., а затем выпишем уравнения для при
ращений
Уж — Д+1У1 + Д+1Д4
. |
„ |
Э/(х.,и,) „ |
Э/(хГ( ,и,) |
где Л(+| = Е + х |
— — Д |
. = т———— — Д — единичная матрица. |
|
|
|
Эх |
Эи |
205
Далее по аналогии вывода выражений (*) получим выражение для
|
|
Л» s = О |
1,2,..., N - 1 , |
т. е. |
|
|
|
ys = А хАг- А ^ + АгАз-АД, + А3А4- А А + - |
+ ^A-i- |
||||
Теперь выпишем уравнение для 8/(у, ■&): |
|
|
||||
|
|
N-1 |
ЛГ-1 |
|
|
|
|
|
Щ у , $) = |
) |
+ |
•*»)» |
|
|
|
|
/—1 |
/*0 |
|
|
, |
ЭF(xi9ut ) |
дF (xi ,ui) |
и подставим |
в выражение для |
||
где */, = т — — — |
gf = х— ^ — — |
|||||
|
Эх |
|
ди |
|
|
|
8/(у, д) |
выражение для уя. После несложных преобразований получим |
|||||
искомое выражение |
|
|
|
|
|
|
|
|
8/ = x < G/> < u |
|
|
||
|
|
|
/=0 |
|
|
|
где <?0 = |
+ £ о> С, = Х Д У , |
+ * ,> |
|
|
||
|
5 =1 ___________ |
5 =2 |
|
|
|
|
/),* ,, |
/ = 1, N —1 — транспонированная матрица. |
|
fy = -vG,
jV-l
и в методе градиентного спуска 8J = - Р Х « 7 ,А ) ,
/-о
где шаг р выбирается из решения задачи min/ф ).
Вектор управления и; на каждом шаге вычисляется по предыдущему приближению ffj, т.е. и ; - и j - р Gг
Представим схему алгоритма отыскания оптимального управления.
Ал г о р и т м
1.Задать начальный вектор управления
й= (П0,щ....UNA )т.
2.Вычислить Gj или, что то же,
3. Задать Ф. |
N_{ |
4. Вычислить 5J = У (Gh bj).
/-о
5. Задать шаг градиентного спуска f) или вычислить этот шаг из решения задачи
m in/(p). р>о
206
6. Вычислить новое приближение управления ин - и - р5/.
7. Повторить операции 2—7 до выполнения условия |&/| й е, е > 0 или до условия вы хода управления на границу множества U.
Метод штрафных функций в задаче оптимального управления. Здесь задача выбора оптимального управления
т
«*(/) = argmin/(x,«), J(x,u) = f / 0(/,x(0 ,«(/))<*
ueU |
J |
при условии x(t) = f(t,x(t),u(t))> t0< t £ T , x(t0) = x0, x(T) = x T,
x € RP, и 6 U <zR", т й п ,
сводится к задаче вида: найти u ’(t) = argminF(x,M,X), uzU
F(x,u,X) = Jjf 0 (t,x,u)+ jr X , ( x 1- f 1(t,x,u))2 dt.
/0L <=|
Оптимальное управление и для такой задачи, очевидно, должно
отыскиваться из решения системы уравнений Эйлера
2 ]ГХ,(х' - f ' ( t , x , u ) ) ^ - j = 0, у = ~\jn,
duJ |
tX |
|
Эи' |
т |
? £ > |
- 2 ± к <*'-/'<<, * » > , £ ♦ |
|
|
Эх1 |
Тл |
Эх* |
+2XS ^ - ( x s - |
f s (t,x,u)) = 0, s = 1 , n. |
||
|
dt |
|
|
Структура алгоритма решения этой системы строится [51] согласно итерационной процедуре Кононенко
х м = x i ~ a iXs (t) |
М |
^ |
- |
2 ± х , ( * ‘ |
о х |
|
|
|
OX |
|
/=i |
|
|
- 2 ^ - j 4 < * ' |
- / ' ( / Л |
И |
) ) ! , X Sj( t) |
= ( t - t 0)(.T-t), |
(*) |
|
dt |
|
|
|
], |
|
|
uL = « / - « / |
|
|
|
|
, / = |
0, 1 , 2 , ... |
|
|
|
|
Эи' |
|
|
buJ |
|
|
|
|
|
207
Ал г о р и т м
1.Задать начальные приближения х0(0, и0(г), (XQ.
2. Согласно (*) вычислить новые приближения х,(0, Щ(1), Д хь и,). 3. Определить а, и вычислить очередные приближения
*2(0 , «2<0 , Дх2, и2).
4. Повторить выполнение оп. 3 для 1 = 3 ,4 ,... до тех пор, пока не будет выполнено условие останова алгоритма, например вида,
У(х/,«/)<удоп.
Имеют место задачи оптимального управления
г
Л «0) = \fo(x(i)M t),t)dt+ 0(x(T),T)-> min |
|
J |
*(•) |
Л) |
|
x(t) =flx(t), u(t), t), x(Q = |
X 0 |
с фазовыми h(x(t), f) < 0 и смешанными g(x(t), u(t), t)< 0, t0£ t £ T огра ничениями и e I /c E r, x € E ”, n> r.
Приведем схему алгоритма решения такой задачи.
Ал г о р и т м
1.Составить штрафную функцию
Vт
Ш- ) # 1 ) = А «О) + C,lj £ ( т а х { * , ( * ( /),«(/),г),О})2
ta к.
^(тах{А у(х(О,О,0})2 Л + Ф {ДТ),Т),
где С/ > 0 — коэффициент штрафа. Эта функция подлежит минимизации при дифферен циальном ограничении
Mt) =Л*(0> u(t), 0, *('о) “ *о
ипри каждом значении С,.
2.Задать С,-, / = 0.
3.Задать начальное приближение и<°>.
4.Вычислить х(() как решение уравнения движения
х ( < ) = / W 0 , «(0)( 0 , 0 , *('о) “ *0-
5. Вычислить начальное приближение критериального функционала
/°) = /(„(°), х(|/°)(г))).
5. Вычислить С| = рС0, р > 1 или, в общем случае, Сж = рС,.
208
6. Вычислить y(f) как решение сопряженной системы уравнений
с условиями трансверсальности у(7 ) = <Рх(х(Т), 7) на правом конце траектории
t0 < t£ T . |
|
|
7. Вычислить управление |
= |
учитывая крите- |
и
риальный функционал в виде /Ди( ), Q .
8.Вычислить для «<<+|>(0 траекторию х<'+1)(г), t0< t< T .
9.Вычислить значение критериального функционала
/'+ ') = x(u<l+l>(t))).
10. Проверить выполнение условий
//+ 1 ) < / О , I//+ D _ / 0| < е> ш а х И +1)( 0 - х » ( 0 | < 5 , t 0 Z t£ T ,
если они выполняются, то искомое решение задачи (x(t), u(t))opl получено, иначе - перей ти к оп. 5.
Искомое решение будет результатом решения параметрического семейства задач оп тимального управления с закрепленным левым и свободным правым концами траектории
х(/), t0Z t< T .
Метод исключения граничных условий. Известно, что если исходная динамическая задача выбора решения сформулирована как многомер ная нелинейная краевая, то получить решение для нее весьма не просто. В таких случаях может оказаться целесообразным преобразование ис ходной задачи в другую, более общую, решение которой отыскивается легче, и решение исходной задачи будет получено как частное решение более обшей.
Пусть задача выбора оптимального решения-управления записыва ется так же, как и в предыдущем методе, но при этом подчеркнем, что функция Д/, x(t), u(t)) — нелинейная.
Теперь запишем более о б щ у ю за да ч у : найти и*(0, обеспечиваю щее достижение
min/, (х,м,е)
ueU 1
критериального функционала вида
/, (х,и,е) = J(x,u) + е^[х,. (Г) - х п ]2, е > О i=i
при условии, что введенная переменная е - » 0 (е определяет точность
решения задачи минимизации) и что выполняются ограничения
х (0 =А*>*(0 >«(0 ), t0< t< T , x(t0) = х0.
1 4 - 5 3 9 6 |
209 |
Эта задача не содержит граничных условий, но ее размерность уве личена по отношению к исходной; последняя погружена в нее и являет
ся следствием предельного перехода при е - » 0.
Решение более общей задачи следует отыскивать, например, с ис пользованием метода последовательных приближений при изменении
переменной е (при различных значениях е, > е2 > е3 > ••• > в* > ••• > 0,
начиная с некоторого достаточно большого). В этой задаче крите риальный функционал /|(х, и, е) преобразуем к функционалу вида J2(x, и, е) = Ф(х(Т), £*). Для этого введем переменную x„+l(t) и преобра зуем выражение для J(x, и) к виду дифференциального уравнения
* я+, (0 =А*> *(0> Xa+l(t), u(t)), х„+1(/„) = *«+1,0 =
П
затем введем обозначение x„+2(t) = £ £ [* / (О- * ? ) ] 2 и выпишем диффе
ренциальное уравнение
*„+2(0 = 2 z £ ( x l ( t ) - x 11)f(t,x(t)Mt)), *„+2(°) = eX [*((^o)-*n]2-
/=i /=i
Тогда Ф(х(Т), ек) = х„+1(Т) + х„+г(Т) и минимизация этого функцио
нала должна осуществляться с учетом дифференциальных уравнений для фазовых переменных x(t), хя+1(/), *„+2(0 с соответствующими им на
чальными условиями на момент она (минимизация) может выпол няться с использованием, например, метода динамического программи рования в непрерывной или дискретной форме.
Метод динамического программирования. Сущность метода заключа ется в сведении задачи оптимального управления к задаче динамическо го программирования.
Проиллюстрируем это на конкретной за д а ч е . Пусть требуется найти оптимальное управление и°(/)> при котором обеспечивается
j г
min—JK2(t)dt, t0, T — константы, u(t) е U,
2 'о
при условии, что движение управляемой системы описывается урав нением
*(0 = -*Ч 0 + «(0 . *(*<>) = *о» *(7) = х Г.
Схема операций:
1 . Дискретизация отрезка времени [/„, 7] на травных подотрезков Ат.
2. Преобразование критериального функционала и уравнения двидх №~1
жения в дискретную форму — JV (A ;) и х(к + 1 ) = -у?(к) + Ахи(к) соот-
2 к-0
ветственно.
210