Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
16.12.2013
Размер:
388.61 Кб
Скачать

Динамическое программирование. Распределение капитальных вложений

Динамическое программирование - это вычислительный метод для решения задач управления определенной структуры. Данная задача с n переменными представляется как многошаговый процесс принятия решений. На каждом шаге определяется экстремум функции только от одной переменной.

Знакомство с методом динамического программирования проще всего начать с рассмотрения нелинейной задачи распределения ресурсов между предприятиями одного производственного объединения или отрасли. Для определенности можно считать, что речь идет о распределении капитальных вложений.

Предположим, что указано n пунктов, где требуется построить или реконструировать предприятия одной отрасли, для чего выделено b рублей. Обозначим через fi(xi) прирост мощности или прибыли на j-м предприятии, если оно получит xi рублей капитальных вложений. Требуется найти такое распределение (x1,x2, ... , xn) капитальных вложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли

z = f1(x1) + f22) + ... + fn(xn)

при ограничении по общей сумме капитальных вложений

x1 + x2 + ... + xn = b

причем будем считать, что все переменные xj принимают только целые неотрицательные значения

xj = 0, или 1, или 2, или 3, ...

Функции fj(xj) мы считаем заданными, заметив, что их определение - довольно трудоемкая экономическая задача.

Воспользуемся методом динамического программирования для решения этой задачи.

Производственное объединение состоит из четырех предприятий (n=4). Общая сумма капитальных вложений равна 700 тыс. рублей (b=700), выделяемые предприятиям суммы кратны 100 тыс. рублей. Значения функций fj(xj) приведены в таблице 1, где, например, число 92 означает, что если третье предприятие получит 400 тыс. руб. капитальных вложений, то прирост прибыли на этом предприятии составит 92 тыс. руб.

Таблица I

xj

0

100

200

300

400

500

600

700

f1(x1)

0

5

8

10

12

13

14

15

f2(x2)

0

5

10

14

17

19

21

22

f3(x3)

0

8

13

18

21

23

25

27

f4(x4)

0

6

13

20

27

33

38

41

Прежде всего заполняем табл. 2. Значения f2(x2) складываем со значениями F1( - x2) = f1(- x2) и на каждой северо-восточной диагонали находим наибольшее число, которое отмечаем звездочкой и указываем соответствующее значение . Заполняем таблицу 3.

Продолжая процесс, табулируем функции F3(), () и т.д. В табл. 6 заполняем только одну диагональ для значения = 700. Наибольшее число на этой диагонали:

Zmax = 46 тыс. руб.,

но четвертому предприятию не может быть выделено

х*4 = 4 (700) = 600 тыс. руб. или 500 тыс. руб. Можно только выделить 400 тыс. руб.

На долю остальных трех предприятий остается 300 тыс. руб. Из табл. 5 видно, что третьему предприятию должно быть выделено

x*3 = 3 (700-x*4) = 3 (300) = 100 тыс. руб.

Продолжая обратный процесс, находим

x*2 = 2 (700 - x*4 - x*3) = 2 (200) = 100 тыс. руб.

На долю первого предприятия остается

x*1 = 700 - x*4 - x*3 - x*2 = 100 тыс. руб.

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

x*1 =100; x*2 =100; x*3 = 100; x*4 = 400.

Оно обеспечивает производственному объединению наибольший возможный прирост прибыли 45 тыс. руб.

Рекомендуется проверить выполнение равенства

f1(x*1) + f2(x*2) + f3(x*3) + f4(x*4) = z max

27+8+5+5=45

Таблица 2

 - x2

0 100 200 300 400 500 600 700

x2

F1( - x2)

f2(x2)

0 5 8 10 12 13 14 15

0

0

0 5* 8 10 12 13 14 15

100

5

5 10* 13 15 17 18 19

200

10

10 15* 18 20 22 23

300

14

14 19* 22* 24 26

400

17

17 22 25* 27*

500

19

19 24 27

600

21

21 26

700

22

22 .

Таблица 3

0 100 200 300 400 500 600 700

F2()

0 5 10 15 19 22 25 27

()

0 0 100 200 300 300 400 400

Таблица 4

 - x3

0 100 200 300 400 500 600 700

x3

F2( - x3)

f3(x3)

0 5 10 15 19 22 25 27

0

0

0 5 10 15 19 22 25 27

100

8

8* 13* 18* 23* 27 30 33

200

13

13 18 23 28* 32 35

300

18

18 23 28 33* 37*

400

21

21 26 31 36

500

23

23 28 33

600

25

25 30

700

27

27

Таблица 5

0 100 200 300 400 500 600 700

F3()

0 8 13 18 23 28 33 37

()

0 100 100 100 100 200 300 300

Таблица 6

 - x4

0 100 200 300 400 500 600 700

x4

F3( - x4)

f4(x4)

0 8 13 18 23 28 33 37

0

0

37

100

6

39

200

13

41

300

20

43

400

27

45

500

33

46*

600

38

46*

700

41

41 .

Соседние файлы в папке Курсовики по прикладной математики