rybalev optimal systems_(отсюда брал лекции) (842910), страница 2
Текст из файла (страница 2)
По виду граничных условий различают задачи с закрепленными концами, когда X(t0) и X(tк) известны(заданы), и задачи с подвижными концами, когда часть или все компонентыэтих векторов неизвестны (могут принимать произвольные значения, возможно, в ограниченной области). Среди последних, как наиболее часто встречающуюся, выделяют задачу со свободным правым концом, в которой вектор X(tк)неизвестен (полностью или частично). Примером является задача на максимальную дальность передвижения при ограничении на расход энергии.7В зависимости от определенности момента времени tк задачи разделяютна задачи с фиксированным и нефиксированным временем.
К последнему типу, очевидно, относится задача на максимальное быстродействие.Итак, задача оптимизации управления состоит в том, чтобы найти такиевекторы U(t) и X(t), которые доставляют экстремум функционалу критерия оптимальности с учетом всех ограничений и граничных условий. Эти векторыназываются соответственно оптимальным управлением и оптимальной траекторией. В результате решения задачи оптимальное управление может бытьнайдено либо как оптимальная программаU = U(t),(16)либо как оптимальная стратегияU = U(X).(17)Для построения системы управления второе решение, очевидно, болеепредпочтительно, так как позволяет построить замкнутую систему, способнуюоптимальным образом функционировать при любых начальных условиях.
Однако определить оптимальную стратегию, как правило, намного сложнее, чемоптимальную программу.Решение задач оптимизации динамических режимов осуществляетсяразличными методами, основными из которых являются:классическое вариационное исчисление;метод максимума Понтрягина;динамическое программирование Беллмана.82. РЕШЕНИЕ ЗАДАЧ ОПТИМАЛЬНОГО УПРАВЛЕНИЯС ПОМОЩЬЮ ВАРИАЦИОННОГО ИСЧИСЛЕНИЯ2.1. Задача с закрепленными концами и фиксированным временемРассмотрим задачу поиска безусловного экстремума функционала видаtкJ(y( t ), y& ( t ), t ) = ò f 0 (y( t ), y& ( t ), t )dt .(18)t0где y(t) - некоторая функция независимой переменной t (в дальнейшем - времени).Предположим, что функция y(t) доставляет экстремум функционалу(18). Дадим этой функции приращение Dy(t)®0 - такое, чтоìDy( t 0 ) = 0,íîDy( t к ) = 0.(19)Определим приращение функционала (18), вызванное приращениемфункции Dy(t):DJ = J(y( t ) + Dy( t ) ) - J(y( t ) ) ==tкò [f 0 (y( t ) + Dy(t ), y& ( t ) + dDydt , t ) - f 0 (y( t ), y& ( t ), t )]dt.(20)t0Разложив подынтегральное выражение (20) в ряд Тейлора и отбросиввсе слагаемые выше первого порядка малости, получим так называемую первую вариацию функционалаtкé ¶f¶f dDy ùdJ = ò ê 0 Dy( t ) + 0ú dt.&yydt¶¶ëût0(21)Первая вариация функционала является главной (линейной) частью егоприращения и представляет собой дифференциал функционала.Проинтегрируем второе слагаемое подынтегрального выражения (21)по частям:tкttкк¶f 0 dDy¶f 0d ¶f 0=DDy( t )dt .dtyò ¶y& dtò&&¶¶ydtyttt000Принимая во внимание (19), получим:9(22)tкtкd ¶f 0¶f 0 dDydt=ò ¶y& dtò dt ¶y& Dy( t )dt .tt0(23)0Подставляя (23) в (21), запишемtкé ¶fd ¶f 0 ùdJ = ò ê 0 +ú Dy( t )dt.&ydty¶¶ûët0Поскольку функция y(t) доставляет экстремум функционалу (18), егопервая вариация, определенная на этой функции, должна быть равна нулю:tкé ¶fd ¶f 0 ùdJ = ò ê 0 +ú Dy( t )dt = 0 .&ydty¶¶ûët0(24)Равенство (24) должно иметь место для произвольных функций Dy(t),удовлетворяющих граничным условиям (19).
Это возможно, если функцияDy(t) умножается на нуль, т.е. выполняется равенство¶f 0 d ¶f 0= 0.¶y dt ¶y&(25)Уравнение (25) называется уравнением Эйлера.Таким образом, если существует такая функция y(t), для которой функционал (18) достигает экстремума, то она удовлетворяет уравнению Эйлера(25).Отметим, что уравнение (25) необходимое, но не достаточное условиеэкстремума функционала (18), подобно тому, как равенство нулю производнойнекоторой функции в некоторой точке не является достаточным условием экстремума функции в этой точке.
Более того, если экстремум и достигается, тонеизвестен его вид (минимум или максимум). Следовательно, решение, основанное на использовании (25), нуждается в проверке. Однако во многих случаях при решении реальных задач оптимального управления полученное решение и вид экстремума обосновываются физическими соображениями, и такуюпроверку не выполняют.В случае, если функционал зависит от нескольких функцийtкJ = ò f 0 (y1 ( t ), y& 1 ( t ), y 2 ( t ), y& 2 ( t ),..., y n ( t ), y& n ( t ) )dt ,(26)t0необходимыми условиями его экстремума будут уравнения Эйлера, записанные относительно всех неизвестных функций:¶fd ¶f 0= 0,¶yi dt ¶y& i(27)где i =1,2…n.10При решении задач оптимального управления под функциями yi(t), очевидно, нужно понимать неизвестные траектории движения объекта X(t) и самоуправление U(t). Поэтому в общем случае функционал может иметь вид:tкJ = ò f 0 (x1 ( t ), x& 1 ( t ),..., x n ( t ), x& n ( t ), u1 ( t ), u& 1 ( t ),..., u m ( t ), u& m ( t ) )dt .(28)t0Однако производные компонентов вектора состояния X могут быть выражены через сами компоненты и управляющие воздействия с помощью уравнений объекта, а производные вектора управления в функционал в большинстве случаев не входят.
Кроме того, в дальнейшем для упрощения будем считатьуправление скалярным. С учетом этого функционал запишем в виде:tкJ = ò f 0 (x1 ( t ),..., x n ( t ), u ( t ) )dt .(29)t0Таким образом, рассматривается задача Лагранжа.На переменные состояния и управление наложены различные ограничения. В классическом вариационном исчислении рассматриваются ограничения в виде непрерывных функций. Применительно к задачам оптимизации динамических режимов эти функции связывают между собой переменные состояния объекта и управляющее воздействие и представляют собой не чтоиное, как дифференциальные уравнения объекта:x& i = f i (X, u , t ), i = 1...n .(30)Уравнения (30) могут быть представлены в виде неголономных ограничений следующим образом:& , u, t ) = f i (X, u, t ) - x& i = 0 , i = 1…n.ji ( X, X(31)Для учета ограничений используется метод неопределенных множителей Лагранжа.
Согласно ему подынтегральная функция критерия расширяетсяпутем включения в нее ограничений (в нашем случае - вида (31)). Полученнаятаким образом функция называется функцией Лагранжа (лагранжианом):n& , u, t ) ,L = f 0 (X, u ( t ) ) + å y i ( t )ji (X, X(32)i =1где y i ( t ) - неизвестные функции, называемые множителями Лагранжа.Отметим, что численно лагранжиан равен функции f 0 (X, u ( t ) ) .В дальнейшем при поиске экстремума вместо исходного функционалаиспользуется функционалtкJ = ò L(...)dt .*(33)t0Уравнения Эйлера для функционала (33) примут вид:11¶L d ¶L= 0 , i = 1…n,¶x i dt ¶x& i¶L= 0.¶u(34)(35)Последнее уравнение представляет собой уравнение Эйлера для управления. Его простой вид следует из того, что в лагранжиан не входит производ¶L= 0.ная управления и¶u&Очевидны также следующие равенства:¶L= 0 , i = 1…n,¶y i(36)представляющие собой неголономные ограничения.Система уравнений (34-36) называется уравнениями Эйлера-Лагранжа.На практике уравнения Эйлера-Лагранжа удобнее записывать через такназываемую функцию Гамильтона (гамильтониан):nnH = f 0 (X, u ( t ) ) + å y i ( t )f i (X, u, t ) = L + å y i ( t ) x& i .i =1(37)i =1nС учетом того, что L = H - å y i ( t ) x& i ,i =1¶L= -y i ,¶x& iуравнения (33,35) примут вид:¶Н dy i+= 0,¶x idt(38)илиy& i = -¶Н, i = 1…n,¶x i(39)¶Н= 0.¶u(40)Очевидно также, что:¶H(41)= f i (X, u, t ) , i = 1…n.¶y iУравнения (41) - это уравнения объекта, выраженные через гамильтониан.
В дальнейшем вместо них можно непосредственно использовать (30).Система уравнений (39) (41) называется системой Гамильтона. Онапредставляет собой 2n обыкновенных дифференциальных уравнений первогопорядка в форме Коши (уравнения (39) и уравнения объекта (41)). Уравнение(40) после взятия производной становится алгебраическим и позволяет выразить управление u(t) через неизвестные функции yi(t) и xi(t), тем самым «избавиться» от этой переменной.12Таким образом, если существует управление u(t) и траектории X(t), такие, что при них достигается экстремум функционала (29), то существуют неравные одновременно нулю множители yi(t), удовлетворяющие уравнениям(39) -(41).Чтобы найти оптимальное управление и оптимальные траектории необходимо решить систему Гамильтона.
Для этого, как известно, требуется 2n дополнительных условий. Если рассматривается задача с фиксированным временем и закрепленными концами, то в качестве дополнительных выступают граничные условия: X(t0) = X0, X(tк) = Xк (этих условий в точности 2n штук).Пример 1.Требуется объект, описываемый уравнениямиìx& 1 = x 2 ,íîx& 2 = -3x1 - x 2 + u,(42)перевести из состояния x1(0) = x2(0) = 0 в состояние x1(1) = 1, x2(0) = 0 такимобразом, чтобы обеспечить минимум потребления энергии:1J = ò u 2 ( t )dt ® min .(43)0Запишем гамильтониан:H = u 2 + y1x 2 + y 2 (-3x1 - x 2 + u ).(44)Необходимыми условиями экстремума будут:¶H= 3y 2 ,y& 1 = ¶x1¶H= -y1 + y 2 ,y& 2 = ¶x 2¶H= 2u + y 2 = 0 .¶u(45)(46)(47)Из (47) получимu = -0,5y 2 .(48)Подставив (48) в уравнения объекта (42) и объединив последние суравнениями (45), (46), получим систему дифференциальных уравнений:ìx& 1 = x 2 ,ïx& = -3x - x - 0,5y ,ï 2122íïy& 1 = 3y 2 ,ïîy& 2 = -y1 + y 2 .(49)Система (49) однородна и может быть представлена в матричном виде13&X̂ = AX̂ ,(50)где X̂ = [ x1 , x 2 , y1, y 2 ]T , а матрица А в данном случае имеет вид:1 00 ùé0ê- 3 - 1 0 - 0,5úúA=êê00 03 úúê0 -11 ûë0Структура решения системы, как известно, зависит от вида собственных чисел матрицы А ([1]).
Определим их с помощью следующего кодаMatlab:A = [0 1 0 0;-3 -1 0 -.5;0 0 0 3;0 0 -1 1];L = eig(A)L =-0.5000-0.50000.50000.5000++-1.6583i1.6583i1.6583i1.6583iВ данном случае кратных корней нет, поэтому решение будем искать ввиде:ìX̂1 = C1a1(1) e l1t + C 2a1( 2) e l 2 t + C3a1(3) e l 3 t + C 4a1( 4) el 4 t ,ïïïX̂ 2 = C1a (21) e l1t + C 2a (22) el 2 t + C3a (23) e l 3 t + C 4a (24) e l 4 t ,í(1) l t( 2) l t( 3) l t( 4) l tïX̂ 3 = C1a 3 e 1 + C 2a 3 e 2 + C3a 3 e 3 + C 4a 3 e 4 ,ïïîX̂ 4 = C1a (41) e l1t + C 2a (42) el 2 t + C3a (43) e l 3 t + C 4a (44) e l 4 t ,(51)где lj (j = 1…4) - собственные числа матрицы А (определенные выше);[]Ta ( j) = a1( j) , a (2j) , a 3( j) , a (4j) - собственные векторы, соответствующие числамlj; Сj - постоянные, определяемые через дополнительные условия.Отметим, что в нашем случае все перечисленные величины - комплексные числа.Определим собственные векторы матрицы A с помощью следующеговызова функции eig:[V,D] =eig(A); VV =-0.1443-0.4787i0.866000-0.1443+0.4787i0.866000-0.0714-0.0357-0.1185i0.85710.1429+0.4738i14-0.0714-0.0357+0.1185i0.85710.1429-0.4738iМатрица V состоит из столбцов, каждый из которых - собственный вектор, определенный для соответствующего собственного числа.