A. Kasperski, M. Kulej BO Zagadnienie transportowe 1 ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a 1, a 2,...,a p i q odbiorców,którychpopytwynosi b 1, b 2,...,b q.zakładamy,że problemjestzbilansowany,tj. p i=1 a i = q i=1 b iczylicałkowita podaż jest równa całkowitemu popytowi. Dane są również koszty przewozu c ij jednostkitowaruod i-tegodostawcy(i = 1,...,p)do j-tegoodbiorcy(j = 1,...,q).Należywyznaczyćplantransportu towaru od dostawców do odbiorców o minimalnym łącznym koszcie przewozu.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 2 Model liniowy dla ZT: Zmienne decyzyjne: x ij -ilośćtowaruprzewożonaod i-tegodostawcydo j-tego odbiorcy. Model: minz = p i=1 q j=1 c ijx ij q j=1 x ij = a i i = 1,...,p [Podażdostawców] p i=1 x ij = b i j = 1,...,q [Popytodbiorców] x ij 0 Przykład.. Rozpatrzmy następujący rysunek:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 3 Fabryka 1 2 8 6 Miasto 1 4 Fabryka 2 9 12 13 Miasto 2 20 Fabryka 3 14 7 9 16 Miasto 3 Miasto 4 30 30 Zmienne decyzyjne: x ij -ilośćtowaruprzewożonaod i-tejfabrykido j-tegomiasta.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 4 Model liniowy: minz = 8x 11 + 6x 12 + x 13 + 9x 14 + 9x 21 + 12x 22 + + x 34 x 11 + x 12 + x 13 + x 14 = [Podażfabryki1] x 21 + x 22 + x 23 + x 24 = [Podażfabryki2] x 31 + x 32 + x 33 + x 34 = [Podażfabryki3] x 11 + x 21 + x 31 = 4 [Popytmiasta1] x 12 + x 22 + x 32 = 20 [Popytmiasta2] x 13 + x 23 + x 33 = 30 [Popytmiasta3] x 14 + x 24 + x 34 = 30 [Popytmiasta4] x ij 0
A. Kasperski, M. Kulej BO Zagadnienie transportowe Tablica transportowa: 8 6 2 x 11 x 12 x 13 x 14 x 21 x 22 x 23 x 24 14 9 16 x 31 x 32 x 33 x 34 30 30 30 Modele niezbilansowane 1.Przypadek p i=1 a i > q i=1 b i(nadwyżkapodaży).dodajemy fikcyjnegoodbiorcę q + 1opopycie b q+1 = p i=1 a i q i=1 b ii kosztachprzewozu c iq+1 = 0, i = 1,...,p.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 6 Przykład. Rozpatrzmy tablicę: 8 6 9 12 13 20 20 30 8 6 0 x 13 x 11 x 14 x 11 x 12 x 12 x 13 x 21 x 21 x 22 9 12 13 0 x 22 x 23 x 23 x 24 20 20 30 20 W problemie tym występuje nadwyżka podaży równa 20. Dodajemy fikcyjnego odbiorcę numer 4 o popycie 20. Optymalne rozwiązaniewynosi: x 12 = 20, x 13 = 20, x 21 = 20, x 23 =, x 24 = 20.Fikcyjnyodbiorcaodbiera20jedn.oddostawcy2. Oznacza to faktycznie, że towar ten zostanie u dostawcy 2. 2.Przypadek p i=1 a i < q i=1 b i(nadwyżkapopytu).dodajemy fikcyjnegodostawcę p + 1opodaży a p+1 = q i=1 b i p i=1 a ii kosztachprzewozu c p+1i = 0, i = 1,...,q.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 7 Metoda sympleks(potencjałów) dla zbilansowanego ZT Wyznaczanie pierwszego dopuszczalnego rozwiązania bazowego Ogólną idę konstrukcji podaje poniższy schemat: 1. Wybierz wśród nie skreślonych elementów tablicy transportowej dopuszczalną klatkę, powiedzmy (r, k) i wstaw do niej maksymalnie możliwą wielkość przewozu, tj. minimum z podaży wiersza r i popytu kolumny kczyli x rk = min(a r, b k ).Klatkatastajesięklatkąbazową odpowiadajejzmiennabazowa x rk. 2. Zmniejsz podaż r-tego dostawcy i popyt k-tego odbiorcy o wielkość ustalonegowkroku1przewozu x rk,tj. a r := a r x rk, b k := b k x rk. 3.Jeśli a r = 0,toskreślwtablicytransportowejr-tywiersz.Jeśli natomiast a r > 0,toskreślwtablicytransportowejk-tąkolumnę (wtedy b k = 0). 4. Jeśli wszystkie elementy tablicy transportowej zostały skreślone, to
A. Kasperski, M. Kulej BO Zagadnienie transportowe 8 KONIEC. Wyznaczono początkowe bazowe rozwiązanie dopuszczalne z dokładnie(jeśli w każdym kroku skreślamy dokładnie jedną linię, tj. wierszlubkolumnęmacierzy) m + n 1zmiennymibazowymi.W przeciwnym przypadku przejdź do kroku 1. W zależności od sposobu wyboru dopuszczalnej klatki w kroku 1 powyższego schematu otrzymujemy różne metody konstrukcji początkowego bazowego rozwiązania dopuszczalnego: metoda kąta północno-zachodniego- dopuszczalną jest klatka leżąca w pierwszym wierszu i pierwszej kolumnie nie skreślonej części tablicy; metoda minimalnego elementu macierzy- dopuszczalną jest klatka o minimalnym koszcie w nie skreślonej części tablicy; metoda Vogel a- VAM- dopuszczalną jest klatka o minimalnym koszcie w linii(wierszu lub kolumnie) z największym
A. Kasperski, M. Kulej BO Zagadnienie transportowe 9 współczynnikiem kary. Współczynnik kary(liczba nieujemna) jest modułem różnicy między najmniejszym i drugim z koleji najmniejszym kosztem w linii. Metoda kąta północno- zachodniego 8 6 2 8 6 2 8 6 2 20 14 9 16 14 9 16 14 9 16 8 6 2 8 6 2 8 6 2 20 20 20 20 20 20 14 9 16 14 9 16 14 9 16 30
A. Kasperski, M. Kulej BO Zagadnienie transportowe Otrzymujemy następujące bazowe rozwiązanie dopuszczalne: x 11 =, x 21 =, x 22 = 20, x 23 = 20, x 33 =, x 34 = 30,pozostałe zmienne mają wartość 0. Koszt tego rozwiązania(przewozu) wynosi 1330. Metoda minimalnego elementu macierzy 8 6 2 8 6 2 30 30 8 6 2 30 4 14 9 16 14 9 16 14 9 16 8 6 2 30 8 6 2 30 8 6 2 30 4 4 4 14 9 16 14 9 16 1 14 9 16 1 2
A. Kasperski, M. Kulej BO Zagadnienie transportowe 11 Otrzymujemyrozwiązaniebazowe(przewóz): x 14 = 30, x 12 =, x 21 = 4, x 23 =, x 32 = 1, x 33 = 2,pozostałezmiennemają wartość 0. Koszt tego rozwiązania wynosi 9. Klatki odpowiadające zmiennym bazowym nazywamy klatkami bazowymi. Uwaga: Jeśli w każdym kroku skreślamy tylko jeden wiersz albo jedną kolumnę, to otrzymamy bazowe rozwiązanie dopuszczalne o dokładnie p + q 1 zmiennych bazowych. Ocena klatek i iteracja sympleksowa. Ciągklatek (i 1, j 1 ), (i 2, j 2 ),...,(i l, j l ),gdzie l 4tablicy
A. Kasperski, M. Kulej BO Zagadnienie transportowe 12 transportowej nazywamy cyklem jeżeli: każdedwiesąsiednieklatkiznajdująsięwjednejliniitj.wjednej kolumnie lub jednym wierszu, ostatnia klatka znajduje się w tej samej linii co klatka pierwsza czyli i 1 = i l lub j 1 = j l żadnetrzykolejnekolejneklatkitegociągunieleżąwjednejlinii. Przykładowe cykle utworzone przez szare klatki pokazane są na poniższym rysunku:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 13 Ciągi(szare klatki), które nie tworzą cyklu: Twierdzenie 1. Zestaw p + q 1 klatek odpowiada zmiennym bazowym wtedy i tylko wtedy gdy klatki te nie zawierają cyklu. Dodanie jednej klatki niebazowej do klatek bazowych powoduje powstanie dokładnie jednego cyklu.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 14 Rozpatrzmy początkowe bazowe rozwiązanie dopuszczalne rozważanego przykładu uzyskane metodą kąta północnozachodniego. Zmiennymi bazowymi są: ZB = {x 11, x 21, x 22, x 23, x 33, x 34 }. - 8 6 + 2 + 20 20 14 9 16 + - 30 - Jaką maksymalną wartość możemy wprowadzić do klatki[1,4]? Jeżeli
A. Kasperski, M. Kulej BO Zagadnienie transportowe 1 wprowadzimy do klatki[1,4] pewną wartość δ to aby zachować bilans podażyipopytumusimyodjąć δodwszystkichklatek-idodać δdo wszystkich klatek +. Do klatki[1,4] wprowadzamy więc najmniejszą wartość występującą w klatkach- czyli 20 z klatki[2,3]. Oznacza to, żezmienna x 23 wychodzizbazy(zostajewyzerowana).nowymi zmiennymibazowymisą {x 11, x 14, x 21, x 22, x 33, x 34 }abazowe rozwiązaniedopuszczalnejestnastępujące: x 11 = 1, x 14 = 20, x 21 = 30, x 22 = 20, x 13 = 30, x 14 =.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 16-20 - + +20 8 6 2 1 20 + +20 20-20 + - - +20 30-20 30 20 14 9 16 30 Czywartośćfunkcjicelu(FC)zmalejepowprowadzeniu x 14 dobazy? Zmiana FC wyniesie: 20 (2 + 16 13 + 9 8) = 20 ( 4) = 80, czylizmniejszysięo80.liczba-4jestocenąklatkiniebazowej [1, 4].
A. Kasperski, M. Kulej BO Zagadnienie transportowe 17 Twierdzenie 2. Aktualne rozwiązanie bazowe w tablicy transportowej jest optymalne jeżeli oceny(współczynniki optymalności) wszystkich klatek niebazowych są nieujemne. Jeżeli istnieje klatka niebazowa o ujemnej ocenie to można wyznaczyć lepsze rozwiązanie wprowadzając tą klatkę do bazy i wprowadzając do niej pewien niezerowy przewóz. Obliczanie ocen(współczynników optymalności) klatek niebazowych(zmiennych niebazowych) Współczynnikioptymalności c ij dlazmiennejniebazowej x ij można wyznaczyć bez znajomości tablicy sympleksowej wykorzystują tzw. potencjałytj.liczby u i, i = 1,...,poraz v j, j = 1,...,q.Wartości potencjałów wyznacza się następująco:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 18 dlakażdejzmiennejbazowej x ij mamyrównanie: c ij = 0 = c ij + u i + v j. Mamyzatemukład p + q 1równańop + qniewiadomych. Przyjmujączajednąniewiadomązeronp. u 1 = 0możnagołatwo rozwiązać.znajomoścwartości u i, v j pozwalajużwyznaczyć współczynniki optymalności za wzoru: c ij = c ij + u i + v j dlakażdejzmiennejniebazowej x ij.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 19 u 1 u 2 u 3 v 1 v 2 v 3 v 4 8 6 2 20 20 14 9 16 30 Potencjały dobieramy tak aby wyzerować współczynniki optymalności dla zmiennych bazowych, tj.:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 20 8 + u 1 + v 1 = 0 (x 11 ) 9 + u 2 + v 1 = 0 (x 21 ) 12 + u 2 + v 2 = 0 (x 22 ) 13 + u 2 + v 3 = 0 (x 23 ) 16 + u 3 + v 3 = 0 (x 33 ) + u 3 + v 4 = 0 (x 34 )
A. Kasperski, M. Kulej BO Zagadnienie transportowe 21 0-8 -11-12 -6 8 6 2 - -2-4 -1 20 20 20 20 0-4 14 9 16 30 2-6 30 Algorytm transportowy KROK 1 Na wejściu podajemy zbilansowane zagadnienie transportowe. Jeżeli model nie jest zbilansowany to należy go zbilansować wprowadzając fikcyjnego dostawcę albo fikcyjnego odbiorcę.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 22 KROK 2 Skonstruuj tablicę transportową i pierwsze rozwiązanie bazowe(dowolną z podanych metod) KROK3Obliczpotencjały u i, i = 1,...,piv i = 1,...,qorazoceny klatekniebazowych c ij = c ij + u i + v i.jeżeliwszystkieoceny c ij 0 to KONIEC- rozwiązanie jest optymalne. W przeciwnym wypadku przejdź do kroku 4. KROK 4 Wybierz klatkę z najmniejszą ujemną oceną. Dodaj tą klatkę do klatek bazowych i zbuduj cykl zawierający dodawaną klatkę i pewne klatki bazowe(istnieje dokładnie jeden taki cykl). Oznacz dodawaną klatkę symbolem +. Następnie przesuwając się wzdłuż cyklu oznaczaj kolejne klatki cyklu na przemian- i +. Znajdź klatkę oznaczoną- dla której aktualna wielkość przewozu δ jest najmniejsza. Klatka ta wychodzi z bazy. Do klatek + dodaj przewóz
A. Kasperski, M. Kulej BO Zagadnienie transportowe 23 δaodklatek-odejmijprzewóz δ.jeżeli δ > 0,tootrzymaliśmy rozwiązanie o mniejszym koszcie. Wróć do kroku 3. Przykład. Rozwiążemy przykładowe zadanie ze strony 1. 4 8 6 2 14 9 16 1 2 30 Obliczamy potencjały:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 24 6 + u 1 + v 2 = 0 zmiennabazowa x 12 2 + u 1 + v 4 = 0 zmiennabazowa x 14 9 + u 2 + v 1 = 0 zmiennabazowa x 21 13 + u 2 + v 3 = 0 zmiennabazowa x 23 9 + u 3 + v 2 = 0 zmiennabazowa x 32 16 + u 3 + v 3 = 0 zmiennabazowa x 33 Otrzymujemy:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 2 0-9 -6-13 -2 8 6 2 30-1 -3 30 0 4 4 6-3 14 9 16 1 2 2 1 2 Rozwiązanie nie jest optmalne ponieważ pewne klatki niebazowe mają ujemne oceny. Wybieramy klatkę z najmniejszą ujemną oceną, czyli [1,3]. Dodajemy tą klatkę do klatek bazowych i konstruujemy cykl:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 26-1 -3 30 - + 6 4 2 1 + - 2 Najmniejszy przewóz dla klatek- znajduje się w klatce[1,2]. Klatka tawychodzizbazy.doklatek+dodajemyaodklatekodejmujemy. Otrzymujemy kolejne, lepsze rozwiązanie bazowe i ponownie obliczamy potencjały
A. Kasperski, M. Kulej BO Zagadnienie transportowe 27 0-6 -3 - -2 8 6 2 30 2 3 30-3 4 4 6 2-6 14 9 16 20 20 2 2 20 20 Ponieważ wszystkie oceny klatek niebazowych są nieujemne to tablica zawiera optymalne rozwiązanie. Przykład- rozwiązania zdegenerowane. Rozpatrzmy zagadnienie dla którego podaż, popyt, koszty oraz pierwsze rozwiązanie bazowe (metoda kąta) podane są w tabeli:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 28 12 6 9 12 4 0 3 9 2 0 W pierwszym rozwiązaniu pewne zmienne bazowe mają wartość 0. Rozwiązanie takie nazywamy rozwiązaniem zdegenerowanym. Należy odróżniać klatki z zerami bazowymi od klatek niebazowych! Obliczamy potencjały:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 29-12 -1-8 -12-1 -8 0 12 6 0-9 2 3 9 12 4 0 3 0-1 6 3 9 2 0 6-3 0 Do bazy wprowadzamy klatkę[1,2]. Tworzymy cykl i wykonujemy iterację:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 30-12 -1-8 0 - -9 2 + 0 12 6 3 + - 0-1 9 12 4 6-3 0 3 9 2 0 Należyuważaćabynieusunąćzbazydwóchklatek[1,1]i[2,2].Z bazy wychodzi tylko jedna z tych klatek(obojętnie która). Druga pozostaje klatką bazową. Otrzymujemy kolejne rozwiązanie zdegenerowane.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 31 Trasy zakazane. Jeżeli połączenie między dostawą i a odbiorcą j nieistniejetopodstawiamy c ij = M,gdzie Mjestjakąśbardzodużą liczbą.jeżeliwkońcowejtablicytransportowejotrzymamy x ij > 0, to wyjściowe zagadnienie jest sprzeczne( nie istnieje dopuszczalny plan przewozów). Przykład. Rozpatrzmy problem:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 32 Fabryka 1 3 Miasto 1 4 2 Fabryka 2 9 Miasto 2 20 Fabryka 3 8 7 9 14 7 Miasto 3 Miasto 4 30 30 Pierwsza tablica(bazowe rozwiązanie dopuszczalne wyznaczone metodą kąta północno-zachodniego) i pierwsza iteracja są następujące:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 33-3 -M+6-1 6 0 3 M M 2 6 M-1 8 3-6 -13 9 M 7 M 20 20 M 12 14 7 30-20 20 M-16 -M+ + + - 30 M 3 M M 2 9 M 7 M 30... M 12 14 7
A. Kasperski, M. Kulej BO Zagadnienie transportowe 34 Rozwiązanie to nie jest jeszcze optymalne. Należy wykonać kolejne iteracje. Optymalne rozwiązanie pokazane jest w poniższej tablicy: 3 M M 2 9 M 7 M M 12 14 7 30 0 30 4 30 30 Ponieważ przewóz na trasach zakazanych jest 0 to rozwiązanie to jest dopuszczalne(i optymalne). Wieloetapowe zagadnienie transportowe Przykład.TrzyfabrykiF1,F2iF3,którychpodażwynosi20,i
A. Kasperski, M. Kulej BO Zagadnienie transportowe 30majądostarczyćtowardodwóchodbiorcówO1iO2,których popytwynosi20i.towarmożebyćprzewożonypotrasach pokazanych na rysunku(czyli niekoniecznie bezpośrednio z fabryk do odbiorców). Wyznaczyć plan przewozu minimalizujący łączny koszt.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 36 F2 F3 1 2 O1 O2 +20 F1 2 + F2 7 F1 F2 2 3 1 0 1 7 20 +s 1 1 3 +30 F3 7 4 2 1 3 - O2 1 F3 1 2 0 7 0 4 0 3 30+s s s O1-20 O2 1 0 s s s s s 20 +s Połączenia oraz odpowiednia tablica transportowa pokazane są na rysunku.
A. Kasperski, M. Kulej BO Zagadnienie transportowe 37 Uwaga: Do pustych klatek należy wpisać koszty M(ponieważ odpowiednie połączenia nie istnieją). Uwaga: Koszty przewozu między tymi samymi punktami, np: międzyf2if2wynoszą0.sątotzw.przewozyfikcyjne. Rozwiązanie optymalne pokazane jest na poniższym rysunku:
A. Kasperski, M. Kulej BO Zagadnienie transportowe 38 F2 F3 1 2 O1 O2 20 1 +20 F1 1 +30 F3 7 4 20 30 + F2 2 1 3 - O2 O1-20 F1 F2 F3 1 2 O2 2 3 1 0 1 7 0 20 60 60 30 7 0 4 20 0 3 20 1 60 0 20 70 90 60 60 60 60 60 60 60 20 0
A. Kasperski, M. Kulej BO Zagadnienie transportowe 39 Końcowe uwagi na temat algorytmu transportowego: 1. Algorytm działa również wtedy, gdy koszty przewozów są ujemne. 2. Jeżeli celem jest maksymalizacja kosztów przewozu, to przed zastosowaniem algorytmu należy przemnożyć wszystkie koszty przez-1. 3. Jeżeli podaże i popyty wszystkich dostawców i odbiorców są liczbami całkowitymi, to algorytm zwraca optymalny przewóz całkowitoliczbowy.