Деменков Н.П. Вычислительные аспекты решения задач оптимального управления (2007) (1253737), страница 7
Текст из файла (страница 7)
е. единичной матрице.Будем говорить, что условие (2.39) перенесено из точки t = t0 вточку t = tk, если мы можем независимо от x определить (s × n) –матрицу G(t) и вектор α(t ), обращающиеся при t = t0 в Qт и α 0соответственно так, что при t = tk вектор-функция x (t ) удовлетворяет условию:G (tk ) x (tk ) = α(tk ).(2.41)Будем искать матрицу G(t) в видеG(t) = M(t)Ф(t),(2.42)где M(t) – некоторая невырожденная (s × s)-матрица, которуюмы определим ниже, а (s × n)-матрица Ф(t) удовлетворяетуравнению46 + ΦΑ = 0.Φ(2.43)Составим уравнение, которому удовлетворяет матрица G(t).Дифференцируя (2.42) и используя (2.43), получаем −1G − GA.G = M Φ − M ΦA = MM(2.44)Определим далее матрицу M(t) таким образом, чтобыd т + GG т = 0.(GG т ) = GGdt(2.45)Вычислим сначала производную G т .
Так как G удовлетворяетуравнению (2.44), то −1G ) т − (GA) т = G т ( MM −1 ) т − Aт G т .G т = ( MM(2.46)Используя выражения (2.44) и (2.46) для G и G т , а также соотношение −1GG т − GAG т ) = (GG т ) т ( MM −1 ) т − ( AG т ) т G т =( MM −1 ) т − GAт G т ,= GG т ( MMперепишем условие (2.45) в таком виде: −1GG т − GAG т + ( MM −1GG т − GAG т ) т = 0.MMОтсюда следует, что нам достаточно определить матрицу M(t)так, чтобы имело место равенство −1GG т = GAG т ,MMоткуда −1 = GAG т (GG т ) −1.MM47Таким образом, дифференциальное уравнение (2.44) для матрицы G имеет видG = GAG т (GG т ) −1 G − GA.(2.47)Подчинив G(t) начальным условиямG(t0) = Q т,(2.48)однозначно определим матрицу G(t).Аналогично определим вектор α(t ) равенствомα(t ) = G (t ) x (t )и составим для него дифференциальное уравнение + Gx .α = GxФункция x (t ) удовлетворяет уравнению (2.35), т.
е.x = Ax + Bu ,а функция G(t) – уравнению (2.47), поэтому получимα = GAG т (GG т ) −1 α + GBu .(2.49)Итак, мы определили правила совместного переноса граничных условий, предложенные также А.А. Абрамовым и гарантирующие не только отсутствие «быстрорастущих» решений задачиКоши, но и хорошую обусловленность системы линейных алгебраических уравнений, которую приходится решать для определения краевых условий при t = tk, если только эта система была хорошо обусловлена при t = t0.В заключение подсчитаем, во что обходится перенос системы sграничных условий (2.40).
Матричное уравнение (2.44) эквивалентно s × n скалярным уравнениям. Вектор α имеет размерностьs, следовательно, уравнение (2.49) эквивалентно s скалярным уравнениям. Таким образом, для переноса s граничных условий необходимо решить задачу Коши для системы s(n + 1)-го порядка.48Итак, краевая задача для системы, порядок которой равен n,при допущении, что мы переносим все граничные условия в точкуt = tk, а при t = tk задано s условий, требует решения задачи Кошидля системы, порядок которой равен s (n + 1) + n. Последние nуравнений (2.35) интегрируются независимо от t = tk до t = t0.Если размерность исходной задачи (вектора x ) равна n, торазмерность краевой задачи равна 2n, причем n условий задано налевом, а n других условий – на правом конце траектории (имеетсяв виду задача с фиксированным левым концом). При этом задачасведется к решению задачи Коши для системы, порядок которойравен N = n × 2n + n + 2n = n(2n + 3).Для системы 6-го порядка N = 6(2 × 6 + 3) = 90, причем основнойобъем работы связан с интегрированием уравнений для матрицы G.В данном случае эта система имеет порядок N1 = 6(2 × 6) = 72.2.2.3.
Решение нелинейных краевых задачЛинейные задачи с квадратичным функционалом имеют значительный прикладной интерес. И в то же время класс задач теорииоптимального управления, которые могут быть непосредственносведены к краевой задаче для линейных систем, является оченьспециальным. Линейность исходной задачи еще никак не гарантирует линейность краевой задачи. Например, в этот класс не попадает даже задача Майера для линейных систем.В самом деле, пусть движение объекта описывается системойx = Ax + u ,а функционал задан в следующей форме:J = (C , x (tk )).Тогда уравнение для импульсов имеет видp = − Aт p.Управление выбирается из условия максимума линейной формыnH = p т f = p т Ax + p т u = ∑ pi ui .i =149Задача максимизации линейной формы имеет смысл лишь втом случае, когда величина u ограничена.
Пусть, например,ui ≤ γ i . Тогда зависимость ui от импульсов pi⎧+γ i ;ui = ⎨⎩ −γ iбудет нелинейной, если pi > 0.Таким образом, краевая задача (П-система) будет для задачиМайера нелинейной.При использовании метода прогонки для решения нелинейныхкраевых задач строятся итерационные процедуры, на каждом шагекоторых нужно решать краевую задачу для линейных уравнений.Пусть объект описывается нелинейным уравнениемx = f ( x )(2.50)и пусть задано некоторое «нулевое приближение» x 0 .Тогда уравнение (2.50) можно представить в видеx = A( x 0 ) x + F ( x , x 0 ),(2.51)где F ( x , x 0 ) = f ( x ) − A( x 0 ) x .Если f ( x ) – дифференцируемая функция, то⎛ ∂fA( x 0 ) = ⎜ i⎜ ∂x j⎝⎞, i, j = 1,..., n,⎟⎟⎠ x = x0(2.52)и структура итерационной схемы очевидна:x j = A( x j −1 ) x j + F ( x j −1 , x j −1 ).Если краевые условия линейны, т.
е.M 0 x (t0 ) = α 0 ,50M k x (tk ) = α k ,(2.53)где M0 и Mk – прямоугольные матрицы соответствующих размерностей, то на каждом шаге задача решается непосредственно методом прогонки.Если краевые условия нелинейны, например, если они имеют видG0j( x (t0)) = 0,j = 1, 2, . . , s0, s0 ≤ n;Gki( x (tk)) = 0, i = 1, 2, . . , sk, sk ≤ n,то приведенная итерационная процедура (2.53) должна сочетатьсяс итерационным удовлетворением граничных условий.Предположим теперь, что мы имеем некоторую нелинейнуюдвухточечную краевую задачу, и пусть уравнение u = u * ( x , p ),найденное из условия максимума функции Гамильтона Н, будетдифференцируемой функцией x и p. Тогда П-система порядка 2nможет быть представлена в форме (2.50), где f ( x ) – дифференцируемая функция. Следовательно, в этом случае выбор аппроксимирующего оператора А не представляет труда, он выполняется поформуле (2.52).
Однако во многих случаях функция u * ( x , p ) можетбыть не только недифференцируемой, но даже разрывной. Тогдафункция f ( x ) также недифференцируема и выбор матрицы А – этовсегда некоторая специальная проблема, никакого общего способавыбора матрицы А не существует.Пример. Рассмотрим следующую задачу Майера. Задан объектв видеx = Ax + Bu .Краевые условия:xi (t0 ) = αi , i = 1, 2, …, s – 1;x j (tk ) = x jk , j = s, s + 1, …, n.Функционал J = (C , x (tk )), где C – заданный вектор, такой чтоCi = 0, если i ≥ s.51Сузим выбор управлений ui ограничениями видаui ≤ γ i , i = 1, 2, .
. , m.Р е ш е н и е. Имеем H = ( p, Ax ) + ( p, Bu ),p = − Aт p.На правом конце заданы сопряженные переменныеpi (tk ) = −ci , i = 1, 2, …, s – 1.Хотя уравнения для объекта и сопряженной системы линейны,но система для объекта содержит еще и управление, которое определяется из условия максимума Н по u . Максимизация линейнойформы Н при условии ограниченности управления u ≤ γ опреде-ляет некоторую функцию u * ( p ), вообще говоря, разрывную.Управление u находится из условия( p, Bu ) = max при u ≤ γ .Например, если уравнение объекта и входящее в него управление скалярное, то⎧ +γ ,u* = ⎨⎩−γ ,если Bp > 0;если Bp < 0.Таким образом, в общем случае двухточечная краевая задачаx = Ax + Bu * ( p );p = − Aт pбудет нелинейной.
Трудность ее решения в рамках метода нелинейной прогонки состоит в выборе аппроксимирующего линейного оператора, поскольку правые части этой системы – функциинедифференцируемые.52Для подобных задач наиболее удачными оказались итерационные схемы следующего вида:x j = Ax j + Bp j + Bu j −1 − Bp j −1 ;p j = − Aт p j .На каждом шаге управление выбирается из условия максимумаН, т.
е. по формулам типа⎧ +γ ,u* = ⎨⎩−γ ,если Bp > 0;если Bp < 0.К сожалению, о сходимости подобных методов ничего не известно.2.3. Использование процедуры решения задачсо свободным концомЗадачи теории оптимального управления, сводящиеся к краевым задачам для линейных систем, представляют собой простейший класс задач этой теории. Чтобы получить их точное решение,достаточно peшить несколько задач Коши.Следующий по трудности класс задач – это задачи со свободным концом. Для него мы уже не имеем в общем случае конечнойпроцедуры получения точного решения. Тем не менее для решениязадач со свободным концом разработаны эффективные приближенные способы.
Они используют следующее замечательноесвойство этого класса задач. Для получения точного решения задачи оптимального управления динамической системой, если оналинейна по фазовой переменной и на правый конец траектории неналожено никаких ограничений, достаточно решить две задачиКоши. Подoбнo линейным задачам с квадратичным функционаломзадачи со свободным концом, линейные относительно фазовойпеременной, играют роль основных элементов для построенияитерационных схем расчета оптимальных программ.2.3.1. Задaчa Maйepa для линeйнoй cиcтeмыPaccмoтpим динaмичecкyю cиcтeмy, линeйнyю по фaзoвoйпepeмeннoй53x = A(t ) x + ϕ(t , u ) при x (t0 ) = x0 .(2.54)Paзмepнocти вeктopoв x и u ∈ U бyдeм cчитaть paвными n и mсоответственно.
Будeм иcкaть yпpaвлeниe из ycлoвия минимyмaфyнкциoнaлaJ = ( с , x (tk)).(2.55)Состaвим выpaжeниe для фyнкции Гaмильтoнa в видеH = ( p, Ax ) + ( p, ϕ(t , u ))(2.56)и выпишем ypaвнeниe для импyльcoвp = − Aт p ,(2.57)которое является coпpяжeнным к ypaвнeнию (2.54).Ha значeния вeктopa x (tk) никaкиx oгpaничeний нe накладывается. Поэтoмy знaчeниe импyльca нa пpaвoм кoнцe зaдaнop (tk ) = −c .(2.58)Уcлoвиe (2.58) позвoляeт вычиcлить вeктop импyльca p (t )нeзaвиcимo oт x . Toчнo тaк жe нeзaвиcимo oт x мoжeт быть найдено yпpaвлeниe u (t). B caмoм делe, yпpaвлeниe определяется изycлoвия мaкcимyмa cкaляpнoгo пpoизвeдeнияH ∗ (u ) = ( p (t ), ϕ (t , u ))(2.59)при u ∈ U.