Решение задачи инвестирования инновационных проектов с помощью метода динамического программирования
Автор: Кривошапова Г.А., Яркина А.А., Иценко М.Ю.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Математика, информатика и инженерия
Статья в выпуске: 1 (55), 2020 года.
Бесплатный доступ
В статье рассматриваются решение задачи инвестирования инновационных проектов. Для решения выбран метод динамического программирования. Поиск решения был проведен с помощью онлайн-калькулятора.
Оптимальное распределение, динамическое программирование, стратегия
Короткий адрес: https://sciup.org/140275024
IDR: 140275024
Текст научной статьи Решение задачи инвестирования инновационных проектов с помощью метода динамического программирования
Пусть имеются пять инвестиционных проектов, между которыми распределяется 300 тыс. ден. ед. Денежные средс тв а распределяются суммами кратными 50 тыс. ден. ед. Значения g i ( x )( i = 1,5) ожидаемой прибыли от реализации каждого из инвестиционных проектов в зависимости от выделенной суммы х приведены в таблице 1. Составить план распределения средств, максимизирующий общий прирост прибыли.
Для решения задачи был выбран онлайн-калькулятор «Задача оптимального распределения инвестиций» [1].
На рисунке 1 представлены исходные данные.

Рисунок 1 - Исходные данные
Представим поэтапное решение задачи оптимального распределения инвестиций.
На каждом k-ом шаге оптимизируется инвестирование не всех проектов сразу, а только проекты с k-ого по 5-ый. При этом, будем считать, что в остальные проекты (с 1-ого по (k-1)-ое) тоже вкладываются некоторые средства, и потому на инвестирование проектов с k-ого по 5-ый остаются не все средства, а некоторая сумма сk≤300 тыс.ден.ед. Эта величина и будет являться переменной состояния системы. Переменной управления на k-ом шаге назовем величину хk средств, вкладываемых в k-ый проект. В качестве функционального уравнения Беллмана fk(сk) на к-ом шаге в этой задаче можно выбрать максимально возможную прибыль, которую можно получить по проектам с k-ого по 5-ый при условии, что на их инвестирование осталось ск средств.
I этап. Условная оптимизация.
1-ый шаг. k = 5.
Предположим, что все средства в количестве х5 = 300 отданы проекту №5. В этом случае, максимальный доход, как это видно из таблицы, составит f5(u5) = 99, следовательно, F5(e5) = f5(u5).
Таблица 1
e4 |
u5 |
e5 = e4 - u5 |
f5(u5) |
F*5(e5) |
u5(e5) |
50 |
0 |
50 |
0 |
||
50 |
0 |
16 |
16 |
50 |
|
100 |
0 |
100 |
0 |
||
50 |
50 |
16 |
|||
100 |
0 |
39 |
39 |
100 |
|
150 |
0 |
150 |
0 |
||
50 |
100 |
16 |
|||
100 |
50 |
39 |
|||
150 |
0 |
55 |
55 |
150 |
|
200 |
0 |
200 |
0 |
||
50 |
150 |
16 |
|||
100 |
100 |
39 |
|||
150 |
50 |
55 |
|||
200 |
0 |
76 |
76 |
200 |
|
250 |
0 |
250 |
0 |
||
50 |
200 |
16 |
|||
100 |
150 |
39 |
|||
150 |
100 |
55 |
|||
200 |
50 |
76 |
|||
250 |
0 |
92 |
92 |
250 |
|
300 |
0 |
300 |
0 |
||
50 |
250 |
16 |
|||
100 |
200 |
39 |
|||
150 |
150 |
55 |
|||
200 |
100 |
76 |
250 |
50 |
92 |
|||
300 |
0 |
99 |
99 |
300 |
2-ый шаг. k = 4.
Определяем оптимальную стратегию при распределении денежных средств между проектами №4, 5. При этом рекуррентное соотношение
Беллмана имеет вид: F4(e4) = max(x4 ≤ e4)(f4(u4) + F5(e4-u4)).
Таблица 2
e3 |
u4 |
e4 = e3 - u4 |
f4(u4) |
F*4(e3) |
F3(u4,e3) |
F*4(e4) |
u4(e4) |
50 |
0 |
50 |
0 |
16 |
16 |
||
50 |
0 |
20 |
0 |
20 |
20 |
50 |
|
100 |
0 |
100 |
0 |
39 |
39 |
||
50 |
50 |
20 |
16 |
36 |
|||
100 |
0 |
44 |
0 |
44 |
44 |
100 |
|
150 |
0 |
150 |
0 |
55 |
55 |
||
50 |
100 |
20 |
39 |
59 |
|||
100 |
50 |
44 |
16 |
60 |
|||
150 |
0 |
64 |
0 |
64 |
64 |
150 |
|
200 |
0 |
200 |
0 |
76 |
76 |
||
50 |
150 |
20 |
55 |
75 |
|||
100 |
100 |
44 |
39 |
83 |
83 |
100 |
|
150 |
50 |
64 |
16 |
80 |
|||
200 |
0 |
82 |
0 |
82 |
|||
250 |
0 |
250 |
0 |
92 |
92 |
||
50 |
200 |
20 |
76 |
96 |
|||
100 |
150 |
44 |
55 |
99 |
|||
150 |
100 |
64 |
39 |
103 |
|||
200 |
50 |
82 |
16 |
98 |
|||
250 |
0 |
110 |
0 |
110 |
110 |
250 |
300 |
0 |
300 |
0 |
99 |
99 |
||
50 |
250 |
20 |
92 |
112 |
|||
100 |
200 |
44 |
76 |
120 |
|||
150 |
150 |
64 |
55 |
119 |
|||
200 |
100 |
82 |
39 |
121 |
|||
250 |
50 |
110 |
16 |
126 |
126 |
250 |
|
300 |
0 |
119 |
0 |
119 |
3-ый шаг. k = 3.
Определяем оптимальную стратегию при распределении денежных средств между проектами №3, 4, 5. При этом рекуррентное соотношение
Беллмана имеет вид: F3(e3) = max(x3 ≤ e3)(f3(u3) + F4(e3-u3))
Таблица 3
e2 |
u3 |
e3 = e2 - u3 |
f3(u3) |
F*3(e2) |
F2(u3,e2) |
F*3(e3) |
u3(e3) |
50 |
0 |
50 |
0 |
20 |
20 |
||
50 |
0 |
25 |
0 |
25 |
25 |
50 |
|
100 |
0 |
100 |
0 |
44 |
44 |
||
50 |
50 |
25 |
20 |
45 |
|||
100 |
0 |
50 |
0 |
50 |
50 |
100 |
|
150 |
0 |
150 |
0 |
64 |
64 |
||
50 |
100 |
25 |
44 |
69 |
|||
100 |
50 |
50 |
20 |
70 |
70 |
100 |
|
150 |
0 |
61 |
0 |
61 |
|||
200 |
0 |
200 |
0 |
83 |
83 |
||
50 |
150 |
25 |
64 |
89 |
|||
100 |
100 |
50 |
44 |
94 |
94 |
100 |
|
150 |
50 |
61 |
20 |
81 |
|||
200 |
0 |
78 |
0 |
78 |
|||
250 |
0 |
250 |
0 |
110 |
110 |
50 |
200 |
25 |
83 |
108 |
|||
100 |
150 |
50 |
64 |
114 |
114 |
100 |
|
150 |
100 |
61 |
44 |
105 |
|||
200 |
50 |
78 |
20 |
98 |
|||
250 |
0 |
98 |
0 |
98 |
|||
300 |
0 |
300 |
0 |
126 |
126 |
||
50 |
250 |
25 |
110 |
135 |
135 |
50 |
|
100 |
200 |
50 |
83 |
133 |
|||
150 |
150 |
61 |
64 |
125 |
|||
200 |
100 |
78 |
44 |
122 |
|||
250 |
50 |
98 |
20 |
118 |
|||
300 |
0 |
109 |
0 |
109 |
4-ый шаг. k = 2.
Определяем оптимальную стратегию при распределении денежных средств между проектами №2, 3, 4, 5. При этом рекуррентное соотношение
Беллмана имеет вид: F2(e2) = max(x2 ≤ e2)(f2(u2) + F3(e2-u2))
Таблица 4
e1 |
u2 |
e2 = e1 - u2 |
f2(u2) |
F*2(e1) |
F1(u2,e1) |
F*2(e2) |
u2(e2) |
50 |
0 |
50 |
0 |
25 |
25 |
25 |
0 |
50 |
0 |
22 |
0 |
22 |
|||
100 |
0 |
100 |
0 |
50 |
50 |
||
50 |
50 |
22 |
25 |
47 |
|||
100 |
0 |
51 |
0 |
51 |
51 |
100 |
|
150 |
0 |
150 |
0 |
70 |
70 |
||
50 |
100 |
22 |
50 |
72 |
|||
100 |
50 |
51 |
25 |
76 |
76 |
100 |
|
150 |
0 |
60 |
0 |
60 |
|||
200 |
0 |
200 |
0 |
94 |
94 |
50 |
150 |
22 |
70 |
92 |
|||
100 |
100 |
51 |
50 |
101 |
101 |
100 |
|
150 |
50 |
60 |
25 |
85 |
|||
200 |
0 |
79 |
0 |
79 |
|||
250 |
0 |
250 |
0 |
114 |
114 |
||
50 |
200 |
22 |
94 |
116 |
|||
100 |
150 |
51 |
70 |
121 |
121 |
100 |
|
150 |
100 |
60 |
50 |
110 |
|||
200 |
50 |
79 |
25 |
104 |
|||
250 |
0 |
100 |
0 |
100 |
|||
300 |
0 |
300 |
0 |
135 |
135 |
||
50 |
250 |
22 |
114 |
136 |
|||
100 |
200 |
51 |
94 |
145 |
145 |
100 |
|
150 |
150 |
60 |
70 |
130 |
|||
200 |
100 |
79 |
50 |
129 |
|||
250 |
50 |
100 |
25 |
125 |
|||
300 |
0 |
120 |
0 |
120 |
5-ый шаг. k = 1.
Определяем оптимальную стратегию при распределении денежных средств между проектами №1, 2, 3, 4, 5. При этом рекуррентное соотношение
Беллмана имеет вид: F1(e1) = max(x1 ≤ e1)(f1(u1) + F2(e1-u1))
Таблица 5
e0 |
u1 |
e1 = e0 - u1 |
f1(u1) |
F*1(e0) |
F0(u1,e0) |
F*1(e1) |
u1(e1) |
50 |
0 |
50 |
0 |
25 |
25 |
25 |
0 |
50 |
0 |
18 |
0 |
18 |
|||
100 |
0 |
100 |
0 |
51 |
51 |
51 |
0 |
50 |
50 |
18 |
25 |
43 |
|||
100 |
0 |
43 |
0 |
43 |
150 |
0 |
150 |
0 |
76 |
76 |
76 |
0 |
50 |
100 |
18 |
51 |
69 |
|||
100 |
50 |
43 |
25 |
68 |
|||
150 |
0 |
57 |
0 |
57 |
|||
200 |
0 |
200 |
0 |
101 |
101 |
101 |
0 |
50 |
150 |
18 |
76 |
94 |
|||
100 |
100 |
43 |
51 |
94 |
|||
150 |
50 |
57 |
25 |
82 |
|||
200 |
0 |
78 |
0 |
78 |
|||
250 |
0 |
250 |
0 |
121 |
121 |
121 |
0 |
50 |
200 |
18 |
101 |
119 |
|||
100 |
150 |
43 |
76 |
119 |
|||
150 |
100 |
57 |
51 |
108 |
|||
200 |
50 |
78 |
25 |
103 |
|||
250 |
0 |
97 |
0 |
97 |
|||
300 |
0 |
300 |
0 |
145 |
145 |
145 |
0 |
50 |
250 |
18 |
121 |
139 |
|||
100 |
200 |
43 |
101 |
144 |
|||
150 |
150 |
57 |
76 |
133 |
|||
200 |
100 |
78 |
51 |
129 |
|||
250 |
50 |
97 |
25 |
122 |
|||
300 |
0 |
115 |
0 |
115 |
Рассмотрим построение таблиц и последовательность проведения расчетов.
Столбцы 1 (вложенные средства), 2 (проект) и 3 (остаток средств) для всех трех таблиц одинаковы, поэтому их можно было бы сделать общими. Столбец 4 заполняется на основе исходных данных о функциях дохода, значения в столбце 5 берутся из столбца 7 предыдущей таблицы, столбец 6 заполняется суммой значений столбцов 4 и 5 (в таблице 5-го шага столбцы 5
и 6 отсутствуют).
В столбце 7 записывается максимальное значение предыдущего столбца для фиксированного начального состояния, и в 8 столбце записывается управление из 2 столбца, на котором достигается максимум в 7.
Этап II. Безусловная оптимизация.
Из таблицы 5-го шага имеем F*1(e0 = 300) = 145. То есть максимальный доход всей системы при количестве средств e0 = 300 равен 145
Из этой же таблицы получаем, что 1-му проекту следует выделить u*1(e0 = 300) = 0
При этом остаток средств составит:
e1 = e0 - u1 = 300 - 0 = 300
Из таблицы 4-го шага имеем F*2(e1 = 300) = 145. То есть максимальный доход всей системы при количестве средств e1 = 300 равен 145
Из этой же таблицы получаем, что 2-му проекту следует выделить u*2(e1 = 300) = 100
При этом остаток средств составит:
e2 = e1 - u2 = 300 - 100 = 200
Из таблицы 3-го шага имеем F*3(e2 = 200) = 94. То есть максимальный доход всей системы при количестве средств e2 = 200 равен 94
Из этой же таблицы получаем, что 3-му проекту следует выделить u*3(e2 = 200) = 100
При этом остаток средств составит:
e3 = e2 - u3 = 200 - 100 = 100
Из таблицы 2-го шага имеем F*4(e3 = 100) = 44. То есть максимальный доход всей системы при количестве средств e3 = 100 равен 44
Из этой же таблицы получаем, что 4-му проекту следует выделить u*4(e3 = 100) = 100
При этом остаток средств составит:
e4 = e3 - u4 = 100 - 100 = 0
Последнему проекту достается 0
Итак, инвестиции в размере 300 необходимо распределить следующим образом:
1-му проекту выделить 0
2-му проекту выделить 100
3-му проекту выделить 100
4-му проекту выделить 100
5-му проекту выделить 0
Что обеспечит максимальный доход, равный 145
Список литературы Решение задачи инвестирования инновационных проектов с помощью метода динамического программирования
- Онлайн-калькулятор / Уровень доступа https://math.semestr.ru/dinam/dinam.php