Kim D.P. Teoriya avtomaticheskogo upravleniya. T. 2. Mnogomernye, nelinejnye, optimal'nye i adaptivnye sistemy. (950615), страница 54
Текст из файла (страница 54)
«]: у' ,7(по[«' «о]) < 1(п*[«' «']). Тогда критерий оптимальности в задаче (9.44) при управлении ( п*(«), .«о < « < «',. и [«о «у]='[ о() ~< < о Условимся управление п(«) на интервале [а, .6] обозначать п[оь 6]: п[а, 6] = (и(«), а < «< Ь). Если интервал слева или справа является открытым, то соответственно слева или справа будем писать круглые скобки: п(а,Ь] = (п(«), а < «< 6) и п[а,6) = (п(«), а < «< 6). Пля задачи (9.44) справедлив принцип оптимальности, и он может быть сформулирован следующим образом.
Для оптимальности допутпимой для задачи (9.44) пары (и*(«), х*(«)) необходимо, чтобы при любом «' б [«о, «у] управление п'[«',«у] было отпималиным относительно состояния х" («'), в котором окажется обаекеп в момент «' при выборе на начальном отрезке времени [«о;«') управления п"[«о,«').
Это утверждение легко доказывается от противного. допустим, что оно неверно и существует допустимое управление по[«',«оу),переводящее объект из точки х'(«') в точку х («о) Е Ху в момент «о, при котором функционал М 12(п[«, «у]) уо(х(«у) «у) + (,«о(х п «) с« у4. Метод динамического программирования З11 принимает меньшее значение, чем при управлении в*[со, ф,. а это противоречит оптимальности управления п'[1о, 1~]. Принцип оптимальности для задачи оптимального управления является частным случаем следующего более общего утверждения.
Еслсс допустимая длсг задачи (9.44) пара (п'(с),х*(с)) оптимальна, то, каков бы ни был подынтсрвал [1с,1з] С [1о.,81], управление п" (1) на этом подынпссрвале являетпся опсаимальньм относительно граничных точек х'(1с) и х'(1г). Это утверждение доказывается точно так же, как и принцип оптимальности. В частном случае, когда 1с — — 1о, приведенное утверждение называют обратным принципом опт мальности [19]. Приведем несколько иную формулировку этого принципа. Обратный принцип оптимальности. Юля опспимальности допустимой для задачи (9.44) пары (сс*(1),х'(1)) необходимо, стобы при любом У Е [со,1с] управление и*[со,б] было оптимальным относительно конечного для интервала [со,г'] состояния х(С') = х*(у).
9.4.3. Функции и уравнения Беллмана. Произведем инвариантное погружение задачи (9.44) в семейство задач, которое получается из задачи (9.44) при замене. начального условия х(1о) = = х" параметрическим условием х(у) = х', у Е [со, Еу]. Здесь у и х' рассматриваются как параметры. В частном случае, когда У = со и х' = х, из введенного семейства выделяется исходная задача. Минимальное значение критерия оптимальности при параметрическом начальном условии зависит от выбранных значений У и х': вс»ссс.сс =- ь[с>егс 'г с'<с<с, причем Я(х(1у), Су) = до(х(1у), Ху). Функция Я(х(г')., У) называется функцией Бсллмана.
Получим уравнение Веллмана. Очевидно, имеем сс вс сс — в~с У вЂ” вЙс = ~ [г ссьс ь) г 1 с гб+1 с гФ], ьвссесс сс-ас<с<сс с' — ас е Для краткости записи аргументы функции уо(х, и, с) опущены. В силу принципа оптимальности можем записать 5(Х(г — Дв), 1 — Дв) = сс = — (!" -(- )")] исссеп исссец с, с' — ас<с<с' '-'"' с'<с<сс 312 Гл. у.
Методы теории оптимального управления или в(*(с'-вс(,с'-вс(= . ~ ) >.сс+г( (с(,с(~. «(с(ес' с'-ос<с<с' В последнем соотношении в правой части функцию Бсллмана нельзя вынести за операцию ппп, так как х(б) и соответственно функция Беллмана зависят от управления на интервале (Р— слг, г'1. В то же время х( — асс) и соответственно функция Беллмана Я(х(б— — с«с), б — слс) не зависят от управления на указанном интервале. Поэтому эту функцию можно перенести в правую часть и внести под знак минимума: 0= с ~ (>. сс(*(с'(,с( — с(*(с' — (, ' — (~.
«(с> е о ос<с<с с«-дс В полученном уравнении интеграл представим в виде / >асс> = >в(х(б), б)Ы ~- о(с«с). Затем, разделив обе части на Ьг« устремим сзгк нулю. Тогда, поло- жив б = 1, в пределе получим уравнение (9.45) или ~>.(,. с(+К вЂ” >.(... (+-~ =с. дд до1 «(с)е(>с ', дх, ' ' ' де (=1 которое называется уравнением Беллмана. Так как функция Беллмана Б(х(г),с) не зависит от управления п(~), последнее слагаемое в правой части можно вынести за скобки и уравнение Беллмана записать в виде » (»( ...
(+ ~ — >,(»,. () с= - —, дЯ 1 дд «(с>ек дт ! дс или, в векторной форме, шш (>о(х,п,4) + — 7(х, и, ~)~ = — —. (946) дд дд «(с'>еп дх дс Сформулируем основной результат. Если д>унниия Беллмена д(сфу>еренс(ируема, то для того чтобы допусгаимая пара (ц(~),х(~)) для задачи (9.44) была ее решением, необяодссмо, чтобы она удовлетаворяла уравнению Беллмана (9.46) при граничном условии Я(х(17), 17) = до(х(1у), 17). (9.47) у4.
Метод динамического программирования 818 Если минимум в левой часпт уравнения (9.46) достигается во внутренней точке множссглва ~1м то его можно записать в виде ,(о (х, н 1) + — г (х, п, 1) = — —, дЯ дЯ (9.48а) дх '(Д(х,н,1) + — 1(х,п,1)] = О, з = 1,.2,...,г. (9.48б) Уравнения (9.48б) выражают необходимое условие минимума левой части (9.46) и заменяет опущенную в уравнении (9.48а) операцию минимизации по управлению.
Если правые части уравнений объекта и подынтегральное выражение в критерии оптимальности, т.е. функции 1, (1 = 0,1,...,и), явно не зависят от времени и конечный момент не фиксирован, .то функция Беллмана не зависит явно от времени и дЯ/д1 = О. Оптимальное управление методом динамического программирования находим так: 1) из уравнений (9.486) определяем управление как функцию от Я: п' = п*(Я); 2) подставив и* = н*(Я) в уравнение (9.48а) и решив его при краевом условии (9.47), находим функцию Беллмана; 3) подставив найденную функцию Беллмана в выражение и* = = п*(Я), получаем оптимальное управление как функцию фазовых координат. Пример 9.8.
Определить оптимальное управление с: обратной связью в следующей задаче: х,(О) = х,, х,(О) = х , хз — хг хг — и~ х1(11) = О, хг(11) = О; д = ~(х~ + и ) й. о Здесь хо1 и хг в— заданные числа, момент 11 не фиксирован. Р е ш е н и е. Воспользуемся методом динамического программирования и выпишем уравнения (9.48): 2 2 х + и + — хг + — и = О, 2и+ — = О. ах, а , ' а , 1 до Из второго уравнения находим и = — — —. Подставим это выражение 2 дхг в первое уравнение: Нужно решить это уравнение при граничном условии Я(х(11)) = О.
Будем искать решение в виде квадратичной формы 2 2 Я = амх1 + 2а|гхгхо + аггхг, 314 Гл. у. Методы теории оигаимального управления которая в силу краевых условий удовлетворяет указанному граничному условию. Подставив это выражение в уравнение Бсллмана, получим хг — — (2ашхг + 2аггхг) + (2апхг + 2а,гхг)хг — — О, 1 г или (1 — а,г)х, + (2ап — 2ашагг)хгхг + (2агг — агг)хг = О. Последнее равенство будет выполняться тождественно, если г 2агг — агг = О.
1 — агг = О, 2ап — 2аггагг = О, г Эта система имеет следующие решения: агг — — 1, ам = ~ъ'2, ап = хзе'2. Так как по определению функция Беллмана имеет вид Я(х(г)) = ппп 1 (х, + и ) Й, , /', еде<О то Я > О при всех 1 < гу. Поэтому квадратичная форма, удовлетворяющая уравнению Беллмана, будет функцией Беллмана, если она является положительно определенной. Критерию Сильвестра положительной определенности квадратичной формы удовлетворяет решение агг — — 1, агг = зе2, ап — — зе2. Поэтому функция Беллмана и оптимальное управление имеют вид Я = ье2х, + 2хгхг+ зе2х~. 1 дд и*(х) = -- = -(хг+ и2хг). 2 дхг 9.4.4.
Достаточные условия оптимальности. Уравнение Бсллмана как необходимое условие оптимальности получено в предположении, что функция Беллмана является гладкой (непрерывно дифференцируемой). Однако это допущение не вытекает из условия задачи оптимального управления и часто не выполняется. Поэтому применительно к задачам оптимального управления метод динамического программирования требует обоснования. В тех случалх,когда нет обоснования, он может быть использован как эвристический Методы классического вариационного исчисления и принцип максимума, как правило, позволяют находить оптимальное управление как функцию времени.
В то же время, как следует из рассмотренного примера, метод динамического программирования позволяет находить оптимальное управление с обратной связью. Недостатком метода динамического программирования при решении задач оптимального управления является то, что он исходную задачу сводит к решению нелинейного уравнения в частных производных. у4. Метод динамического программирования 319 прием.
При определенных условиях метод динамического программирования дает достаточное условие оптимальности. достаточное условие оптимальности. Пусть Я(х,е) гладкое реивенив уравнения Беллмана (9.46) при граничном условии (9.47) и управление п" (х,1), найденное из условия дЯ, дЯ , / дд'1 ,(с (х, п*, 1) + — Дх, п*, 1) + — = ппп ~,(в + — ), д ' ' дг .
-'1 дс)' порождает единственную траекторию х*(1), удовлетворяющую уравнениям и граничным условиям задачи (9.44), вдоль которой йгункиив п*(1) = п'(х'(1),1) кусочно непрерывнт Тогда функция п*(х,1) является оптимальном управлением задачи (9.44). Покажем это утверждение. В силу определения функции и'(х, 1) в каждой точке ее непрерывности справедливо равенство зо(х*(1), п (о),1) + ' = О. Ж Проинтегрируем обе части по 1 от 1о до 1П /,(о(» (1), п (1),1) д1+ Б(» (1г),1г) — Б(» (1в),1с) = О, оо откуда с учетом граничного условия (9.47) и равенства х" (1в) = хс находим 5(х, 1о) = ув(х*(17), ву) + / уо(х*(1), п*(ь), ь) <Н.
(9 49) оо Рассмотрим допустимую пару (й(1),х(в)), где й(с) произвольное допустимое управление. В силу определения функции п'(в) = = п*(х*(о),1) справедливо неравенство гс(х(Х), й(1),4) + ' > гв(х*(о),п*(о), о) + ' = О. Й дг Интегрируя обе части по 1 от ув до 17, получим О )о 1с(х(о), й(о), о) во+ Б(х(17),17) — Б(х(1с), оо) > О, или, с учетом граничного условия (9.47) и равенства х(1о) = хо, О / зов(х(1), й(1), 1) сЫ -Ь уо(х(17), 17) > 5(хо, 1о).