Деменков Н.П. - Вычислительные методы решения задач оптимального управления на основе принципа максимума Понтрягина - 2015 (842911), страница 3
Текст из файла (страница 3)
, Хп)и расширенный вектор правых частей системыf14= (L, Ji , ..., fп).Отметим,чтоэтот функционал равен конечному значениюxo(tk):J (х, И) = ХО (tk ),а расширенный вектор правых частей/(1.11)не зависит от х0 •На основе расширенного вектора состояния и вектора сопряженных переменныхр= (ро, р1, ... , Рп),пряженному уравнению Эйлера-соЛагранжа. =~8/iLJ -Piудовлетворяющегоj=O 8'Xj(1.12)Pj,с условиямиi = 1, 2, ...
, п,(1.13)формируется гамильтонианН(х, и, р, t) = р-т (t)f(x, и, t).(1.14)Для задачи со свободным концом управление и* (t) и траектория х * (t) доставляют минимум функционалу J(x, и) (см. (1.6)) приуравнении связи(1.7),ограничения на управлениеи (см.(1.9))и заданных краевых условиях(1.8), если существует такая непрерывнаявектор-функция р = (ро,р1, ... , Рп), удовлетворяющая сопряженнойсистеме (1.12) и условиям трансверсальности (1.13), что при каждомt Е [to ,tk ] функция Гамильтона Н(х * (t), и *(t), p(t), t) (см. (1.14)) достигает в точке и* (t) максимума по всем и Е И :H(x*(t), и *(t), p(t), t) = maxH(x*(t), u(t), p(t), t).(1.15)iiE(JВ рассматриваемой задаче с фиксированнымсвободным(1.13)правымконцомx(tk)условиявременемкомпонентов--1 ,итрансверсальноститребуют так же, как и в задаче Лагранжа, чтобы призначение компонента ро (tk) было равноtkt = tkа значение остальныхнулю.15Поскольку условия трансверсальности в задаче Лагранжа иПонтрягина одни и те же, то структура краевой задачи, которойдолжно удовлетворять оптимальное решение,в обоих случаяхостается одинаковой.
Однако системы уравнений могут быть различными. При решении задачи Лагранжа в классическом вариационном исчислении управление исходя из условия стационарностиан =Одивыражается как функция от фазовых и сопряженных переменных:и =и(х,р,t).В задаче Понтрягина выполняется та же процедура, но с помощью условиян*= maxH(x ,и ,p,t).ueUВ том случае, когда область И совпадает со всем пространством, а функция Н имеет одну экстремальную точку, которая приэтом является максимумом, оба условия приведут к одной и тойже функции и* ( х, р, t) , т. е. для задач, в которых на класс искомыхэкстремалей не наложены ограничения, принцип максимума даетте же результаты,что иметод классического вариационного исчисления.
Однако в отличие от классического вариационного исчисления принцип максимума позволяет проще находить экстремаливвидекусочно-непрерывных(разрывных)функцийиучитывать наличие ограничений на координаты.Наиболее широко принцип максимума применяют при синтезеоптимальных управлений в задачах максимального быстродействияи при наличии ограничений координат управления Jиz (t)J s Uzmax;l= 1,2, .. ., r.1.3.Решение краевых задачНеобходимые условия оптимальности, как в классическом вариационном исчислении, так и при использовании принципа максимума, позволяют сформулировать некоторую краевую задачу.
Искомаяэкстремаль находится среди решений этой краевой задачи.16Расчет оптимального управления не был бы сложным, если быможно было достаточно хорошо решать краевые задачи для обыкновенных дифференциальных уравнений.Обычно численно решается только задача Коши-определяется траектория по начальным данным. Но в рассматриваемомслучае на левом конце существует всего лишь п условий, хотя система имеет порядок, равный2n.Возникает вопрос, каким образом, используя умение решатьзадачу Коши, можно построить решение краевой задачи?Отличие краевой задачи от задачи Коши (задачи с начальнымиусловиями) состоит в том, что решение дифференциального уравнения должно удовлетворять граничным условиям, связывающимзначения искомой функции более чем в одной точке.Простейшим представителем краевой задачи является двухточечная граничная задача, для которой граничные условия задаются вдвух точках, как правило, на концах интервала, на котором ищетсярешение.Рассмотримодинизраспространенныхметодоврешениядвухточечных краевых задач на отрезке [а, Ь] (когда дополнительные условия на решение налагаются в точках на концах отрезка), втом числе нелинейных.
Это метод стрельбы (пристрелки).При решении задачи методом стрельбы краевая задача сводится к решению задачи Коши, причем недостающие начальные значения задаются вектором параметров, значения которых и находятпристрелкой.Метод стрельбы будем рассматривать на примере решенияуравнения второго порядка, предварительно представив его в видесистемы уравнений первого порядка. Это рассмотрение являетсядостаточно общим, поскольку уравнение любого порядка можносвести к системе уравнений первого порядка.Метод стрельбы для решения краевой задачи основываетсяна том, что имеются удобные способы численного решения задачи Коши, т. е. задачи следующего вида (рис.у"=где Уо-f(x,y,y'); у(О)1.2):= уо; у'(О) = tg а,(1.16)ордината точки (О,уо), из которой выходит интегральная кривая; а-угол наклона интегральной кривой к оси х привыходе из точки (О, уо).17Приy(l , а)уфиксированнойординатеуо решение задачи Коши (см.у(х, а)(1.16))имеет виду= у(х, а).При хy(l , a)la=O= Xk(на рис.1.2Xk=1 )решение зависит только от а:y(x,a)lx-l = y(l,a).Ох1,0Рис.Используя= а* ,замечание о решении задачи Коши, сфор1.2.
Метод стрельбымулируем рассматриваемую задачу(пристрелки)угол ауказанноеследующим образом: найти такойпри котором интегральная кривая, выходящая из точки (О, Уо) под углом а к оси абсцисс, попадет в точку(l,Уi):y(l,a) = Yi.(1.17)(1.16)) при а = а * совпадает с иское.
сводится к решению уравнения (1.17).Решение задачи Коши (см.мым решением (рис.1.3), т.Уравнение (1.17) - это уравнение видаF(a) = О,гдеF(a) = y(l, а) - Yi.Оно отличается отприведенных выше уравнений лишь тем,что функцияF(a) задана(1.18)у ( 1 , а)не аналитиче-ским выражением, а с помощью алгоритмачисленного(см.(1.16)).решениязадачиДля решения уравнения(1 .18)Кошиможно использовать любой метод, пригодный для уточнения корней нелинейногоа*уравнения , например метод деления отрезка пополам,тельных) и др.18аметод Ньютона (касаРис.1.3.
Нахождение а*Из-зафункциивысокойстоимостиF(a) (нужновычисленияодногорешить задачу Коши (см.значения(1.16))с данныма метод Ньютона предпочтительнее, так как имеется достаточнохорошее начальное приближение.Метод стрельбы, сводящий решение краевой задачивычислению решений задачи Коши(1.17),( 1.16)кхорошо работает в томслучае, если решение у(х,а) сравнительно слабо зависит от а. Впротивном случае он становится вычислительно-неустойчивым,даже если решение уравнения( 1.16) зависит от входных данных неочень сильно.При решении уравненияполамзададиму(1, а 1) -Yiао иF (а) = Оа1 так,методом деления отрезка по-чтобыразностиy(l,ao)-Yiиимели разные знаки. Положима2ао +а1=---2Вычислимy(l,a2).Найдем аз по формулеа1 +а2аз=---ао +а2или аз=---22в зависимости от того, имеют ли разностиy(l, а2 )- Yiиy(l, а1) - Yiсоответственно разные или одинаковые знаки.Определим у(l,аз).
Процесс продолжаем до тех пор, пока небудет достигнута требуемая точность ly(l, ап) - Yi 1 < s.Используем для решения уравненияF (а) = Ометод Ньютона.Зададим а 0 , а затем последующие значения ап рассчитаем по рекуррентной формулеаF(ап)п+1-а----пF'(ап)'п= 0,1, ...Производная F'(ап) может быть найдена по одной из формулчисленного дифференцирования, например, первого порядка аппроксимации:F'(ап) = F(ап + h1-F(aп),гдеh-шаг дискретизации .19Пример1.1. Пусть дана краевая задача в видеtx" - х' = 3t 2 ; x(l) = 2; х(2) = 9.Решение. Представим данную задачу как систему уравненийпервого порядках2х2,=3t+-;tх1(1) = 2, х1(2) = 9.Сведем эту задачу к задаче Коши, используя параметр а, равный неизвестному значению х2 (1) .
Для того чтобы найти значениепараметраt = 2,а,при котором выполнено граничное условие в точкедобавим еще два уравнения, продифференцировав исходнуюсистему по параметру а. Для этого введем еще две переменные:хз = дх1/да,Х4 = дх2/да.В итоге получим систему обыкновенных дифференцированных уравненийХ2,Х2= 3t+-;t,Х3=-;tх1(1) = 2,х2(1)хз(l) =X4(l) = 1.Х40,= а;Решив расширенную систему с фиксированным параметром а ,найдем значение х2 (2), которое, отличается от истинного.Для коррекциипараметраа рассчитаем его новое значениепо формулеXl (2)calc - Xl (2)anew = aold - - - - - - - .Х4 (2)calc20Здесь х1 (2)caic-значение х1 (2) , полученное в результате расчета.Затем снова решим систему обыкновенных дифференциальныхуравнений и т.
д .Процесс расчета продолжим до тех пор, пока не будет выполненоусловиеlanew - aold 1 ~где Е-Е,заранее заданная точность расчета.Для решения краевой задачи создадим в рабочей областиМАТLАВ m-файл boundary.m с кодом :function boundaryх = zeros ( 4 , 1 );% Задание началь ных условийalpha = 2 . 9 ;хО = [2 alpha О 1]tO = 1tk = 2xlend= 9 ;% Интегрировани е[t , х] = ode45 (@task , [tO tk] , хО)xl = x (length (x ), 1 )х2 = x (length( x ), 2 )хЗ = x (length (x ), 3 )х4 = x (length (x ), 4 )% Печатьfigure ;ho l d on ;plot (t , x (:, 1 ), '- r ' , t , x (:, 2) , 'g ' , t , x (:, 3 ), ' Ь ' , t , x (:,4), ' у ');grid on ;% Вычисление правых частейfu n ct i on dx = task (t , x)dx = [ х ( 2 ) ; ...З*t+х (2 ) /t ; ...х ( 4 );;...х ( З ) /t] ;endxl e ndCalc = xl ; x4 e ndCa l c = х4 ;alpha = alpha-( xlendCalc- xlend ) /x4endCalc ;alphaend2114~--г----т-----т-----т--~Послезапускаисоответ-12t------t----+----+-----+------..ствующего числа итераций про10>------t----+----+--------+J~------<граммы получают график решения, показанный на рис .
1.4.8 t---+---+---------+----------,Для6 1---+---------=~-+-~-+-------jпрограммы4 1--~t----::Ja,,,,"=------+----+-------J1,41,2Рис.1,61,8контролянапечатьконечные значения :2выполнениявыводятсях1 , х2, хз,и новое значение а .Рассмотрим решение краевых1.4. График решениязадачкраевой задачиМАTLAB, например с помощьюстандартнымисредствамиспециальных программbvp5c.Х4Функцияbvp4cbvp4cилирешает краевую задачу для системы обыкновенных дифференциальных уравненийу'=f(y,x).Решение у= у(х), удовлетворяющее на отрезке [а, Ь] этомууравнениюиграничнымусловиям,наложеннымназначениефункции и/или ее производной на концах отрезка, ищем в форме сеточной функции.