ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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 .