Пример решений транспортной задачи методом наименьших тарифов (методом наименьшей стоимости)
Используя метод минимального тарифа, представить первоначальный план для решения транспортной задачи. Проверить на оптимальность, используя метод потенциалов. Стоимость доставки единицы груза из каждого пункта отправления в соответствующие пункты назначения задана матрицей тарифов
Проверим необходимое и достаточное условие разрешимости задачи.
∑a=6+8+10=26 ∑b=4+6+8+8=24 Как видно, суммарная потребность груза в пунктах назначения меньше запасов груза на базах. Следовательно, модель исходной транспортной задачи является открытой. Чтобы получить закрытую модель, введем дополнительную (фиктивную) потребность, равным 2 (26-24). Тарифы перевозки единицы груза из базы во все магазины полагаем равны нулю.
Занесем исходные данные в распределительную таблицу.
1
2
3
4
Запасы
1
1
2
4
3
6
2
4
3
8
5
8
3
2
7
6
3
10
4
0
0
0
0
2
Потребности
4
6
8
8
1. Используя метод наименьшей стоимости, построим первый опорный план транспортной задачи. Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую, и в клетку, которая ей соответствует, помещают меньшее из чисел ai, или bj. Затем, из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя. Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены.
Поскольку нули в последней строке получены в результате приведения к закрытой задаче, то их рассматриваем в последнюю очередь (почему это так, см. ниже). Искомый элемент равен c11=1. Для этого элемента запасы равны 6, потребности 4. Поскольку минимальным является 4, то вычитаем его. x11 = min(6,4) = 4.
1
2
4
3
6 - 4 = 2
x
3
8
5
8
x
7
6
3
10
x
0
0
0
2
4 - 4 = 0
6
8
8
Искомый элемент равен c12=2. Для этого элемента запасы равны 2, потребности 6. Поскольку минимальным является 2, то вычитаем его. x12 = min(2,6) = 2.
1
2
x
x
2 - 2 = 0
x
3
8
5
8
x
7
6
3
10
x
0
0
0
2
0
6 - 2 = 4
8
8
Искомый элемент равен c22=3. Для этого элемента запасы равны 8, потребности 4. Поскольку минимальным является 4, то вычитаем его. x22 = min(8,4) = 4.
1
2
x
x
0
x
3
8
5
8 - 4 = 4
x
x
6
3
10
x
x
0
0
2
0
4 - 4 = 0
8
8
Искомый элемент равен c34=3. Для этого элемента запасы равны 10, потребности 8. Поскольку минимальным является 8, то вычитаем его. x34 = min(10,8) = 8.
1
2
x
x
0
x
3
8
x
4
x
x
6
3
10 - 8 = 2
x
x
0
x
2
0
0
8
8 - 8 = 0
Искомый элемент равен c33=6. Для этого элемента запасы равны 2, потребности 8. Поскольку минимальным является 2, то вычитаем его. x33 = min(2,8) = 2.
1
2
x
x
0
x
3
8
x
4
x
x
6
3
2 - 2 = 0
x
x
0
x
2
0
0
8 - 2 = 6
0
Искомый элемент равен c23=8. Для этого элемента запасы равны 4, потребности 6. Поскольку минимальным является 4, то вычитаем его. x23 = min(4,6) = 4.
1
2
x
x
0
x
3
8
x
4 - 4 = 0
x
x
6
3
0
x
x
0
x
2
0
0
6 - 4 = 2
0
Искомый элемент равен c43=0. Для этого элемента запасы равны 2, потребности 2. Поскольку минимальным является 2, то вычитаем его. x43 = min(2,2) = 2.
1
2
x
x
0
x
3
8
x
0
x
x
6
3
0
x
x
0
x
2 - 2 = 0
0
0
2 - 2 = 0
0
В результате получен первый опорный план, который является допустимым, так как все грузы из баз вывезены, потребность магазинов удовлетворена, а план соответствует системе ограничений транспортной задачи.
1
2
3
4
Запасы
1
1[4]
2[2]
4
3
6
2
4
3[4]
8[4]
5
8
3
2
7
6[2]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
2. Подсчитаем число занятых клеток таблицы, их 7, а должно быть m + n - 1 = 7. Следовательно, опорный план является невырожденным. Значение целевой функции для этого опорного плана равно: F(x) = 1*4 + 2*2 + 3*4 + 8*4 + 6*2 + 3*8 + 0*2 = 88
Если бы при поиске минимального элемента рассматривать сразу нули в последней строке, то получили бы следующий опорный план.
1
2
3
4
Запасы
1
1[2]
2[4]
4
3
6
2
4
3[2]
8[6]
5
8
3
2
7
6[2]
3[8]
10
4
0[2 ]
0
0
0
2
Потребности
4
6
8
8
Значение целевой функции для этого опорного плана равно: F(x) = 1*2 + 2*4 + 3*2 + 8*6 + 6*2 + 3*8 + 0*2 = 100, т.е. намного больше (100>88), чем при правильной процедуре отбора минимальных элементов. Это примечание здесь приведено, поскольку многие преподаватели ошибочно полагают, что нули, полученные при приведении к закрытой задаче необходимо сразу включать в поиск. 4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1=1
u2=2
u3=7
u4=4
v1=0
1[4]
2[2]
4
3
v2=1
4
3[4]
8[4]
5
v3=-1
2
7
6[2]
3[8]
v4=-7
0
0
0[2]
0
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij (1;3): 0 + 7 > 4 (1;4): 0 + 4 > 3 Выбираем максимальную оценку свободной клетки (1;3): 4 Для этого в перспективную клетку (1;3) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
1
2
3
4
Запасы
1
1[4]
2[2][-]
4[+]
3
6
2
4
3[4][+]
8[4][-]
5
8
3
2
7
6[2]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 2) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1
2
3
4
Запасы
1
1[4]
2
4[2]
3
6
2
4
3[6]
8[2]
5
8
3
2
7
6[2]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1=1
u2=-1
u3=4
u4=1
v1=0
1[4]
2
4[2]
3
v2=4
4
3[6]
8[2]
5
v3=2
2
7
6[2]
3[8]
v4=-4
0
0
0[2]
0
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij (2;1): 4 + 1 > 4 (3;1): 2 + 1 > 2 Выбираем максимальную оценку свободной клетки (2;1): 4 Для этого в перспективную клетку (2;1) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
1
2
3
4
Запасы
1
1[4][-]
2
4[2][+]
3
6
2
4[+]
3[6]
8[2][-]
5
8
3
2
7
6[2]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (2, 3) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1
2
3
4
Запасы
1
1[2]
2
4[4]
3
6
2
4[2]
3[6]
8
5
8
3
2
7
6[2]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
u1=1
u2=0
u3=4
u4=1
v1=0
1[2]
2
4[4]
3
v2=3
4[2]
3[6]
8
5
v3=2
2
7
6[2]
3[8]
v4=-4
0
0
0[2]
0
Опорный план не является оптимальным, так как существуют оценки свободных клеток для которых ui + vj > cij (3;1): 2 + 1 > 2 Выбираем максимальную оценку свободной клетки (3;1): 2 Для этого в перспективную клетку (3;1) поставим знак "+", а в остальных вершинах многоугольника чередующиеся знаки "-", "+", "-". Цикл приведен в таблице.
1
2
3
4
Запасы
1
1[2][-]
2
4[4][+]
3
6
2
4[2]
3[6]
8
5
8
3
2[+]
7
6[2][-]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
Из грузов хij стоящих в минусовых клетках, выбираем наименьшее, т.е. у = min (1, 1) = 2. Прибавляем 2 к объемам грузов, стоящих в плюсовых клетках и вычитаем 2 из Хij, стоящих в минусовых клетках. В результате получим новый опорный план.
1
2
3
4
Запасы
1
1
2
4[6]
3
6
2
4[2]
3[6]
8
5
8
3
2[2]
7
6[0]
3[8]
10
4
0
0
0[2]
0
2
Потребности
4
6
8
8
4. Проверим оптимальность опорного плана. Найдем потенциалы ui, vj. по занятым клеткам таблицы, в которых ui + vj = cij, полагая, что u1 = 0.
Задать свои вопросы или оставить замечания можно внизу страницы в разделе Disqus. Можно также оставить заявку на помощь в решении своих задач у наших проверенных партнеров (здесь или здесь).
Поиск
Задать свои вопросы или оставить замечания можно внизу страницы в разделе Disqus. Можно также оставить заявку на помощь в решении своих задач у наших проверенных партнеров (здесь или здесь).