Пусть мы ищем решение задачи.
ОПТИМИЗАЦИЯ С ДИСКРЕТНЫМ ВРЕМЕНЕМ
Динамическое программирование
Система наблюдается в моментах времени
Состояние системы характеризуется числом . Известно значение
. Система меняет своё состояние под воздействием управлений
, которые можно свободно выбирать из заданного множества
которое назовём областью управления.Управления влияют на состояния системы по правилу
, (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+kϵU, 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)
– сопряжения (присоединения) функции