Динамическое программирование. Оптимальное распределение ресурсов. Задача коммивояжера
Курсовая работа, 22 Ноября 2012, автор: пользователь скрыл имя
Описание работы
Совет директоров фирмы рассматривает предложения по наращиванию производственных мощностей для увеличения выпуска однородной продукции на четырёх предприятиях, принадлежащих фирме. Для модернизации предприятия совет директоров инвестировал средства в объёме 250 млн. р. с дискретностью 50 млн. р.
Файлы: 1 файл
Курсовая работа Моя.doc
— 521.50 Кб (Скачать файл)Серой заливкой выделены оптимальные
значения величин Х1 + Х2,
соответствующих в сумме возможному объему
выделенных этим предприятиям средств.
Шаг 2. Затем, рассматривая предприятия
1 и 2 как единый комплекс (1,2), выполним
аналогичную процедуру распределения
ресурса между ним и 3-им предприятием.
Для вычисления значения общей прибыли
при этом будем пользоваться уже найденным
на предыдущем шаге оптимальным решением.
Далее все три предприятия опять-таки
рассматриваются как некий единый комплекс
(1,2,3).
X123 |
Х12 |
Х*3 |
V*123 |
|
50 |
50 |
0 |
7 |
0 |
50 |
6 | |
100 |
100 |
0 |
12 |
50 |
50 |
13 | |
0 |
100 |
8 | |
150 |
150 |
0 |
21 |
100 |
50 |
18 | |
50 |
100 |
15 | |
0 |
150 |
21 | |
200 |
200 |
0 |
34 |
150 |
50 |
27 | |
100 |
100 |
20 | |
50 |
150 |
28 | |
0 |
200 |
35 | |
250 |
250 |
0 |
40 |
200 |
50 |
40 | |
150 |
100 |
29 | |
100 |
150 |
33 | |
50 |
200 |
42 | |
0 |
250 |
40 |
Шаг 3. Выполним аналогичную предыдущему процедуру распределения ресурса между комплексом (1,2,3) и предприятием 4. Полученный результат и даст нам оптимальное решение поставленной задачи.
X1234 |
Х*123 |
Х*4 |
V*1234 |
|
50 |
50 |
0 |
7 |
0 |
50 |
4 | |
100 |
100 |
0 |
13 |
50 |
50 |
11 | |
0 |
100 |
11 | |
150 |
150 |
0 |
21 |
100 |
50 |
17 | |
50 |
100 |
18 | |
0 |
150 |
19 | |
200 |
200 |
0 |
35 |
150 |
50 |
25 | |
100 |
100 |
24 | |
50 |
150 |
26 | |
0 |
200 |
33 | |
250 |
250 |
0 |
40 |
200 |
50 |
39 | |
150 |
100 |
32 | |
100 |
150 |
32 | |
50 |
200 |
40 | |
0 |
250 |
41 |
Из таблицы 3-го шага имеем V* (250) = 41. То есть максимальный доход всей системы при количестве средств 250 равен 41
Согласно полученным данным оптимальным будет следующее распределение ресурсов:
i |
1 |
2 |
3 |
4 |
Xi |
0 |
0 |
0 |
250 |
Прирост выпуска продукции будет максимальным, если распределить инвестиции следующим образом: 250 млн. р. четвертому предприятию. Это обеспечит максимальный доход, равный 41 млн. р.
2. Задача коммивояжера
а) Содержательная история
Коммивояжер должен объездить 6 городов. Для того чтобы сократить расходы, он хочет построить такой маршрут, чтобы объездить все города точно по одному разу и вернуться в исходный с минимумом затрат. Исходный город A. Затраты на перемещение между городами заданы следующей матрицей:
A |
B |
C |
D |
E |
F | |
A |
M |
14 |
40 |
33 |
16 |
51 |
B |
48 |
M |
34 |
4 |
11 |
24 |
C |
57 |
35 |
M |
24 |
38 |
52 |
D |
30 |
50 |
44 |
M |
9 |
31 |
E |
18 |
42 |
24 |
31 |
M |
30 |
F |
1 |
38 |
31 |
19 |
32 |
M |
Для удобства изложения везде ниже в платежной матрице заменим имена городов (A, B, …, F) номерами соответствующих строк и столбцов (1, 2, …, 6).
i j |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
M |
14 |
40 |
33 |
16 |
51 |
2 |
48 |
M |
34 |
4 |
11 |
24 |
3 |
57 |
35 |
M |
24 |
38 |
52 |
4 |
30 |
50 |
44 |
M |
9 |
31 |
5 |
18 |
42 |
24 |
31 |
M |
30 |
6 |
1 |
38 |
31 |
19 |
32 |
M |
б) Математическая модель задачи коммивояжера
(1)
При ограничениях
Условия (2) – (4) в совокупности обеспечивают, что каждая переменная равна или нулю, или единице. При этом ограничения (2), (3) выражают условия, что коммивояжер побывает в каждом городе один раз в него прибыв (ограничение (2)), и один раз из него выехав (ограничение (3)).
в) Метод решения – метод ветвей и границ
В задаче коммивояжера для
формирования оптимального
Вершина (i,j) соответствует подмножеству
всех маршрутов, содержащих ребро (i,j),
а вершина (i*,j*) — подмножеству всех маршрутов,
где это ребро отсутствует.
Процесс разбиения на эти подмножества
можно рассматривать как ветвление дерева.
Поэтому метод называется методом поиска по дереву решений,
или методом ветвей и границ.
Метод ветвей и границ представляет собой
алгоритм направленного перебора множества
вариантов решения задачи. Сущность метода ветвей и границ состоит
в том, что от корня дерева ветвятся не
все вершины.
г) Решение задачи
1. Для определения нижней границы множества воспользуемся операцией редукции или приведения матрицы по строкам, для чего необходимо в каждой строке матрицы D найти минимальный элемент.
di = min(j) dij
|
i j |
1 |
2 |
3 |
4 |
5 |
6 |
di |
|
1 |
M |
14 |
40 |
33 |
16 |
51 |
14 |
2 |
48 |
M |
34 |
4 |
11 |
24 |
4 |
3 |
57 |
35 |
M |
24 |
38 |
52 |
24 |
4 |
30 |
50 |
44 |
M |
9 |
31 |
9 |
5 |
18 |
42 |
24 |
31 |
M |
30 |
18 |
6 |
1 |
38 |
31 |
19 |
32 |
M |
1 |
Затем вычесть его из
i j |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
M |
0 |
26 |
19 |
2 |
37 |
2 |
44 |
M |
30 |
0 |
7 |
20 |
3 |
33 |
11 |
M |
0 |
14 |
28 |
4 |
21 |
41 |
35 |
M |
0 |
22 |
5 |
0 |
24 |
6 |
13 |
M |
12 |
6 |
0 |
37 |
30 |
18 |
31 |
M |
Затем такую же операцию редукции проводим по столбцам, для чего в каждом столбце находим минимальный элемент:
dj = min(i) dij
|
i j |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
M |
0 |
26 |
19 |
2 |
37 |
2 |
44 |
M |
30 |
0 |
7 |
20 |
3 |
33 |
11 |
M |
0 |
14 |
28 |
4 |
21 |
41 |
35 |
M |
0 |
22 |
5 |
0 |
24 |
6 |
13 |
M |
12 |
6 |
0 |
37 |
30 |
18 |
31 |
M |
dj |
0 |
0 |
6 |
0 |
0 |
12 |