Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie
OPIS ZAGADNIENIA Zagadnienie transportowe służy głównie do obliczania najkorzystniejszego rozplanowania wielkości dostaw towaru klasyczne zagadnienie dotyczy m - dostawców i n - odbiorców
OPIS ZAGADNIENIA Dane można przedstawić w postaci macierzowej oraz grafowej
OPIS ZAGADNIENIA Szukamy rozwiązania dla funkcji celu: celem jest minimalizacja kosztów transportu (co wyraża się przez sumę iloczynów jednostkowych kosztów przewozu i wielkości transportu od poszczególnych punktów odbioru)
OPIS ZAGADNIENIA Warunki ograniczające nieujemność przewozów (brak możliwości przewożenia towaru od odbiorcy do dostawcy i pomiędzy dostawcami/odbiorcami) odbiorcy nie przyjmują więcej towaru niż potrzebują (zapotrzebowanie Dj) tzw. warunki bilansowe dostawców dostawcy nie dostarczają więcej towaru niż ich zdolności podażowe (Cj) tzw. warunki bilansowe odbiorców
OPIS ZAGADNIENIA Zadanie zbilansowane Zadanie zbilansowane to takie: jeśli nie jest zbilansowane to sprowadzamy je do zbilansowanego poprzez wprowadzenie fikcyjnego odbiorcy: lub dostawcy: Każde zbilansowane zadanie ma rozwiązanie optymalne (skończone). Proces wyznaczania rozwiązania optymalnego jest dwuetapowy (najpierw rozwiązanie wstępne- które może być rozwiązaniem bazowym czyli z m+n-1 zmiennymi)
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Trzy magazyny: M1, M2, M3, zaopatrują w kruszywo cztery place budowy: P1, P2, P3, P4. Jednostkowe koszty transportu ( w zł. za tonę), oferowane miesięczne wielkości dostaw Ai ( w tonach) oraz miesięczne zapotrzebowanie placów budowy Bj (w tonach) podano w tabeli poniżej. Magazyny kij Place budowy P1 P2 P3 P4 M1 50 40 50 20 70 M2 40 80 70 30 50 M3 60 40 70 80 80 Ai[t] Bj[t] 40 60 50 50 200
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Należy opracować plan przewozu kruszywa z magazynów na place budowy, minimalizujący całkowite koszty transportu. Oznacza to, że mamy do czynienia z zagadnieniem transportowym zamkniętym (ZTZ). xij zmienne decyzyjne, które oznaczają ilość ton kruszywa, jaka powinna być dostarczona z i-tego magazynu (i=1,2,3) na j-ty plac budowy (j=1,2,3,4); jest ich 3*4=12.
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Należy opracować plan przewozu kruszywa z magazynów na Ograniczenia dla dostawców (Suma wielkości dostaw kruszywa z magazynu M do wszystkich placów budowy powinna być równa podaży magazynu.) Ograniczenia dla odbiorców (Suma dostaw kruszywa otrzymanych na plac budowy P ze wszystkich trzech magazynów powinna być równa całkowitemu jej zapotrzebowaniu.)
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Funkcja celu
ZAGADNIENIE TRANSPORTOWE WYZNACZANIE ROZWIĄZAŃ WSTĘPNYCH Metoda kąta północno-zachodniego Nazwa metody związana z przyjętą zasadą postępowania numerycznego, według której w każdym kroku wybiera się tę zmienną, która znajduje się w pn-zach rogu macierzy przewozów, redukowanej w trakcie realizacji algorytmu obliczeniowego. Numery (k,l) dla kolejnych zmiennych xkl wybieranych w danym kroku na zmienną bazową ustalane są na podstawie zależności: I - zbiór numerów dostawców, których zasoby w danym kroku nie zostały jeszcze rozdysponowane J - zbiór numerów odbiorców, których zapotrzebowanie w danym kroku nie zostało jeszcze zaspokojone Po wyborze kolejnych bazowych, ich wartości są obliczane z zależności:
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Rozwiązanie - Metoda kąta północno-zachodniego kij Place budowy Magazyny P1 P2 P3 P4 Ai[t] M1 50 40 50 20 70 M2 40 80 70 30 50 M3 60 40 70 80 80 Bj[t] 40 60 50 50 200 Magazyny Place budowy P1 P2 P3 P4 Ai M1 40 30 70 Rozwiązaniutemu odpowiadają następujące koszty transportu: M2 30 20 50 M3 30 50 80 Bj 40 60 50 50 200
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Metoda minimalnego elementu macierzy (klatek zerowych) Polega na rozmieszczaniu przewozów przede wszystkim po tych trasach, na których koszty są najmniejsze. Magazyny kij Place budowy P1 P2 P3 P4 Ai[t] M1 50 40 50 20 70/20/0 M2 40 80 70 30 50/10/0 M3 60 40 70 80 80/40/ Bj [t] 40/0 60/40/0 50/40 50/0 200
Krok 1 ckl = min cij = c14 =20 stąd zmienna bazowa x14 = min{50,70} = 50. Redukujemy zbiór odbiorców usuwając z macierzy kolumnę 4. Krok 2 ckl = min cij = c12 = c21 = c32 = 40. Wybieram w sposób dowolny zmienną bazową. Będzie to x12 = min {60,20}=20. Redukuję zbiór odbiorców usuwając wiersz 1. Krok 3 ckl = min cij = c21=c32 = 40, stąd wybieram zmienną bazową x21 = min {50,40} = 40. Redukujemy zbiór dostawców usuwając kolumnę 1. Krok 4 ckl = min cij = c32 = 40. Wybieram w sposób dowolny jedną zmienną bazową. Będzie to x32 = min {40,80} = 40 Krok 5 ckl = min cij = c23 = c33 = 70, stąd x23 = min {50, 10} = 10 Krok 6 ckl = min cij = c33 = 70 stąd x33= min {40,40} Funkcja celu wynosi 8500 zł ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Metoda minimalnego elementu macierzy Magazy ny Place budowy P1 P2 P3 P4 Ai M1 20 50 70 M2 40 10 50 M3 40 40 80 Bj 40 60 50 50 200
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Metoda klatek zerowych kij Place budowy Magazyny P1 P2 P3 P4 Ai[t] M1 50 40 50 20 70 M2 40 80 70 30 50 M3 60 40 70 80 80 Bj[t] 40 60 50 50 200 Magazyny Placebudowy P1 P2 P3 P4 Ai M1 30 20 30 0 70-20 M2 10 50 40 0 50-30 M3 20 0 30 40 80-40 Punktem wyjścia jest przekształcenie macierzy kosztów do takiej postaci, by w każdym wierszu i w każdej kolumnie występowało, co najmniej jedno zero. Można to uzyskać, między innymi odejmując od elementów poszczególnych wierszy macierzy kosztów, najmniejszy element znajdujący się w danym wierszu. Bj 40 60 50 50 200
Magazyny kij ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Metoda minimalnego elementu macierzy (klatek zerowych) Place budowy P1 P2 P3 P4 M1 50 40 50 20 70 M2 40 80 70 30 50 Ai[t] M3 60 40 70 80 80 Bj[t] 40 60 50 50 200 Place budowy Magazyny P1 P2 P3 P4 Ai M1 20 20 0 0 70 Następnie od poszczególnych kolumn otrzymanej w ten sposób macierzy, odejmując element najmniejszy, znajdujący się w danej kolumnie. M2 0 50 10 0 50 M3 10 0 0 40 80 Bj 40 60 50 50 200-10 -30
ZAGADNIENIE TRANSPORTOWE - PRZYKŁAD Metoda klatek zerowych Mając tak przekształconą macierz kosztów, staramy się rozmieścić przewozy na trasy, gdzie koszty są najniższe, czyli gdzie występują zera. Rozmieszczanie przewozów rozpoczynamy od dowolnej klatki zerowej. Jeżeli uda się rozmieścić przewozy wyłącznie w klatkach, w których występują zera, to otrzymane rozwiązanie jest już optymalnym planem przewozów. Jeżeli nie, należy je poprawić stosując algorytm transportowy. Magazyny Placebudowy P1 P2 P3 P4 M1 30 40 70 M2 40 10 50 M3 60 20 80 Bj 40 60 50 50 200 Ai
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW W tym algorytmie wykorzystujemy rozwiązanie wstępne wyznaczone jedną z dwóch poprzednich metod. Postać algorytmu jest następująca: 1. Wyznaczenie rozwiązania bazowego wstępnego dla zadania zbilansowanego (wg. Jednej z poprzednio przedstawionych metod) 2. Rozwiązanie układu równań:,, są niewiadomymi układu równań (tzw. potencjały) o indeksach odpowiadających dotychczasowym wierzchołkom grafu rozwiązań, B - zbiór par (i,j) takich, że xij jest zmienną bazową. Powyższy układ równań jest układem nieoznaczonym, gdyż składa się z m+n-1 równań i m+n niewiadomych. Aby rozwiązać układ należy przyjąć w jednym z równań dowolną wartość dla jednej z niewiadomych. 3. Wyznaczenie tzw. równoważną macierz zerową rozwiązania bazowego, której elementy wynoszą:
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW 4. Sprawdzić,czy. Jeśli warunek jest spełniony to uzyskaliśmy rozwiązanie optymalne, jeśli nie to szukamy dalej. 5. Ustalić indeksy (k,l) nowej zmiennej bazowej!" przy wykorzystaniu kryterium wejścia według formuły:!" #$% & (). 6. Wyznaczyć cykl Ł(k,l) oraz podzbiory Łn(k,l) i Łp(k,l) łuki, cykl, po dołączeniu nowego wierzchołka (bazowego) CYKL TO TAKI ZBIÓR WĘZŁÓW, DLA KTÓREGO W KAŻDEJ LINII (WIERSZU LUB KOLUMNIE) ZNAJDUJĄ SIĘ 0 LUB 2 WĘZŁY TEGO ZBIORU. Ł(k,l) to graf tworzący cykl w rozwiązaniu bazowym przez dołączenie wierzchołka (k,l). Chcąc wyodrębnić wierzchołki parzyste i nieparzyste w grafie oznacza się je indeksami n i p.
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW 7. Ustalić za pomocą kryterium wyjścia numer (r,s) zmiennej +, usuwanej z części bazowej rozwiązania. Kryterium ma postać: +, $, Ł. /,0 & :, ) 8. Wyznaczyć nowe rozwiązanie bazowe przy zastosowaniu tzw. wzór przejścia 4", 5 Ł!," 2 3 +, 4", Ł!," +, 4", Ł.!," Nowo wprowadzonej zmiennej!" można nadać wartość zmiennej +,, określoną wzorem: +, $, Ł. /,0 & :, ) W celu dotrzymania przy tym warunków ograniczających, należy zmniejszyć o +,, przewozy na trasach przechodzących przez węzły ze zbioru Łp(k,l) i zwiększyć o +, przewozy na trasach przebiegających przez węzły Łn(k,l). Tak uzasadniona jest ostatnia zależność.
Układ dla naszego przykładu (metoda minimalnego elementu macierzy): (1) 6 +7 8 +9 8 =0 (2) 6 +7 : +9 : =0 (3) 6 8 +7 +9 8 =0 (4) 6 8 +7 ; +9 8; =0 (5) 6 ; +7 ; +9 ;; =0 (6) 6 ; +7 8 +9 ;8 =0 WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Jest to układ nieoznaczony, dlatego też należy przyjąć np. w pierwszym równaniu. Wtedy podstawiając znane wartości pozostałe niewiadome można wyznaczyć jednoznacznie. Oblicza się: v2 = -c12 - u1 = -40-0 = -40 v4 = -c14 - u1 = -20-0 = -20 u3 = -c32 - v2 = -40+40=0 u2 = -c23 - v3 = -70 +70 = 0 v3 = -c33 -u3 = -70 +0 = -70 v1 = -c21 - u2 = -40-0 = -40 Dla, którego obliczona funkcja celu wynosi 8500 zł. Tak wyznaczone zostały potencjały łącznie z danymi wstępnymi.
Wyznaczamy równoważną macierz C 0 odpowiadającą rozwiązaniu wstępnemu. Poszczególne elementy tej macierzy wynoszą: = 50+0 + (-40) = 10 = 40+0 + (-40) = 0 c 0 13 = 50+0+(-70)=-20 c 0 14 = 20+0 + (-20) = 10 c 0 21 = 40+0 + (-40) = 0 c 0 22 = 80+0 + (-40) = 40 c 0 23 = 70+0 + (-70) = 0 c 0 24 = 30+0 + (-20) = 10 c 0 31 = 60+0 + (-40) = 20 c 0 32 = 40+0 + (-40) = 0 c 0 33 = 70+0 + (-70) = 0 = 80+0 + (-20) = 60 c 0 11 c 0 12 c 0 34 WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Wpisane w tabelce powyżej w prawym rogu. Sprawdzamy czy C 0 jest większa od zera. Widzimy, że ma 1 element mniejszych od zera. Widzimy, że rozwiązanie wstępne nie jest rozwiązaniem optymalnym.
Dane widoczne są w tabeli: WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW <=>ś9@a<b CAD<@ąDFG@B FDA<B 6D=HIFGB D JJKJ 9 6 +7 kij Magazyny Place budowy P1 P2 P3 P4 Ai [t] ui 9 ; 6 ; +7 M1 50 10 40 0 50-20 20 0 20 50 70 0 M2 40 0 80 70 0 30 10 50 0 40 10 M3 60 20 40 0 70 0 80 60 80 0 40 40 Bj [t] 40 60 50 50 200 vj -40-40 -70-20
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Ustalamy więc numer (k,l) nowej zmiennej bazowej x kl przy zastosowaniu kryterium wejścia. Zgodnie z nim (!" #$% & (). ) mamy: c 0 kl= c 0 13. Czyli w celu poprawienia rozwiązanianależy do części bazowej wprowadzić zmienną x 13. Wyznaczamy cykl Ł(k,l) oraz podzbiory Łn i Łp. Widzimy, że po dołączeniu wierzchołka (1,3) powstał cykl. Wprowadzając przewóz na trasie (1,3) należy, w celu zachowania bilansów, powiększyć przewozy w węzłach oznaczonych "+" oraz 2 zmniejszyć w węzłach oznaczonych"-". 3 4", 5 Ł!," +, 4", Ł!," +, 4", Ł.!," Ustalamy za pomocą kryterium wyjścia numer (r,s) zmiennej x rs, która zostanie teraz usunięta z części bazowej rozwiązania. Mamy więc: x rs = x 12 =20. Czyli ją usuwamy.
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Wyznaczamy nowe rozwiązanie bazowe przy zastosowaniu wzorów przejścia. Dla wierzchołków (i,j) należących do Łn. x' 13 = 20 + 0 =20 x' 23 = 10 +... =10 // nie dodaje w nieparzystym wierzchołku x' 32 = 40 + 20 =60 A dla wierzchołków (i,j) należących do Łp x' 12 = 20-20 = 0 x' 33 = 40-20 =20 Reszta bez zmian.
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Rozwiązanie po drugiej iteracji: kij Magazyny Place budowy P1 P2 P3 P4 Ai [t] ui M1 M2 50 20 40 20 50 0 20 0 70 0 20 20 50 40 0 80 40 70 0 30-10 50-20 40 10 M3 60 20 40 0 70 0 80 40 80-20 60 20 Bj [t] 40 60 50 50 200 vj -20-20 -50-20
WYZNACZANIE ROZWIĄZAŃ OPTYMALNYCH METODA POTENCJAŁÓW Rozwiązanie optymalne: kij Magazyny Place budowy P1 P2 P3 P4 Ai [t] ui M1 50 40 50 20 30 40 70 M2 M3 40 80 70 30 40 10 10 60 40 70 80 60 20 50 80 Bj [t] 40 60 50 50 200 vj
Dziękuję za uwagę