Методичка
.pdf21
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 |
|
|
|
|
|
|
|
|
|
|
|
26
промежуточные состояния организма описывались с помощью прямоугольной сетки. В общем случае это не обязательно. Множество состояний и возможные переходы из состояния в состояние можно задать и в виде ориентированного графа. В этом случае задачи управляемого перевода организма из одного состояния в другое можно представить как поиск кратчайшего пути на ориентированной ациклической (т.е. без петель и контуров) сети [12]. Решаются такие задачи точно так же, как и на прямоугольной сетке. Заметим, что использованная нами для решения прямоугольная сетка также является ориентированной ациклической сетью, если на ее отрезках проставить стрелки всех возможных управлений. Ниже приведен пример задачи, описываемой в виде сети.
Пример 2.2. Решается задача управляемого перевода организма G из исходного состояния S0 в конечное состояние S4 (лечение или нормализация состояния оператора). При этом существует 8 промежуточных состояний S1' , S1'' , S1''' , S2' , S2'' , S2''' , S3' , S3'' , а возможные переходы из состояния в состояние изображены на рис.2.8 в виде ориентированного графа. На ребрах графа проставлено время, требуемое для перевода организма из одного состояния в другое. Предполагается, что выбор маршрута переходов их состояния в состояние полностью управляем. Требуется определить оптимальную траекторию перевода организма из S0 в S4 , при которой общее время этого перевода будет минимально.
|
|
|
|
|
|
11 |
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
S1' |
|
|
|
S2' |
|
|
S3' |
|
|
||||
|
|
|
|
|
4 |
|
|
|
3 |
|
|
|
|
|
|||
|
8 |
|
|
|
|
|
|
|
|
|
|
6 |
|
||||
|
|
|
1 |
|
|
|
7 |
|
|||||||||
|
|
6 |
|
|
|
|
|
|
|
|
|||||||
S0 |
|
|
S1'' |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S2'' |
|
|
|
|
|
|
|
S4 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
4 |
5 |
|
|||||||
|
|
|
10 |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
S1''' |
|
|
|
|
S2''' |
|
|
|
|
|
S3'' |
|
|
|
|
|
|
|
11 |
|
|
|
2 |
|
|
|
Рис.2.8
Начнем решение этой задачи с перечисления шаговых управлений, начиная с последнего шага и указывая результат этого управления. Запись xi ={Sk → S j }будет означать, что управление xi (на i–м шаге) переводит G из Sk в S j .
27
x4(1) |
={S3' |
→ S4 }, |
x3(5) |
={S2''' → S3' }, |
x2(5) |
={S1'' |
→ S2''' }, |
|
x4(2) |
= {S3'' → S4 }, |
x3(6) |
= {S2''' → S3'' }, |
x2(6) = {S1''' → S2'' }, |
||||
x3 |
= {S2 |
→ S 3 }, |
x2 |
= {S1 |
→ S2 }, |
x2 |
= {S1 |
→ S2 }, |
(1) |
' |
' |
(1) |
' |
' |
(7) |
''' |
''' |
x3 |
= {S2 |
→ S 3 }, |
x2 |
= {S1 |
→ S2 }, |
x1 |
= {S0 |
→ S1}, |
(2) |
' |
'' |
(2) |
' |
'' |
(1) |
|
' |
x3(3) = {S2'' → S3' }, |
x2(3) = {S1'' → S2' }, |
x1(2) = {S0 → S1'' }, |
||||||
x3(4) |
= {S2'' |
→ S3'' }, |
x2(4) |
= {S1'' |
→ S2'' }, |
x1(3) = {S0 |
→ S1''' }. |
Для каждого шага запишем временные затраты wi в функции от состояния на предыдущем шаге и шагового управления. Обозначим их в соответствии с
шаговыми управлениями, приведенными выше; так w(5) |
означает время перевода G |
||
|
|
3 |
|
из S2''' в S3' , являющегося следствием управления x3(5) |
|
||
w(1) = 6, |
w(5) = 7, |
w(5) =10, |
|
4 |
3 |
2 |
|
w(2) = 5, |
w(6) = 2, |
w(6) =10, |
|
4 |
3 |
2 |
|
w(1) = 8, |
w(1) =11, |
w(7) =11, |
|
3 |
2 |
2 |
|
w(2) = 4, |
w(2) = 4, |
w(1) = 3, |
|
3 |
2 |
1 |
|
w(3) = 3, |
w(3) =1, |
w(2) = 6, |
|
3 |
2 |
1 |
|
w(4) = 5, |
w(4) = 8, |
w(3) =15. |
|
3 |
2 |
1 |
|
Запишем основное рекуррентное уравнение динамического программирования, используемое для условной оптимизации. Согласно (2.2), оно имеет вид
Wi (Si−1 )= min{wi +Wi+1 (Si )}
xi
Проведем условную оптимизацию, начиная с последнего, 4-го шага. Согласно
(2.3)
W4 (S3 )= min{w4 }
x4
Перед 4-м шагом состояние G может быть либо S3' , либо S3'' . В обоих случаях оптимальное шаговое управление – это перевод G в S4 . Значения условного оптимума целевой функции равны, соответственно
W4 (S3' )= w4(1) = 6,
W4 (S3'' )= w4(2) = 5.
Далее оптимизируем предпоследний, 3-й шаг. Для него
28
W3 (S2 )= min{w3 +W4 (S3 )}
x3
Если перед этим шагом G находился в состоянии S2' , имеем две возможности перевода G в S4 : либо через S3' (это займет 8 + 6 = 14 единиц времени), либо через S3'' . В последнем случае временные затраты равны 4 + 5 = 9,
поэтому этот вариант следует предпочесть и считать, что минимальное время достижения конечного состояния из S2' равно 11 единицам. Формально в случае,
если S2 = S2' , то имеется два управления x3(1) и x3(2) и условный оптимум целевой
функции
W3 (S2' )= min{[w3(1) +W4 (S3' )], [w3(2) +W4 (S3'' )]}= min{[8 + 6], [4 +5]}= 9,
и условное оптимальное управление в этом случае равно x3 (S2' )= x3(2) . Так же можно |
||
вычислить, что W3 (S2'' )= 9, |
x3 (S2'' )= x3(3); |
W3 (S2''' )= 7, x3 (S2''' )= x3(6). Переходим к |
оптимизации 2-го шага. Для него |
|
|
W2 |
(S1 )= min{w2 |
+W3 (S2 )}. |
|
x2 |
|
Если перед 2-м шагом G находился в состоянии S1' , то x2 {x2(1), x2(2)}, поэтому
W2 (S1' )= min{[w2(1) +W3 (S2' )], [w2(2) +W3 (S2'' )]}= min{[11 +9], [4 +9]}=13,
и условное оптимальное управление для состояния S1' равно x2 (S1' )= x2(2).
Аналогично проводятся расчеты и для других предыдущих состояний этого шага, а
затем |
рассчитывается |
1-й шаг, перед которым G всегда находится в S0 . Все |
||||
результаты условной оптимизации сведены в табл.2.1. |
|
|
||||
|
|
|
|
|
Таблица 2.1 |
|
Номер |
|
Исходное |
Условный минимум |
Условное опти- |
Состояние |
|
шага |
|
состояние |
целевой функции |
мальное управление |
после управ- |
|
i |
|
Si−1 |
Wi (Si−1 ) |
xi (Si−1 ) |
ления Si |
|
4 |
|
S3' |
6 |
x4(1) |
S4 |
|
|
S3'' |
5 |
x4(2) |
S4 |
|
|
|
|
|
||||
|
|
' |
9 |
(2) |
'' |
|
|
|
S2 |
9 |
x3 |
S3 |
|
3 |
|
S2'' |
x3(3) |
S3' |
|
|
|
|
S2''' |
7 |
x3(6) |
S3'' |
|
29
|
' |
13 |
|
(2) |
|
'' |
|
S1 |
10 |
|
x2 |
|
S2 |
2 |
S1'' |
|
x2(3) |
|
S2' |
|
|
S1''' |
18 |
|
x2(7) |
|
S2''' |
1 |
S0 |
16 |
x(1) |
или x(2) |
S ' |
или S '' |
|
|
|
1 |
1 |
1 |
1 |
На рис.2.9 стрелками показаны все условные оптимальные управления, а в кружочках проставлены значения условного минимума для всех состояний. Это то минимальное время, которое требуется для достижения S4 . Из рис.2.9 видно, что существует две различные оптимальные траектории, переводящие G из S0 в S4 .
Они могут быть записаны в виде следующих двух цепочек
S0 → S1' → S2'' → S31 → S4 ; S0 → S1'' → S2' → S3'' → S4
и эквивалентны по временным затратам (16 единиц).
|
' |
S2' |
S3' |
|
|
S1 |
9 |
6 |
|
|
13 |
|||
S0 |
|
|
S4 |
|
16 |
10 |
9 |
||
S2'' |
||||
|
S1'' |
|
||
|
18 |
7 |
5 |
|
|
S1''' |
S2''' |
S3'' |
Рис.2.9
2.3. Управление переходом организма в нормальное состояние в условиях неопределенности
До сих пор мы рассматривали детерминированную модель динамического программирования. В реальной жизни как на состояние системы, так и на целевую функцию влияют случайные факторы. В этом случае поведение системы зависит не только от начального состояния S0 и выбранного управления x , но и от случайности. Рассмотрим стохастическую модель задачи о кратчайшем пути на ациклической сети [12]. Допустим существование в системе условных вероятностей
Ρ(Si / Si−1 , xi ) того, что на i-м шаге управления система перейдет в состояние Si при
30
условии, что до этого она находилась в Si−1 и было применено управление xi . Это условие представляет собой допущение о марковском свойстве системы, согласно которому вероятность перехода системы в какое-либо состояние Si зависит только от состояния Si−1 , из которого совершается переход, и от применяемого управления xi , но никак не зависит от предыстории системы, предшествующей ее переходу в
Si−1 .
Таким образом, теперь управляющее воздействие xi на 1-м шаге управления может лишь изменить вероятности перехода из данного состояния Si−1 в другие состояния Si . Теперь, находясь в каком-либо состоянии и применяя некоторое
управление, можно говорить только о средних затратах W времени достижения конечного состояния, которые вычисляются как взвешенные по соответствующим вероятностям затраты, рассмотренные по всем возможным из данного состояния траекториям. В этом случае, очевидно, задача заключается в нахождении такого множества оптимальных управлений (по одному для каждого состояния), которое дает минимальное среднее значение времени перехода из S0 в Sm .
Применение принципа оптимальности к таким задачам приводит к стохастической модели динамического программирования. Пусть Si(j ) обозначает конкретное состояние системы, в которое она переходит на i-м шаге, wik(j ) -
временные затраты на перевод организма в состояние Si(j ) на i-м шаге из состояния
Si(−k1) . Допустим, что для части сети (рис.2.10) известны условные минимальные
средние временные затраты |
|
|
i+1 (Si ) |
на достижение конечного состояния из |
|||||||||||
W |
|||||||||||||||
|
Si (Si {Si(1), Si(2),K, Si(n)}). |
На |
рис.2.10 |
через |
p1 , p2 ,K, pn |
обозначены |
условные |
||||||||
|
|
|
p j = Ρ(Si(j ) | Si−1 , xi ), |
|
|
|
n |
|
|
||||||
вероятности перехода |
причем |
∑p j |
=1. Если, |
например, |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
j=1 |
|
|
находясь в состоянии Si−1 |
мы применяем управление xi , то средние затраты времени |
||||||||||||||
|
|
i (Si−1 | xi ) на достижение конечного состояния из Si−1 |
равны |
|
|||||||||||
W |
|
||||||||||||||
|
|
|
|
|
i (Si−1 | xi )= ∑n (wi(j ) + |
|
i+1 (Si(j ))) Ρ(Si(j ) | Si−1 , xi ). |
||||||||
|
|
|
W |
W |
|||||||||||
|
|
|
|
|
|
|
|
|
j=1 |
|
|
|
|
|
|