
Решение транспортной задачи на графах.ppt
- Количество слайдов: 26
Решение транспортной задачи на графах
Транспортная задача § Одна из задач линейного программирования. § Она возникает при планировании наиболее рациональных перевозок груза.
§ Имеется три пункта производства А 1, А 2, А 3 и пять пунктов потребления В 1, В 2, В 3, В 4, В 5. § Запасы пунктов производств и потребность пунктов потребления указаны. b 1=210 а 1=300 b 2=150 а 2=250 b 3=120 а 3=200 b 4=135 b 5=135 § Производство будем интерпретировать как отрицательную потребность.
§ Требуется перевести товар с минимальной стоимостью, учитывая стоимость перевозки одной единицы товара по указанной дороге. пункты поставки пункты потребления В 1 В 2 В 3 В 4 В 5 А 1 4 8 13 2 7 А 2 9 4 11 9 17 А 3 3 16 10 1 4
Обозначения § Имеется m пунктов производства некоторого одного продукта, задан ai – объем производства в i-м пункте производства. § Есть n пунктов потребления этого продукта, задан bj – объем потребления в j-м пункте потребления.
§ Перевозку из i-го пункта производства к j-му пункту потребления обозначим дугой ij. § Xij – количество перевозимых товаров из i в j. § Cij – стоимость перевозки единицы продукции по дуге ij.
210 4 8 13 2 7 -300 150 9 4 11 9 17 -250 120 3 16 10 1 4 -200 135
Общий план метода потенциалов
§ 1) Определить начальный базисный план (дерево). § Дерево – это граф без циклов, число дуг которого на единицу меньше числа вершин или связный граф без циклов.
210 4 4 8 13 13 2 7 7 -300 210 150 9 4 4 11 11 9 17 -250 100 120 3 16 1 10 4 1 4 -200 135 20 70 65 135 § Считаем стоимость перевозки S 0=210*4+150*4+20*13+100*11+135*1+65*4 =840+260+490+600+1100+135+260=3685
§ 2) Вычисляем потенциал вершин, полагая, что один потенциал равен нулю, и двигаемся по дугам дерева, используя формулы: vк=vн+c vн=vк-c
210 0 3 4 150 6 4 13 7 2 210 4 11 1 4 -300 20 -250 100 120 13 -200 135 4 135 7 70 65
§ 4) Выбираем дугу, которая не принадлежит плану (дереву) и не удовлетворяет условию дополняющей нежесткости (УДН). vк-vн c
210 0 2 3 4 8 13 2 7 9 4 11 9 17 3 16 10 1 4 -300 210 4 150 6 20 -250 -200 120 13 135 4 135 7 70 65
§ Вводим ее в базисный план с перевозкой Q. 210 0 2 3 4 8 13 2 7 9 4 11 9 17 3 16 10 1 4 -300 150 + 150 6 20 _ 100 120 13 135 -250 -200 4 135 7 _ + 70 65 Q=min{135; 70}=70
§ 4) Пересчитываем стоимость S 1= S 0+Q(стоимость перевозок по дугам цикла с учетом ориентации) S 1=3685+70(2 -1+4 -7)=3685+70(-2)=3545
§ 5) Выводим дугу, на которой выявился минимум из плана, вместо нее вводим Q. 210 0 2 3 4 8 13 2 7 9 4 11 9 17 3 16 10 1 4 + -250 -200 _ _ 4 150 -300 210 150 6 20 100 70 135 65 + 120 13 135 4 135 7 70 135 65 § Пересчитываем количество перевозки по дугам цикла с учетом ориентации.
§ Пересчитываем стоимость перевозки § S 1=210*4+20*13+70*2+150*4+100*11+ 65*1+135*4=840+260+140+600+1100+65 +540=3545
§ 6) Получаем новый план-дерево. 210 4 4 8 13 13 2 2 7 9 4 4 11 9 11 17 3 1 16 10 4 1 4 -300 210 150 20 -250 100 70 -200 120 65 135 135
§ Повторяем 2 -6 до тех пор, пока все дуги, входящие в дерево, не будут удовлетворять УДН. 210 4 150 6 4 0 13 2 -300 20 2 4 11 -250 100 70 1 1 4 -200 120 13 65 135 135 5 2
210 0 4 8 13 2 7 2 9 4 11 9 17 1 3 16 10 1 4 -300 210 4 150 6 120 13 65 135 2 135 5 20 -250 100 70 -200
210 2 9 4 11 9 17 1 3 16 10 1 4 -300 4 150 6 120 13 65 135 2 135 0 4 8 13 2 7 210 135 5 20 -250 100 70 -200 Q=min{20; 65}=20 S 1=3545+20(10 -13 -2 -1)=3545 -40=3505
210 4 8 13 2 7 9 4 11 9 17 3 16 10 1 4 -300 -250 210 150 20 100 20 90 120 45 135 -200 135 § S 1=210*4+150*4+100*11+20*10+90*2+ +45*1+135*4=3505
210 0 4 8 13 2 7 -2 9 4 11 9 17 1 3 16 10 1 4 -300 210 4 150 2 120 9 45 135 2 135 5 100 -250 20 90 -200
Оптимальная стоимость перевозок 3505
Спасибо за внимание