Zagadnienia

15. Zagadnienie transportowe

15.1. Zagadnienie transportowe

Mamy n punktów wysyłających towar i t punktów odbierających. Istnieje droga od każdego dostawcy do każdego odbiorcy i znany jest koszt transportu jednostki towaru.

Jak zorganizować transport, żeby koszt był minimalny?

Zapiszmy dane w postaci tabeli:

O1O2OtpodażD1a1,1a1,2a1,tb1D2a2,1a2,2a2,tb2Dnan,1an,2an,tbnpopytc1c2ct

Wprowadźmy zmienne xi,j opisujące ilość towaru przewożonego od i - tego dostawcy do j - tego odbiorcy.

Niech aij oznacza koszt przewiezienia jednostki towaru.

Jako funkcję celu przyjmijmy: minx0=i=1nj=1tai,jxi,j

Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt,

czyli i=1nbi=j=1tcj.

W przypadku zbilansowanym obszar dopuszczalny opisany jest następującym układem równań i nierówności:

j=1tx1,j=b1, - pierwszy dostawca wysyła cały towar,

j=1tx2,j=b2, - drugi dostawca wysyła cały towar,

j=1tx1,j=bn, - n-ty dostawca wysyła cały towar,

i=ntx1,j=c1, - pierwszy odbiorca dostaje cały towar,

i=ntx2,j=c2, - drugi odbiorca dostaje cały towar,

i=ntx1,j=ct, - t-ty odbiorca dostaje cały towar,

Ponadto nie można przewozić ujemnej liczby towarów - a więc:

1in1jtxi,j0

.

Czasami towary są podzielne jak prąd czy woda, ale zwykle dodajemy warunki:

i,jxi,jZ

Jeśli dodamy do siebie równania opisujące popyt otrzymamy

i=1nj=1txi,j=i=1nbi

Analogicznie jeśli dodamy do siebie równania opisujące podaż otrzymamy

j=1ti=1nxi,j=j=1tci.

Zatem dla zadania niezbilansowanego układ równań opisujący obszar dopuszczalny jest sprzeczny zaś dla zadania zbilansowanego układ równań opisujący obszar dopuszczalny jest zależny. Można pokazać, że rząd macierzy układu jest równy n+t-1 a więc tyle musi być zmiennych bazowych.

Zakładamy, że zagadnienie jest zbilansowane.

Zadanie opisują dwie tablice mające tyle wierszy ilu jest dostawców i tyle kolumn ilu jest odbiorców plus wiersze i kolumny nagłówków.

W pierwszej zapisujemy koszty lub koszty zredukowane - czyli to co jest nad kreską w tablicy sympleks.

Druga tablica opisuje przewozy - dla zmiennej bazowej xi,j wstawiamy ilość towaru przewożonego od i - tego dostawcy do j - tego odbiorcy zaś dla zmiennych niebazowych krzyżyk x. Ta tablica opisuje to co jest w tablicy sympleks z prawej strony kreski i umiejscowienie zmiennych bazowych jak w zrewidowanej metodzie sympleks.

Szukanie wierzchołka startowego.
a) Metoda wierzchołka północno - zachodniego
1) Jeżeli mamy tylko jednego dostawcę lub tylko jednego odbiorcę to wszystkie zmienne są bazowe.
W tablicę przewozów wpisujemy popyty lub podaże odpowiednio.
2) Wybieramy wierzchołek północno - zachodni czyli miejsce w lewym górnym rogu.
2a) Jeżeli b1c1 to w to miejsce tablicy wpisujemy c1 zaś w pozostałe miejsca pierwszej kolumny krzyżyki.
x1,1=c1 ). Teraz zamiast b1 wpisujemy b1-c1 i usuwamy pierwszego odbiorcę.
2b) Jeżeli b1<c1 to w to miejsce tablicy wpisujemy b1 zaś w pozostałe miejsca pierwszego wiersza krzyżyki.
x1,1=b1 ). Teraz zamiast c1 wpisujemy c1-b1 i usuwamy pierwszego dostawcę.
GO TO 1.
Przykład 15.1

Dane jest zagadnienie transportowe opisane tabelą:

Min6,15=6

Przewozy O1 O2 O3 O4 Podaże
D1 6 15 9
D2 X 5
D3 X 10
D4 X 5
Popyty 6 4 10 15

Min4,9=4

Przewozy O1 O2 O3 O4 Podaże
D1 6 4 15 9 5
D2 X X 5
D3 X X 10
D4 X X 5
Popyty 6 4 10 15

Min10,5=5

Przewozy O1 O2 O3 O4 Podaże
D1 6 4 5 X 15 9 5
D2 X X 5
D3 X X 10
D4 X X 5
Popyty 6 4 10 5 15

Min5,5=5

Przewozy O1 O2 O3 O4 Podaże
D1 6 4 5 X 15 9 5
D2 X X 5 5 0
D3 X X X 10
D4 X X X 5
Popyty 6 4 10 5 15

Mamy teraz jedną linię.

Przewozy O1 O2 O3 O4 Podaże
D1 6 4 5 X 15 9 5
D2 X X 5 0 5 0
D3 X X X 10 10
D4 X X X 5 5
Popyty 6 4 10 5 15

b) Metoda minimalnych kosztów.

Ta metoda różni się od poprzedniej tym, że zamiast wierzchołka północno - zachodniego wybieramy miejsce tabeli o minimalnym koszcie.

Metoda sympleks.
0) dana jest tablica kosztów K i tablica przewozów P opisująca wierzchołek startowy.
1) Test optymalności.
1a) W tablicy kosztów zaznaczamy miejsca odpowiadające zmiennym bazowym.
1b) Za tablicą w prawym górnym rogu wpisujemy 0.
1c) Uzupełniamy miejsca pod tabelą i z prawej strony takimi liczbami by  w przypadku
zaznaczonych komórek - zmiennych bazowych,
 suma liczby w tablicy, liczby dopisanej w wierszu i  liczby dopisanej w kolumnie dawała 0.
1c) Wyliczamy tablicę kosztów zredukowanych dodając do każdego wiersza liczbę dopisaną z prawej strony
i dodając do każdej kolumny liczbę dopisaną poniżej.
2) Jeżeli nie ma liczb ujemnych w tablicy kosztów to STOP. Ostatni schemat przewozów jest optymalny.
Przykład 15.2

W zadaniu z poprzedniego przykładu koszty opisane są tabelą:

Zaznaczamy komórki zmiennych bazowych * i dopisujemy 0 w pierwszym wierszu.

Koszty O1 O2 O3 O4
D1 1* 3* 7* 9 0
D2 5 7 5* 10*
D3 6 2 4 8*
D4 6 0 2 10*

Wymusza to liczby -1,-3 i -7 w pierwszych kolumnach.

Koszty O1 O2 O3 O4
D1 1* 3* 7* 9 0
D2 5 7 5* 10*
D3 6 2 4 8*
D4 6 0 2 10*
-1 -3 -7

Wymusza to 2 w drugim wierszu.

Koszty O1 O2 O3 O4
D1 1* 3* 7* 9 0
D2 5 7 5* 10* 2
D3 6 2 4 8*
D4 6 0 2 10*
-1 -3 -7

Wymusza to -12 w czwartej kolumnie.

Koszty O1 O2 O3 O4
D1 1* 3* 7* 9 0
D2 5 7 5* 10* 2
D3 6 2 4 8*
D4 6 0 2 10*
-1 -3 -7 -12

Wymusza to 4 i 2 w ostatnich wierszach.

Koszty O1 O2 O3 O4
D1 1* 3* 7* 9 0
D2 5 7 5* 10* 2
D3 6 2 4 8* 4
D4 6 0 2 10* 2
-1 -3 -7 -12 2

Obliczając koszty zredukowane otrzymujemy.

Koszty1 O1 O2 O3 O4
D1 0 0 0 -3
D2 6 6 0 0
D3 9 3 1 0
D4 7 -1 -3 0

3) Wędrowanie między wierzchołkami.

3a) Wybieramy drogę o ujemnym koszcie - w przykładzie drogę wyznaczoną zmienną x4,2 i w tablicy przewozy do X dopisujemy +Δ.

3b) Wpisując przy odpowiednich zmiennych bazowych ±Δ budujemy cykl tak by popyt i podaż z uwzględnieniem Δ nie zmieniła się.

3c) Wybieramy maksymalną Δ=minxi,j|Δ występuje ze znakiem -

4) Podstawiamy wyliczoną wartość Δ i usuwamy z bazy jedną ze zmiennych na której ilość przewożonego towaru zmniejszyliśmy do 0.

Przykład 15.3
Przewozy O1 O2 O3 O4
D1 6 4 5 X
D2 X X 5 0
D3 X X X 10
D4 X X+Δ X 5

Budujemy cykl:

Przewozy O1 O2 O3 O4
D1 6 4-Δ 5+Δ X
D2 X X 5-Δ 0+Δ
D3 X X X 10
D4 X X+Δ X 5-Δ

Δ=min4,5,5=4 i nowym schematem przewozów jest:

Przewozy O1 O2 O3 O4
D1 6 X 9 X
D2 X X 1 4
D3 X X X 10
D4 X 4 X 1

Transport niezbilansowany

W przypadku gdy podaż przewyższa popyt zadanie można doprowadzić do zbilansowanego wprowadzając sztucznego odbiorcę o popycie równoważącym różnicę i kosztach przewozów 0. Po wyliczeniu optymalnego przewozu mówimy, że towary wysłane do sztucznego odbiorcy zostają u dostawców.

W przypadku gdy popyt przewyższa podaż, analogicznie, zadanie można doprowadzić do zbilansowanego wprowadzając sztucznego dostawcę o podaży równoważącym różnicę i kosztach przewozów 0.

Jako literaturę uzupełniającą do tego tematu polecamy książki [10] i [6].

Ćwiczenie 15.1

Dane jest zagadnienie transportowe opisane tabelą:

Koszty O1 O2 O3 O4 Podaże
D1 1 3 7 9 15
D2 5 7 5 10 5
D3 6 2 4 8 10
D4 6 0 2 10 5
Popyty 7 8 10 10

Znajdź wierzchołek startowy stosując algorytm:

a) Wierzchołka północno - zachodniego.

b) Minimalnych kosztów.

Ćwiczenie 15.2

W zagadnieniu transportowym opisanym tabelą:

Koszty O1 O2 O3 O4 Podaże
D1 1 3 7 9 9
D2 6 9 5 10 13
D3 6 4 4 10 21
Popyty 10 7 9 17

aktualnie realizowany jest następujący schemat przewozów P1.

Przewozy O1 O2 O3 O4 Podaże
D1 x x x 9
D2 x x 5 8
D3 10 7 4 x
Popyty

Stosując metodę sympleks popraw ten schemat przewozów do optymalnego i znajdź wszystkie optymalne schematy przewozów.

Ćwiczenie 15.3

Znajdź wszystkie optymalne schematy przewozów dla zadania transportowego:

Koszty H1 H2 H3 H4 Popyty
S1 9 2 1 10 8
S2 3 3 0 6 5
S3 9 5 6 15 11
Podaże 5 5 10 4

Zalecaną jest metoda minimalnych kosztów.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.