Файл: Решение Суммарные запасы а і 180 200 150 530 ед, суммарные потребности b j.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 11

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Вариант № 2.

Тема 3.

Транспортная задача

Решение:

Суммарные запасы Σ аі = 180 + 200 + 150 = 530 ед,
суммарные потребности Σ bj= 130 + 160 + 190 = 480 ед.

Σ аі ≠ Σbj, запасы не равны потребностям, т.е. это открытая модель транспортной задачи.
Вводим балансовый пункт потребления (фиктивного потребителя) В4,ф с потребностями b4 = 530 – 480 = 50 ед.

Составим математическую модель задачи.

Пусть хіj – количество единиц, которое планируется перевезти из пункта Аі в пункт Вj (это план перевозок). Тогда общая стоимость всех перевозок будет :

Z = Σ Σ Cij хij, её необходимо минимизировать.

Количество единиц не может быть отрицательной, поэтому хіj ≥ 0.

Из условия задачи следует, что должны выполняться такие условия :

Σ хіj = аі , і =1,2,3 , т.е. весь товар из пунктов Аі необходимо вивезти.

Кроме того потребности Вj должны быть полностью удовлетворены, т.е.

Σ хіj = bj , j = 1,2,3,4.

Таким образом, математическая модель задачи имеет вид :


Z = Σ Σ Cij хіj → min

Σ хіj = аі , і=1,2,3

Σ хіj = bj , j = 1,2,3,4.

хіj ≥ 0



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

Составим транспортную таблицу, в углы клеток запишем заданные тарифы Сіj ,а в середины клеток будемо последовательно заносить значения хіj по схеме :

Из всей таблицы стоимостей выбираем клетку АіВj с наименьшей стоимостью Сіj , т.е. ищем min Сіj , и заносимо в неё число хіj = min { аі , bj }.

Потом вычёркиваем и больше не рассматриваем строку, что соответствует поставщику, запасы которого полностью исчерпаны, или столбец, что соответствует потребителю, потребности которого полностью удовлетворены и снова ищем min С
іj, и так заполняем всю таблицу, пока все запасы не будут исчерпаны, а все потревности – удовлетворены. Если клеток с одинаковым значением min Сіj несколько, то берём любую из них. Фиктивные клетки, т.е. клетки столбца В4,ф заполняем в последнюю очередь.

 

В1

 

В2

 

В3

 

В4,ф




Запасы




 

 

 

 

 

 

 







аі




А1




2

____

9

___

7




0







 

130
















50




а1 = 180

а1 ’= 50

А2

___

4




5




1

____

0







 







10




190










а2 = 200

а2 ’= 10

А3

___

6




3

___

2

____

0







 







150
















а3 = 150



Потребн.































bj

b1 = 130

b2 = 160

b3 = 190

b4 = 50
















b2 = 10





















1) min Сіj =C23=1 ; х23 =min { а2 , b3 } = min { 200, 190 } = 190 ;

Столбец В3 вычёркиваем, а2 ’= 200 – 190 = 10 ед.

2) min Сіj = С11 =2 ; х11 = min { а1 , b1 } = min { 180, 130 } = 130 ;
Столбец В1 вычёркиваем, а1 ’ =180 – 130 = 50 ед.
3) min Сіj = С32 =3 ; х32 = min { а3 , b2 } = min { 150, 160 } = 150 ;
Строку А3 вычёркиваем, b2 ’= 160 – 150 = 10 ед.

4) min Сіj =C22 =5 ; х22 =min { а2 , b2 } = min { 10, 10 } = 10 ;

Столбец В2 и строку А2 вычёркиваем

5) осталась одна клетка А1В4 ; х14 = min { а1’, b4 } = min { 50, 50 } = 50.
В итоге таблица заполнена полностью. Получилось 5 занятых и 7 свободных клеток. Начальный опорный план имеет вид:
х11 = 130; х14 = 50; х22 = 10; х23 = 190; х32 = 150; остальные хіj = 0
При этом стоимость перевозок:

Z = 130 ∙ 2 + 10 ∙ 5 + 190 ∙ 1 + 150 ∙ 3 + 50 · 0 = 950.


Метод потенциалов.
Сначала проверяем этот план на оптимальность. Для этого вычисляем потенциалы uiиvj исходя из условия : ui+vj = Сіj для всех занятых клеток, причём u1= 0. Опорный план должен быть невырожденный, т.е. число занятых клеток должно быть равно m + n – 1 = 3 + 4 – 1 = 6 , а в таблице только 5 занятых клеток, поэтому в одну клетку, например А2В1 , заносим нулевую перевозку

х21 = 0 и считаем эту клетку занятой.

Получаем систему из 6 уравнений, из которой находим потенциалы uiиvj :




Клетка А1В1u1 + v1 = 4 u1 = 0

Клетка А1В4u1 + v4 = 8 u2 = 2

Клетка А2В1u1 + v5 = 0 u3 = 0

Клетка А2В2u2 + v2 = 1 => v1 = 2

Клетка А2В3u2 + v5 = 0 v2 = 3
Клетка А3В2u3 + v3 = 2 v3 = -1
v4 = 0
Перепишем транспортную таблицу, добавив к ней строку и столбец для записи

потенциалов, и проверим выполнение условия оптимальности : ui+vj ≤ Сіj для
всех свободных ( не занятых ) клеток.


 

  vj

 uі

В1

 

В2

 

В3

 

В4

 

 

 

v1 = 2

 

v2 = 3

 

v3 = -1

 

v4 = 0

 

аі

А1

u1 = 0

+

2




9




7



0

 

 

 

130
















50




180

А2

u2 = 2



4




5




1




0

 

 

 

0




10




190




+




200

А3

u3 = 0




6




3




2




0

 

 

 







150
















150

bj

 

130

 

160

 

190

 

50

 

 530



?

Для свободных клеток : ui+vj ≤ Сіj
Клетка А1В2u1 + v2 = 0 + 3 = 3 < 9

Клетка А1В3u1 + v3 = 0 + (-1) = -1 < 7

Клетка А2В4u2 + v4 = 2 + 0 = 2 > 0

Клетка А3В1u3 + v1 = 0 + 2 = 2 < 6

Клетка А3В3u3 + v3 = 0 + (-1) = -1 < 2

Клетка А3В4u3 + v4 = 0 + 0 = 0 = 0
Видим, что условие оптимальности нарушено в клетке А2В4 , т.е. начальный опорний план не является оптимальным, т.е. его можно улучшить, т.е. построить новый опорный план, стоимость которого будет меньше. Для этого нужно перераспределить груз по клеткам таблицы. Строим цикл, т.е. замкнутую прямоугольную ломаную линию, одна вершина которого находится в клетке, в которой нарушено условие оптимальности , т.е. в клетке А2В4 , а остальные вершины – в занятых клетках. Вершины цикла по очереди отмечаем знаками “+” и “–“ , начиная с клетки А2В4 , затем среди клеток с “–“ выбираем наименьшее значение хіj :
θ0 = min { хіj } = min { 50, 0 } = 0 - в клетке А2В1

Далее, двигаясь по вершинам цикла, добавляем это значение θ0 к значениям хіj в клетках с “+” и отнимаем от значений хіj в клетках с “–” . Но, так как θ0 = 0, то значения перевозок не меняются, просто нулевая перевозка переносится из клетки А2В1 в клетку А2В4.
Новую таблицу снова проверяем на оптимальность , т.е. вычисляем (непосредственно в таблице) новые значения потенциалов и проверяем выполнение условия оптимальности.


 

  vj

 uі

В1

 

В2

 

В3

 

В4

 

 

 

v1 = 2

 

v2 = 5

 

v3 = 1

 

v4 = 0

 

аі

А1

u1 = 0




2




9




7




0

 

 

 

130
















50




180

А2

u2 = 0




4




5




1




0

 

 

 







10




190




0




200

А3

u3 = -2




6




3




2




0

 

 

 







150
















150

bj

 

130

 

160

 

190

 

50

 

 530



?

Для свободных клеток : ui+vj ≤ Сіj
Клетка А1В2u1 + v2 = 0 + 5 = 5 < 9

Клетка А1В3u1 + v3 = 0 + 1 = 1 < 7

Клетка А2В1u2 + v1 = 0 + 2 = 2 < 4

Клетка А3В1u3 + v1 = -2 + 2 = 0 < 6

Клетка А3В3u3 + v3 = -2 + 1 = -1 < 2

Клетка А3В4u3 + v4 = -2 + 0 = -2 < 0
Условие оптимальности виполнено для всех свободных клеток, значит этот план является оптимальним, т.е. его стоимость минимальна :
х11 = 130; х14 = 50; х22 = 10; х23 = 190; х32 = 150; остальные хіj = 0


Z min = 950
Оптимальний план перевозок:
Из пункта А1 → в пункт В1 - 130 ед.

Из пункта А1 → в пункт В4,ф - 50 ед. (останутся невывезенными)

Из пункта А2 → в пункт В2 - 10 ед.

Из пункта А2 → в пункт В3 - 190 ед.

Из пункта А3 → в пункт В2 - 150 ед.