Представим себе процесс управления состоящим из конечного числа последовательных шагов. В этом случае траектория перехода G из S0 в Sm будет иметь вид последовательности промежуточных состояний S0, S1, S2, , Sm , которая является результатом пошагового управления x , также имеющего вид последовательности x = x1, x2, , xm . Будет считать, что Si обозначает состояние системы G , а xi – управление на i-м шаге для произвольной траектории. Для конкретной же траектории конкретное управление xi′ переводит G в конкретное состояние Si′. Нужно иметь в виду, что управления x1, x2, , xm в общем случае не числа, а векторы, функции, какие-либо предписания и т. п. Пусть на каждом отдельном i-м шаге, заключающемся в переходе из Si−1 в Si , известно значение целевой функции W , которое обозначается wi . Считая выбранный критерий W аддитивным, т. е. полагая, что
m
W = ∑wi ,
i=1
задачу оптимизации можно сформулировать следующим образом. Требуется найти такое оптимальное управление x = x1 , x2, , xm (где xi – оптимальное шаговое управление на i-м шаге), при котором целевая функция W принимает минимальное значение, т. е.
m
W = ∑wi min .
i=1
Последовательность оптимальных шаговых управлений x1 , x2, , xm
приводит к оптимальной траектории S0, S1*, S2*, , Sm* −1, Sm перевода G из S0 в Sm .
36
S1′ |
w2′ |
S2′ |
w3′ |
S3 |
|
|
|
||||
|
w4 |
|
|||
|
|
|
|
S4 |
|
w1′ |
|
|
|
|
|
|
|
|
w3′′ |
|
|
|
|
|
|
|
|
S0 |
|
|
|
|
|
w1′′ |
|
w2′′ |
S2′′ |
|
|
|
|
|
|
S1′′
Рис. 2.2
Для примера, приведенного на рис. 2.2, существуют два варианта управлений и две возможных траектории, для каждой из которых можно подсчитать значение целевой функции.
|
I вариант |
II вариант |
Управление |
x′= x1′, x2′ , x3′, x4 |
x′′= x1′′, x2′′, x3′′, x4 |
Траектория |
S0, S1′, S2′, S3, S4 |
S0, S1′′, S2′′, S3, S4 |
Целевая функция |
W ′= w1′ + w2′ + w3′ + w4 |
W ′′ = w1′′+ w2′′ + w3′′ + w4 |
Пусть W ′>W ′′, |
тогда второй вариант является оптимальным, т. е. |
|
x = x′′, W =W ′′.
Поиск оптимального управления x методом динамического программирования основан на использовании общего принципа, известного как принцип оптимальности. Он формулируется следующим образом [7].
Каково бы ни было состояние S системы G в результате какого-то числа шагов, мы должны выбирать управление на ближайшем шаге так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к минимальному значению целевой функции на всех оставшихся шагах, включая данный.
При решении задач динамического программирования полезно пользоваться схемой решения, данной в [6], [7]. После выбора способа описания состояний управляемой системы и разбиения всего процесса управления на шаги применяется следующая процедура [7].
1. Перечислить набор шаговых управлений xi для каждого шага и налагаемые на них ограничения.
37
2. Для каждого i-го шага определить значение wi в функции от состо я- ния Si−1 на (i −1)-м шаге и от шагового управления xi
wi = fi (Si−1, xi ).
3. Определить, как изменяется состояние Si−1 системы G под влиянием
управления xi на i-м шаге: оно переходит в новое состояние |
|
Si = ϕi (Si−1, xi ). |
(2.1) |
4. Пусть Wi (Si−1 ) – условный оптимум целевой функции, получаемый
на всех последующих шагах, начиная с i-го и до конца. Надо записать основное рекуррентное уравнение динамического программирования, выражающее Wi (Si−1 ) через уже известную функцию Wi+1 (Si ),
Wi (Si−1 )= minx {fi (Si−1, xi )+Wi+1 (ϕi (Si−1, xi ))}. |
(2.2) |
i |
|
Этому условному оптимуму целевой функции соответствует условное оптимальное управление на i-м шаге xi (Si−1 ), которое совместно с оптимальным
управлением на всех последующих шагах обращает целевую функцию на всех оставшихся шагах, начиная с данного, в минимум.
5. Произвести условную оптимизацию последнего, m-го шага, задав множество состояний Sm−1, из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого Sm−1 условный оптимум целевой функции по формуле
Wm (Sm−1 )= min{fm (Sm−1, xm )} |
(2.3) |
x |
|
m |
|
и находя условное оптимальное управление xm (Sm−1 ), для которого этот ми-
нимум достигается.
6. Произвести условную оптимизацию (m – 1)-го, (m – 2)-го и т.д. шагов по формуле (2.2), полагая в ней i = (m −1), (m −2), , и для каждого шага указать
условное оптимальное управление xi (Si−1 ), при котором достигается минимум. Так как начальное состояние системы S0 одно и оно известно, то на первом шаге варьировать состояние системы не нужно – оптимальное значение целевой функции для S0 находится непосредственно. Это и есть оптимум
функции цели за весь процесс перевода:
W =W1 (S0 ).
38
7. Произвести безусловную оптимизацию управления, учитывая выработанные ранее рекомендации на каждом шаге. На первом шаге оптимальное
шаговое управление x1* = x1 (S0 ). Пользуясь (2.1), находим изменившееся состояние системы S1, для него определяем оптимальное управление на втором шаге x2 , и т. д. до конца.
2.2.Управление переходом организма из начального
вконечное состояние при наличии промежуточных состояний
Управляемый процесс перевода системы G из начального S0 - в конечное Sm -состояние можно интерпретировать как процесс лечения, который переводит организм человека из состояния «болен» в состояние «здоров», или процесс нормализации состояния человека-оператора, переводящий организм из состояния «не норма» в состояние «норма». Если при этом реализуется возможность выделения конечного множества состояний организма, являющихся промежуточными между S0 и Sm , и можно описать шаговые управления, переводящие организм из одного состояния в другое, то для оптимизации процесса лечения или нормализации состояния можно применить метод динамического программирования. С помощью этого метода может быть заранее рассчитана оптимальная траектория перевода организма из S0 в Sm .
В качестве критериев оптимизации, т. е. целевых функций W , могут выступать следующие: время лечения (нормализации состояния, выздоровления, вывода из опасного состояния и т. п.), токсичность применяемых медикаментов – «вредность» лечения, его стоимость, вероятность благоприятного исхода, риск осложнений и др. Для реальных задач предпочтительнее использовать одновременно несколько критериев, но это приводит к более сложным процедурам многокритериальной оптимизации. Далее в примерах мы будем использовать лишь один аддитивный критерий – время лечения или нормализации состояния.
Одна из известных задач, рассмотренная в [6], [7] под названием выбора наивыгоднейшего пути между двумя пунктами (или наиболее экономного набора скорости и высоты летательным аппаратом), в применении к процессу лечения может быть сформулирована следующим образом. Имеется два заболевания B1 и B2 , каждое из которых состоит из n последовательных
39
стадий болезни: 1-й, 2-й, …, n -й. Стадия n – это |
В1 |
|
|
|
Sm |
«норма», а стадия 1 – наибольшая выраженность |
5 |
|
|
|
|
|
|
|
|
||
заболевания. За один шаг лечения посредством |
4 |
|
|
|
|
направленных лечебных воздействий можно изме- |
3 |
|
|
|
|
нить (увеличить) стадию только одного заболева- |
2 |
|
|
|
|
ния на 1. Условия задачи иллюстрирует рис. 2.3, где |
1 S |
0 |
|
|
|
при n = 5 все возможные состояния пациента зада- |
|
1 |
2 3 |
4 |
5 В2 |
ются узлами построенной прямоугольной сетки. Для |
|
|
Рис. 2.3 |
|
|
|
|
|
|
|
|
зада- |
|
|
|
|
|
ния значений целевой функции на отрезках прямых, соединяющих узлы сет- |
|||||
ки, должны быть проставлены числа, равные времени перевода организма из |
|||||
состояния в состояние. Траектория перевода организма из |
S0 в |
Sm |
будет |
||
иметь вид ступенчатой линии. Требуется найти такую траекторию, при кото- |
|||||
рой общее время лечения будет минимальным. Решение этой задачи рас- |
|||||
смотрим в виде следующего конкретного примера. |
|
|
|
|
|
Пример 2.1. У оператора два показателя жизнедеятельности |
B1 |
и B2 |
|||
вышли за пределы нормы. С помощью управляющих воздействий эти показатели можно привести в норму. Каждый из показателей измеряется в порядковой шкале и принимает 5 значений. Значение 5 соответствует норме, а значение 1 – наихудшему случаю. Управление нормализацией состояния происходит по шагам. На каждом шаге возможно улучшение лишь одного из показателей на 1. Все возможные состояния оператора изображаются в виде узлов сетки (рис. 2.4).
В начале процесса управления оператор находится в состоянии S0 . Целевое состояние S0 соответствует норме. На ребрах сетки проставлены чис-
40