1 / 80

Теория оптимального управления экономическими системами - II

Теория оптимального управления экономическими системами - II. Проф. В.П. Кривошеев. Динамическое программирование в непрерывной форме. Уравнение Беллмана. Решается задача оптимального управления y (0) = y 0 , dy i ( t )/ dt = f i ( y ( t ), u ( t ), t ), i = 1,…, n ,

brock-hyde
Download Presentation

Теория оптимального управления экономическими системами - II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Теория оптимального управления экономическими системами - II Проф. В.П. Кривошеев

  2. Динамическое программирование в непрерывной форме. Уравнение Беллмана Решается задача оптимального управления y(0) = y0, dyi(t)/dt = fi(y(t),u(t),t), i = 1,…,n, y(tk) = yk. В основе динамического программирования лежит принцип оптимальности в соответствии с которым нужно оптимальным образом перевести систему из состояния y()в конечное состояние y(tk) не зависимо от того, каким образом система пришла из исходного состояния y(0) в состояние y().

  3. Динамическое программирование в непрерывной форме. Уравнение Беллмана Вариация функции

  4. Динамическое программирование в непрерывной форме. Уравнение Беллмана Математически принцип оптимальности реализуется через выражение: Пусть - малая величина.Обозначим Тогда

  5. Динамическое программирование в непрерывной форме. Уравнение Беллмана Разложим функцию (, y())в ряд Тейлора относительно состояния t = 0, y(0) = y0 по степеням y(t) и t. Примем, что t = .Заметим, что или С учетом малости  можно записать

  6. Динамическое программирование в непрерывной форме. Уравнение Беллмана Теперь min(J(y(0),u(t))), с учетом выше приведенных выражений, можно записать в виде

  7. Динамическое программирование в непрерывной форме. Уравнение Беллмана Так как (0, y(0)) не зависит от u(t), а  содержится во всех составляющих правой части записанного выше уравнения, то это уравнение приводится к виду Учтем тот факт, что разложение условно оптимальной величины функционала,записанной для условного состояния в какой-то момент времени t (в приведенном случае y()),

  8. Динамическое программирование в непрерывной форме. Уравнение Беллмана можно разложить в ряд Тейлора относительно оптимального состояния системы в момент времени t- при y*(t), т.е. Полученное уравнение называется уравнением Беллмана. Оно является уравнением в частных производных. Решением этого уравнения есть функции u*(t), доставляющие экстремум функции и функции состояния системы y*(t), описывающие оптимальную траекторию движения системы из исходного y0 в конечное состояние yk.

  9. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Для решения уравнения Беллмана, кроме условий y(0) = y0 и y*(tk) = yk, нужно иметь значение функции (t, y(t)) и значения ее производных (t, y(t))/yi, i= 1,…,n, и (t,y(t))/tв один из граничных моментов времени tн = 0 или tk. Заметим, что (tk, y(tk)) = 0 по определению. В силу этого имеет место тождество

  10. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Теперь из самого уравнения Беллмана следует Получены все условия для решения уравнения Беллмана. Решение уравнение Беллмана выполняется известными методами решения систем дифференциальных уравнений в частных производных.

  11. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Покажем что уравнение Беллмана при некоторых допущениях может быть приведено к уравнениям Эйлера. Запишем уравнение Беллмана в виде двух видов уравнений: Первый вид: Второй вид:

  12. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Управления, удовлетворяющие уравнениям второго вида, обозначим u*(t).В первом уравнении управления u*(t) удовлетворяют условиям правой части уравнения Беллмана, выраженным уравнениями второго вида. Теперь продифференцируем уравнение первого вида по переменным состояния и введем обозначения:k(t) = -(t, y(t))/yk, k = 1,…,n, 0 = -1.

  13. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Принимая допущения, чтос учетом принятых выше обозначений, получим

  14. Алгоритм решения задачи оптимального управления методом динамического программирования в непрерывной форме Полученные уравнения являются уравнениями Эйлера в задаче оптимального управления. Таким образом, показано, что классическое вариационное исчисление, принцип максимума и уравнение Беллмана при некоторых допущениях позволяют выразить условия экстремума функционала в задаче оптимального управления идентичными уравнениями.

  15. Статическая оптимизация

  16. Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума Виды экстремумов и наилучших значений функции - локальный минимум полимодальной функции в точке ui*, если , или и ; - локальный максимум полимодальной функции в точке ui*, если , или и , где i=1,2,…,k – число локальных экстремумов.

  17. Виды экстремумов и наилучших значений функции - супремум (sup Q (u)) при umin, если ; - супремум (sup Q (u)) при umax, если ; - инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если ; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если .

  18. Постановка задачи статической оптимизации Q(X, U) min(max) U yi=φi(X, U) , i=1,…,n, yiyiзад, i=1,…,k, yiyiзад, i=k+1,…,p, UjminUj Ujmax, j=1,…,r, где X=(x1,…,xn) – вектор внешних возмущающих воздействий, U=(u1,…,ur) – вектор управляющих воздействий, Y=(y1,…,yp) – вектор выходных переменных, yiзад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих воздействий U=(u1,…,ur), при которых выполняются приведенные выше условия, а критерий оптимальности Qпринимает минимальное (максимальное) значение.

  19. Методы статической оптимизации • Классический метод исследования функции на экстремум • Методы нелинейного программирования: • численные методы решения одномерной задачи статической оптимизации; • численные методы решения многомерной задачи статической оптимизации • Линейное программирование • Динамическое программирование в дискретной форме

  20. Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u) Необходимое условие: . Достаточное условие: Если при u=u* впервые в порядке возрастания k ,где k– четное, то Q=Q(u) имеет экстремум.Причем, если , то Q(u)min, а если , то Q(u)max. Если приu=u* впервые в порядке возрастания k , где k– нечетное, то Q=Q(u) не имеет экстремума.

  21. Примеры исследования функции одной переменной на экстремум Пример 1. Q = (1-u)3. Необходимое условиеэкстремума : 3(1-u*)2(-1) = 0, u*=1. Достаточное условиеэкстремума = 6(1-u*) = 6(1-1) = 0, . k= 3 – нечетное. Ответ: при u*=1 исследуемая функция не имеет экстремума.

  22. Примеры исследования функции одной переменной на экстремум Пример 2. Q = (1-u)4. Необходимое условиеэкстремума : 4(1-u*)3(-1) = 0, u*=1. Достаточное условиеэкстремума = 12(1-u*)2 = 12(1-1)2 = 0, = 24(1-u*)= 24(1-1)= 0, = 24 = 0. k= 3 – нечетное. Ответ: при u*=1 исследуемая функция имеет минимум.

  23. Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции нескольких переменных Q=Q(U) =Q(u1,…,ur). Необходимое условие: . Достаточное условие: Если при U=U* все диагональные миноры матрицы Гессе (Г): (Г) строго положительны, то функция Q=Q(U) имеет минимум.Если при U=U* нечетные диагональные миноры матрицы (Г) строго отрицательные, а четные строго положительные, то функция Q=Q(U) имеет максимум.

  24. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1+4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = -5/23, u2* = 2 / = -1/23.

  25. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен 4>0, 2-ой диагональный минор равен 48-33=32-9=23>0. Ответ: при u1* = -5/23, u2* = -1/23 исследуемая функция имеет минимум.

  26. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1-4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = 5/41, u2* = 2 / = -7/41.

  27. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен –4<0, 2-ой диагональный минор равен -48-33=-32-9=-41<0. Ответ: при u1* = 5/41, u2* = -7/41 исследуемая функция не имеет экстремума.

  28. Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа равенства: Q=Q(U)  min, U j(U) = 0, j = 1,…,m, U = (u1,…,ur), m < r. Задача решается методом множителей Лагранжа.

  29. Метод множителей Лагранжа 1. Составляется функция Лагранжа где j, j=1,…,m,- множители Лагранжа. 2. Совместно решается система уравнений: L(U,) / ui=0, i=1,…,r, j(U) = 0, j = 1,…,m.

  30. Пример решения задачи методом множителей Лагранжа Q =u12+u22, u1+u2– 1 = 0. Функция Лагранжа L=Q(u1,u2)+ (u1,u2)= u12+u22 + (u1+u2– 1), L/u1=2u1*+ =0, L/u2=2u2*+ =0, Пусть  0, тогда u1=/2, u2 =/2, u1=u2,- u1- u2+ 1= 0, u1* =u2* = 0,5.

  31. Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа неравенств: Q=Q(U)  min, U j(U)  0, j = 1,…,m, U = (u1,…,ur). Задача решается с использованием условий Куна-Таккера.

  32. Условия Куна-Таккера Рассматривается задача выпуклого программирования Q=Q(U)  min, U j(U)  0, j = 1,…,m, U = (u1,…,ur), где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи. 1. Составляется функция Лагранжа: где j, j=1,…,m,- множители Лагранжа.

  33. Условия Куна-Таккера 2. Совместно решается система уравнений и неравенств: L(U,) / ui=0, i=1,…,r, jj(U) = 0, j = 1,…,m, j 0, j = 1,…,m, j(U)  0, j = 1,…,m.

  34. К определению выпуклости функции Пусть 0  1. Произвольную точку на линии ab можно описать как a+(b-a)(1-)= a+(1-)b,т.е. при  = 0 это точка b, а при  = 1 это точка а. В случае нелинейной функции ее значение в точке с= a+(1-)bестьQ[a+(1-)b].

  35. К определению выпуклости функции Значение линейной функции, проходящей через точки a и b, в точке с равно Q(a)+(Q(b) - Q(a))(c-a)/(b-a) = Q(a)+(Q(b) - Q(a))[a+(1-)b-a]/(b-a) = Q(a)+(Q(b) - Q(a))(1-) = Q(a)+ (1-)Q(b). Сравнивая значения исходной функции с линейной функцией в точке с можно записать условие выпуклости функции: если имеет место Q(a+(1-)b)< Q(a)+ (1-)Q(b), то исходная функция выпукла (лежит ниже линейной функции на отрезке [a,b]).

  36. Примеры решения задачи с использованием условия Куна-Таккера Пример 1. Q =u12+u22  min, u1, u2 u1+u21, или (u1,u2)= u1+u2– 1 0, L=Q(u1,u2)+ (u1,u2)= u12+u22 + (u1+u2– 1). Условия Куна-Таккера: * 0, L(U,) / uj = 0, *(u1*,u2*) = 0, j=1,2. Решение: L/u1=2u1*+  =0, L/u2=2u2*+  =0, (u1+ u2-1) = 0, u1+u2– 1 0. Пусть  =0, тогда u1*=0, u2*=0. Ограничение u1+u2– 1 0 в точке u1=0, u2=0 пассивно.

  37. Примеры решения задачи с использованием условия Куна-Таккера Пример 1 (продолжение): Пусть  0, тогда u1+u2– 1 = 0, 2u1= - , т.к.> 0, то u1<0; 2u2= - , т.к.> 0, то u2<0. В этом случае не выполняется условие u1+u2– 1 = 0. Пример 2. Q =u12+u22  min, u1, u2 u1+u21, или (u1,u2)= -u1-u2+ 1 0, L=Q(u1,u2)+ (u1,u2)= u12+u22 + (-u1-u2+ 1). Условия Куна-Таккера: * 0, L(U,) / uj = 0, *(u1*,u2*) = 0, j=1,2.

  38. Примеры решения задачи с использованием условия Куна-Таккера Пример 2 (продолжение): Решение: L/u1=2u1 - =0, L/u2=2u2 - =0, (-u1 -u2 +1) = 0, -u1-u2+1 0. Пусть  =0, тогда u1+u2 -1=0. Ограничение -u1-u2+1 0 в точке u1=0, u2=0 не выполняется. Пусть  0, тогда u1 =/2,u2 =/2, u1=u2; -u1-u2+1 = 0, u1*, u2*=1/2. Ограничение -u1-u2+1 0 в точке u1= 1/2, u2= 1/2 активно.

  39. Численные методы решения одномерных задач статической оптимизации - Сканирования (с постоянным и переменным шагом). - Половинного деления исходного интервала, содержащего экстремум. - «Золотого» сечения. -С использованием чисел Фибоначчи.

  40. Метод сканирования с постоянным шагом Функция Q(u), a  u  b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 2. Интервал (b-a)делится на N отрезков, N (b-a)/. 3. Вкаждойточкеui =a+i (b-a) / N , i =0,1,…, N,вычисляетсяфункция Q(ui)ивыбираетсяQ(u*)из условияQ(u* ) = max Q(ui)или ui Q(u* ) = min Q(ui). ui

  41. Метод сканирования с переменным шагом Функция Q(u), a  u  b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 2. Интервал (b-a)делится на S отрезков, S <<(b-a)/. 3. В каждой точке u1i=a+i(b-a) / S, i =0,1,…,S, вычисляется функцияQ(u1i)и выбираетсяQ(u1*) из условияQ(u1*) = max Q(u1i)или ui Q(u1*) = min Q(u1i). ui 4. Назначают границы нового интервала поиска a1 и b1 из условия: a1 = u1k-1, b1 = u1k+1, где u1k-1 и u1k+1 есть значения, соседние с u1*= u1k.

  42. Метод сканирования с переменным шагом При максимизации функции Q=Q(u)  max, u Q(u1k-1) < Q(u1k) = Q(u1*) > Q(u1k+1). При минимизации функцииQ=Q(u)  min, u Q(u1k-1) > Q(u1k) = Q(u1*) < Q(u1k+1). 5.Пункты 2-4 повторяются для интервалов (b1 - a1), (b2 – a2),…, (bj- aj). 6. Расчет заканчивается при условии bj- aj.

  43. a b Q(u) u11 u12 u   Метод половинного деленияQ=Q(u)  max(min), au b Поиск методом половинного деления

  44. Метод половинного деленияQ=Q(u)  max(min), au b Алгоритм поиска: 1. Делится интервал (b-a)пополамu1=a+(b-a)/2. 2. Внутри интервала выбираются две точки u11=u1 -  и u12 =u1 +, где  = (0.01-0.25). 3. РассчитываютсяQ(u11)иQ(u12). 4. Определяются границы нового интервалаa1 и b1. Если Q=Q(u)  max, то приQ(u11)>Q(u12)выбираем a1 = a,b1 = u12; приQ(u11)Q(u12)выбираемa1 = u11,b1 = b; Если Q=Q(u)  min, то приQ(u11)>Q(u12)выбираем a1 = u11,b1 = b; приQ(u11)Q(u12)выбираемa1 = u11,b1 =u12; 5. Проверяется условие окончания поиска b1 - a1. 6. Для каждого нового интервала (bi- ai) повторяются пункты 1-4до выполненияусловия bi- ai.

  45. Q(u) a b 0.62(b-a) 0.38(b-a) 0.38(b-a) u u11 u12 Метод «золотого» сеченияQ=Q(u)  max(min), au b Поиск методом «золотого» сечения

  46. Метод «золотого» сечения Q=Q(u)  max(min), au b Алгоритм поиска: 1. Внутри интервала (b-a)выбираются две точки u11=a+(3-5)(b-a)/2 и u12 =b-(3-5)(b-a)/2 . 2. ВычисляютсяQ(u11)иQ(u12). 3. Определяются границы нового интервалаa1 и b1. Если Q=Q(u)  max, то приQ(u11)>Q(u12)выбираем a1 = a,b1 = u12; приQ(u11)Q(u12)выбираемa1 = u11,b1 = b. Если Q=Q(u)  min, то приQ(u11)>Q(u12)выбираем a1 = u11,b1 = b; приQ(u11)Q(u12)выбираемa1 = a,b1 =u12; 4. Проверяется условие окончания поиска b1 - a1.

  47. Метод «золотого» сечения Q=Q(u)  max(min), au b Алгоритм поиска(продолжение): 5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b1 - a1)со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка. 6. Проводитсяперенумерация точек: - ближайшая к левой границе обозначается u21; - ближайшая к правой границе обозначается u22; 7. Для каждого нового интервала (bi- ai) повторяются пункты 2-6до выполненияусловия bi- ai.

  48. a b Q(u) u2 u1 u 0.23(b-a) 0.38(b-a) Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Поиск с использованием чисел Фибоначчи

  49. Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Алгоритм поиска: 1. Определяется число N,N =(b-a)/. 2.В ряду чисел Фибоначчи находят Fs-1 < N< Fs, гдеF0= F1 =1, Fi = Fi-2+Fi-1, i = 2,3,4,… 3. Вычисляется  = (b-a) /Fs. 4. Выполняется 1-й шаг:u1 = a +  *Fs-2 и вычисляется Q=Q(u1). 5. Выполняется2-й шаг:u2= a +  *Fs-2-1и вычисляется Q= Q(u2).

  50. Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Алгоритм поиска(продолжение): 6. Дальнейшие шаги: ui+1= ul±sign(ui – ui-1) sign(Q(ui) - Q(ui-1))*Fs-2-i , где ul - значение u, при котором достигнуто наилучшеезначение функции. Знак (+) ставится в задаче Q(u)  max,знак (-) ставится в задаче Q(u)  min. На каждом шаге вычисляется функция Q(u). Поиск заканчивается после использования числа Фибоначчи F0 , т.е. когда будут исчерпаны все числа Фибоначчи от Fs-2 до F0 .

More Related