Пример 2. Решение транспортной задачи

Найти оптимальный план перевозок транспортной задачи, имеющей следующую таблицу издержек:

 

Сток Исток Запасы:
     
           
     
           
     
           
Заявки:

 

Решение:

1. Методом «северо-западного» угла найдем опорный план перевозок:

 

Сток Исток Запасы:
     
       
     
         
     
         
Заявки:

 

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

r = n + m – 1 = 3 + 3 – 1 = 5 ¹ 4

План получается вырожденный.

 

Сток Исток Запасы:
      40-e
    e  
     
         
      20+e
        20-e  
Заявки:

 

Чтобы избежать этого, нарушаем баланс запасов и заявок на e в 1 и 3 строках, не нарушая общего баланса. Теперь:

r = 5,

а найденный опорный план можно использовать в дальнейшем для решения задачи.

Стоимость найденного плана перевозок равна:

L = 20×10 + 20×5 + 23×5 + 20×6 = 535.

Попытаемся улучшить найденный опорный план перевозок методом циклических переносов.

2. Вычислим цену цикла для k = 4 свободных клеток.

3. Вычислим максимальное количество груза, которое можно перенести по циклам с отрицательной ценой.

4. Для свободных переменных с отрицательной ценой цикла вычислим характеристику .

(i,j) 2,1 2,2 3,1 3,2
g - 5 - 2 - 5 - 4
g×max x - 100 - 40 - 100 - 80

 

 

5. Перенесем max x21 = 20 единиц груза по циклу свободной переменной х21, уменьшив значение целевой функции на 100 единиц, то есть:

 

Сток Исток Запасы:
      40-e
    e  
     
         
      20+e
        20-e  
Заявки:

 

В результате получим следующий (уже не вырожденный) план перевозок:

 

Сток Исток Запасы:
      40-e
      20+e  
     
       
      20+e
        20-e  
Заявки:

 

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

r = 5

Стоимость найденного плана перевозок равна:

L = 20×5 + 20×4 + 20×6 + 3×5 + 20×6 = 435

Попытаемся еще улучшить найденный опорный план перевозок. Для этого перейдем к пункту 2 алгоритма:

2. Вычислим цену цикла для каждой свободной переменной.

3. Максимальное количество груза, которое можно перенести по циклу свободной переменной х32 = 20.

4. g32×max x32 = - 80.

 

Сток Исток Запасы:
      40-e
      20+e  
     
       
      20+e
        20-e  
Заявки:

 

5. Перенесем 20 единиц груза по циклу переменной x32, , уменьшив значение целевой функции на 80 единиц.

В результате получим следующий план перевозок:

 

Сток Исток Запасы:
      40-e
        40+e  
     
       
      20+e
      e  
Заявки:

 

Полученный на этом этапе новый план перевозок имеет пять базисных клеток в соответствующей ему транспортной таблице (см. таблицу выше).

r = 5

Стоимость найденного плана перевозок равна:

L = 40×4 + 20×6 + 3×5 + 20×3 = 355

Еще раз попытаемся улучшить найденный опорный план перевозок. Для этого перейдем к пункту 2 алгоритма:

2. Вычислим цену цикла для каждой свободной переменной.

3. Максимальное количество груза, которое можно перенести по циклу единственной свободной переменной х22, имеющей отрицательную цену цикла, равно бесконечно малой величине e. Полагая e = 0, получим окончательный оптимальный план перевозок:


4.

 

Сток Исток Запасы:
     
         
     
       
     
         
Заявки:

 

стоимость которого равна:

L = 40×4 + 20×6+ 3×5 +20×3 =355

 

Примененный метод «ликвидации вырождения» путем изменений запасов на бесконечно малую величину e не всегда удобен, так как требует дополнительных действий с бесконечно малыми величинами e. Значительно проще было бы не изменять запасы, а вместо величины e поставить в базисной клетке нуль. Тогда базисная клетка будет тем отличаться от свободной, что в ней нуль поставлен, а в свободной нет.

Дальнейшие манипуляции с транспортной таблицей будут идентичны тем, которые мы осуществляли в ситуациях, когда в базисных клетках стояли только положительные перевозки. Отличие состоит только в том, что когда одна из отрицательных вершин цикла окажется в базисной клетке с нулевой перевозкой, нужно переносить по этому циклу нулевую перевозку. Такой перенос нулевой перевозки получил название фиктивный перенос.

Рассмотрим теперь другой метод решения транспортной задачи – метод потенциалов.