ZAGADNIENIE TRANSPORTOWE - ZT
Sformułowanie zagadnienia
Przypuśćmy, że z m punktów odprawy 𝐴1, 𝐴2, … , 𝐴𝑚 ma być wysłany w ilościach 𝑎1, 𝑎2, … , 𝑎𝑚 jednorodny produkt do n punktów przyjęć 𝐵1, 𝐵2, … , 𝐵𝑛. Punkty odbioru przyjmują produkt w ilościach 𝑏1, 𝑏2, … , 𝑏𝑛. Każdy z dostawców może zaopatrywać dowolnego odbiorcę i odwrotnie każdy odbiorca może otrzymywać towar od dowolnego dostawcy.
Oznaczamy przez 𝑐𝑖𝑗 koszt transportu z punktu odprawy 𝐴𝑖 do punktu odbioru 𝐵𝑗. Przyjmujemy, że wielkości 𝑐𝑖𝑗 są znane.
W oparciu o te dane należy ustalić taki plan przewozów między punktami odprawy i punktami odbioru, który zapewnia minimalny koszt transportu przewożonych towarów.
Tak sformułowane zagadnienie nazywa się zagadnieniem transportowym.
Zakładamy, że ogólna ilość produktu wysyłanego jest równa ogólnej ilości produktu przyjmowanego, czyli
∑
𝑚𝑖=1𝑎
𝑖= ∑
𝑛𝑗=1𝑏
𝑖Zagadnienie transportowe spełniające powyższy warunek nazywamy zagadnieniem transportowym zamkniętym lub zbilansowanym (ZZT)
Analiza zagadnienia dla przypadku 𝑚 = 4 i 𝑛 = 3.
Tabela kosztów przewozu
Punkty Punkty odbioru (j)
odprawy 𝐵1 𝐵2 𝐵3
(i)
𝐴1 𝑐11 𝑐12 𝑐13
𝐴2 𝑐21 𝑐22 𝑐23
𝐴3 𝑐31 𝑐32 𝑐33
𝐴4 𝑐41 𝑐42 𝑐43
Macierz utworzoną przez współczynniki 𝑐𝑖𝑗 nazywamy macierzą kosztów przewozu.
Tabela wielkości przewozów
Punkty Punkty odbioru
odprawy 𝐵1 𝐵2 𝐵3 Podaż
𝐴1 𝑥11 𝑥12 𝑥13 𝑎1
𝐴2 𝑥21 𝑥22 𝑥23 𝑎2
𝐴3 𝑥31 𝑥32 𝑥33 𝑎3
𝐴4 𝑥41 𝑥42 𝑥43 𝑎4
Popyt 𝑏1 𝑏2 𝑏3
Wielkości 𝑥𝑖𝑗, 𝑖 = 1,2,3,4, 𝑗 = 1,2,3 są wielkościami nieznanymi i oznaczają ilości przewożonych produktów z punktu wysyłkowego i do punktu odbioru j.
Macierz utworzoną przez współczynniki 𝑥𝑖𝑗 nazywamy macierzą przepływów.
W tym przypadku model zagadnienia transportowego ma postać:
Funkcja celu:
∑4𝑖=1 ∑3𝑗=1𝑐𝑖𝑗𝑥𝑖𝑗 = min minimalizacja całkowitego kosztu transportu Warunki dostawców:
∑3𝑗=1𝑥𝑖𝑗 = 𝑎𝑖 𝑖 = 1,2,3,4 każdy dostawca (i) ma dostarczyć odbiorcom cały posiadany towar
Warunki odbiorców:
∑4𝑖=1𝑥𝑖𝑗 = 𝑏𝑗 𝑗 = 1,2,3 każdy odbiorca (j) ma dostać tyle towaru od Wszystkich dostawców ile potrzebuje Warunki brzegowe:
𝑥𝑖𝑗 ≥ 0, 𝑖 = 1,2,3,4, 𝑗 = 1,2,3
Modele zagadnień transportowych są szczególnym przypadkiem modeli liniowych i mogą być rozwiązane za pomocą algorytmów dotyczących tych modeli. Jednak w tym przypadku istnieją bardziej efektywne algorytmy.
Metoda obliczeniowa.
Zagadnienie transportowe rozwiązujemy według następującego planu:
a) Wyznaczamy wstępne rozwiązanie bazowe wybraną metodą . w naszym przypadku będzie to metoda północno-zachodniego kąta.
b) Sprawdzamy, korzystając z metody potencjałów, czy otrzymane rozwiązanie jest optymalne
c) Jeżeli rozwiązanie nie jest optymalne, poprawiamy rozwiązanie i powtarzamy procedurę od punktu b)
Powyższą metodę omówimy na następującym przykładzie:
Zagadnienie transportowe
Cztery punkty odprawy 𝐴1, 𝐴2, 𝐴3, 𝐴4 wysyłają jednorodny produkt w ilościach 𝑎1 = 10, 𝑎2 = 15, 𝑎3 = 8, 𝑎4 = 8 jednostek. Cztery punkty odbioru 𝐵1, 𝐵2, 𝐵3, 𝐵4 przyjmują ten produkt w ilościach 𝑏1 = 14, 𝑏2 = 12, 𝑏3 = 9, 𝑏4 = 6 jednostek. Koszty transportu przedstawia poniższa tabela:
Punkty Punkty odbioru (j)
odprawy 𝐵1 𝐵2 𝐵3 𝐵4
(i)
𝐴1 2 11 8 17
𝐴2 13 14 2 16
𝐴3 15 4 9 1
𝐴4 10 0 7 13
I.--Sprawdzamy, czy zagadnienie jest zbilansowane Po uwzględnieniu podaży i popytu tabela przyjmie postać:
Punkty Punkty odbioru
odprawy 𝐵1 𝐵2 𝐵3 𝐵4 Podaż
𝐴1 2 11 8 17 10
𝐴2 13 14 2 16 15
𝐴3 15 4 9 1 8
𝐴4 10 0 7 13 8
Popyt 14 12 9 6 41
Podaż: ∑4𝑖=1𝑎𝑖 = 10 + 15 + 8 + 8 = 41 Popyt : ∑4𝑗=1𝑏𝑖 = 14 + 12 + 9 + 6 = 41
Podaż równa się popytowi, zatem zagadnienie jest zbilansowane.
II. Wyznaczanie rozwiązania bazowego metodą północno-zachodniego kąta
Wyznaczając pierwsze rozwiązanie bazowe metodą północno-zachodniego kąta bierzemy pod uwagę tylko popyt i podaż i na razie nie uwzględniamy kosztów przewozu.
W celu wyznaczenia rozwiązania bazowego posłużymy się prostszą tabelą:
Tabelę wypełniamy wierszami, poczynając od pierwszego wiersza, a elementy w wierszu kolejno, poczynając od pierwszego elementu z lewej strony.
1.
Rozpoczynamy od wartości 𝑥11. Punkt odbioru 𝐵1 potrzebuje 𝑏1 = 14 jednostek towaru, a punkt odbioru 𝐴1 dysponuje 𝑎1 = 10 jednostkami. Przyjmujemy zatem 𝑥11 = 𝑚𝑖𝑛{𝑎1, 𝑏1}
𝑚𝑖𝑛{10,14} = 10
Ponieważ, tym samym wykorzystaliśmy w całości cały zasób punktu odbioru 𝐴1, więc od tego dostawcy nikt już nic nie może otrzymać, więc przyjmujemy dalej 𝑥12 = 𝑥13= 𝑥14= 0.
Natomiast punkt odbioru 𝐵1 potrzebuje jeszcze 4 jednostek towaru.
𝑎
1= 10 − 10 = 0, 𝑏
1= 14 − 10 = 4
bi
ai 14 12 9 6
10 15 8 8
bi
ai 14 12 9 6
10 10 15
8 8
Aktualnie mamy:
2.
𝑚𝑖𝑛{15,4} = 4
𝑎
2= 15 − 4 = 11, 𝑏
1= 4 − 4 = 0
3.
𝑚𝑖𝑛{11,12} = 11
𝑎
2= 11 − 11 = 0, 𝑏
2= 12 − 11 = 1
bi
ai 4 12 9 6
0 10 0 0 0
15 8 8
bi
ai 4 12 9 6
0 10 0 0 0
15 4 8
8
bi
ai 0 12 9 6
0 10 0 0 0
11 4
8 0
8 0
bi
ai 0 12 9 6
0 10 0 0 0
11 4 11
8 0
8 0
Kontynuujemy powyższe postępowanie i ostatecznie otrzymujemy rozwiązanie:
W celu wyznaczenia kosztów przewozu dla otrzymanego rozwiązania, w powyższej tabeli pominiemy zera i dopiszemy koszty przewozu do zmiennych niezerowych
Dla powyższego rozwiązania koszty przewozu wynoszą:
𝑍0 = ∑
4
𝑖=1
∑ 𝑐𝑖𝑗𝑥𝑖𝑗
4
𝑗=1
= 2 ∗ 10 + 13 ∗ 4 + 14 ∗ 11 + 4 ∗ 1 + 9 ∗ 7 + 7 ∗ 2 + 13 ∗ 6 = 385 bi
ai 0 1 9 6
0 10 0 0 0
0 4 11 0 0
8 0
8 0
bi
ai 0 0 0 0
0 10 0 0 0
0 4 11 0 0
0 0 1 7 0
0 0 0 2 6
O
D 𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 2 10 𝐴2 13
4
14
11
𝐴3 4
1
9
7
𝐴4 7
2
13
6
III. Sprawdzanie optymalności i poprawianie rozwiązania początkowego metodą potencjałów
Aby zbadać czy dopuszczalne rozwiązanie bazowe jest rozwiązaniem minimalnym posługujemy się metoda potencjałów. Metoda ta polega na tym , że znajdujemy liczby 𝑢𝑖 oraz 𝑣𝑗, zwane potencjałami, takie że jeżeli liczba 𝑥𝑖𝑗 jest dodatnia i należy do rozwiązania bazowego , to spełnione jest równanie:
𝑐𝑖𝑗+ 𝑢𝑖 + 𝑣𝑖 = 0, czyli 𝑢𝑖 + 𝑣𝑖 = −𝑐𝑖𝑗
gdzie 𝑐𝑖𝑗 jest współczynnikiem kosztów odpowiadających zmiennej 𝑥𝑖𝑗.
Po wyznaczeniu potencjałów spełniających powyższe równanie wyznaczamy wartość sumy 𝑢𝑖 + 𝑣𝑗 = 𝑐𝑖𝑗′ dla pozostałych zmiennych, które nie wchodzą w skład rozwiązania bazowego.
Jeżeli dla wszystkich par (i, j) 𝑐𝑖𝑗+ 𝑐𝑖𝑗′ ≥ 0,
to rozwiązanie jest rozwiązaniem minimalnym.
Jeżeli powyższy warunek nie jest spełniony dla pewnych par (i, j), to nowe rozwiązanie bazowe dające mniejszą wartość funkcji kosztów możemy otrzymać wprowadzając do bazy zmienną odpowiadającą polu o numerach (i, j), dla którego suma 𝑐𝑖𝑗 + 𝑐𝑖𝑗′ jest ujemna. Jeżeli istnieje więcej niż jedna taka zmienna, to wybieramy tę, dla której suma 𝑐𝑖𝑗 + 𝑐𝑖𝑗′ jest
najmniejsza (największa co do bezwzględnej wartości)
Kontynuujemy poprzedni przykład:
Tabela kosztów przewozu
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 2 11 8 17
𝐴2 13 14 2 16
𝐴3 15 4 9 1
𝐴4 10 0 7 13
Pierwsze rozwiązanie bazowe 𝑋0:
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 11
𝐴3 1 7
𝐴4 2 6
Koszty transportu 𝑍𝑜= 385
I ETAP
Aby sprawdzić, czy rozwiązanie jest optymalne wyznaczamy potencjały 𝑢𝑖 oraz 𝑣𝑗, spełniające warunek
𝑢𝑖 + 𝑣𝑖 = −𝑐𝑖𝑗
dla wartości 𝑥𝑖𝑗 należących do rozwiązania bazowego.
W komórkach tabeli dla tych zmiennych umieszczamy wartości −𝑐𝑖𝑗. Przyjmujemy, że 𝑢1 = 0.
𝑣𝑗
𝑢𝑖 -2 -3 -8 -14
0 -2
-11 -13 -14
-1 -4 -9
1 -7 -13
► 𝑢1+ 𝑣1 = −2, 𝑢1 = 0, 0 + 𝑣1 = −2, 𝑣1 = −2,
► 𝑢2 + 𝑣1 = −13, 𝑢2 − 2 = −13, 𝑢2 = −11
► 𝑢2 + 𝑣2 = −14, − 11 + 𝑣2 = −14, 𝑣2 = −3
► 𝑢3 + 𝑣2 = −4, 𝑢3− 3 = −4, 𝑢3 = −1,
► 𝑢3 + 𝑣3 = −9, − 1 + 𝑣3 = −9, 𝑣3 = −8,
► 𝑢4 + 𝑣3 = −7, 𝑢4− 8 = −7, 𝑢4 = 1,
► 𝑢4 + 𝑣4 = −13, 1 + 𝑣4 = −13, 𝑣4 = −14,
Na podstawie obliczonych potencjałów, wyznaczamy sumę 𝑐𝑖𝑗′ = 𝑢𝑖 + 𝑣𝑗 dla pozostałych zmiennych, które nie wchodzą w skład rozwiązania bazowego
𝑣𝑗
𝑢𝑖 -2 -3 -8 -14
0 -2 -3 -8 -14
-11 -13 -14 -19 -25
-1 -3 -4 -9 -15
1 -1 -2 -7 -13
Następnie wyznaczamy wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 0 8 0 3
𝐴2 0 0 -17 -9
𝐴3 12 0 0 -14
𝐴4 9 -2 0 0
W tabeli znajdują się wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′ ≤ 0, zatem rozwiązanie to nie jest optymalne.
𝑚𝑖𝑛{𝑐𝑖𝑗+ 𝑐𝑖𝑗′} = −17 dla (i, j) = (2,3).
do bazy wprowadzamy zmienną
𝑥
23 o dodatniej wartości Θ1Wprowadzając jakąś wartość w komórce (2,3) musimy jednocześnie odjąć tę samą wartość w wierszu 2 i kolumnie 3 od wartości należących do poprzedniego rozwiązania. Postępowanie to kontynuujemy do momentu , w którym suma elementów w wierszach i kolumnach będzie taka sama jak na początku.
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 11 Θ1
𝐴3 1 7
𝐴4 2 6
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2
4 11-Θ1 Θ1
𝐴3 1+Θ1 7-Θ1
𝐴4
2 6
Wartość Θ1 i wszystkie wartości w rozwiązaniu muszą być dodatnie. Zatem największą wartość jaką możemy przyjąć za Θ1 jest 7.
Nowe rozwiązanie 𝑋1: zmienna 𝑥33 została usunięta z rozwiązania:
Koszt transportu dla tego poprawionego rozwiązania 𝑋1 wynosi:
𝑍1 = 𝑍0+ 𝑚𝑖𝑛{𝑐𝑖𝑗 + 𝑐𝑖𝑗′ } ∗ Θ1 = 385 − 17 ∗ 7 = 266
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 4 7
𝐴3 8
𝐴4 2 6
II ETAP
Badamy czy rozwiązanie 𝑿𝟏 jest optymalne.
Potencjały i wartości 𝑐𝑖𝑗′ = 𝑢𝑖 + 𝑣𝑗
𝑣𝑗 -2 -3 9 3 𝑢𝑖
0 -2 -3 9 3
-11 -13 -14 -2 -8
-1 -3 -4 8 2
-16 -18 -19 -7 -13
Następnie wyznaczamy wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 0 8 17 20
𝐴2 0 0 0 8
𝐴3 12 0 17 3
𝐴4 -8 -19 0 0
W tabeli znajdują się wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′ ≤ 0, zatem rozwiązanie to nie jest optymalne.
𝑚𝑖𝑛{𝑐𝑖𝑗+ 𝑐𝑖𝑗′} = −19 dla (i, j) = (4,2).
do bazy wprowadzamy zmienną
𝑥
42 o dodatniej wartości Θ2 Poprawiamy rozwiązanie 𝑋1𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 4-Θ2 7+Θ2
𝐴3 8
𝐴4 Θ2 2-Θ2 6
Przyjmujemy Θ2 = 2 Nowe rozwiązanie 𝑋2:
Koszt transportu dla tego poprawionego rozwiązania 𝑋2 wynosi:
𝑍2 = 𝑍1+ 𝑚𝑖𝑛{𝑐𝑖𝑗 + 𝑐𝑖𝑗′ } ∗ Θ1 = 266 −19*2 = 228
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 2 9
𝐴3 8
𝐴4 2 6
III ETAP
Dalej badamy w powyższy sposób, czy rozwiązanie 𝑿𝟐 jest optymalne.
Potencjały i wartości 𝑐𝑖𝑗′ = 𝑢𝑖 + 𝑣𝑗
𝑣𝑗 -2 -3 9 -16 𝑢𝑖
0 -2 -3 9 -16
-11 -13 -14 -2 -27
-1 -3 -4 8 -17
3 1 0 12 -13
Następnie wyznaczamy wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 0 8 17 1
𝐴2 0 0 0 -11
𝐴3 12 0 17 -16
𝐴4 11 0 19 0
W tabeli znajdują się wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′ ≤ 0, zatem rozwiązanie to nie jest optymalne.
𝑚𝑖𝑛{𝑐𝑖𝑗+ 𝑐𝑖𝑗′} = −16 dla (i, j) = (2,3).
do bazy wprowadzamy zmienną
𝑥
34 o dodatniej wartości Θ3 Poprawiamy rozwiązanie 𝑋2:Przyjmujemy Θ3 = 6
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 2 9
𝐴3 8-Θ3 Θ3
𝐴4 2+Θ3 6-Θ3
Nowe rozwiązanie 𝑋3:
Koszt transportu dla tego poprawionego rozwiązania 𝑋3 wynosi:
𝑍3 = 𝑍2+ 𝑚𝑖𝑛{𝑐𝑖𝑗+ 𝑐𝑖𝑗′} ∗ Θ1 = 228 −16*6 = 132
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 10
𝐴2 4 2 9
𝐴3 2 6
𝐴4 8
IV ETAP
Badamy, czy rozwiązanie 𝑿𝟑 jest optymalne.
Potencjały i wartości 𝑐𝑖𝑗′ = 𝑢𝑖 + 𝑣𝑗
𝑣𝑗
𝑢𝑖 -2 -3 9 0
0 -2 -3 9 0
-11 -13 -14 -2 -11
-1 -3 -4 8 -1
3 1 0 12 3
Następnie wyznaczamy wartości 𝑐𝑖𝑗 + 𝑐𝑖𝑗′
𝐵1 𝐵2 𝐵3 𝐵4
𝐴1 0 8 17 17
𝐴2 0 0 0 5
𝐴3 12 0 17 0
𝐴4 11 0 19 16
Wszystkie wartości 𝑐𝑖𝑗+ 𝑐𝑖𝑗′ ≥ 0, zatem rozwiązanie 𝑿𝟑 jest optymalne.
Odpowiedź.
Najmniejsze koszty przewozu równe 132 uzyskamy, jeżeli - dostawca 𝐴1 dostarczy 10 jednostek towaru odbiorcy 𝐵1
- dostawca 𝐴2 dostarczy 4 jednostki towaru odbiorcy 𝐵1, 2 jednostki towaru odbiorcy 𝐵2, i 9 jednostek towaru odbiorcy 𝐵3,
- dostawca 𝐴3 dostarczy 2 jednostki towaru odbiorcy 𝐵2 i 6 jednostek towaru odbiorcy 𝐵4, - dostawca 𝐴3 dostarczy 8 jednostek towaru odbiorcy 𝐵2