Рассмотрим управляемый процесс, который переводит некоторую систему G из начального состояния S0 в конечное состояние Sm. При наличии промежуточных состояний такой перевод представляется в виде траектории, состоящей из конкретной последовательности промежуточных состояний (рис. 2.1). Если промежуточные состояния могут быть различными, то траектория перевода G из S0 в Sm неоднозначна и зависит от вырабатываемых управляющих воздействий x.

W=W(x) – целевая функция, х – выбранное управление.
Введя
какую-либо W=W(x),
можно сравнивать (по величине W)
траектории друг с другом и искать
оптимальную, при которой достигается
экстремум W.
В зависимости от содержания целевой
функции в процессе оптимизации ее
стремятся либо максимизировать, либо
минимизировать. Далее будет рассматриваться
оптимизация, при которой W
→ min.
Таким образом, задача заключается в
отыскании оптимального управления x *,
при котором целевая функция W
достигает своего минимального значения
W
*, т. е.

Представим
себе процесс управления состоящим из
конечного числа последовательных шагов.
В этом случае траектория перехода G
из S0
в Sm
будет иметь вид последовательности
промежуточных состояний S0,
S1,
S2,
…, Sm,
которая является результатом пошагового
управления x,
также имеющего вид последовательности
.
Будем считать, что Si
обозначает состояние системы G,
а xi –
управление на i-м
шаге для произвольной траектории.
Для конкретной же траектории конкретное управление xi' переводит G в конкретное состояние Si’. Нужно иметь в виду, что управления x1, x2, …, xm в общем случае не числа, а векторы, функции, какие-либо предписания и т. п.
Пусть
на каждом отдельном i-м
шаге, заключающемся в переходе из Si-1
в Si,
известно значение целевой функции W,
которое обозначается wi.
Считая выбранный критерий W
аддитивным, т. е. полагая, что
задачу оптимизации можно сформулировать
следующим образом. Требуется найти
такое оптимальное управление
(где
– оптимальное шаговое управление на
i-м
шаге), при котором целевая функция W
принимает минимальное значение, т.е.
.
Пример:


Поиск оптимального управления методом ДП основан на использовании принципа оптимальности: каково бы ни было состояние S системы G в рез-те какого-то числа шагов, мы должны выбирать управление на ближайшем шаге так, чтобы оно в совокупности с оптимальным управление на всех последующих шагах приводило к минимальному значению целевой функции на всех оставшихся шагах, включая данный.
1. Перечислить набор шаговых управлений xi для каждого шага и налагаемые на них ограничения.
2. Для каждого i-го шага определить значение wi в функции от состояния Si-1 на (i-1)-м шаге и от шагового управления xi

3. Определить, как изменяется состояние Si-1 системы G под влиянием управления xi на (i-1)-м шаге: оно переходит в новое состояние

4.
Пусть Wi(Si-1)
– условный оптимум целевой функции,
получаемый на всех последующих шагах,
начиная с i-го
и до конца. Надо записать основное
рекуррентное уравнение динамического
программирования, выражающее Wi(Si-1)
через уже известную функцию Wi+1(Si),![]()
Этому условному оптимуму целевой функции соответствует условное оптимальное управление на i-м шаге xi(Si-1), которое совместно с оптимальным управлением на всех последующих шагах обращает целевую функцию на всех оставшихся шагах, начиная с данного, в минимум.
5. Произвести условную оптимизацию последнего, m-го шага, задав множество состояний Sm-1, из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого Sm-1 условный оптимум целевой функции по формуле
![]()
и находя условное оптимальное управление xm(Sm-1), для которого этот минимум достигается.
6.
произвести условную оптимизацию
(m-1)-го,(m-2)-го
и т. д. шагов по формуле
,
полагая в ней i=(m-1),(m-2),…
и для каждого шага указать условное
оптимальное управление xi(Si-1),
при котором достигается минимум.
Так как начальное состояние системы S0 одно, и оно известно, то на первом шаге варьировать состояние системы не нужно – оптимальное значение целевой функции для S0 находится непосредственно. Это и есть оптимум функции цели за весь процесс перевода:
![]()
7.
Произвести безусловную оптимизацию
управления, учитывая выработанные ранее
рекомендации на каждом шаге. На первом
шаге оптимальное шаговое управление
.
Пользуясь
,
находим изменившееся состояние системы
S1,
для него определяем оптимальное
управление на втором шаге
и т. д. до конца.
Поведение системы зависит не только от начального состояния S0 и выбранного управления x, но и от случайности.
Рассмотрим стохастическую модель задачи о кратчайшем пути на ациклической сети. Допустим существование в системе условных вероятностей P(Si/Si-1) того, что на i-м шаге управления система перейдет в состояние Si при условии, что до этого она находилась в Si‑1 и было применено управление xi. Это условие представляет собой допущение о марковском свойстве системы, согласно которому вероятность перехода системы в какое-либо состояние Si зависит только от состояния Si-1, из которого совершается переход, и от применяемого управления xi, но никак не зависит от предыстории системы, предшествующей ее переходу в Si-1.

Пусть Si(j) обозначает конкретное состояние системы, в которое она переходит на i-м шаге, wik(j) – временные затраты на перевод организма в состояние Si(j) на i-м шаге из состояния Si-1(k).
Предположим,
что для части сети известно условные
минимальные средние временные затраты
W̅i+1(Si)
на достижение конечного состояния из

Через
р1,р2,…,pn
обозначены
условные вероятности перехода
pj=P(Si(j)|Si-1,xi),
причем
Если, например, находясь в состоянии
Si-1
применяем управление xi,
то средние затраты времени W̅i(Si-1|xi)
на достижение конечного состояния из
Si-1:

Т.к.
вариантов управления на i-м
шаге может быть несколько, т.е. xi
может
принимать разные значения
при
котором
становится минимальным. При
этом стохастическое обобщение основного
рекуррентного имеет вид:

Развернутая форма:

Т.к. мы применяем условные вероятности, то

Пример 1:
Решается
задача управляемого перевода организма
из исходного состояния S0
в конечное состояние S3
(лечение,
нормализация состояния оператора). При
этом существуют промежуточные состояния
,
а возможные переходы их состояния в
состояние изображены на рис.2.11 в виде
ориентированного ациклического графа.
На ребрах графа проставлено время,
требуемое для перевода организма из
одного состояния в другое. В каждом
состоянии Si-1
имеется
несколько управляющих воздействий xi,
которым соответствуют определенные
наборы вероятностей перехода
Сумма
чисел в каждой строке = 1

Кроме
того, в состоянии
всегда применяется управление x3(1)
и
,
а в состоянии
всегда применяется x3(2)
и
Требуется каждому состоянию сопоставить одно оптимальное управляющее воздействие, при котором общее среднее время перехода из в будет минимально, а также определить это время.
Времена перехода организма из состояния в состояние равны:

Условную оптимизацию, как и раньше, начинаем с последнего, 3-го шага управления. Из условия задачи видно, что на 3-м шаге управление вынужденное, поэтому


Условную оптимизацию на 2-м шаге проводим с помощью рекуррентного уравнения
min min
,
тогда







min
Далее
оптимизируем 1–й шаг.
и




Результат оптимизации
В
кружках проставлены значения условных
минимумов
.
Из рисунка видно, что оптимальное
управление на 1-м шаге равно x1(2).
Оно детерминировано переводит систему
в S1(1),
где наилучшее управление заключается
в применении x1(3).
При этом система переходит в S2(1)
или в S2(1),
с вероятностями, равными 0,6 и 0,4
соответственно. Если переход осуществлен
в S2(1),
то дальше надо применять x3(1),
если же в S2(2),
то оптимальное шаговое управление здесь
x3(2).
В обоих случаях система переходит в S3.
Состояния S1(2)
и S1(3)
остаются незадействованными. Минимальное
среднее время перехода из S0
в S3
составляет 11,6 единиц времени.

Пример 2:
В течение ближайших 3-х дней больному необходимо сделать срочную операцию. Для уменьшения риска неблагоприятного исхода желательно, чтобы состояние больного непосредственно перед операцией было наилучшим. С помощью медицинских обследований состояние больного оценивают по трехбалльной шкале, причем оценка 1 соответствует наихудшему состоянию S1, 2 – промежуточному S2, 3 – наилучшему S3. Надо рассчитать оптимальную стратегию врача (т.е. в какой из трех дней лучше всего делать операцию), если вероятности наступления состояний S1, S2, S3, и в любой день не зависят от состояния больного в предыдущий день и равны
p1=P(S1) =0,3; p2=P(S2) =0,5; p3=P(S3) =0,2;
Для решения этой задачи составим дерево альтернатив, изображенное на рис.2.13 Пусть zi - оценка состояния больного, а xi - принимаемое решение в i-й день. Тогда после измерения состояния больного в 1-й день (Изм1), если z1=3, то x1=[On], т.е. принимается решение оперировать; если z1=1, то x1=[Жд]- ждать следующего дня, а если z1=2, то возникает неопределенность (может быть принято, как одно, так и другое решение). Аналогичная ситуация возникает и на второй день после процедуры Изм2, если в 1-й день принято решение [Жд]. Таким образом задача заключается в выработке рекомендаций о принятии оптимальных решений, если в 1-й или во 2-й день состояние больного будет оценено как 2.

В качестве критерия оптимальности (целевой функции) будем использовать среднеожидаемую оценку состояния оперируемого больного, которую необходимо максимизировать. Пусть wi(j)- значение целевой функции на i-й день при zi=j. Допустим, больного решили оперировать лишь на 3-й день. В этом случае среднеожидаемая оценка состояния больного перед операцией будет равна (рис. 2.14).


Этот результат показывает, что если на 2-й день мы получили z2=2, то (так как это больше, чем 1,9) наилучшим будет решение x2=<On> и для второго дня дерево альтернатив представляется в виде рис. 2.15. Из рисунка видно, что w2(1) = w̅3.Рассуждая аналогично, среднеожидаемая оценка состояния больного на 2-й день