Динамическое программирование
Задачи динамического программирования: задача распределения инвестиций, задача замены оборудования, задача Джонсона
xf1(x)f2(x)f3(x)
16.345
25.267
34.34.67.8
4563
5*76.38.2
Решить онлайн
Примеры решений Задача Джонсона Симплекс метод Метод прогонки Задача замены оборудования Задача распределения инвестиций Параметры сетевой модели Задача коммивояжера Многоканальные СМО

Модели динамического программирования

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

Пусть рассматривается управляемый экономический процесс распределение средств между предприятиями. 
Рассмотрим алгоритм  решения задачи на  конкретном  примере.
Планируется деятельность четырёх предприятий на очередной  год.
Начальные средства:  S 0 ус/ед. Размеры вложений в каждое предприятие  кратны 1ус/ед.
Средства Х выделенные предприятию приносят в конце года
прибыль F k (Х). Функции F k (Х) заданы таблично.
Принято считать, что:
Определить, какое количество средств нужно выделить каждому предприятию, чтобы суммарная прибыль была наибольшей.

Решение находим с помощью сервиса распределение средств между предприятиями
Введём обозначения:
Х - количество средств, выделенных каждому предприятию.
Суммарная прибыль равна: Z =∑ F k (Х).
Переменные  удовлетворяют ограничениям:
∑Х k =5
Х k ≥0
Требуется найти переменные Х1,Х2,Х3,Х4, удовлетворяющие системе уравнений и обращающие в максимум функцию.
Таблица

Х F 1(Х) F 2(Х) F 3(Х) F 4(Х)
1 8 6 3 4
2 10 9 4 6
3 11 11 7 8
4 12 13 11 13
5 18 15 18 16

Используя уравнение Беллмана рассмотрим алгоритм  решения задачи.
Если Х1=0, то  S 1 =5,  то прибыль, полученная от четырёх предприятий при этих условиях, будет равна:  Z1 = 0+19=19.
Если Х1=1, то S 2=4, то прибыль при этих условиях равна:  Z 1 = 8+16=24.
Если Х1=2, то S 2 =3, то прибыль при этих условиях равна:  Z 3 = 10+13=23
Если Х1=3, то S 2 =2, то прибыль при этих условиях равна:
Z 4 = 11+10=2110+13=23
Если Х1=4, то S 2 =1, то прибыль при этих условиях равна:  Z 5 = 12+16=28
Если Х1=5, то S 2 =0, то прибыль при этих условиях равна:  Z 5 =18+0=18
Сравнивая полученные числа, получим:  Z 1 = 24, при  Х1=1.
Максимум суммарной прибыли  Zmaх = 24 ус/ед. при условии, что:
- первому предприятию выделено 1 ус/ед.;
- второму  предприятию 2 ус/ед.;
- третьему предприятию 1 ус/ед.;
- четвёртому предприятию 1 ус/ед.

I этап. Условная оптимизация.
1-ый шаг. k = 4.

e3 u4 e4=e3-u4 f4(u4) F*4(e4) u4(e4)
1 0 1 0 0 0
1 0 4 4 1
2 0 2 0 0 0
1 1 4 0 0
2 0 6 6 2
3 0 3 0 0 0
1 2 4 0 0
2 1 6 0 0
3 0 8 8 3
4 0 4 0 0 0
1 3 4 0 0
2 2 6 0 0
3 1 8 0 0
4 0 13 13 4
5 0 5 0 0 0
1 4 4 0 0
2 3 6 0 0
3 2 8 0 0
4 1 13 0 0
5 0 16 16 5

2-ый шаг. k = 3.
e2 u3 e3=e2-u3 f3(u3) F*3(e2) F2(u3,e2) F*3(e3) u3(e3)
1
0 1 0 4 4 4 0
1 0 3 0 3 0 0
2 0 2 0 6 6 0 0
1 1 3 4 7 7 1
2 0 4 0 4 0 0
3 0 3 0 8 8 0 0
1 2 3 6 9 9 1
2 1 4 4 8 0 0
3 0 7 0 7 0 0
4 0 4 0 13 13 13 0
1 3 3 8 11 0 0
2 2 4 6 10 0 0
3 1 7 4 11 0 0
4 0 11 0 11 0 0
5 0 5 0 16 16 0 0
1 4 3 13 16 0 0
2 3 4 8 12 0 0
3 2 7 6 13 0 0
4 1 11 4 15 0 0
5 0 18 0 18 18 5

3-ый шаг. k = 2.
e1 u2 e2=e1-u2 f2(u2) F*2(e1) F1(u2,e1) F*2(e2) u2(e2)
1
0 1 0 4 4 0 0
1 0 6 0 6 6 1
2 0 2 0 7 7 0 0
1 1 6 4 10 10 1
2 0 9 0 9 0 0
3 0 3 0 9 9 0 0
1 2 6 7 13 13 1
2 1 9 4 13 0 0
3 0 11 0 11 0 0
4 0 4 0 13 13 0 0
1 3 6 9 15 0 0
2 2 9 7 16 16 2
3 1 11 4 15 0 0
4 0 13 0 13 0 0
5 0 5 0 18 18 0 0
1 4 6 13 19 19 1
2 3 9 9 18 0 0
3 2 11 7 18 0 0
4 1 13 4 17 0 0
5 0 15 0 15 0 0

4-ый шаг. k = 1.
e0 u1 e1=e0-u1 f1(u1) F*1(e0) F0(u1,e0) F*1(e1) u1(e1)
1
0 1 0 6 6 0 0
1 0 8 0 8 8 1
2 0 2 0 10 10 0 0
1 1 8 6 14 14 1
2 0 10 0 10 0 0
3 0 3 0 13 13 0 0
1 2 8 10 18 18 1
2 1 10 6 16 0 0
3 0 11 0 11 0 0
4 0 4 0 16 16 0 0
1 3 8 13 21 21 1
2 2 10 10 20 0 0
3 1 11 6 17 0 0
4 0 12 0 12 0 0
5 0 5 0 19 19 0 0
1 4 8 16 24 24 1
2 3 10 13 23 0 0
3 2 11 10 21 0 0
4 1 12 6 18 0 0
5 0 18 0 18 0 0

Поясним построение таблиц и последовательность проведения расчетов.
Столбцы 1, 2 и 3 для всех трех таблиц одинаковы, поэтому их можно было бы сделать общими. Столбец 4 заполняется на основе исходных данных о функциях дохода, значения в столбце 5 берутся из столбца 7 предыдущей таблицы, столбец 6 заполняется суммой значений столбцов 4 и 5 (в таблице 4-го шага столбцы 5 и 6 отсутствуют).
В столбце 7 записывается максимальное значение предыдущего столбца для фиксированного начального состояния, и в 8 столбце записывается управление из 2 столбца, на котором достигается максимум в 7.
Этап II. Безусловная оптимизация.
Из таблицы 1-го шага имеем F*4(e0 = 5) = 24. То есть максимальный доход всей системы при количестве средств e0 = 5 равен 24.
Из этой же таблицы получаем, что 1-му предприятию следует выделить u*1(e0 = 5) = 1
При этом остаток средств составит:
e1 = e0 - u1
e1 = 5 - 1 = 4
Из таблицы 2-го шага имеем F*3(e1 = 4) = 16. То есть максимальный доход всей системы при количестве средств e1 = 4 равен 16.
Из этой же таблицы получаем, что 2-му предприятию следует выделить u*2(e1 = 4) = 2
При этом остаток средств составит:
e2 = e1 - u2
e2 = 4 - 2 = 2
Из таблицы 3-го шага имеем F*2(e2 = 2) = 7. То есть максимальный доход всей системы при количестве средств e2 = 2 равен 7.
Из этой же таблицы получаем, что 3-му предприятию следует выделить u*3(e2 = 2) = 1
При этом остаток средств составит:
e3 = e2 - u3
e3 = 2 - 1 = 1
Последнему предприятию достается 1.
Итак, инвестиции в размере 5 необходимо распределить следующим образом:
1-му предприятию выделить 1,
2-му предприятию выделить 2,
3-му предприятию выделить 1,
4-му предприятию выделить 1.
Что обеспечит максимальный доход, равный 24.

Перейти к онлайн решению своей задачи

Болит горло
Как быстро вылечить ангину, гланды, тонзиллит
Природные средства, проверенные временем и врачами
Подробнее
ЕГЭ по математике
Yandex.Просвещение представляет бесплатные видеокурсы по ЕГЭ с возможностью прохождения тестов
Подробнее
Метод Гомори
Метод Гомори
Метод Гомори. Решение задачи целочисленного программирования
Решить онлайн
Курсовые на заказ