Министерство образования Российской Федерации
Новосибирский Государственный Технический Университет
Кафедра Экономической Информатики
Расчетно-графическая работа по Методам Оптимизации
Часть 4: «Динамическое программирование»
Вариант 4
Факультет: Бизнеса
Группа:
Студент :
Преподаватель: Кириллов Ю.В.
Новосибирск
2006
Цель работы:
-
научиться строить модели динамического программирования для задач различных классов, в которых процесс принятия решений может быть многошаговым;
-
правильно определить суть и природу состояний управляемой системы, мероприятий, составляющих управление системой;
-
приобрести практические навыки и опыт решения многошаговых задач методом динамического программирования.
Условие задачи:
Коммерческая фирма закупила товары четырех наименований a1, A2, аз и А4 по 10 упаковок каждого за пределами своего города. Доставку товаров предполагается осуществить собственным автофургоном за несколько рейсов. Грузоподъемность фургона составляет V кг. Вес одной упаковки товара каждого наименования равен соответственно V1, V2, Vз и V4 кг, а стоимость – C1, C2, C3 и С4 тыс. руб.
Определить, какие виды товаров и в каком количестве необходимо перевезти первым рейсом, с тем, чтобы их стоимость была максимальной.
Исходные данные:
V = 86
V1 = 7, V2 = 14, V3 = 13, V4 = 15.
C1 = 160, C2 = 490, C3 = 340, C4 = 510.
Задание:
-
записать математическую модель задачи
-
решить задачу методом Гомори
-
рассматривая задачу как модель динамического программирования, записать соответствующие функциональные уравнения Беллмана
-
решить задачу с помощью ПЭР двумя способами:
а. методом ветвей и границ как задачу целочисленного линейного программирования
б. методом динамического программирования как задачу о ранце.
-
результаты сравнить и проанализировать
-
решить задачу о выборе траектории самолета
-
построить графическое изображение траектории самолета
-
выводы по работе.
Динамическое программирование представляет собой математический аппарат, позволяющий осуществлять оптимальное планирование многошаговых управляемых процессов и процессов, зависящих от времени.
Пусть некоторая физическая управляемая система находится в первоначальном состоянии . С течением времени ее состояние изменяется и система приходит в состояние . С процессом изменения состояния системы связан некоторый численный критерий Z. Задача динамического программирования так организовать процесс, чтобы критерий достиг оптимального значения.
Z=, (1)
где Uk – управление системой на k-ом шаге, переводящее систему из состояния в состояние .
Так как процесс решения задачи динамического программирования предусматривает рассмотрение распределения каждой единицы предоставляемого объема, то сам процесс решения задачи с объемом «ранца», равным 86 единицам, получается довольно трудоемким.
Поэтому возьмем на себя право немного скорректировать условия задачи:
пусть Vранца = 14,
соответственно, для того, чтобы решение задачи не было очевидным и ее было интересно решать, скорректируем и объемы элементов продукции:
пусть V1 = 2,
V2 = 4,
V3 = 3,
V4 = 5.
Математическая модель задачи:
Z = 160X1 + 490 X2 + 340 X3 + 510 X4 → max
2 X1 + 4 X2 + 3 X3 +5 X4 ≤ 14
Xi ≥0, целые; i = 1,4
Составим таблицу, представляющую зависимость значений функций от предоставляемого объема.
-
V
X1
Z1(X1)
X2
Z2(X1)
X3
Z3(X1)
X4
Z4(X1)
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
1
160
0
0
0
0
0
0
3
1
160
0
0
1
340
0
0
4
2
320
1
490
1
340
0
0
5
2
320
1
490
1
340
1
510
6
3
480
1
490
2
680
1
510
7
3
480
1
490
2
680
1
510
8
4
640
2
980
2
680
1
510
9
4
640
2
980
3
1020
1
510
10
5
800
2
980
3
1020
2
1020
11
5
800
2
980
3
1020
2
1020
12
6
960
3
1470
4
1360
2
1020
13
6
960
3
1470
4
1360
2
1020
14
7
1120
3
1470
4
1360
2
1020