
- •Введение
- •1.Теоретическая часть
- •1.1 Линейное программирование
- •1.2 Общий вид задач линейного программирования
- •1.3 Транспортная задача
- •1.3.1 Общий вид транспортной задачи
- •1.3.2 Опорный план транспортной задачи
- •1.3.3 Метод северо- западного угла
- •1.3.4 Минимальной стоимости по строке
- •1.3.5 Минимальной стоимости по столбцу
- •1.4 Распределительный метод оптимального плана
- •1.5 Метод потенциалов.
- •1.5.1Формулировка транспортной задачи
- •1.5.2 Алгоритм решения метода потенциалов
- •1.5.3 Вычисление общей стоимости транспортировки
- •1.5.4 Разделение ячеек на базисные и свободные
- •1.5.5 Проверка плана на вырожденность
- •1.5.6 Вычисление потенциалов
- •1.5.7 Проверка решения на оптимальность
- •1.5.8 Построение цикла
- •1.5.9 Перераспределение поставок по циклу
- •1.5.10 Зацикливание решения
- •1.6 Пример решения задачи
- •2. Практическая часть
- •2.1 Постановка задачи
- •2.2 Аналитическое решение задачи
- •2.3 Алгоритм решения транспортной задачи
- •2.3.1 Построение опорного плана методом северо-западного угла
- •2.3.2 Построение опорного плана методом Фогеля
- •2.3.3 Построение оптимального плана методом потенциалов
- •2.4 Программная реализация задачи
- •Заключение
- •Список литературы
2.3.3 Построение оптимального плана методом потенциалов
Подсчитаем число занятых клеток таблицы, их 8, а должно быть m + n - 1 = 8. Следовательно, опорный план является невырожденным. Значение целевой функции для этого опорного плана равно: F( x) = 9*49 + 10*29 + 6*78 + 40*16 + 19*29 + 28*60 + 39*21 + 50*5 = 5139 4. Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
|
v1=9 |
v2=-1 |
v3=-13 |
v4=10 |
v5=21 |
u1=0 |
9[49] |
5 |
7 |
10[29] |
18 |
u2=19 |
36 |
29 |
6[78] |
38 |
40[16] |
u3=-2 |
41 |
20 |
11 |
25 |
19[29] |
u4=29 |
30 |
28[60] |
13 |
39[21] |
50[5] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij Выбираем максимальную оценку свободной клетки (4;1): 30 Для этого в перспективную клетку (4;1) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9[49][-] |
5 |
7 |
10[29][+] |
18 |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[+] |
28[60] |
13 |
39[21][-] |
50[5] |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
Цикл приведен в таблице (4,1; 4,4; 1,4; 1,1; ). Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 4) = 21. Прибавляем 21 к объемам грузов, стоящих в плюсовых клетках и вычитаем 21 из Х ij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9[28] |
5 |
7 |
10[50] |
18 |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[21] |
28[60] |
13 |
39 |
50[5] |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
4. Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
|
v1=9 |
v2=7 |
v3=-5 |
v4=10 |
v5=29 |
u1=0 |
9[28] |
5 |
7 |
10[50] |
18 |
u2=11 |
36 |
29 |
6[78] |
38 |
40[16] |
u3=-10 |
41 |
20 |
11 |
25 |
19[29] |
u4=21 |
30[21] |
28[60] |
13 |
39 |
50[5] |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij Выбираем максимальную оценку свободной клетки (1;5): 18 Для этого в перспективную клетку (1;5) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9[28][-] |
5 |
7 |
10[50] |
18[+] |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[21][+] |
28[60] |
13 |
39 |
50[5][-] |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
Цикл приведен в таблице (1,5; 1,1; 4,1; 4,5; ). Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (4, 5) = 5. Прибавляем 5 к объемам грузов, стоящих в плюсовых клетках и вычитаем 5 из Х ij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9[23] |
5 |
7 |
10[50] |
18[5] |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[26] |
28[60] |
13 |
39 |
50 |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
4. Проверим оптимальность опорного плана. Найдем предварительные потенциалы ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
|
v1=9 |
v2=7 |
v3=-16 |
v4=10 |
v5=18 |
u1=0 |
9[23] |
5 |
7 |
10[50] |
18[5] |
u2=22 |
36 |
29 |
6[78] |
38 |
40[16] |
u3=1 |
41 |
20 |
11 |
25 |
19[29] |
u4=21 |
30[26] |
28[60] |
13 |
39 |
50 |
Опорный план не является оптимальным, так как существуют оценки свободных клеток, для которых ui + vi > cij Выбираем максимальную оценку свободной клетки (1;2): 5 Для этого в перспективную клетку (1;2) поставим знак «+», а в остальных вершинах многоугольника чередующиеся знаки «-», «+», «-».
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9[23][-] |
5[+] |
7 |
10[50] |
18[5] |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[26][+] |
28[60][-] |
13 |
39 |
50 |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
Цикл приведен в таблице (1,2; 1,1; 4,1; 4,2; ). Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 23. Прибавляем 23 к объемам грузов, стоящих в плюсовых клетках и вычитаем 23 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9 |
5[23] |
7 |
10[50] |
18[5] |
78 |
2 |
36 |
29 |
6[78] |
38 |
40[16] |
94 |
3 |
41 |
20 |
11 |
25 |
19[29] |
29 |
4 |
30[49] |
28[37] |
13 |
39 |
50 |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
4. Проверим оптимальность опорного плана. Найдем ui, vi. по занятым клеткам таблицы, в которых ui + vi = cij, полагая, что u1 = 0.
|
v1=7 |
v2=5 |
v3=-16 |
v4=10 |
v5=18 |
u1=0 |
9 |
5[23] |
7 |
10[50] |
18[5] |
u2=22 |
36 |
29 |
6[78] |
38 |
40[16] |
u3=1 |
41 |
20 |
11 |
25 |
19[29] |
u4=23 |
30[49] |
28[37] |
13 |
39 |
50 |
Опорный план является оптимальным, так все оценки свободных клеток удовлетворяют условию ui + vi <= cij.
Минимальные затраты составят: F( x) = 5*23 + 10*50 + 18*5 + 6*78 + 40*16 + 19*29 + 30*49 + 28*37 = 4870