21
5. Произвести условную оптимизацию последнего (m-го) шага, задаваясь множеством состояний Sm−1 , из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого Sm−1 условный оптимум целевой функции по формуле
Wm (Sm−1 )= min{fm (Sm−1 , xm )} |
(2.3) |
xm |
|
и находя условное оптимальное управление xm (Sm−1 ), для которого этот минимум достигается.
6. Произвести условную оптимизацию (m-1)-го, (m-2)-го и т.д. шагов по формуле (2.2), полагая в ней i = (m −1)(, m − 2),K, и для каждого из шагов указать условное оптимальное управление xi (Si−1 ),при котором достигается минимум.
Так как начальное состояние системы S0 одно и оно известно, то на первом шаге варьировать состояние системы не нужно, оптимальное значение целевой функции для S0 находится непосредственно. Это и есть оптимум функции цели за весь процесс перевода,
W =W1 (S0 ).
7. Произвести безусловную оптимизацию управления, учитывая выработанные ранее рекомендации на каждом шаге. На первом шаге оптимальное шаговое управление x1* = x1 (S0 ). Пользуясь (2.1), находим изменившееся состояние системы S1 , для него определяем оптимальное управление на втором шаге x2 и т.д.
до конца.
2.2. Управление переходом организма из начального в конечное состояние при наличии промежуточных состояний
Управляемый процесс перевода системы G из начального S0 в конечное Sm
состояние можно интерпретировать как процесс лечения, который переводит организм человека из состояния "болен" в состояние "здоров", или процесс нормализации состояния человека-оператора, переводящий организм из состояния "не норма" в состояние "норма". Если при этом реализуется возможность выделения конечного множества состояний организма, являющихся промежуточными между
22
S0 и Sm , и можно описать шаговые управления, переводящие организм из состояния в состояние, то для оптимизации процесса лечения или нормализации состояния может быть применен метод динамического программирования. С помощью этого метода может быть заранее рассчитана оптимальная траектория перевода организма из S0 в Sm .
В качестве критериев оптимизации, т.е. целевых функций W могут выступать следующие, время лечения (нормализации состояния, выздоровления, вывода из опасного состояния и т.п.), токсичность применяемых медикаментов - "вредность" лечения, его стоимость, вероятность благоприятного исхода, риск осложнений и др. Для реальных задач предпочтительнее использовать одновременно несколько критериев, но это приводит к более сложным процедурам многокритериальной оптимизации. Далее в примерах мы будем использовать лишь один аддитивный критерий - время лечения или нормализации состояния.
Одна из известных задач, рассмотренная в [6,7] под названием выбора наивыгоднейшего пути между двумя пунктами (или наиболее экономного набора скорости и высоты летательным аппаратом), в применении к процессу лечения может быть сформулирована следующим образом. Имеется два заболевания B1 и
B2 , каждое из которых состоит из n последовательных стадий болезни: 1-й, 2-й,..., n -й. Стадия n - это "норма", а стадия 1 - наибольшая выраженность заболевания. За один шаг лечения посредством направленных лечебных воздействий можно изменить (увеличить) стадию только одного заболевания на 1. Условия задачи иллюстрирует рис.2.3, где при n = 5 все возможные состояния пациента задаются узлами построенной прямоугольной сетки. Для задания значений целевой функции на отрезках прямых, соединяющих узлы сетки, должны быть проставлены числа, равные времени перевода организма из состояния в состояние. Траектория перевода организма из S0 в Sm будет иметь вид ступенчатой линии. Требуется найти такую траекторию, при которой общее время лечения будет минимальным. Решение этой задачи рассмотрим в виде следующего конкретного примера.
Пример 2.1. У оператора два показателя жизнедеятельности B1 и B2 вышли за пределы нормы. С помощью управляющих воздействий эти показатели можно привести в норму. Каждый из показателей измеряется в порядковой шкале и
|
|
|
|
|
|
|
|
|
|
|
|
23 |
принимает 5 значений. Значение 5 соответствует |
В1 |
|
|
|
|
|
|
|||||
норме, а значение 1 - |
самому наихудшему случаю. |
|
|
|
|
|
Sm |
|||||
Управление нормализацией состояния происходит по |
5 |
|
|
|
|
|
|
|||||
4 |
|
|
|
|
|
|
||||||
шагам. На каждом шаге возможно улучшение лишь |
3 |
|
|
|
|
|
|
|||||
одного из показателей на 1. Все возможные состояния |
2 |
|
|
|
|
|
|
|||||
оператора изображаются в виде узлов сетки, |
1 |
S0 |
|
|
|
|
В2 |
|||||
показанной на рис.2.4. В начале процесса управления |
|
1 |
2 |
3 |
4 |
5 |
||||||
оператор |
находится |
в |
состоянии |
S0 . |
Целевое |
|
|
Рис.2.3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
состояние |
S0 соответствует норме. На ребрах сетки |
|
|
|
|
|
|
|
||||
проставлены числа, равные времени улучшения показателя на одном шаге |
||||||||||||
управления. Требуется так рассчитать траекторию управления состоянием оператора |
||||||||||||
при переводе его из S0 |
в S8 , чтобы суммарное время нормализации его состояния |
|||||||||||
было минимальным. |
|
|
|
|
|
|
|
|
|
|
|
|
В1
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S8 |
|
|
5 |
|
|
|
10 |
|
|
|
|
|
|
4 |
|
|
|
|
|
8 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
4 |
8 |
|
6 |
|
|
3 |
|
|
|
|
5 |
|
|
|
|
|
6 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
8 |
|
|
|
11 |
|
|
|
|
|
|
4 |
|
|
|
|
|
8 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
3 |
5 |
|
7 |
|
|
7 |
|
|
|
|
9 |
|
|
|
|
|
8 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
2 |
|
|
|
4 |
|
|
|
|
|
|
10 |
|
|
|
|
|
|
9 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
8 |
|
|
5 |
|
|
5 |
|
|
7 |
|
|
|
|
|
8 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
2 |
|
7 |
|
|
|
8 |
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
||
|
2 |
|
8 |
|
|
|
4 |
|
|
|
|
|
|
6 |
|
|
|
|
|
7 |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
1 |
S0 |
4 |
|
|
|
9 |
|
|
|
|
|
|
7 |
|
|
|
|
|
4 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
3 |
|
|
4 |
|
|
|
|
|
5 |
|
|
В2 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.2.4
Из рисунка видно, что число шагов при переводе организма из состояния S0 в
S8 всегда равно 8. Требуется выбрать такой путь из S0 в S8 , для которого сумма чисел, стоящих на отрезках, составляющих этот путь, минимальна. В соответствии с пп.4,5 и 6 вышеописанной процедуры решения задач динамического программирования и следуя ходу решения таких задач, изложенному в [6], произведем условную оптимизацию, начиная с последнего, 8-го шага. Рассмотрим правый угол нашей сетки (рис.2.5). После 7-го шага организм может находиться
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
либо в S7' , либо в S7'' |
. Если он находится в S7' |
, то управление однозначно (увеличить |
|||||||||||||||
B2 |
на 1) и условный оптимум целевой функции равен времени перехода из S7' в S8 , |
||||||||||||||||
т.е. W8 (S7' )= 8 . Запишем это число в кружке у точки S7' |
, |
S7' |
|
|
|
|
|||||||||||
а |
оптимальное |
(и |
в |
данном |
случае |
единственное) |
|
|
S8 |
|
|||||||
8 |
|
8 |
|
||||||||||||||
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
S7' |
|
|
|
|
||
управление изобразим стрелкой, направленной из |
в |
|
|
6 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
S8 . Для состояния |
S7'' |
управление также вынужденное |
|
|
|
6 |
|
||||||||||
(увеличить |
B1 на 1), а W8 (S7'' )= 6 . Запишем это число |
|
|
|
|
||||||||||||
|
|
|
S7'' |
|
|||||||||||||
также в кружке у точки S7'' , а оптимальное управление в |
|
Рис.2.5 |
|
|
|||||||||||||
этом случае также покажем стрелкой, направленной из |
|
|
|
|
|
||||||||||||
S7'' |
в S8 . Таким образом, условная оптимизация последнего шага сделана, |
условный |
|||||||||||||||
оптимум целевой функции для каждого из состояний S7' |
и S7'' |
найден и записан в |
|||||||||||||||
соответствующем кружке. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
Теперь займемся оптимизацией предпоследнего, 7-го шага. Перед ним (т.е. |
|||||||||||||||
после 6-го шага) организм мог оказаться лишь в одном из трех состояния S6' , S6'' , S6''' |
|||||||||||||||||
(рис.2.6). Найдем для каждого из этих состояний условное оптимальное управление |
|||||||||||||||||
и условный оптимум целевой функции. Для S6' управление вынужденное: переход в |
|||||||||||||||||
S7' |
, поэтому ставим стрелку из |
S6' в |
S7' . Временные затраты на этом пути до |
S8 |
|||||||||||||
составляют 12 единиц (4 на данном шаге плюс 8, записанных в кружке у |
S7' ), |
||||||||||||||||
которые мы также записываем в кружке у S6' |
. Аналогично для S6'' |
управление также |
|||||||||||||||
вынужденное (переход в S7'' , который мы |
|
|
|
S7' |
|
|
|
|
|||||||||
обозначаем соответствующей стрелкой), а |
|
|
|
|
|
S8 |
|
||||||||||
12 |
4 |
|
8 |
8 |
|
||||||||||||
на весь этот путь до конца уйдет 14 единиц |
S6' |
|
|
|
|
6 |
|
|
|||||||||
времени, что мы и отмечаем в кружке у |
|
|
|
5 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
||||||||||
S6''' . |
Для |
S6'' |
управление |
уже |
|
не |
|
|
|
13 |
8 |
6 |
S7'' |
|
|||
вынужденное: мы можем двигаться как по |
|
|
|
S6'' |
8 |
|
|
||||||||||
|
|
|
|
|
|
|
|||||||||||
вертикали, так и по горизонтали. В первом |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
14 |
S6''' |
|
||||||||||
случае траектория из S6'' |
до конца занимает |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|||||||||||
13 |
|
единиц |
времени |
(5 |
на данном шаге, |
|
|
Рис.2.6 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
плюс 8, |
записанных в кружке у |
S7' ), а во втором 14 (8 + 6). Значит, условное |
|||||||||||||
оптимальное управление в S6'' - это перевод организма в состояние S7' . Отмечаем это |
|||||||||||||||
стрелкой, а число 13 записываем в кружке у S6'' . |
|
|
|
|
|
||||||||||
|
Действуя аналогично и двигаясь от конца к началу для каждого узла сетки, |
||||||||||||||
найдем условное оптимальное управление, которое обозначим стрелкой, и условный |
|||||||||||||||
оптимум целевой функции (время перевода в конечное состояние), который запишем |
|||||||||||||||
в кружке. Вычисляется он так: время перевода на данном шаге складывается с |
|||||||||||||||
у ж е |
о п т и м и з и р о в а н н ы м |
расходом времени, записанным в |
|||||||||||||
кружке, куда ведет стрелка. Таким образом, на каждом шаге мы оптимизируем |
|||||||||||||||
только этот шаг, а следующие за ним - уже оптимизированы. Конечный результат |
|||||||||||||||
процедуры оптимизации показан на рис.2.7. Теперь, находясь в любом узле сетки, |
|||||||||||||||
мы знаем, какое управление применять (стрелка) и в какие временные затраты нам |
|||||||||||||||
обойдется путь до конца (число в кружке). В кружке при S0 записаны оптимальные |
|||||||||||||||
(минимальные) затраты на всю процедуру нормализации состояния. |
|
|
|||||||||||||
|
Теперь в соответствии с п.7 вышеприведенной процедуры решения задачи |
||||||||||||||
динамического программирования построим безусловное оптимальное управление - |
|||||||||||||||
траекторию, |
ведущую из |
S0 |
в |
S8 |
с |
минимальным |
временем |
нормализации |
|||||||
|
|
|
|
|
|
|
|
|
|
состояния. Для ее построения |
|||||
27 |
5 |
22 |
10 |
12 |
4 |
8 |
8 |
|
|
S8 |
|
|
|
|
|
|
|
нужно лишь выделить (из |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||
8 |
|
6 |
|
3 |
|
5 |
|
|
6 |
имеющихся) |
непрерывную |
||||
34 |
8 |
26 |
11 |
15 |
4 |
13 |
8 |
|
6 |
цепочку стрелок, ведущую из |
|||||
|
S0 |
в |
S8 . |
Такая |
оптимальная |
||||||||||
|
|
|
|
7 |
|
|
|
|
|
||||||
5 |
|
7 |
|
|
9 |
|
|
8 |
траектория, |
для |
которой |
||||
|
|
|
|
|
|
|
|
|
|
||||||
28 |
2 |
26 |
4 |
22 |
10 |
22 |
9 |
|
14 |
W* =W1 (S0 )= 36 , |
|
выделена |
|||
6 |
|
5 |
|
5 |
|
7 |
|
|
8 |
жирными стрелками на рис.2.7. |
|||||
34 |
7 |
31 |
8 |
27 |
6 |
27 |
5 |
|
22 |
Оптимальная траектория может |
|||||
|
оказаться |
не |
единственной, |
||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||
2 |
|
8 |
|
4 |
|
6 |
|
|
7 |
тогда |
задача имеет |
несколько |
|||
36 |
4 |
39 |
9 |
31 |
7 |
33 |
4 |
|
29 |
эквивалентных решений. |
|||||
S0 |
|
|
|
|
|
|
|
|
|
|
|
В рассмотренной задаче |
|||
|
|
|
|
Рис.2.7 |
|
|
|
|
|
|
|
|
|
|
|