Решение транспортной задачи

Цель: Составить план перевозок горючего, минимизирующий общую сумму транспортных расходов.

Задача: В пунктах А и В находятся соответственно 150 и 90 т горючего. Пунктам 1, 2, 3 требуются соответственно 60, 70, 110 т горючего. Стоимость перевозки 1 т горючего из пункта А в пункты 1, 2, 3 равна 60, 10, 40 тыс. руб. за 1 т соответственно, а их пункта В в пункты 1, 2, 3 – 120, 20, 80 тыс. руб. за 1 т соответственно. Составить план перевозок горючего, минимизирующий общую сумму транспортных расходов.

Транспортная задача закрытого типа, так как запасы поставщиков и суммарный спрос потребителей одинаковы.

Экономико-математическая модель задачи:

Пусть – Xij- объем перевозки от i- го поставщика j-ому потребителю.

 

Потребители Вj В1 В2 В3 Запасы пост.
Поставщики Ai
А1   X11   X12   X13  
     
А2   X21   X22   X23  
     
Спрос потр.

 

 

Запасы на базах и спрос потребителей накладывают ограничения на переменную Xij.

Х11 + Х12 + Х13 = 150

Х21 + Х22 + Х23 = 90

(1) Х11 + Х21 = 60

Х12 + Х22 = 70

Х13 + Х23 = 110

 

Составим целевую функцию:

(2) Z = 60X11 + 10X12 + 40X13 + 120 X21 + 20X22 + 80X23 → min

 

Таким образом, на множестве неотрицательных решений, системы ограничений (1) найдем такое решение

Х11 Х12 Х13

Х = Х21 Х22 Х23 ,

 

при котором целевая функция (2) принимает наименьшее значение.

Занесем данные в транспортную таблицу:

 

Ui Потребители Вj В1 В2 В3 Запасы пост.
Поставщики Ai
U1= А1              
     
U2= А2              
     
  Спрос потр.
  Vj V1= V2= V3=  

 

Найдем первый опорный план поставок. Для этого воспользуемся методом наименьших затрат. Найдем в таблице клетку с наименьшим тарифом. Это клетка (1, 2). ЕЕ тариф С12 = 10. Дадим в эту клетку максимально возможную поставку. Х12 = min (150, 70) = 70. Клетку (2, 1) вычеркиваем (в эту клетку поставок давать не будем), т.к. потребность второго пункта полностью удовлетворена. Находим следующую клетку с наименьшим тарифом. Это клетка (1, 3), ее тариф С13 = 40. Дадим в эту клетку максимально возможную поставку. Х13 = min (150 – 70, 110) = 80. Клетку (1, 1) вычеркиваем (в эту клетку поставок давать не будем), т.к. запас первого поставщика (пункт А) полностью использован. Находим следующую клетку с наименьшим тарифом. Это клетка (2, 3), ее тариф С23 = 80. Дадим в эту клетку максимально возможную поставку. Х23 = min (110 – 80, 90) = 30. И в последнюю свободную клетку (2, 1) даем поставку 60.

Проверяем баланс по строкам и столбцам (соответствующие суммы).

Т.О. получен первый опорный план поставок. Полученный план невырожденный, т.к. число занятых клеток равно рангу системы. Ранг системы вычисляется по формуле: r = m + n – 1, где m – число поставщиков, n – число потребителей.

r = 2 + 3 – 1 =4, число занятых клеток р = 4.

Х1 = 0 70 80

60 0 30

 

 

Z1 = 70*10 + 80*40 + 60*120 + 30*80 = 13500 руб.

 

Проверим, будет ли полученный план оптимальным. Для этого воспользуемся методом потенциалов. Обозначим потенциалы поставщиков Ui , а потенциалы потребителей Vj . Для нахождения этих потенциалов составим систему уравнений по формуле Ui + Vj = Сi j , где Сi j – тариф занятой клетки.

 
 


U1 + V2 = 10 Эта система имеет бесконечное множество решений.

U1 + V3 = 40 Найдем одно их них. Положим U1 = 0. Тогда V2 = 10,

U2 + V1 = 120 V3 = 40, U2 = 40, V1 = 80.

U2 + V3 = 80

 

Ui Потребители Вj В1 В2 В3 Запасы пост.
Поставщики Ai
U1=0 А1   —      
     
U2=40 А2     —    
     
  Спрос потр.
  Vj V1=80 V2=10 V3=40  

 

Далее, оценим свободные клетки по формуле: Di j = Сi j – (Ui + Vj), где Сi j – тариф свободной клетки.

D11 = 60 – (0 + 80) = - 20 ≤ 0, D22 = 20 – (40 + 10) = - 30 ≤ 0

Среди оценок свободных клеток есть отрицательные. Это значит, что полученный план не является оптимальным. Поэтому надо перераспределить поставки в одну из этих свободных клеток (с отрицательной оценкой). Перераспределим поставки в клетку (1, 1) (отрицательная оценка по модулю меньше). Для этого введем несколько определений.

Циклом называется последовательность клеток, в которой две и только две клетки находятся в одной строке или в одном столбце, причем последняя клетка цикла находится в той же строке или столбце, что и первая клетка.

Циклом пересчета называется такой цикл в таблице с базисным распределением поставок, при котором одна из его вершин лежит в свободной клетке, остальные – в заполненных.

Цикл пересчета называется означенным, если в его вершинах расставлены знаки «+» и «−», так, что в свободной клетке стоит знак «+», а соседние вершины имеют противоположные знаки «−».

НАПРИМЕР

70 + 120 ‒
— + * 20 ‒
60 ‒ 50 +

 

— * 120
60

 

Построим для клетки (1, 1) означенный цикл пересчета:

+ −

* 80

Величина пересчета λ = min (60, 80) = 60.

− 60 30 +

Эту величину добавляют в клетки положительного полуцикла и вычитают в клетках отрицательного полуцикла. После пересчета по циклу строим новую транспортную таблицу, при этом значения потенциалов берем новые.

Ui   В1 В2 В3 Запасы пост.
U1= А1        
     
U2= А2   —   —    
     
  Спрос потр.
  Vj V1= V2= V3=  

Полученный план невырожденный, т.к. число занятых клеток равно рангу системы.

Х1 = 60 70 20

0 0 90

 

 

Z1 = 60*60 + 70*10 + 20*40 + 90*80 = 12300 руб.

 

Проверим, будет ли полученный план оптимальным. Для этого воспользуемся методом потенциалов.

Для нахождения новых потенциалов составим систему уравнений по формуле Ui + Vj = Сi j , где Сi j – тариф занятой клетки.

U1 + V1 = 60 Эта система имеет бесконечное множество решений.

U1 + V2 = 10 Найдем одно их них. Положим U1 = 0. Тогда V1 = 60,

U1 + V3 = 40 V2 = 10, V3 = 40, U2 = 40,.

U2 + V3 = 80

Ui   В1 В2 В3 Запасы пост.
U1=0 А1        
     
U2=40 А2   —   —    
     
  Спрос потр.
  Vj V1=60 V2=10 V3=40  

 

Далее, оценим свободные клетки по формуле: Di j = Сi j – (Ui + Vj), где Сi j – тариф свободной клетки.

D21 = 120 – (40 + 60) = 20 ≥ 0, D22 = 20 – (40 + 10) = - 30 ≤ 0

Среди оценок свободных клеток есть отрицательная. Это значит, что полученный план не является оптимальным. Поэтому надо перераспределить поставки в одну из этих свободных клеток (с отрицательной оценкой). Перераспределим поставки в клетку (2, 2) (отрицательная оценка).

Построим для клетки (2, 2) означенный цикл пересчета:

− +

70 20

Величина пересчета λ = min (70, 90) = 70.

+ * 90 −

Эту величину добавляют в клетки положительного полуцикла и вычитаются в клетках отрицательного цикла. После пересчета по циклу строим новую транспортную таблицу, при этом значения потенциалов берем новые.

Ui   В1 В2 В3 Запасы пост.
U1=0 А1     —    
     
U2=40 А2   —      
     
  Спрос потр.
  Vj V1=60 V2= - 20 V3=40  

 

Полученный план невырожденный, т.к. число занятых клеток равно рангу системы.

Х1 = 60 0 90

0 70 20

 

 

Z1 = 60*60 + 90*40 + 70*20 + 20*80 = 10200 руб.

 

Проверим, будет ли полученный план оптимальным. Для этого воспользуемся методом потенциалов.

Для нахождения новых потенциалов составим систему уравнений по формуле Ui + Vj = Сi j , где Сi j – тариф занятой клетки.

U1 + V1 = 60 Эта система имеет бесконечное множество решений.

U1 + V3 = 40 Найдем одно их них. Положим U1 = 0. Тогда V1 = 60,

U2 + V2 = 20 V2 = - 20, V3 = 40, U2 = 40,.

U2 + V3 = 80

Далее, оценим свободные клетки по формуле: Di j = Сi j – (Ui + Vj), где Сi j – тариф свободной клетки.

D21 = 120 – (40 + 60) = 20 ≥ 0, D12 = 10 – (0 + (- 20)) = 30 ≥ 0.

Среди оценок свободных клеток нет отрицательных. Все оценки положительны. Это значит, что полученный план оптимален.

Хопт = 60 0 90

0 70 20

 

 

Zопт = 60*60 + 90*40 + 70*20 + 20*80 = 10200 руб.

Экономический анализ. Общая сумма транспортных расходов будет минимальной и составит 10200 руб., если перевозку горючего запланировать следующим образом: из пункта А доставить в пункт 1- 60 тонн горючего, в пункт 3 – 90 тонн; из пункта В отправить в пункт 2- 70 тонн, в 3 пункт – 20 тонн горючего. При этом запасы в пунктах А и В полностью реализованы и потребности пунктов 1, 2 и 3 будут удовлетворены.