- •Содержание
- •1. Линейная производственная задача 3
- •1. Линейная производственная задача
- •2. Двойственная задача
- •Задача о "расшивке узких мест производства"
- •3. Транспортная задача линейного программирования
- •4. Динамическое программирование. Распределение капитальных вложений
- •Т аблица 2
- •5. Анализ доходности и риска финансовых операций
- •6. Матричная игра как модель конкуренции и сотрудничества
- •7. Задача о кратчайшем пути
- •8. Задача о максимальном потоке в сети
4. Динамическое программирование. Распределение капитальных вложений
Динамическое программирование - это вычислительный метод для решения задач управления определенной структуры. Данная задача с n переменными представляется как многошаговый процесс принятия решений. На каждом шаге определяется экстремум функции только от одной переменной.
Предположим, что указано n пунктов, где требуется построить или реконструировать предприятия одной отрасли, для чего выделено b рублей. Обозначим через fi(xi) прирост мощности или прибыли на j-м предприятии, если оно получит xi рублей капитальных вложений. Требуется найти такое распределение (x1,x2, ... , xn) капитальных вложений между предприятиями, которое максимизирует суммарный прирост мощности или прибыли
z = f1(x1) + f2(х2) + ... + fn(xn)
при ограничении по общей сумме капитальных вложений
x1 + x2 + ... + xn = b
причем будем считать, что все переменные xj принимают только целые неотрицательные значения.
Функции fj(xj) считаются заданными. Воспользуемся методом динамического программирования для решения этой задачи.
Производственное объединение состоит из четырех предприятий (n=4). Общая сумма капитальных вложений равна 700 тыс. рублей (b=700), выделяемые предприятиям суммы кратны 100 тыс. рублей. Значения функций fj(xj) приведены в таблице 1, где, например, число 44 означает, что если третье предприятие получит 400 тыс. руб. капитальных вложений, то прирост прибыли на этом предприятии составит 44 тыс. руб.
Таблица 1
xj |
0 |
100 |
200 |
300 |
400 |
500 |
600 |
700 |
f1 (x1) |
0 |
15 |
24 |
30 |
36 |
40 |
43 |
45 |
f2 (x2) |
0 |
18 |
26 |
34 |
39 |
42 |
44 |
46 |
f3 (x3) |
0 |
16 |
27 |
37 |
44 |
48 |
50 |
56 |
f4 (x4) |
0 |
10 |
17 |
23 |
29 |
34 |
38 |
41 |
Прежде
всего заполняем табл. 2. Значения f2(x2)
складываем со значениями F1(
- x2)
= f1(-
x2)
и на каждой северо-восточной диагонали
находим наибольшее число, которое
отмечаем звездочкой и указываем
соответствующее значение
.
Заполняем таблицу 3.
Продолжая
процесс, табулируем функции F3(),
()
и т.д. В табл. 6 заполняем только одну
диагональ для значения =
700. Наибольшее число на этой диагонали:
Zmax = 89 тыс. руб.,
причем четвертому предприятию должно быть выделено
х*4
=
4
(700) = 100 тыс.
руб.
На долю остальных трех предприятий остается 600 тыс. руб. Из табл. 5 видно, что третьему предприятию должно быть выделено
x*3 = 3 (700-x*4) = 3 (600) = 200 тыс. руб.
Продолжая обратный процесс, находим
x*2 = 2 (700 - x*4 - x*3) = 2 (400) = 300 тыс. руб.
На долю первого предприятия остается
x*1 = 700 - x*4 - x*3 - x*2 = 100 тыс. руб.
Таким образом, наилучшим является следующее распределение капитальных вложений по предприятиям:
x*1 =100; x*2 =300; x*3 = 200; x*4 = 100.
Оно обеспечивает производственному объединению наибольший воможный прирост прибыли 89 тыс. руб.
