16.2. Принцип оптимальности и уравнения Беллмана.
Каково бы ни было состояние s системы в результате какого-либо числа шагов, на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному выигрышу на всех оставшихся шагах, включая данный.
Беллманом были сформулированы и условия, при которых принцип верен. Основное требование – процесс управления должен быть без обратной связи, т.е. управление на данном шаге не должно оказывать влияния на предшествующие шаги.
Принцип оптимальности утверждает, что для любого процесса без обратной связи оптимальное управление таково, что оно является оптимальным для любого подпроцесса по отношению к исходному состоянию этого подпроцесса. Поэтому решение на каждом шаге оказывается наилучшим с точки зрения управления в целом. Если изобразить геометрически оптимальную траекторию в виде ломаной линии, то любая часть этой ломаной будет являться оптимальной траекторией относительно начала и конца.
Уравнения Беллмана. Вместо исходной задачи ДП (см. п. 1) с фиксированным числом шагов п и начальным состоянием s0 рассмотрим последовательность задач, полагая последовательно п=1, 2, ... при различных s – одношаговую, двухшаговую и т.д., – используя принцип оптимальности.
Введем ряд обозначений. На каждом шаге любого состояния системы sk-1 решение Хk нужно выбирать «с оглядкой», так как этот выбор влияет на последующее состояние и дальнейший процесс управления, зависящий от sk. Это следует из принципа оптимальности. Но есть один шаг, последний, который можно для любого состояния планировать локально-оптимально, исходя только из соображений этого шага.
Рассмотрим п-й шаг: sп-1 – состояние системы к началу п-го шага, sп=
– конечное состояние, Хп – управление на п-м шаге, а fп(sп-1,Хп) – целевая функция (выигрыш) п-го шага.
Согласно принципу оптимальности, Хп нужно выбирать так, чтобы для любых состояний sп-1 получить максимум (ограничимся здесь задачей максимизации целевой функции) целевой функции на этом шаге.
Обозначим через
(sп-1) максимум целевой функции – показателя эффективности п-го шага при условии, что к началу последнего шага система S была в произвольном состоянии sп-1, а на последнем шаге управление было оптимальным.
(sп-1) называется условным максимумом целевой функции на п-м шаге. Очевидно, что
(sп-1)=
fп(sп-1,Хп). (5)
Максимизация ведется по всем допустимым управлениям Хп.
Решение Хп, при котором достигается
(sп-1), также зависит от sп-1, и называется условным оптимальным управлением на п-м шаге. Оно обозначается через
(sп-1).
| |
| Рис. 2 |
Решив одномерную задачу локальной оптимизации по уравнению (5), найдем для всех возможных состояний две функции:
(sп-1) и
(sп-1).
Рассмотрим теперь двухшаговую задачу: присоединим к п-му шагу
(п-1)-й (рис. 2).
Для любых состояний sп-2, произвольных управлений Хп-1 и оптимальном управлении на п-м шаге значение целевой функции на двух последних шагах равно:
fп-1(sп-2,Хп-1)+
(sп-1). (6)
Согласно принципу оптимальности для любых sп-2 решение нужно выбирать так, чтобы оно вместе с оптимальным управлением на последнем (п-м) шаге приводило бы к максимуму целевой функции на двух последних шагах.
Следовательно, нужно найти максимум выражения (6) по всем допустимым управлениям Хп-1. Максимум этой суммы зависит от sп-2, обозначается через
(sп-2) и называется условным максимумом целевой функции при управлении на двух последних шагах. Соответствующее управление Хп-1 на (п-1)-м шаге обозначается через
(sп-2) и называется условным оптимальным, управлением на (п-1)-м шаге.
(sп-2)=
{fп-1(sп-2,Хп-1+
(sп-1)). (7)
Следует обратить внимание на то, что выражение, стоящее в фигурных ско6ках (7), зависит только от sп-2 и Хп-1, так как sп-1 можно найти из уравнения состояний (2) при k=п-1
sn-1=?n-1(sn-2,Х n-1)
и подставить вместо sn-1 в функцию
(sп-1).
В результате максимизации только по одной переменной Х n-1 согласно уравнению (7) вновь получаются две функции:
(sп-2) и
(sп-2).
Далее рассматривается трехшаговая задача: к двум последним шагам присоединяется (п-2)-й и т. д.
Обозначим через
(sk-1) условный максимум целевой функции, полученный при оптимальном управлении на п-k+1 шагах, начиная с k -го до конца, при условии, что к началу k-го шага система находилась в состоянии sk-1. Фактически эта функция равна
(sk-1)=
fi(si-1,Хi.).
Тогда
(sk)=
fi(si-1,Хi.).
| |
| Рис.3 |
Целевая функция на п-k последних шагах (рис. 3) при произвольном управлении Хk на k-м шаге и оптимальном управлении на последующих п-k шагах равна
fk(sk-1,Хk)+
(sk)
Согласно принципу оптимальности, Хk выбирается из условия максимума этой суммы, т.е.
(sk-1)=
{fk(sk-1,Хk)+
(sk)}, k=п-1, п-2,…,1. (8)
Управление Хk на k-м шаге, при котором достигается максимум в (8), обозначается через
(sk-1) и называется условным оптимальным управлением на k-м шаге (в правую часть уравнения (8) следует вместо sk подставить выражение sk=?k(sk-1,Х k), найденное из уравнений состояния).
Уравнения (8) называют уравнениями Беллмана. Это рекуррентные соотношения, позволяющие найти предыдущее значение функции, зная последующие. Если из (5) найти
(sп-1), то при k=п-1 из (8) можно определить, решив задачу максимизации для всех возможных значений sп-2, выражения для
(sп-2) и соответствующее
(sп-2). Далее, зная
(sп-2), находим, используя (8) и (2), уравнения состояний.
Процесс решения уравнений (5) и (8) называется условной оптимизацией (здесь описан способ решения задачи ДП, начинающийся с последнего шага («обратная схема») Можно п-й 1-й и шаги поменять местами («прямая схема»)).
В результате условной оптимизации получаются две последовательности:
(sп-1),
(sп-2), …,
(s1),
(s0) –
условные максимумы целевой функции на последнем, на двух последних, на … п шагах и
(sп-1),
(sп-2), …,
(s1),
(s0) –
условные оптимальные управления на п-м, (п-1)-м, ..., 1-м шагах.
Используя эти последовательности, можно найти решение задачи ДП при данных п и s0. По определению (см. п. 1)
(s0) – условный максимум целевой функции за п шагов при условии, что к началу 1-го шага система была в состоянии s0, т.е.
Zmax=
(s0). (9)
Далее cледует использовать последовательность условных оптимальных управлений и уравнения состояний (2).
При фиксированном s0 получаем
=
(s0). Далее из уравнений (2) находим
=?1(s0,
) и подставляем это выражение в последовательность условных оптимальных управлений:
=
(
) и т.д. по цепочке:
=
(s0)>
=?1(s0,
)?
=
(
)>
=?2(
,
)?
=
(
)>….>
=?п-1(
,
) ?
=
(
).
(через
здесь обозначено состояние системы после k-го шага при условии, что на k-м шаге выбрано оптимальное управление). Получаем оптимальное решение задачи ДП:
=(
, …,
).
Стрелка > означает использование уравнений состояния, а стрелка ? – последовательности условных оптимальных управлений.
Еще по теме 16.2. Принцип оптимальности и уравнения Беллмана.:
- • Принцип оптимальности в планировании и управлении, общая задача оптимального программирования • Формы записи задачи линейного программирования и ее экономическая интерпретация • Математический аппарат • Геометрическая интерпретация задачи • Симплексный метод решения задачи 2.1. Принцип оптимальности в планировании и управлении, общая задача оптимального программирования
- 3.1. Уравнения в экономических моделях 3.1.1. Типы уравнений
- 3.1.4. Уравнения-определения и уравнения состава в традиционном экономическом анализе
- Дифференциальные уравнения
- 3.1.3. Необходимость различения типов уравнений
- 3.1.6. Матрица Леонтьева: уравнения состава, распределения или преобразования?
- 3.1.5. Трудность практического различения типов уравнений
- Уравнение Фишера
- Уравнение ценности и крупная продажа
- Уравнение обмена и структура денежной массы
- 13.2 Скорость обращения денег. Уравнение Фишера.
- Склоняем уравнение ценности в сторону решения «купить»
- РАЗДЕЛ 1. Уравнение Слуцкого
- 2.2. Деньги и уравнение обмена