ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.03.2024
Просмотров: 57
Скачиваний: 0
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 .