
- •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.2 Построение опорного плана методом Фогеля
Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов.
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9 |
5 |
7 |
10 |
18 |
78 |
2 |
36 |
29 |
6 |
38 |
40 |
94 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
Проверим необходимое и достаточное условие разрешимости задачи. ∑ a = 78 + 94 + 29 + 86 = 287 ∑ b = 49 + 60 + 78 + 50 + 50 = 287 Занесем исходные данные в распределительную таблицу.
|
1 |
2 |
3 |
4 |
5 |
Запасы |
1 |
9 |
5 |
7 |
10 |
18 |
78 |
2 |
36 |
29 |
6 |
38 |
40 |
94 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
Потребности |
49 |
60 |
78 |
50 |
50 |
|
1. Используя метод Фогеля, построим первый опорный план транспортной задачи. Данный метод состоит в следующем: 1. на каждой итерации находят разности между двумя наименьшими тарифами во всех строках и столбцах, записывая их в дополнительные столбец и строку таблицы; 2. находят максимальную разность и заполняют клетку с минимальной стоимостью в строке (столбце), которой соответствует данная разность. 1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=1 равен 5. Второй минимальный элемент строки N=1 равен 7. Разность равна 2. Первый минимальный элемент строки N=2 равен 6. Второй минимальный элемент строки N=2 равен 29. Разность равна 23. Первый минимальный элемент строки N=3 равен 11. Второй минимальный элемент строки N=3 равен 19. Разность равна 8. Первый минимальный элемент строки N=4 равен 13. Второй минимальный элемент строки N=4 равен 28. Разность равна 15. Первый минимальный элемент столбца N=1 равен 9. Второй минимальный элемент столбца N=1 равен 30. Разность равна 21. Первый минимальный элемент столбца N=2 равен 5. Второй минимальный элемент столбца N=2 равен 20. Разность равна 15. Первый минимальный элемент столбца N=3 равен 6. Второй минимальный элемент столбца N=3 равен 7. Разность равна 1. Первый минимальный элемент столбца N=4 равен 10. Второй минимальный элемент столбца N=4 равен 25. Разность равна 15. Первый минимальный элемент столбца N=5 равен 18. Второй минимальный элемент столбца N=5 равен 19. Разность равна 1. Вычислив все эти разности, видим, что наибольшая из них соответствует строке (2). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (2) и столбца (3).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
78 |
2 |
2 |
36 |
29 |
6 |
38 |
40 |
94 |
23 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
8 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
15 |
Потребности |
49 |
60 |
78 |
50 |
50 |
0 |
0 |
Разности по столбцам |
21 |
15 |
1 |
15 |
1 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=1 равен 5. Второй минимальный элемент строки N=1 равен 9. Разность равна 4. Первый минимальный элемент строки N=2 равен 29. Второй минимальный элемент строки N=2 равен 36. Разность равна 7. Первый минимальный элемент строки N=3 равен 19. Второй минимальный элемент строки N=3 равен 20. Разность равна 1. Первый минимальный элемент строки N=4 равен 28. Второй минимальный элемент строки N=4 равен 30. Разность равна 2. Первый минимальный элемент столбца N=1 равен 9. Второй минимальный элемент столбца N=1 равен 30. Разность равна 21. Первый минимальный элемент столбца N=2 равен 5. Второй минимальный элемент столбца N=2 равен 20. Разность равна 15. Первый минимальный элемент столбца N=4 равен 10. Второй минимальный элемент столбца N=4 равен 25. Разность равна 15. Первый минимальный элемент столбца N=5 равен 18. Второй минимальный элемент столбца N=5 равен 19. Разность равна 1. Вычислив все эти разности, видим, что наибольшая из них соответствует столбцу (1). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (1) и столбца (1).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
78 |
4 |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
7 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
1 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
2 |
Потребности |
49 |
60 |
0 |
50 |
50 |
0 |
0 |
Разности по столбцам |
21 |
15 |
- |
15 |
1 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=1 равен 5. Второй минимальный элемент строки N=1 равен 10. Разность равна 5. Первый минимальный элемент строки N=2 равен 29. Второй минимальный элемент строки N=2 равен 38. Разность равна 9. Первый минимальный элемент строки N=3 равен 19. Второй минимальный элемент строки N=3 равен 20. Разность равна 1. Первый минимальный элемент строки N=4 равен 28. Второй минимальный элемент строки N=4 равен 39. Разность равна 11. Первый минимальный элемент столбца N=2 равен 5. Второй минимальный элемент столбца N=2 равен 20. Разность равна 15. Первый минимальный элемент столбца N=4 равен 10. Второй минимальный элемент столбца N=4 равен 25. Разность равна 15. Первый минимальный элемент столбца N=5 равен 18. Второй минимальный элемент столбца N=5 равен 19. Разность равна 1. Вычислив все эти разности, видим, что наибольшая из них соответствует столбцу (4). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (1) и столбца (4).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
29 |
5 |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
9 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
1 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
11 |
Потребности |
0 |
60 |
0 |
50 |
50 |
0 |
0 |
Разности по столбцам |
- |
15 |
- |
15 |
1 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=2 равен 29. Второй минимальный элемент строки N=2 равен 38. Разность равна 9. Первый минимальный элемент строки N=3 равен 19. Второй минимальный элемент строки N=3 равен 20. Разность равна 1. Первый минимальный элемент строки N=4 равен 28. Второй минимальный элемент строки N=4 равен 39. Разность равна 11. Первый минимальный элемент столбца N=2 равен 20. Второй минимальный элемент столбца N=2 равен 28. Разность равна 8. Первый минимальный элемент столбца N=4 равен 25. Второй минимальный элемент столбца N=4 равен 38. Разность равна 13. Первый минимальный элемент столбца N=5 равен 19. Второй минимальный элемент столбца N=5 равен 40. Разность равна 21. Вычислив все эти разности, видим, что наибольшая из них соответствует столбцу (5). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (3) и столбца (5).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
0 |
- |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
9 |
3 |
41 |
20 |
11 |
25 |
19 |
29 |
1 |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
11 |
Потребности |
0 |
60 |
0 |
21 |
50 |
0 |
0 |
Разности по столбцам |
- |
8 |
- |
13 |
21 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=2 равен 29. Второй минимальный элемент строки N=2 равен 38. Разность равна 9. Первый минимальный элемент строки N=4 равен 28. Второй минимальный элемент строки N=4 равен 39. Разность равна 11. Первый минимальный элемент столбца N=2 равен 28. Второй минимальный элемент столбца N=2 равен 29. Разность равна 1. Первый минимальный элемент столбца N=4 равен 38. Второй минимальный элемент столбца N=4 равен 39. Разность равна 1. Первый минимальный элемент столбца N=5 равен 40. Второй минимальный элемент столбца N=5 равен 50. Разность равна 10. Вычислив все эти разности, видим, что наибольшая из них соответствует строке (4). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (4) и столбца (2).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
0 |
- |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
9 |
3 |
41 |
20 |
11 |
25 |
19 |
0 |
- |
4 |
30 |
28 |
13 |
39 |
50 |
86 |
11 |
Потребности |
0 |
60 |
0 |
21 |
21 |
0 |
0 |
Разности по столбцам |
- |
1 |
- |
1 |
10 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=2 равен 38. Второй минимальный элемент строки N=2 равен 40. Разность равна 2. Первый минимальный элемент строки N=4 равен 39. Второй минимальный элемент строки N=4 равен 50. Разность равна 11. Первый минимальный элемент столбца N=4 равен 38. Второй минимальный элемент столбца N=4 равен 39. Разность равна 1. Первый минимальный элемент столбца N=5 равен 40. Второй минимальный элемент столбца N=5 равен 50. Разность равна 10. Вычислив все эти разности, видим, что наибольшая из них соответствует строке (4). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (4) и столбца (4).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
0 |
- |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
2 |
3 |
41 |
20 |
11 |
25 |
19 |
0 |
- |
4 |
30 |
28 |
13 |
39 |
50 |
26 |
11 |
Потребности |
0 |
0 |
0 |
21 |
21 |
0 |
0 |
Разности по столбцам |
- |
- |
- |
1 |
10 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=2 равен 40. Второй минимальный элемент строки N=2 равен 40. Разность равна 0. Первый минимальный элемент строки N=4 равен 50. Второй минимальный элемент строки N=4 равен 50. Разность равна 0. Первый минимальный элемент столбца N=5 равен 40. Второй минимальный элемент столбца N=5 равен 50. Разность равна 10. Вычислив все эти разности, видим, что наибольшая из них соответствует столбцу (5). В этом столбце минимальный тариф записан в клетке, находящейся на пересечении строки (2) и столбца (5).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
0 |
- |
2 |
36 |
29 |
6 |
38 |
40 |
16 |
0 |
3 |
41 |
20 |
11 |
25 |
19 |
0 |
- |
4 |
30 |
28 |
13 |
39 |
50 |
5 |
0 |
Потребности |
0 |
0 |
0 |
0 |
21 |
0 |
0 |
Разности по столбцам |
- |
- |
- |
- |
10 |
0 |
|
1. Для каждой строки и столбца таблицы условий найдем разности между двумя минимальными тарифами, записанными в данной строе или столбце, и поместим их в соответствующем дополнительном столбце или строке. Первый минимальный элемент строки N=4 равен 50. Второй минимальный элемент строки N=4 равен 50. Разность равна 0. Первый минимальный элемент столбца N=5 равен 50. Второй минимальный элемент столбца N=5 равен 50. Разность равна 0. Вычислив все эти разности, видим, что наибольшая из них соответствует строке (4). В этой строке минимальный тариф записан в клетке, находящейся на пересечении строки (4) и столбца (5).
|
1 |
2 |
3 |
4 |
5 |
Запасы |
Разности по строкам |
1 |
9 |
5 |
7 |
10 |
18 |
0 |
- |
2 |
36 |
29 |
6 |
38 |
40 |
0 |
- |
3 |
41 |
20 |
11 |
25 |
19 |
0 |
- |
4 |
30 |
28 |
13 |
39 |
50 |
5 |
0 |
Потребности |
0 |
0 |
0 |
0 |
5 |
0 |
0 |
Разности по столбцам |
- |
- |
- |
- |
0 |
0 |
|
|
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 |
|
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.