Лекции по ОУ (1050564), страница 11
Текст из файла (страница 11)
Общее решение этого уравнения:удовлетворяет уравнениюdtx(t ) = −t + C ,где C – произвольная постоянная, которую определим из начального условияx ( 0) = 0 :x(0) = 0 + C = 0, т. е. C = 0.Таким образом, получили:⎡ π⎞xˆ (t ) = −t , если t ∈ ⎢0 ; ⎟ .⎣ 4⎠π⎡ 7π ⎤Так как xˆ (t ) непрерывна на всем отрезке ⎢0 ; ⎥, то в точке t = она будет4⎣ 4⎦π⎛π⎞иметь значение xˆ ⎜ ⎟ = − .4⎝4⎠⎡ π 7π ⎤Теперь рассмотрим участок ⎢ ; ⎥.
Здесь ψ (t ) > 0 , поэтому оптималь⎣4 4 ⎦dx= 1 . Общее решение его имеет видная траектория удовлетворяет уравнениюdtx(t ) = t + C .π⎛π⎞Произвольную постоянную C найдем из условия x⎜ ⎟ = − , что совпадает со4⎝4⎠значением xˆ (t ) в конце предыдущего участка.Имеемππ⎛π⎞ πx⎜ ⎟ = + C = − , т.е. C = − .42⎝4⎠ 4Следовательно,xˆ (t ) = t −π⎡ π 7π ⎤, если t ∈ ⎢ ; ⎥ .2⎣4 4 ⎦59Выпишем окончательный результат.
Оптимальное управление – это кусочно-постоянная функция:⎧⎡ π⎞⎪− 1, если t ∈ ⎢0; 4 ⎟ ,⎪⎣⎠uˆ (t ) = ⎨⎪1, если t ∈ ⎛⎜ π ; 7 π ⎤ .⎪⎩⎝ 4 4 ⎥⎦Оптимальная траектория – это непрерывная функция:⎧⎡ π⎤t,еслиt−∈⎪⎢⎣0; 4 ⎥⎦ ,⎪xˆ (t ) = ⎨⎪t − π , если t ∈ ⎡ π ; 7 π ⎤ .⎢⎣ 4 4 ⎥⎦⎪⎩ 2Графики xˆ (t ) и uˆ (t ) изображены на рис. 5.uˆ (t )xˆ (t )1π/47π / 400t–1–ππ427π / 4tπ4Рис.
5Пример 3. Задача оптимизации распределения капитальных вложениймежду отраслями.Математическая постановка этой задачи приведена в п. 2.4. Рассмотримслучай двух отраслей, т.е. будем рассматривать следующую задачу:dK1= −μ1 K1 (t ) + V1 (t ),dtdK 2= −μ 2 K 2 (t ) + V2 (t ), t ∈ [0, T ],dtK1 (0) = K10 , K 2 (0) = K 20 ,V1 (t ) ≥ 0, V2 (t ) ≥ 0, V1 (t ) + V2 (t ) ≤ Vm , t ∈ [0, T ] .(3.6.15)TJ ( K ,V ) =∫ (α V (t ) + α V (t )) dt − β K (T ) − β K1 12 20601122 (T )→ min ,где V1 (t ), V2 (t ), K1 (t ), K 2 (t ) – скалярные функции, K10 , K 20 – заданные постоянные.
Роль управления здесь играет векторV (t ) = (V1 (t ),V2 (t ) ) ,Tроль состояния – векторK (t ) = (K1 (t ), K 2 (t ) ) .TДанную задачу можно рассматривать как частный случай задачи (3.2.1) –(3.2.4), где f = ( f1 ; f 2 ) T , f1 = −μ1 K1 + V1 , f 2 = −μ 2 K 2 + V2 , f 0 = α1V1 + α 2V2 ,g 0 = −β1K1 (T ) − β 2 K 2 (T ) . Ограничения (3.6.15) на управление V (t ) можно записать в виде{}V (t ) ∈ U = V = (V1 ,V2 )T : V1 ≥ 0; V2 ≥ 0;V1 + V2 ≤ Vm .Составим функцию Гамильтона:H ( K ,V , ψ ) = ψ1 (− μ1 K1 + V1 ) + ψ 2 (− μ 2 K 2 + V2 ) − α1V1 − α 2V2 .(3.6.16)Нам нужно найти переменные Vˆ1 , Vˆ2 , на которых достигается максимумфункции H по множеству U . Очевидно, на решение этой задачи не влияютслагаемые, не зависящие от V1 , V2 . Поэтому отбросим их, и оставшиеся в(3.6.16) слагаемые обозначим через H V .
Таким образом,H V ( K ,V , ψ) = ψ1 V1 + ψ 2 V2 − α1V1 − α 2V2 .Далее обозначимγ1 = ψ1 − α1 , γ 2 (t ) = ψ 2 (t ) − α 2 .Тогда(3.6.17)H V ( x, u , ψ) = γ1 (t )V1 (t ) + γ 2 (t )V2 (t ) .Зафиксируем t ∈ [0; T ]. От задачи максимизации функции (3.6.16) мы пришли кследующей задаче линейного программирования: найти максимум целевойфункциипри условияхH V = γ1V1 + γ 2 V2(3.6.18)V1 ≥ 0, V2 ≥ 0, V1 + V2 ≤ Vm .(3.6.19)Ограничения (3.6.19) задают в плоскости V1 , V2 треугольник ОАВ(рис. 6).Из теории линейного программирования известно, что целевая функцияH V достигает своего максимума в одной из вершин треугольника ОАВ, или наодной из его граней.
Направление возрастания функции H V совпадает с на61rправлением вектора e с координатами (γ1 , γ 2 ) . Из геометрического истолковаrния видно, что если γ1 , γ 2 < 0 , т.е. вектор e лежит в третьей четверти, то максимум функции H V достигается в точке О. Если γ1 = 0 , γ 2 < 0 , максимум досrтигается на ребре ОВ. Если γ 2 = 0, γ1 < 0 , то на ребре ОА. Если вектор e лежит в четвертой четверти, или в первой половине первой четверти, то есть когда γ1 > γ 2 , γ1 > 0 , то функция H V достигает максимума в точке В (Vm ; 0) . Вrслучае, когда e лежит во второй четверти, или во второй половине первой, т.е.когда γ1 < γ 2 , γ 2 > 0 , функция H V достигает максимума в точке А (0;Vm ) .
Еслиrγ1 = γ 2 , т.е. когда e ортогонален ребру АВ, максимум достигается в любой точке данного ребра.V2Vmγ2OАeВγ1VmV1Рис. 6Из всего вышесказанного следует, что решение задачи (3.6.18), (3.6.19)может быть не единственным. В частности, можно написать следующие выражения для оптимальных значений Vˆ1 , Vˆ2 :Vˆ1 = Vˆ2 = 0,если γ1 , γ 2 < 0,Vˆ1 = Vm , Vˆ2 = 0, если γ1 − γ 2 > 0, γ1 > 0,Vˆ1 = 0, Vˆ2 = Vm , если γ1 − γ 2 ≤ 0, γ 2 > 0.Теперьсоставимсопряженнуюсистему.∂H= −μ 2 ψ 2 , то сопряженная система имеет вид∂K 2⎧ dψ1⎪⎪ dt = μ1ψ1 (t ),⎨⎪ dψ 2 = μ ψ (t ).2 2⎪⎩ dt62Так(3.6.20)как∂H= −μ1ψ1 ,∂K1Найдем решение этой системы, удовлетворяющее условиям трансверсальности:ψ1 (T ) = β1 , ψ 2 (T ) = β 2 .Будем иметьψ1 (t ) = β1e μ1 (t −T ) , ψ 2 (t ) = β 2 e μ 2 (t −T ) .Согласно (3.6.17) для функций γ1 (t ), γ 2 (t ) получим формулыγ1 (t ) = β1e μ1 (t −T ) − α1 , γ 2 (t ) = β 2 e μ 2 (t −T ) − α 2 , t ∈ [0;T ] .Чтобы окончательно выписать решение задачи, нужно найти те моментывремени t , при которых функции γ1 (t ), γ 2 (t ) удовлетворяют неравенствам вформулах (3.6.20).634.
МЕТОД ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ(МЕТОД БЕЛЛМАНА)Динамическое программирование – один из наиболее мощных современных методов оптимизации [3], [11] – [13]. Его возникновение связано с именемамериканского ученого Р. Беллмана, который в начале 50-х годов сформулировал так называемый «принцип оптимальности». При выполнении предположения о гладкости рассматриваемых функций из принципа оптимальности вытекает основное дифференциальное уравнение в частных производных – уравнение Беллмана. Решая его, можно найти решение целого семейства задач, частным случаем которых является исходная задача.4.1.
Динамическое программирование для линейной системыс квадратичным функционаломРассмотрим следующую линейно-квадратичную задачу оптимальногоуправления со скалярным управлением:dx= Ax(t ) + bu (t ), t ∈ [0, T ] ,dtx ( 0) = a ,(4.1.1)(4.1.2)T∫J ( x, u ) = [ x T (t ) Mx(t ) + u 2 (t )]dt → min ,(4.1.3)0где А – n×n-матрица, M – неотрицательно определенная n×n-матрица, а, b –n-векторы.Разобьем отрезок [0,T] на N равных частей точками t1 , t 2 ,..., t N −1 так, что0 = t 0 < t1 < t 2 < ... < t N = T .Обозначим через U множество кусочно-постоянных функций, определяемых равенствами64u (t ) = ui = const , если ti ≤ t < ti +1 , i = 0, 1, ..., N − 1 .Управление u(t) будем считать допустимым, если оно принадлежит множеству U, т.е. кусочно-постоянно. Таким образом, будем решать следующуюзадачу оптимального управления: требуется найти кусочно-постоянное управление и соответствущую траекторию, удовлетворяющую начальному условию(4.1.2), которые доставляют минимум функционалу (4.1.3).
Введем в рассмотрение вспомогательные задачи: на каждом из отрезков [t k , T ] (k = 1, 2, ..., N − 1)требуется минимизировать функционалT∫J k ( x, u ) = [ x T (t ) Mx(t ) + u 2 (t )]dt(4.1.4)tkна множестве кусочно-постоянных функций при условияхdx= Ax(t ) + bu (t ), t ∈ [t k , T ] ,dtx(t k ) = xk ,(4.1.5)(4.1.6)где xk – некоторый n-вектор.Для вспомогательных задач допустимыми управлениями считаются кусочно-постоянные функции, заданные на отрезках [t k , T ] соответственно. Множество функций, определенных на [t k , T ] и кусочно-постоянных, будем обозначать U k .Определение 4.1.1. Функцией Беллмана для задачи (4.1.1) – (4.1.3) называется функцияT∫ψ k ( xk ) = min [ x T (t ) Mx(t ) + u 2 (t )]dt , k = 1, 2, ..., N − 1 .u∈U k(4.1.7)tkТак как по предположению M ≥ 0 , то эта функция существует.При конкретном выборе начального значения xk функция Беллмана определяет минимальное значение критерия качества вспомогательной задачи:ψ k ( xk ) = min J k ( x, u ) .u∈U kДалее положим по определению:U 0 = U , J ( x, u ) = J 0 ( x, u ) , ψ 0 ( x0 ) = min J 0 ( x, u ) = min J ( x, u ) .u (∈Uu∈UТаким образом, значение функции Беллмана ψ 0 ( x0 ) совпадает с минимальным значением критерия качества исходной задачи при начальном условииx0 = a .Кроме того, положим ψ N ( x N ) = 0 .Теорема 4.1.1.
(Принцип оптимальности). Имеют место соотношения:65tk +1∫ψ k ( xk ) = [ xˆ T (t ) Mxˆ (t ) + uˆ 2 (t )]dt + ψ k +1 ( xˆ (t k +1 )) , k = 0,1, ..., N − 1 ,tkгде ( xˆ , uˆ ) – решение задачи (4.1.1) – (4.1.3), если k=0, и ( xˆ , uˆ ) – решение вспомогательной задачи (4.1.4) – (4.1.6), если k=1,2,…, N – 1.Доказательство. Согласно определению функции Беллмана имеемTT∫∫ψ k ( xk ) = min [ x (t ) Mx(t ) + u (t )]dt = [ xˆ T (t ) Mxˆ (t ) + uˆ 2 (t )]dt ,u∈U k2Ttk(4.1.8)tkTψ k +1 ( xˆ (t k +1 )) = minu∈U k +1∫[ xT(t ) Mx(t ) + u 2 (t )]dt .(4.1.9)tk +1Предположим, что минимум в (4.1.9) достигается на ( ~x (t ), u~ (t )) , т.е.
эторешение вспомогательной задачи на отрезке [t k +1 , T ] при начальном условииx(t k +1 ) = xˆ (t k +1 ) :Tψ k +1 ( xˆ (t k +1 )) = [ ~x T (t ) M~x (t ) + u~ 2 (t )]dt .∫tk +1По свойству минимума будем иметьT∫T[~x T (t ) M~x (t ) + u~ 2 (t )]dt ≤ [ xˆ T (t ) Mxˆ (t ) + uˆ 2 (t )]dt .∫tk +1(4.1.10)tk +1Предположим, что в (4.1.10) строгое неравенство. Построим кусочнопостоянное управление u (t ) ∈U k :⎧uˆ (t ), если t k ≤ t < t k +1 ,u (t ) = ⎨ ~⎩u (t ), если t k +1 ≤ t ≤ T .(4.1.11)Управлению (4.1.11) будет соответствовать траектория системы (4.1.5) сначальным условием (4.1.6):⎧ xˆ (t ), если tk ≤ t < tk +1 ,x(t ) = ⎨~⎩ x (t ), если tk +1 ≤ t ≤ T .Подсчитаем значение функционала J k на паре ( x(t ), u (t )) :tk +1T∫T2J k ( x, u ) = [ x (t ) Mx(t ) + u (t )]dt =tk∫ [ xˆtk66T(t ) Mxˆ (t ) + uˆ 2 (t )]dt +T+∫ [ ~x(t ) M~x (t ) + u~ 2 (t )]dt .T(4.1.12)tk +1Так как по нашему предположению в (4.1.10) строгое неравенство, из (4.1.12)получим:tk +1∫T2TJ k ( x, u ) < [ xˆ (t ) Mxˆ (t ) + uˆ (t )]dt +tk∫ [ xˆT(t ) Mxˆ (t ) + uˆ 2 (t )]dt =tk +1T∫= [ xˆ T (t ) Mxˆ (t ) + uˆ 2 (t )]dt = ψ k ( xk ) .tkПолученное неравенство противоречит определению функции Беллмана, поэтому в (4.1.10) может быть только равенство, используя которое из (4.1.8) будем иметьt k +1T∫2Tψ k ( x k ) = [ xˆ (t ) Mxˆ (t ) + uˆ (t )]dt =tk∫ [ xˆT(t ) Mxˆ (t ) + uˆ 2 (t )]dt +tkt k +1T+∫ [ xˆT2(t ) Mxˆ (t ) + uˆ (t )]dt =t k +1∫ [ xˆTT2(t ) Mxˆ (t ) + uˆ (t )]dt +tk∫ [ ~xT(t ) M~x (t ) + u~ 2 (t )]dt =t k +1tk +1∫= [ xˆ T (t ) Mxˆ (t ) + uˆ 2 (t )]dt + ψ k ( xˆ (t k +1 )) .tkТеорема доказана.Принцип оптимальности означает следующее.