Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дроздов Основы сист анализа Уч. пособие.doc
Скачиваний:
25
Добавлен:
25.08.2019
Размер:
902.66 Кб
Скачать

5.4. Примеры решения оптимизационной задачи методом динамического программирования

Динамическое программирование — метод оптимизации задач (процессов, операций), решение которых может быть разбито на несколько этапов, а целевая функция является, соответственно, аддитивной (или мультипликативной).

Пусть задача (процесс) разбита на n этапов, .

Целевая функция — суммарный выигрыш в задаче на максимум (суммарные потери в задаче на минимум) запишется в виде:

, где — выигрыш (потери) на i-м этапе.

На каждом i-м этапе система (процесс) может находиться в одном возможном для этого этапа состояний — ski, , здесь Si множество всех состояний системы (процесса) на i-м этапе. В каждом состоянии системы ski могут быть принято одно из возможных, согласно условиям задачи (операции), решений (управлений) — aj,ki, где , здесь Aki — множество всех допустимых решений (управлений) при нахождении системы (процесса) на i-м этапе в k-м состоянии.

В результате принятия решения система (процесс) переходит в sl,i+1 состояние, при этом имеет место выигрыш (потери), равные .

Таким образом, в результате принятия j-го решения система (процесс) перемещается с этапа i на этап i+1, при этом в зависимости от принятого решения переходит из состояния sk в состояние sl, а целевая функция получает приращение k,i(j).

Существо метода заключается в том, что, начиная с последнего этапа, на каждом i-м этапе для каждого k-го состояния ищется так называемый условный оптимум W+k,i, являющийся суммой текущего приращения целевой функции и оптимального значения целевой функции от i+1 — го этапа до конца процесса

При этом. в результате управления, принятого на i-м этапе, система (процесс) перейдет на i+1-м этапе в состояние, зависящее от решения, принятого на i-м этапе.

Основное рекуррентное соотношение метода запишется в виде:

, где — функция, определяющая в какое состояние перейдет система (процесс) из состояния k на этапе i при воздействие на систему управления aj,ki.

После последовательного вычисления всех условных оптимумов от последнего n-го этапа до 1-го будет получен абсолютный оптимум и определен вектор управлений Aопт = (a1, a2,…,aj,ki,…,an), обеспечивающий этот оптимум.

Пример 1. Задача о размещении инвестиций

Пусть сумма в 5 млрд. может быть вложена (инвестирована) в четыре предприятия. Эта сумма может быть разделена произвольно с дискретностью в 1 млрд. Ожидаемая прибыль (дивиденды) в зависимости от суммы вложения для каждого p-го предприятия показана в табл. 1.

Табл.1

0

1

2

3

4

5

0

5

9

12

14

16

0

4

10

13

14

15

0

3

7

11

15

17

0

6

11

12

13

14

Из данных таблицы следует, что инвестиция в 1 млрд. в предприятие 1 даст прибыль в 5 млн., в пр. 2 — 4 млн., в пр. 3 — 3 млн., в пр. 4 — 6 млн. Аналогично интерпретируются данные остальных столбцов таблицы. Необходимо так распределить 5 млрд., чтобы получить максимум суммарной прибыли.

В этой задаче в терминах динамического программирования этапами является выделение определенной суммы очередному предприятию, состояние системы — размер суммы, которая делится между очередным предприятием и остальными, управление — решение о разделе суммы. Поскольку здесь номер предприятия условен на конечном этапе можно рассмотреть любое предприятие. Пусть это будет предприятие №1.

Для конечного 4-го этапа (нумерация этапов ведется от начала процесса) возможны шесть состояний: осталось для выделения 1-му предприятию 0, 1, 2, 3, 4, 5 млрд. Управление единственное для каждого состояния — оставшаяся сумма передается предприятию №1. Полученная прибыль приведена в табл. 2.

Табл.2

0

1

2

3

4

5

W4

0

5

9

12

14

16

На этапе 3 производится распределение средств между 1-м и 2-м предприятиями. Возможны те же шесть состояний, что и в предыдущем случае, однако для каждого состояния возможны шесть решений: 2-му предприятию выделяется 0, 1, 2, 3, 4, 5 млрд., соответственно. Результаты распределения показаны в табл.3.

Поясним, как заполняется табл.3. Состояние системы определено в верхней строчке таблицы, управление — в левом столбце. Пусть система находится в состоянии 3 (делится 3 млрд.) и принято решение о выделении предприятию 2 двух млрд. Тогда прибыль от 2-х млрд. составит 10 млн., оставшейся 1млрд. передается предприятию 1 и даст прибыль в 5 млн.

Суммарная прибыль при таком решении о распределении 3 млрд. составит 15 млн., что и показано в таблице. Для каждого состояния системы определяется решение, обеспечивающее максимум прибыли. Соответствующие цифры выделены в столбцах и перенесены на последнюю строчку.

Табл.3

0

1

2

3

4

5

0

0

5

9

12

14

16

1

-

4

9

13

16

18

2

-

-

10

15

19

22

3

-

-

-

13

18

21

4

-

-

-

-

14

19

5

-

-

-

-

-

15

0

5

10

15

19

22

Таким образом, получен результат оптимального распределения средств между 1-м и 2-м предприятиями, т.е. получены условные оптимумы для 3-го этапа.

Информация относительно следующего 2-го этапа содержится в табл.4.

Табл.4

0

1

2

3

4

5

0

0

5

10

15

19

22

1

-

3

8

13

18

22

2

-

-

7

12

17

22

3

-

-

-

11

16

21

4

-

-

-

-

15

20

5

-

-

-

-

-

17

0

5

10

15

19

22

На этом этапе происходит распределение вложений между 1, 2 и 3 предприятиями. Состояний системы по-прежнему шесть (верхняя строка таблицы). Управление для каждого состояния заключается в выделении 3-му предприятию от 0 до 5 млрд. (левый столбец таблицы). При выделении какой либо суммы 3-му предприятию результат оптимального распределения остатка между 1 и 2 предприятиями берется из последней строки таблицы 3. Например, в состоянии 4 (делятся 4 млрд.) принимается решение выделить 3-му предприятию 1 млрд., что обеспечит прибыль в 3 млн., распределение оставшихся 3-х млрд. даст прибыль в 15 млн. Суммарный результат в таблице — 18 млн. Максимизируя прибыль для каждого состояния системы (по столбцам), получим на последней строчке таблицы результат оптимального распределения выделяемой суммы между 1, 2 и 3 предприятиями (условные оптимумы для каждого состояния системы).

Последний (1-ый с начала нумерации) этап. Состояние системы одно — распределяется вся сумма. Управление заключается в том, какую часть этой суммы выделяется 4-му предприятию. Результат оптимального распределения остатка берется из последней строки таблицы 4. Информация относительно 1-го этапа содержится в табл.5

Как следует из анализа табл. 5, максимальная прибыль в 26 млн. будет получена при выделении 4-му предприятию 2 млрд. Чтобы выяснить, как при этом должна распределяться оставшаяся сумма в 3 млрд., возвратимся назад последовательно к таблицам 4, 3, 2.

Табл.5

5

0

22

1

25

2

26

3

22

4

18

5

14

26

Из табл. 4 следует, что для состояния 3 оптимум будет получен, если 3-му предприятию ничего не выделяется, т.е. сохраняется состояние 3. Переходим к табл. 3.

Из табл. 3 следует, что при разделении 3 млрд. между 1 и 2 предприятиями необходимо для получения оптимальной прибыли 2-му выделить 2 млрд., 1-му — 1 млрд.

Таким образом, оптимальное управление обеспечивается вектором (1, 2, 0, 2), что соответствует прибыли в 26 млн. Действительно, если обратиться для проверки к таблице 1, получим, что выделение предприятиям 1, 2, 3, 4, соответственно 1, 2, 0, 2 млрд. даст суммарную прибыль 5+10+0+11=26 млн.

В предыдущем примере рассмотрен детерминированный вариант задачи, т.е. такой случай, когда все решения принимает человек. В стохастическом варианте задачи решения на определенных этапах носят случайный характер и их результаты могут быть осмыслены с помощью вероятностных оценок. Рассмотрим соответствующие примеры.

Пример 2. Задача о ремонте.

Пусть при работе на некотором станке в течение недели будет получен доход Q = 100 р., а при выходе на этом отрезке времени станка из строя доход Q = 0 р. Если будет предварительно проведена профилактика, то вероятность выхода станка из строя равна q = 0,4, в противном случае, без профилактики эта вероятность равна q = 0,7. Стоимость профилактики 20 р. Целесообразно или не целесообразно проводить профилактику?

Рис. 6

Для решения этой задач методом динамического программирования построим дерево решения (рис. 6). На рисунке кружками показаны узлы (состояния системы), где решение принимает человек, квадратами — узлы, где решение носит вероятностный характер.

Анализ начинается с последнего этапа. На последнем этапе возможны 4-ре состояния. Соответствующий выигрыш W3 показан в кружках. Оценку 2-го этапа проведем по математическому ожиданию.

Для одного состояния эта оценка , для другого . Эти оценки помещены в квадраты. Оценка последнего этапа (1-го по нумерации): в случае профилактики выигрыш равен W1-= 60 — 20 = 40 р., без профилактики W1 = 30 р. Решение: проводить профилактику W = 40р.

Пример 3. Задача о выпуске партии консервов

Фирма освоила выпуск новых консервов. Образцы прошли дегустацию и сделан вывод, что при массовом выпуске консервов в производство успешный массовый сбыт ожидается с вероятностью 0,3, при этом ожидаемая годовая прибыль 3 млн. дол., а в случае неуспеха потери составят 250 тыс. дол. Возможен вариант предварительного пробного выпуска небольшой партии товара (затраты на выпуск партии составят 50 тыс. дол.). Оценки экспертов возможных ситуаций при продаже опытной партии и вероятности успеха и неуспеха при последующем массовом выпуске даны в таблице 6.

Итак, возможны решения.

1) Отказаться от выпуска.

2) Начать сразу массовый выпуск

3) Вначале выпустить опытную партию.

Необходимо построить дерево решений и, используя метод ДП, найти лучшее из возможных решение.

Табл. 6

События

Результат

массового

выпуска

А) Покупают

< 10%

потребителей

Б) Покупают

>10%

вторично

< 50%

В) Покупают

>10%

вторично

>50%

Успех

0,03

0,07

0,20

0,30

Неуспех

0,47

0,18

0,05

0,70

0,50

0,25

0,25

Последовательно, начиная с последнего этапа, вычисляются условные оптимумы.

Рис 7

Дерево решений имеет вид, показанный на рис 7

1) Узлы (7),(8),(9). Чтобы подсчитать максимальные значения целевой функции на 1-м шаге, необходимо знать условные вероятности – условную вероятность события «У», если имело место событие «а» (успех при m1<10%), p(У/a) и т.д.

Из таблиц п. 9.2. следует (решения «природы»).

p(У/a) = 0,03/0,5 = 0,06; p(НУ/a) = 0,47/0,5 = 0,94;

p(У/б) = 0,07/0,25 = 0,28; p(НУ/б) = 0,18/0,25 = 0,72;

p(У/в) = 0,20/0,25 = 0,8; p(НУ/в) = 0,05/0,25 = 0,2.

Соответствующие значения функций:

W7 = 30000,06-2500,94 = -55 тыс.

W8 = 30000,28-2500,72 = 660 тыс.

W9 = 30000,8-2500,2 = 2350 тыс.

2) Принимаются решения (условные оптимумы):

— узел 4 – «отказ», W4 = 0.

— узел 5 – «МП», W5 = 660 тыс.

— узел 6 – «МП», W6 = 2350 тыс.

3) Узел 3. Решение «природы»

W3 = 00,5+6600,25+23500,25-50 = 702,5 тыс.

4) Узел 2. Решение «природы»

W2 = 30000,3-2500,7 = 725 тыс.

5) Узел 1. Выбор из трёх возможных решений делается в пользу массового производства W = 725 тыс. – наибольшая ожидаемая прибыль.

Можно отметить, что, если затраты на опытное производство будут менее 27,5 тыс., более выгодным окажется решение «начать с опытного производства».