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

реклама
Вариант № 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 по схеме :
1
Из всей таблицы стоимостей выбираем клетку АіВj с наименьшей стоимостью
Сіj , т.е. ищем min Сіj , и заносимо в неё число хіj = min { аі , bj }.
Потом вычёркиваем и больше не рассматриваем строку, что соответствует
поставщику, запасы которого полностью исчерпаны, или столбец, что
соответствует потребителю, потребности которого полностью удовлетворены и
снова ищем min Сіj, и так заполняем всю таблицу, пока все запасы не будут
исчерпаны, а все потревности – удовлетворены. Если клеток с одинаковым
значением min Сіj несколько, то берём любую из них. Фиктивные клетки, т.е.
клетки столбца В4,ф заполняем в последнюю очередь.
В1
А1
В2
2
130
___
А2
____
4
В3
9
5
10
А3
___
___
6
3
В4,ф
190
___
0
7
1
2
50
____
____
b1 = 130
b2 = 160
b2 = 10
а1 = 180
а1 ’= 50
а2 = 200
а2 ’= 10
0
0
а3 = 150
150
Потребн.
bj
Запасы
аі
b3 = 190
b4 = 50
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.
2
Метод потенциалов.
Сначала проверяем этот план на оптимальность. Для этого вычисляем
потенциалы ui и vj исходя из условия : ui + vj = Сіj для всех занятых клеток,
причём u1= 0. Опорный план должен быть невырожденный, т.е. число занятых
клеток должно быть равно m + n – 1 = 3 + 4 – 1 = 6 , а в таблице только 5 занятых
клеток, поэтому в одну клетку, например А2В1 , заносим нулевую перевозку
х21 = 0 и считаем эту клетку занятой.
Получаем систему из 6 уравнений, из которой находим потенциалы ui и vj :
Клетка
Клетка
Клетка
Клетка
Клетка
Клетка
А1В1
А1В4
А2В1
А2В2
А2В3
А3В2
→
→
→
→
→
→
u 1 + v1 = 4
u 1 + v4 = 8
u 1 + v5 = 0
u 2 + v2 = 1
u 2 + v5 = 0
u3 + v3 = 2
u1 = 0
u2 = 2
u3 = 0
v1 = 2
v2 = 3
v3 = -1
v4 = 0
=>
Перепишем транспортную таблицу, добавив к ней строку и столбец для записи
потенциалов, и проверим выполнение условия оптимальности : ui + vj ≤ Сіj для
всех свободных ( не занятых ) клеток.
vj
А1
А2
А3
uі
u1 = 0
u2 = 2
В1
v1 = 2
+
130
–
0
u3 = 0
В2
v2 = 3
2
9
4
7
5
10
6
130
bj
В3
v3 = -1
3
0
180
200
+
0
2
190
аі
0
1
190
150
160
В4
v4 = 0
–
50
50
150
530
?
Для свободных клеток : ui + vj ≤ Сіj
Клетка
Клетка
Клетка
Клетка
Клетка
Клетка
А1В2
А1В3
А2В4
А3В1
А3В3
А3В4
→
→
→
→
→
→
u 1 + v2 = 0 + 3 = 3 < 9
u1 + v3 = 0 + (-1) = -1 < 7
u 2 + v4 = 2 + 0 = 2 > 0
u 3 + v1 = 0 + 2 = 2 < 6
u3 + v3 = 0 + (-1) = -1 < 2
u 3 + v4 = 0 + 0 = 0 = 0
3
Видим, что условие оптимальности нарушено в клетке А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
А1
uі
u1 = 0
В1
v1 = 2
В2
v2 = 5
2
В3
v3 = 1
9
В4
v4 = 0
А2
u2 = 0
4
u3 = -2
5
6
130
bj
180
50
10
А3
0
7
130
аі
190
3
150
160
0
1
0
2
190
200
0
50
150
530
?
Для свободных клеток : ui + vj ≤ Сіj
Клетка
Клетка
Клетка
Клетка
Клетка
Клетка
А1В2
А1В3
А2В1
А3В1
А3В3
А3В4
→
→
→
→
→
→
u 1 + v2 = 0 + 5 = 5 < 9
u 1 + v3 = 0 + 1 = 1 < 7
u 2 + v1 = 0 + 2 = 2 < 4
u3 + v1 = -2 + 2 = 0 < 6
u3 + v3 = -2 + 1 = -1 < 2
u3 + v4 = -2 + 0 = -2 < 0
Условие оптимальности виполнено для всех свободных клеток, значит этот
план является оптимальним, т.е. его стоимость минимальна :
4
х11 = 130; х14 = 50; х22 = 10; х23 = 190; х32 = 150; остальные хіj = 0
Z min = 950
Оптимальний план перевозок:
Из
Из
Из
Из
Из
пункта
пункта
пункта
пункта
пункта
А1
А1
А2
А2
А3
→
→
→
→
→
в пункт
в пункт
в пункт
в пункт
в пункт
В1
В4,ф
В2
В3
В2
- 130 ед.
- 50 ед. (останутся невывезенными)
- 10 ед.
- 190 ед.
- 150 ед.
5
Скачать