Пусть мы ищем решение задачи.
ОПТИМИЗАЦИЯ С ДИСКРЕТНЫМ ВРЕМЕНЕМ
Динамическое программирование
Система наблюдается в моментах времени 
Состояние системы характеризуется числом
. Известно значение
. Система меняет своё состояние под воздействием управлений
, которые можно свободно выбирать из заданного множества
которое назовём областью управления.Управления влияют на состояния системы по правилу
, (1)
где
– заданная функция.
Предположим, что выбраны величины
. Тогда, начиная с
), далее получим
) и т.д.
Таким образом, каждому выбору управлений соответствует свой путь (или график).
Пусть имеется функция
такая, что польза от выбранного пути есть сумма:
(*)
Эта сумма носит название целевой функции.
Иногда вместо
пишут
.
Вместе с любой заданной последовательностью
находим последовательность
и получаем соответствующие допустимые пары. При этом целевая функция принимает определенное значение.
Задача состоит в том, чтобы среди всех наборов допустимых пар
и
найти оптимальный набор пар
,
, дающий наибольшее значение целевой функции.
Задача, в краткой формулировке, записывается так:
найти
при условиях
,
задано, (2).
Рассмотрим пример реальной задачи, которая решается по изложенной выше схеме.
Пусть
средства в момент
В каждый момент
пусть
часть, используемая для потребления,
– часть для сбережения. Средства можно употребить в дело с уровнем прироста
. После изъятия количества средств
, остаток средств
идёт в дело. При этом, с учётом прироста, получаем
.
Пусть польза от потребления
равна
.
Пусть функция
возрастает и выпукла вверх по
.
Вся полученная польза равна:

Итак, решается задача:
Найти
при условиях
задано,
,
.
Свойства целевой функции.
Пусть при
система имеет значение x. Наилучшее, что можно сделать в оставшийся период – выбрать
(следовательно,
) так, чтобы максимизировать
при
.
Назовем оптимальной целевой функцией для этой задачи в момент s.
(3)
где
,
,
,
(4)
Управления, максимизирующие (3) при условиях (4), зависят от х. В частности,
зависит от х.
Управления, зависящие от состояния системы назовем политиками.
Если мы напишем для каждого
политику, то мы тем самым решили задачу (2)
Рассмотрим важное свойство целевой функции. При
имеем
.
Пусть при
система в состоянии
. При выборе
при
получен выигрыш
, при этом система окажется в состоянии 
При этом наибольший полный выигрыш, который можно получить от
до
, начиная с состояния
, равен 
Следовательно, наилучшим выбором для
будет то, которое максимизирует сумму 
Теорема: Пусть
обозначает целевую функцию в момент 
,
,
для задачи найти:
| (5) |
при условиях
,
– задано, 
Тогда
удовлетворяет уравнениям
| (6) |

| (7) |
Замечание: Разумеется значения
выбираются среди решений разностного уравнения (1) при фиксированном
и возможных выборах
.
Обычно эта теорема используется так: ищем функцию (7).
Максимизируются значение U*T (x). Следующий шаг – используя (6) найти JT-1(x) и соответствующую W*T-1(x). Действуя аналогично, находим все JT (x), JT-1(x),….,J0(x) и соответствующие U*T(x), U*T-1(x),…,U*0(x).
Это позволяет построить решение исходной задачи оптимизации.
Пример.
Рассмотрим задачу найти:
max
, при условиях
, t=0, 1, 2,
,
.
Здесь T=3, f(t,x,u)=1+x-u2 , g(t,x,u)=x+u.
Из (7) при T=3получаем, что J3(x) представляет собой наибольшее значение функции
,
.
Оно получается при u=0, т.е. J3(x)=1+x,
.
При s=2 функция максимизируется, обозначим ее h2(u)=1+x-u2+J3(x+u)
Так как J3(x)=1+x, J3(x+u)=1+(x+u) и h2(u)=1+x-u2+1+x+u=2+2x+u-u2; h2’(u)=1-2u, h2’(u)=0, u=1/2, h2(u) выпукла вверх, то u, u2*(x)=1/2, J2(x)=h2(u2*(x))=2+2x+1/2-1/4=2x+9/4.
При s=1 мы максимизирует функцию h1(u)=1+x-u2+2(x+u)+9/4=3x+2u-u2+13/4
h1’(u)=2-2u; h1’(u)=0, u=1.
Находим u1*(x)=1 и J1(x)=3x+2-1+13/4=3x+17/4.
При s=0 максимизируется функция
. 


Укажем оптимальные значения состояния системы:



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

последовательно получаем

Таким образом, максимизация целевой функции равна




- матрица 2 дифференциала
По критерию Сильвестра второй дифференциал – отрицательно определенная форма следовательно получаем тоже максимум
Подобный подход возможен в любой задаче, но он слабо реализуем при больших T.
Рассмотрим еще одну задачу :
Найти
max 
при условии 
Поскольку
и
для
t выполняется неравенство 
Далее ,
независимо от u , и поэтому
и любое решение
оптимальнее
Уравнение (1) при S=T-1 дает 
Первая производная по u функции
равна
,
1+ux=3/2, ux=1/2.

При этом
.
Итак,
(
)

Рассмотрим уравнение (6) при 

Снова получаем
,
при этом 
Очевидно, что далее, продолжая процесс, получим

Подстановка
в разностное уравнение дает
= 
При этом
.
Примечание
Теорема справедлива и в том случае, когда область управления не фиксирована, но зависит от
и
,
. Тогда максимизация в (2), (3), (5) выполняется при
. В (6)(стр. 7),(7)(стр. 7) максимизациявыполняется при
и
, соответственно.
Часть множеств
задается набором неравенств
.
Если
- пустое множество, то принимается соглашение, по которому максимум взят по этому множеству равен -
.
Рассмотрим задачу, в которой
=
(
-
),
> 0,
- заданные положительные числа
=
, r – уровень дисконтирования, 0 <
<
,
(0, 1), A>0
Ищется
max (
+
) (I)
В соответствии со сделанным замечанием,
= (0, x)
f(t, x, u) =
, t = 0, 1, … T-1
f(T, x, u) =
- эта функция от u не зависит, и ее максимум, равный
совпадает с ней самой,
=
(II), и любое
= (0, x) – оптимальное.
Из (6) получаем
=
+
(x-u))] (III)
При s = T-1
=
+
] (IV),
так как
(x-u)) =

Для
обозначим
g(u) =
+

Тогда g’(u) = (1-)
+ (1-)(-1)

g’(u) =0 ó
= (-1)

= 
= 1 +
=
(V)
u = 
так как g’(u) = (1-)(-)
+ (1-)(-)
,
< 0,
поэтому
максимизирует g(u)
g (
) =
+ A
=
=
+
=
(1 + A
(
-1)) =
A
=
=
(1 +
-1) =
(VI)
Тогда ввиду (IV), (VI) (в (VI) вычитаем max y(u), подставляем в (IV))
(x) = 
Отметим, что
имеет тот же вид, что и 
Для s= T-2
(x) =
По аналогии со сделанным выше находим, что максимум достигается при
= u =
, где
= 1+
и где
(x) = 
Продолжая аналогично, находим для любого t
(x) =
, где
= A, а для
при t<T имеем
= 1+
= 1 + 
Оптимальное управление:
(x) =
, t<T
Для нахождения оптимальных
подставляем эти значения в рекурсивное уравнение

Предположим что для всех t тогда


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

= 
См раздел 14 страница 1 



Уравнение Эйлера
Рассмотри задачу найти
(1) при заданном значении
и свободно изменяющихся 
С другой стороны часто можно переформулировать задачу динамического программирования в виде (1)
Если положить
получим задачу с U=R
Предположим что уравнение
при любом выборе
и
имеет единственное решение
U

Определим f(
)=f(t, xt,
)=
при
t<T и
.
Иными словами,


Пусть
, … ,
- оптимальное решение задачи (1). Для любого заданного t производная выражения (1) по
равна 0. Положим
, тогда
, … ,
удовлетворяют уравнению Эйлера:
(2)
|
Это разностное уравнение второго порядка, подобное уравнению Эйлера из вариационного исчисления.
При t = T уравнение (2) переходит в
, из которого находим

Эта величина подставляется в (2) при t = T-1 и получаем
и т.д., так не получим
, а
задано
Рассмотрим задачу
найти
,
, 
Положим, для t=0,1,2

при t=0,1,2



Поэтому уравнение Эйлера при t=0,1 принимает вид


При t=2 уравнение Эйлера имеет вид
,
так как 
Построим
,
.
не участвует в построении уравнения Эйлера:
.
При 
и
,
.
Подставим в
, учтем, что
,
,
;
Тогда
,
.
Свести к задаче динамического программирования можно так:
,
;
, 
,
.
Infinite Horizon
Неограниченный период.
Проблема ставится так:
найти
(1)
при условии, что
- заданное число,
…
.
,
– допустимая пара последовательностей, если
- задано,
,
определяется уравнением
. При этом
, g
не зависят от переменной t явно. Таким образом (1) называется автономным рядом.
f удовлетворяет условиям ограниченности
для всех x,u, u
. Поэтому ряд в (1) сходится. Сравним с прогрессией.
Пусть = (us , us+1 , …) – последовательность управлений, гдеus+kU, k = 0, 1, … ;xt+1 = g(xt , ut), t = s, s+1, … ; xs = x.
Тогда польза, полученная за период t = s, s+1, … равна
Положим, что

и максимумы взяты по всем последовательностям .
Таким образом,
– максимальный успех, который можно получить от t=s до +.
При условии, что в момент t=s система находится в состоянии x,
называется оптимальной целевой функцией для задачи (1).
Имеем 
Максимизируя
получаем одно и то же значение в обоих случаях, поскольку будущее (+) выглядит вполне одинаково в момент 0 и в момент s.
Из (5) следует: 
Положим, по определению 
Из (6) следует, что если мы знаем
, то мы знаем
для всех s.
Теорема. Целевая функция
в (4) для задачи (1) удовлетворяет уравнению Беллмана.
J (x) = max [f(x,u)+ßJ(g(x,u))] (8)
uÎU
Грубое рассуждение напоминает рассуждения для конечного периода Т. Предположим, что мы при t=0 находимся в состоянии х. Выбрав управление u, получаем о f(x,u)=f(x,u) и во время t=1 попадаем в x1=g(x,u).
Выбор оптимальной последовательности управлений при t=1 и так далее даёт прибавку в последующий период J1(g(x,u))=J(g(x,u)). Следовательно, наилучший выбор при t=0, тот что максимизирует сумму f(x,u) +J(g(x,u)), поэтому максимум этой суммы равен J(x)
(8) – функциональное уравнение, можно доказать, что при условиях ограниченности (2), и полагая, что максимум в правой части (8) существует, это уравнение имеет единственное решение которое автоматически является оптимальным уравнением u(x), максимизирующее правую часть (8) — оптимальное и оно не зависит от t. Обычно решить уравнение (8) бывает непросто.
Пусть мы ищем решение задачи.
Найти
Max t(xt, vt)1- (1)
xt+1=a(1-v1)xt, t=0,1....
VtÎ(0,1)
a>0, x0>0, Î (0,1), Î (0,1)
a1- <1
, уравнение (8) имеет вид
(ii)
Задача напоминает задачу, в которой целевая функция была пропорциональна
. Предположим, что и в этой похожей задаче
при некоторой постоянной k.
Или, сокращая на
> 0:
(iii)
Положим
.
Тогда 
или 
или
, где 

(IV)
Так как ’’()<0, и так как (0;1).
Таким образом, в предположении, что

найдено максимизирующее управление (iv).
При этом из (iii)следует, что
,
Так как
, получаем
Или 
Откуда



Тогда (iv): 
В итоге получаем:


В этом примере, однако
И условия ограниченности не выполнены.
Поэтому следует слегка изменить задачу, положив 
Тогда 
В новой задаче целевая функция равна
~
Где
, откуда 0< <1.
Легко видеть, что
удовлетворяет уравнению Беллмана для новой задачи (с тем же оптимальным значением
).
Условие ограниченности выполнено, т.к.

Таким образом
в (IV) оптимальное.
, соответствующее xz удовлетворяет уравнению
xt+1 = a(1-ut) xt = a(1-u)xu=ar xt
При условии
решением является xt = x(ar )t
Значение функции




И мы проверим, что значение целевой функции есть в такой
в (V)
Важный вопрос, а существует ли искомые максимумы?
Если выполнены (2), ФУНКЦИИ f,g непрерывны и U компактна, то максимумы в (4) и(8) существует. Кроме этого, (8) имеет единственное решение, если использовать теорему о сжимающем отображении.
Принцип максимума
Мы рассматривали метод динамического программирования. Другой метод основан на принципе максимума. Этот метод удобен, когда есть ограничения на разовую пере6менную.
Рассмотрим задачу найти
,
, t=0,…,T-1 (1)
– задано,
– свободно
Пусть U представляет собой интервал
Определим функцию Понтрягина (Hamiltonian)
(2)
– сопряжения (присоединения) функции