Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ / Методические рекомендации для специальности 1-25 01 04 «Финансы и кредит»1.doc
Скачиваний:
21
Добавлен:
29.02.2016
Размер:
1.61 Mб
Скачать

Решение задач динамического программирования

Цель работы:

 Ознакомиться с теорией динамического программирования.

1.Общие сведения

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

Будем считать, что начальное Х0 и конечное ХТ состояния системы заданы. Обозначим через Z1(Хо,u1) значение функции цели на первом этапе при начальном состоянии системы Х0 и при управлении и1, через Z2(Х1, и2) —соответствующее значение функции цели на втором этапе, ..., через ZN(XN-1,uN) — на Nэтапе.

Тогда значение целевой функции для всего процесса:

.

Надо найти оптимальное управление u*=(и*1; и*2, ...; и*N), такое, что доставляет экстремум целевой функции.

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

Обозначим через F1(XN-1), F2(XN-2)... FN(X0) соответственно условно-оптимальные значения функции цели на последнем этапе, двух последних и т.д. на всех N этапах.

Начинаем с последнего этапа. Пусть XN-1 — возможные состояния системы на начало No этапа. Условно-оптимальные значения целевой функции:

Для последнего этапа:

Для двух последних этапов:

.

Аналогично:

.

Последнее выражение представляет собой математическую запись принципа оптимальности. Все выражения называются функциональными уравнениями Беллмана. Отчетливо просматривается их рекуррентный (возвратный) характер, т.е. для нахождения оптимального управления на N шагах нужно знать условно-оптимальное управление на предшествующих N—1 этапах и т. д. Поэтому функциональные уравнения часто называют рекуррентными (возвратными) соотношениями Беллмана.

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

Будем считать, что начальное Х0 и конечное ХТ состояния системы заданы. Обозначим через Z1(Хо,u1) значение функции цели на первом этапе при начальном состоянии системы Х0 и при управлении и1, через Z2(Х1, и2) —соответствующее значение функции цели на втором этапе, ..., через ZN(XN-1,uN) — на Nэтапе.

Тогда значение целевой функции для всего процесса:

.

Надо найти оптимальное управление u*=(и*1; и*2, ...; и*N), такое, что доставляет экстремум целевой функции.

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

Обозначим через F1(XN-1), F2(XN-2)... FN(X0) соответственно условно-оптимальные значения функции цели на последнем этапе, двух последних и т.д. на всех N этапах.

Начинаем с последнего этапа. Пусть XN-1 — возможные состояния системы на начало No этапа. Условно-оптимальные значения целевой функции:

Для последнего этапа:

Для двух последних этапов:

.

Аналогично:

.

Последнее выражение представляет собой математическую запись принципа оптимальности. Все выражения называются функциональными уравнениями Беллмана. Отчетливо просматривается их рекуррентный (возвратный) характер, т.е. для нахождения оптимального управления на N шагах нужно знать условно-оптимальное управление на предшествующих N—1 этапах и т. д. Поэтому функциональные уравнения часто называют рекуррентными (возвратными) соотношениями Беллмана.

2. Порядок выполнения работы

2.1.Ознакомится с методическими указаниями, изложенными в п.1;

2.2. Решить задачи (по указанию преподавателя)

3. Содержание отчета:

3.1.Тема и цель работы

3.2.Условия задач

3.3. Результаты решения.

3.4.Выводы по работе.

Список задач

1. Производственному объединению из четырех предприятий выделяется банковский кредит в сумме 60 млн. ден. ед. для реконструкции и модернизации производства с целью увеличения выпуска продукции. Значения gi(xi) (i = 1,4) дополнительного дохода, получаемого на предприятиях объединения в зависимости от выделенной суммы, приведены в таблице. Распределить выделенный кредит между предприятиями так, чтобы дополнительный доход объединения был максимальным.

Выделенные средства xi млн. ден. ед.

Предприятие

1

2

3

4

Получаемый доход, млн. ден. ед.

g1(xi)

g2(xi)

g3(xi)

g4(xi)

20

40

60

9

18

24

11

19

30

16

32

40

13

27

44

2. Решить задачу для производственного объединения из трех предприятий по данным, приведенным в табл. 2

Таблица 2

Выделен-ные средства хi, млн ден. ед.

Предприятие

№ 1

№ 2

№ 3

Получаемый доход, млн. ден. ед.

g1(xi)

g2(xi)

g3(xi)

20

40

60

9

17

29

11

34

46

13

28

37

3. На данной сети дорог имеется несколько маршрутов, по которым можно доставлять груз из пункта 1 в пункт 10. Известны стоимости перевозки единицы груза между пунктами сети. Требуется: найти на сети наиболее экономичный маршрут доставки груза из пункта 1 в пункт 10 и соответствующие ему затраты.

  1. Пусть имеется груз, состоящий из неделимых предметов различных типов, который нужно погрузить в самолет грузоподъёмностью Р. стоимость и масса каждого предмета известны. Требуется определить, сколько предметов каждого типа надо загрузить в самолет, чтобы суммарная стоимость груза была наибольшей, а масса не превышала грузоподъёмности самолета.

5. В начале планового периода из N лет имеется оборудование возраста не более t лет. Для каждого года планового периода известны стоимость r(t) произведенной с использованием этого оборудования продукции и затраты u(t), связанные с его эксплуатацией. Известны также остаточная стоимость s оборудования и цена р единицы нового оборудования (сюда же включены расходы, связанные с установкой, наладкой и запуском оборудования). Требуется разработать оптимальную стратегию в отношении имеющегося оборудования, т.е. в начале каждого года планового периода установить, сохранять в этом году оборудование или продать его по остаточной стоимости и купить новое, с тем чтобы ожидаемая прибыль за N лет достигла максимального значения. Задачу решить при следующих числовых данных:

а

9

) N = 8, s = 2, р = 6, значения r(t) и u(t) см. в табл.

t

0

1

2

3

4

5

r(t)

46

46

45

45

45

43

u(t)

15

15

17

18

18

19

Пользуясь составленной матрицей максимальных прибылей для оборудования не старше 5 лет, сформировать оптимальную стратегию по отношению к оборудованию, использовавшемуся до начала планового периода в течение: 4 лет; 1 года;

б) N = 10, 5 = 4, р = 18, значения r(t) и u(t) см. в табл.

t

0

1

2

3

4

5

6

7

8

9

10

r(t)

31

30

28

28

27

26

26

25

24

24

23

u(t)

8

9

9

10

10

10

11

12

14

16

18

На основе матрицы максимальных прибылей, составленной для оборудования не старше 10 лет, сформировать оптимальную стратегию для оборудования возраста: 7 лет; 3 года; 9 лет.