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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

системами - II

Проф. В.П. Кривошеев

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

Динамическое программирование в непрерывной форме. Уравнение Беллмана Решается задача оптимального управления

y(0) = y0, dyi(t)/dt = fi(y(t),u(t),t), i = 1,…,n,y(tk) = yk. В основе динамического программирования

лежит принцип оптимальности в соответствии с которым нужно оптимальным образом перевести систему из состояния y()в конечное состояние y(tk) не зависимо от того, каким образом система пришла из исходного состояния y(0) в состояние y().

(max),min)),(),((

0 t

tdttttFJ

uuy

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

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

Вариация функции

)(ty

)0(y

)(ty

0 kt

t

)(* ty

)(* ty

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

Динамическое программирование в непрерывной форме. Уравнение БеллманаМатематически принцип оптимальности

реализуется через выражение:

Пусть - малая величина. Обозначим

Тогда

].)),(),(()(

min)),(),(([)(

min)(

min0

dttttFt

dttttFt

Jt

tuyuy

uuu

.)),(),(()(

min))0(,0(

,)),(),(()(

min))(,(

0

*

*

dttttFt

dttttFt

t

t

uyy

uyy

u

u

))].(,()),(),(([)(

min))0(,0(0

* yuyyu

dttttFt

t

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

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

Примем, что t = . Заметим, что или С учетом малости можно записать

.)0(

0))(,(

)0(0

))(,())0(0())(,(

1 yyyy

yyyy

tt

tttty

tty

n

i ii

,

,)()( tdttdyty ii .)),(),(()( ttttfty ii uy

.)),(),0(()),(),0(()),(),((0

ttFtttFdttttF uyuyuy

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

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

Теперь min(J(y(0),u(t))), с учетом выше приведенных выражений, можно записать в виде

.])0(

0/))(,((

)0(0))),(),(()/))(,(((

))0(0()),(),0(([min))0(0(

1

*

)(

*

yy

yy

u

y

uyy

yuyy

tttt

ttttfytt

ttF

i

n

ii

t

,,

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

Динамическое программирование в непрерывной форме. Уравнение БеллманаТак как (0, y(0)) не зависит от u(t), а

содержится во всех составляющих правой части записанного выше уравнения, то это уравнение приводится к виду

Учтем тот факт, что разложение условно оптимальной величины функционала, записанной для условного состояния в какой-то момент времени t (в приведенном случае y()),

].)0(

0))),(),(()/))(,(((

)0(0)),(),0(([min

)0(0/))(,((

1

)(

yy

yyuyy

uyy

uyy

ttttfytt

tttFtttt

i

n

ii

t

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

Динамическое программирование в непрерывной форме. Уравнение Беллманаможно разложить в ряд Тейлора относительно оптимального состояния системы в момент времени t- при y*(t), т.е.

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

))].),(),(()/))(,(((

)),(),(([min/))(,((

1

)(

tttfytt

tttFttt

i

n

ii

t

uyy

uyyu

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

Для решения уравнения Беллмана, кроме условий 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 по определению. В силу этого имеет место тождество

.,...,1,0/))(,()(

niyttk

kt

tti

yy

y

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

Теперь из самого уравнения Беллмана следует

Получены все условия для решения уравнения Беллмана.

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

.)(

)),(),(((max)(

/))(,(

kk

kk

ttttttF

tttttt

yyuyy

uyy

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

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

Второй вид: ).),(),(()/))(,((

)),(),((/))(,(*

1

*

tttfytt

tttFttt

i

n

ii uyy

uyy

.,...,1,0/)),(),((/))(,(

/)),(),((

1rjutttfytt

utttFn

ijii

j

uyy

uy

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

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

0 = -1.

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

Принимая допущения, что с учетом принятых выше обозначений, получим

.,...,1,)/)),(),((()/))(,((

)),(),((/)/))(,((

/)),(),((/)))(,(

(

1

*

*

1

*

nkytttfytt

tttfyytt

ytttFyt

tt

n

ikii

i

n

iki

kk

uyy

uyy

uyy

,0/)/))(,(( ki yytt y

.,...,1,0)/)),(),(((/)),(),(((

,,...,1,/)),(),(()((

/)),(),(((/)(

1

*0

1

*

*0

rjutttfutttF

nkytttft

ytttFtdtd

n

ijiij

n

ikii

kk

uyuy

uy

uy

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

Алгоритм решения задачи оптимального управления методом динамического

программирования в непрерывной форме

Полученные уравнения являются уравнениями Эйлера в задаче оптимального управления.

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

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

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

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

Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума

Виды экстремумов и наилучших значений функции

- локальный минимум полимодальной функции в точке ui*, если , или

и ;

- локальный максимум полимодальной функции в точке ui*, если , или

и ,

где i=1,2,…,k – число локальных экстремумов.

)()()( *** uQQuQ iii uuu

0/)( * uidudQ u

u 0/)( * uii

dudQ uu

)()()( *** uQQuQ iii uuu

0/)( * uidudQ u

u 0/)( * uii

dudQ uu

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

Виды экстремумов и наилучших значений функции

- супремум (sup Q (u)) при umin, если ;

- супремум (sup Q (u)) при umax, если ;

- инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если

; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если

.

))(),(),((max)( maxminmaxmin,,

min uuuu QQQQ ii

))(),(),((max)( maxminmaxmin,,

max uuuu QQQQ ii

))(),(),((min)( maxminmaxmin,,

min uuuu QQQQ ii

))(),(),((min)( maxminmaxmin,,

max uuuu QQQQ ii

))(),(),((min)( maxmin*

maxmin,,,...,2,1,uuuu QQQQ

ikiig

))(),(),((max)( maxmin*

maxmin,,,...,2,1,uuuu QQQQ

ikiig

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

Постановка задачи статической оптимизации

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 Uj

max, j=1,…,r,где X=(x1,…,xn) – вектор внешних возмущающих

воздействий, U=(u1,…,ur) – вектор управляющих воздействий, Y=(y1,…,yp) – вектор выходных переменных, yi

зад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих

воздействий U=(u1,…,ur), при которых выполняются приведенные выше условия, а критерий оптимальности Q принимает минимальное (максимальное) значение.

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

Методы статической оптимизации

1. Классический метод исследования функции на экстремум

2. Методы нелинейного программирования:- численные методы решения

одномерной задачи статической оптимизации;

- численные методы решения многомерной задачи статической оптимизации

3. Линейное программирование4. Динамическое программирование в

дискретной форме

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

Классический метод исследования функций на экстремум

Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u)

Необходимое условие: . Достаточное условие:Если при u=u* впервые в порядке возрастания k

, где k – четное, то Q=Q(u) имеет экстремум. Причем, если , то Q(u)min, а если , то Q(u)max.

Если при u=u* впервые в порядке возрастания k

, где k – нечетное, то Q=Q(u) не имеет экстремума.

0/)( * uduudQ

0/)( * ukk duuQd

0/)( * uduudQ

0/)( * uduudQ

0/)( * ukk duuQd

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

Примеры исследования функции одной переменной на экстремум

Пример 1. Q = (1-u)3. Необходимое условие экстремума :

3(1-u*)2(-1) = 0, u* =1.

Достаточное условие экстремума =

6(1-u*) = 6(1-1) = 0, .k = 3 – нечетное.

Ответ: при u* =1 исследуемая функция не имеет экстремума.

0/)( * uduudQ

*22 /)( uduuQd

06/)( *33 uduuQd

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

Примеры исследования функции одной переменной на экстремум

Пример 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 исследуемая функция имеет минимум.

0/)( * uduudQ

*33 /)( uduuQd

*22 /)( uduuQd

*44 /)( uduuQd

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

Классический метод исследования функций на экстремум

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

(Г)

строго положительны, то функция Q=Q(U) имеет минимум. Если при U=U* нечетные диагональные миноры матрицы (Г) строго отрицательные, а четные строго положительные, то функция Q=Q(U) имеет максимум.

),...,(*,,...,1,0/)( **1* rj uurjuQ UU U

rrr

r

uu

Q

uu

Q

uu

Q

uu

Q

)()(

)()(

2

1

2

1

2

11

2

UU

UU

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

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 1. Q = u1+2u1

2+u2+4u22+3u1u2

Необходимое условие экстремума:

, 1+4u1*+3u2

* = 0;

, 1+8u2*+3u1

* = 0;

, ,

, u1

* = 1 / = -5/23,

u2* = 2 / = -1/23.

0/)( **,1 21 uuuQ U

0/)( **,2 21 uuuQ U

2393283

34 538

81

311

13413

142

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

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 1. Q = u1+2u1

2+u2+4u22+3u1u2.

Достаточное условие экстремума: ; ;; ;

Матрица (Г):

1-ый диагональный минор равен 4>0,

2-ой диагональный минор равен 48-33=32-9=23>0.

Ответ: при u1* = -5/23, u2

* = -1/23 исследуемая функция имеет минимум.

4/)( **,112

21 uuuuQ U

3/)( **,122

21 uuuuQ U

3/)( **,212

21 uuuuQ U

8/)( **,222

21 uuuuQ U

,83

34

)()(

)()(

22

2

12

221

2

11

2

uu

Q

uu

Q

uu

Q

uu

Q

UU

UU

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

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 2. Q = u1-2u1

2+u2+4u22+3u1u2

Необходимое условие экстремума:

, 1-4u1*+3u2

* = 0;

, 1+8u2*+3u1

* = 0;

, ,

, u1

* = 1 / = 5/41,

u2* = 2 / = -7/41.

0/)( **,1 21 uuuQ U

0/)( **,2 21 uuuQ U

4193283

34

538

81

311

73413

142

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

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 2. Q = u1-2u1

2+u2+4u22+3u1u2.

Достаточное условие экстремума: ; ; ; ;

Матрица (Г):

1-ый диагональный минор равен –4<0,

2-ой диагональный минор равен -48-33=-32-9=-41<0.

Ответ: при u1* = 5/41, u2

* = -7/41 исследуемая функция не имеет экстремума.

4/)( **,112

21 uuuuQ U

3/)( **,122

21 uuuuQ U

3/)( **,212

21 uuuuQ U

8/)( **,222

21 uuuuQ U

,83

34

)()(

)()(

22

2

12

221

2

11

2

uu

Q

uu

Q

uu

Q

uu

Q

UU

UU

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

Аналитическое решение задачи на условный экстремум

- Метод множителей Лагранжа.- Условие Куна-Таккера

Аналитическое решение задачи на условный экстремум при условиях типа равенства:

Q=Q(U) min, U j(U) = 0, j = 1,…,m, U = (u1,…,ur), m < r.

Задача решается методом множителей Лагранжа.

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

Метод множителей Лагранжа

1. Составляется функция Лагранжа

где j, j=1,…,m,- множители Лагранжа.

2. Совместно решается система уравнений:

L(U,) / ui=0, i=1,…,r,

j(U) = 0, j = 1,…,m.

m

jjjQλL

1)()(),( UUU

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

Пример решения задачи методом множителей Лагранжа

Q = u12+u2

2 ,

u1+u2 – 1 = 0.

Функция Лагранжа L=Q(u1,u2)+ (u1,u2)= u1

2+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.

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

Аналитическое решение задачи на условный экстремум

- Метод множителей Лагранжа.- Условие Куна-Таккера

Аналитическое решение задачи на условный экстремум при условиях типа неравенств:

Q=Q(U) min, U

j(U) 0, j = 1,…,m, U = (u1,…,ur).

Задача решается с использованием условий Куна-Таккера.

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

Условия Куна-Таккера

Рассматривается задача выпуклого программирования

Q=Q(U) min, U

j(U) 0, j = 1,…,m, U = (u1,…,ur),

где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи.

1. Составляется функция Лагранжа:

где j, j=1,…,m,- множители Лагранжа.

m

jjjQλL

1)()(),( UUU

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

Условия Куна-Таккера

2. Совместно решается система уравнений и неравенств:

L(U,) / ui=0, i=1,…,r,

jj(U) = 0, j = 1,…,m, j 0, j = 1,…,m,

j(U) 0, j = 1,…,m.

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

К определению выпуклости функции

Пусть 0 1.

Произвольную точку на линии ab можно описать как a+(b-a)(1-)= a+(1-)b, т.е. при = 0 это точка b, а при = 1 это точка а.

В случае нелинейной функции ее значение в точке с = a+ (1-)b есть Q[ a+(1-)b].

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

К определению выпуклости функции

Значение линейной функции, проходящей через точки 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]).

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

Примеры решения задачи с использованием условия Куна-Таккера

Пример 1. Q = u12+u2

2 min, u1, u2

u1+u2 1, или (u1,u2)= u1+u2

– 1 0,

L=Q(u1,u2)+ (u1,u2)= u12+u2

2 + (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

пассивно.

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

Примеры решения задачи с использованием условия Куна-Таккера

Пример 1 (продолжение):Пусть 0, тогда u1+u2

– 1 = 0,

2u1= - , т.к. > 0, то u1< 0;

2u2= - , т.к. > 0, то u2< 0.В этом случае не выполняется условие u1+u2

– 1 = 0.Пример 2. Q = u1

2+u22 min,

u1, u2

u1+u2 1, или (u1,u2)= -u1-u2

+ 1 0,

L=Q(u1,u2)+ (u1,u2)= u12+u2

2 + (-u1-u2 + 1).

Условия Куна-Таккера:* 0, L(U,) / uj = 0, *(u1

*,u2*) = 0, j=1,2.

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

Примеры решения задачи с использованием условия Куна-Таккера

Пример 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 активно.

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

Численные методы решения одномерных задач статической оптимизации

Сканирования (с постоянным и переменным шагом).

Половинного деления исходного интервала, содержащего экстремум.

«Золотого» сечения.

С использованием чисел Фибоначчи.

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

Метод сканирования с постоянным шагом

Функция Q(u), a u b.Алгоритм поиска: 1. Задается точность вычисления оптимального

значения uu*. 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

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

Метод сканирования с переменным шагом Функция Q(u), a u b.Алгоритм поиска: 1. Задается точность вычисления оптимального

значения uu*.2. Интервал (b-a) делится на S отрезков, S << (b-a)/ .3. В каждой точке u1

i =a+i(b-a) / S, i =0,1,…,S, вычисляется функция Q(u1

i) и выбирается Q(u1*) из условия Q(u1*) = max Q(u1

i) или ui Q(u1*) = min Q(u1

i). ui

4. Назначают границы нового интервала поиска a1 и b1 из условия:

a1 = u1k-1, b1 = u1

k+1,

где u1k-1 и u1

k+1 есть значения, соседние с u1* = u1k.

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

Метод сканирования с переменным шагом

При максимизации функции Q=Q(u) max, u

Q(u1k-1) < Q(u1

k) = Q(u1*) > Q(u1k+1).

При минимизации функции Q=Q(u) min, uQ(u1

k-1) > Q(u1k) = Q(u1*) < Q(u1

k+1).

5. Пункты 2-4 повторяются для интервалов (b1 - a1), (b2 – a2),…, (bj - aj).

6. Расчет заканчивается при условии bj - aj .

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

Метод половинного деленияQ=Q(u) max(min), a u b

Поиск методом половинного деления

ba

Q(u)

uu1

2u11

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

Метод половинного деления Q=Q(u) max(min), a u b

Алгоритм поиска:1. Делится интервал (b-a) пополам u1 = a+(b-a)/2.2. Внутри интервала выбираются две точки u1

1 = u1 - и u12 = u1 +, где = (0.01-0.25).

3. Рассчитываются Q(u11) и Q(u1

2).

4. Определяются границы нового интервала a1 и b1.

Если Q=Q(u) max, то при Q(u11) > Q(u1

2) выбираем a1 = a, b1 = u1

2;

при Q(u11) Q(u1

2) выбираем a1 = u11, b1 = b;

Если Q=Q(u) min, то при Q(u11) > Q(u1

2) выбираем a1 = u1

1, b1 = b; при Q(u1

1) Q(u12) выбираем a1 = u1

1, b1 = u12;

5. Проверяется условие окончания поиска b1 - a1 . 6. Для каждого нового интервала (bi - ai) повторяются пункты 1-4 до выполнения условия bi - ai .

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

Метод «золотого» сечения Q=Q(u) max(min), a u b

Поиск методом «золотого» сечения

ba u11 u1

2

u

0.38(b-a)0.38(b-a)

Q(u)

0.62(b-a)

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

Метод «золотого» сечения Q=Q(u) max(min), a u b

Алгоритм поиска:1. Внутри интервала (b-a) выбираются две точки u1

1 = a+(3-5)(b-a)/2 и u12 = b-(3-5)(b-a)/2 .

2. Вычисляются Q(u11) и Q(u1

2).

3. Определяются границы нового интервала a1 и b1.

Если Q=Q(u) max, то при Q(u11) > Q(u1

2) выбираем a1 = a, b1 = u1

2;

при Q(u11) Q(u1

2) выбираем a1 = u11, b1 = b.

Если Q=Q(u) min, то при Q(u11) > Q(u1

2) выбираем a1 = u1

1, b1 = b; при Q(u1

1) Q(u12) выбираем a1 = a, b1 = u1

2; 4. Проверяется условие окончания поиска b1 - a1 .

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

Метод «золотого» сечения Q=Q(u) max(min), a u b

Алгоритм поиска (продолжение):5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b1 - a1) со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка.6. Проводится перенумерация точек:

- ближайшая к левой границе обозначается u21;

- ближайшая к правой границе обозначается u22;

7. Для каждого нового интервала (bi - ai) повторяются

пункты 2-6 до выполнения условия bi - ai .

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

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u

b

Поиск с использованием чисел Фибоначчи

ba )(23,0 ab

Q(u)

uu2 u1

0.23(b-a)

0.38(b-a)

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

Метод с использованием чисел Фибоначчи 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).

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

Метод с использованием чисел Фибоначчи 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 .

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

Численные методы решения многомерных задач статической оптимизации

Многомерная функция

Решается задача Q(u1,…,ur) max(min) u

u1

u1*

u2*

u2

Q(u1*,u2*)

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

Численные методы решения многомерных задач статической оптимизации

Формирование линий уровня многомерной функции

Рассматриваются методы: Гаусса-Зейделя, градиента, наискорейшего спуска (подъема), случайного поиска..

2U

1U

Q(u1*,u2*)

u1

u2

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

Метод Гаусса-Зейделя

Поиск методом Гаусса-Зейделя.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u1

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

Метод Гаусса-Зейделя Q(u1,…,ur)max(min) u

Алгоритм поиска (заданы i, ):1. Выбирается исходная точка поиска u1 = (u1

1, …,u1r) и вычисляется Q = Q(u1).

2. Из точки u1 осуществляется движение по переменной u1

u21 = u1

1 h1 (sign (Q)/( u1)|u=u1)до выполнения условия |Q / u1| 1.3. Пункт 2 повторяется из полученной точки для переменной u2. Аналогично осуществляется движение по всем оставшимся переменным u3,u4,…, ur.4. Проверяется выполнение условия окончания поиска

5. В случае невыполнения пункта 4 повторяются пункты 1-4, принимая за исходную точку поиска ту, в которую пришли в пункте 4.

.)/( 2

1

i

r

iuQ

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

Метод градиента

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r. Градиент функции Q(u):

где Ki - вектор, определяющий направление по i-ой координатной оси.Модуль градиента Направление градиента

,)(

)(1

uuu

ui

r

ii u

QKQGrad

.)(

)(1

2

r

i iu

QQGrad uu

uu

.,...,1,)(

/)(cos rj

QGrad

uQ jj

uu

u

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

Метод градиента

Поиск методом градиента.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u1

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

Метод градиента

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r. Алгоритм поиска (задано ): 1. Выбирается исходная точка поиска u1 = (u1

1, …,u1r)

2. Вычисляется

3. Проверяется выполнение условия окончания поиска

4. Если условие окончания поиска выполнено, то поиск окончен. 5. Если условие окончания поиска не выполнено, то выполняется шаг uk+1

i = uki hk cos j в направлении

градиента, где знак (+) для задачи Q(u) max, знак (-) для задачи Q(u) min.

.)(

)(1

2

11

r

i iu

QQGrad

uuu

u

.)( kGradQ u

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

Метод градиента Алгоритм поиска (продолжение):

Если то uk+1i = uk

i h0(Q(u)/ ui)|uk , где h0 – базовое значение шага. 6. Сравниваются значения функций Q(uk) и Q(uk+1). Если для Q(u) max выполняется Q(uk+1) > Q(uk), или для Q(u) min выполняется Q(uk+1) < Q(uk), то пункты 2-6 повторяются до выполнения условия окончания поиска в пункте 3. Если для Q(u) max имеет место Q(uk+1) Q(uk), или для Q(u) min имеет место Q(uk+1) Q(uk), то возвращаются в точку u = uk, уменьшают шаг h0 и переходят к пункту 5.

.,...,1,

)/)((

/)(cos

2

1

ri

uQ

uQkk

i

r

j

ii

u

u

uu

,)(0kk GradQhh u

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

Метод наискорейшего спуска (подъема).

Поиск методом наискорейшего спуска Отличается от метода градиента, тем, что движение из выбранной точки uk в направлении n градиента производится до выполнения условия

i = 1,…,r.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u1

u2

,)()(

iii

kku

Q

u

Q

uu

uu

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

Метод движения по дну оврага

Поиск методом движения по дну оврага

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u8

u3

u2

u4

u5 u6

u7

u1

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

Метод движения по дну оврага Решается задача Q(u1,…,ur) max(min), ui

min ui uimax, i = 1,…,r.

u Алгоритм поиска:1. Задается hmin. 2. Выбор исходной точки поиска u1 и спуск из нее в направлении GradQ(u1) на дно оврага в точку u2. 3. Смещение из точки u1 в точку u3 на небольшое расстояние ортогонально направлению GradQ(u1) и спуск из нее в направлении GradQ(u3) на дно оврага в точку u4. 4. Сравнение значений функций Q(u2) и Q(u4) в точках u2 и u4, лежащих на дне оврага. 5. Если для Q(u) max имеет место Q(u4) Q(u2), или для Q(u) min имеет место Q(u4) < Q(u2), то в направлении от u2 к u4 из u4 выполняется рабочий шаг h и переход в точку u5, лежащую на склоне оврага (хребта).

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

Метод движения по дну оврага Решается задача Q(u1,…,ur) max(min), ui

min ui uimax, i = 1,…,r.

u

Алгоритм поиска (продолжение):6. Спуск на дно оврага из точки u5 в точку u6. Все точки, лежащие на дне оврага, имеют четные индексы и обозначаются u2+2i (i = 0,1,2,…). Все точки, лежащие на склоне оврага (хребта), имеют нечетные индексы и обозначаются u3+2i (i = 0,1,2,…). 7. Сравнение значений функций в соседних точках u2+2i и u2+2(i+1), лежащих на дне оврага. 8. Если для Q(u) max имеет место Q(u2+2(i+1)) > Q(u2+2i ), или для Q(u) min имеет место Q(u2+2(i+1)) < Q(u2+2i), то в направлении от u2+2i к u2+2(i+1) из u2+2(i+1) выполняется рабочий шаг h и переход в точку u3+2(i+1) , лежащую на склоне оврага (хребта).

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

Метод движения по дну оврагаРешается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска (окончание):9. Если для Q(u) max (или Q(u) min) имеет место Q(u2+2(i+1)) Q(u2+2i ) (соответственно Q(u2+2(i+1)) Q(u2+2i), то выполняется возвращение в точку u3+2i и уменьшение рабочего шага h, например вдвое.10. Проверяется выполнение условия h hmin. 11. Если условие окончания поиска выполнено, то оптимальное значение u* полагается равным u2+2i. 12. Если условие окончания поиска не выполнено, то движение из точки u2+2i с полученным шагом по направлению от u2+2(i-1) к u2+2i и переход в точку u3+2i, а из нее спуск на дно оврага в точку u2+2(i+1). 13. Переход к пункту 7.

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

Решение задач оптимизации на условный экстремум методом штрафных функцийРешение задач оптимизации при условии типа

равенства

Решается задача Q(u) = Q(u1,…,ur) max(min), u

j(u1,…,ur) = 0, j = 1,…,m. Формируется штрафная функция ,где , > 0 - большое число,при котором, за исключением малой окрестности около

границ j(u) = 0, должно выполнятся условие , i = 1,…,r.

Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

)()()( uuu HQ )()(

1

2

m

jjH uu

ii u

H

u

Q

)()( uu

)()()( uuu HQ )()(

1

2

m

jjH uu )()(

1

2

m

jjH uu

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

Решение задач оптимизации на условный экстремум методом штрафных функций

Решение задач оптимизации при условии типа равенства

Трансформирование линии уровня при условиях типа равенства

Линии уровня функции Q(u) трансформируется в линии уровня функции (u) за счет штрафной составляющей H(u), уплотняясь вдоль границы. Чем больше величина и чем больше нарушаются ограничения, тем линии уровня ближе к границе.

u1

u2

Q1(u)1(u)

(u1,u2)=0( u1,u2)<0(u1,u2)>0

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

Решение задач оптимизации на условный экстремум методом штрафных функцийРешение задач оптимизации при условии типа

неравенства

Решается задача Q(u) = Q(u1,…,ur) max(min), u

j(u1,…,ur) 0, j = 1,…,m. Формируется штрафная функция

, где

sign(u) = -1, если j(u) < 0, sign(u) = -1, если j(u) > 0, - большое положительное число.Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

)())(1()()(1

uuuu j

r

jjsignQ

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

Решение задач оптимизации на условныйэкстремум методом штрафных функций

Решение задач оптимизации при условии типа неравенства

Трансформирование линии уровня при условиях типа неравенства

Линии уровня функции Q(u) трансформируется в линии уровня функции (u) за счет штрафной составляющей

, уплотняясь со стороны

запретной области вдоль границ j(u) = 0, j = 1,…,m. Чем больше коэффициент и чем сильнее нарушаются ограничения, тем плотнее линии уровня функции (u) приближаются к границе со стороны запретной области.

)())(1(1

uu j

m

jjsign

u1

u1u2

Q(u)

(u)(u1,u2)=0

(u1,u2)<0(u1,u2)>0

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

Методы случайного поиска Решается задача

Q(u1,…,ur)max(min), u

uimin ui ui

max, i = 1,…,r.

Рассмотрим:

- метод слепого поиска

- метод случайных направлений

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

Метод слепого поиска Q(u1,…,ur)max(min),

u ui

min ui uimax, i = 1,…,r.

Заданы: объем области v = r, определяющей точность вычисления вектора оптимальных управлений u*=(u1,…,ur), в допустимой области

изменения переменных ui, (i=1,…,r) объемом V

= 1; вероятность , с которой требуется попасть в область r расположения вектора u*.

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

Метод слепого поиска Q(u1,…,ur)max(min),

u ui

min ui uimax, i = 1,…,r.

Алгоритм метода: 1. Вычисляется число точек s в области допустимых значений ui, (i=1,…,r), при котором гарантируется попадание хотя бы одной из них в область v. Из выражения = 1-(1-v)s имеем s = ln(1-) / ln(1-v). 2. Выбираются s совокупностей случайных чисел ui, (i=1,…,r), определяющих uk, (k=1,…,s). 3. Вычисляются значения функции Q = Q(uk), (k=1,…,s) и выбирается наилучшее из них.

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

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Формируется вектор случайных направлений

= (1,…,r), где ,

i, j - случайные числа.

r

jjii

1

2/

Поиск методом случайных направлений u1

u2

u1

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

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска:1. Задаются hmin и число S неудачных

направлений из одной точки.2. Выбирается исходная точка поиска u1 и

вычисляется Q = Q(u1). 3. Из выбранной точки выполняется шаг hk в

случайном направлении uk+1i = uk

i + hk·, i = 1,…,r, и вычисляется Q = Q(uk+1) (для 1-го шага k=1).

4. Сравниваются значения функций Q(uk) и Q(uk+1).

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

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска (продолжение):5. Если для Q(u) max имеет место Q(uk+1) > Q(uk),

или для Q(u) min имеет место Q(uk+1) < Q(uk), то для точки uk+1 выполняются пункты 3-4.

6. Если для Q(u) max имеет место Q(uk+1) Q(uk), или для Q(u) min имеет место Q(uk+1) Q(uk), то возвращение в точку uk.

7. Проверяется выполнение условия окончания поиска s S, при h hmin , где s - число неудачных направлений из точки uk.

8. Если условие пункта 7 выполняется, то оптимальное u* = uk.

9. Если условие пункта 7 не выполняется, то длина последнего шага уменьшается, например, вдвое, и для точки u = uk выполняются пункты 3-9.

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

Динамическое программирование в дискретной форме

В дискретной форме динамическое программирование является декомпозиционным методом решения задач статической оптимизации. Особенность динамического программирования в дискретной форме позволяет свести задачу большой размерности к ряду подзадач меньшой размерности.

В динамическом программировании критерий оптимальности Q = Q(u1,…,ur) должен быть функцией Марковского типа, т.е. он может быть представлен в виде функции от состояния S = S (u1,…,ur-1), в которое приходит последний объект в результате воздействия (r-1) управлений, и от оставшегося управления ur, т.е. Q = Q(S, ur).

Предполагается, что процесс протекающий в исследуемом объекте, можно рассматривать как многостадийный (N-стадийный, см. рисунок ниже).

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

Динамическое программирование в дискретной форме

Многостадийный процесс Здесь: Si-1 - состояние перед i-ой стадией; ui - управление на i-ой стадии; qi(Si-1, ui) - составляющая критерия

оптимальности, полученная на i-ой стадии. Состояния соседних стадий связаны

выражением Si = Si (Si-1, ui), i=1,…,N.

0S 1S 2S 2NS 1NS NS

1U 2U 1NU NU

),( 101 USq ),( 212 USq ),( 111 NNN USq ),( 1 NNN USq

N-11 2 N

q1(S0, u1) q2(S1, u2) qN-1(SN-2, uN-1) qN(SN-1, uN)

u1 u2 uN-1uN

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

Динамическое программирование в дискретной форме

Рассматривается критерий оптимальности в виде .

В основе динамического программирования лежит принцип оптимальности: оптимальная стратегия обладает таким свойством, что для любых значений управлений u1,…,uk, при которых система пришла в состояние

Sk = Sk (S0, u1,…,uk), оставшиеся управления uk+1,…,ur должны принимать такие значения, при которых критерий оптимальности принимает наилучшее значения относительно состояния Sk.

N

iiii uSqQ

11 ),(

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

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования.

Принцип оптимальности реализуется по шагам следующим образом:

1. Задаются условно значения вектора состояний Si = (S1

i,…, Sin), i=1,…,N-1. Составляющие Si

k, i=1,…,N-1; k=1,…,n, есть значения переменных состояния, выбранные в допустимом диапазоне изменения Si

kmin Si

k Sikmax.

2. На первом шаге оптимизируется N-ая составляющая критерия оптимальности. При решении задачи Q(u)max получаем FN-1,N (Sn-1)=max [qN (SN-1, uN)]. При этом получается u*N = N (SN-1).

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

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):

На втором шаге оптимизируется совместное функционирование N-1-ой и N-ой стадий процесса, с учетом результата оптимизации, полученного на 1-ом шаге, в виде FN-2,N(sN-2)=max[qN-1(sN-2, uN-1)+FN-1,N(sN-1)]. При этом получается u*N-1 = N-1(sN-2).

Заметим, что в состоянии sN-1 приходят в соответствии с sN-1= sN-1(sN-2, uN-1).

3. На последующих шагах оптимизируется совместное функционирование вновь вводимой стадии процесса со стадиями процесса, рассмотренными на предыдущем шаге по функциональному уравнению динамического программирования FN-k-1,N (sN-k-1) =

= max[qN-k(sN- k-1, uN- k)+FN-k,N(sN-k)], k=2,3,4,…,N.

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

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (продолжение):

При этом получается u*N-k = N-k(sN-k-1) , а в состояние sN-k приходят в соответствии с sN-k= sN-k(sN-k-1, uN-k).

4. На последнем (N-ом) шаге имеем F0,N (s0) = = max[q1(s0, u1)+F1,N(s1)], u*1 = 1(s0), s1 = s1(s0, u1).

5. Выделяются оптимальные значения управлений u*i, i=1,…,N, следующим образом:

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

Динамическое программирование в дискретной форме

Алгоритм решения задачи оптимизации методом динамического программирования (окончание):

Для заданного состояния s0 после выполнения N-го шага оптимизации при u*1 = 1(s0) переходят в оптимальное состояние s*1 = s1(s0, u*1).

Далее используется выражение u*2 = 2(s*1). Оптимальные значения остальных управлений

u*i, i=3,4,…,N выделяются поочередным использованием выражений s*k = sk(s*k-1, u*k) и u*k+1 = k+1(s*k), k=2,3,…N.