Mieczysław Połoński Zakład Technologii i Organizacji Robót Inżynieryjnych Wydział Inżynierii i Kształtowania Środowiska SGGW Zagadnienia transportowe Z m punktów odprawy ma być wysłany jednorodny produkt odpowiednio w ilościach a, a,..., a m i dostarczony do n punktów odbioru odpowiednio w ilościach b, b,..., b n. Koszt transportu jednostki z i-tego punktu odprawy do j-tego punktu odbioru wynosi c i,j i jest znany dla wszystkich kombinacji (i,j). Trzeba wyznaczyć ilości i,j produktu, które należy przewieźć do wszystkich (i,j) tak, aby zminimalizować całkowity koszt transportu. Zadanie można zdefiniować następująco: m n i j c min przy ograniczeniach: n j m i a i b j i = m j = n 0 ; a i b m i a 0 ; b 0 i j n j j
Algorytm transportowy. Wybierz m+n- tras i znajdź odpowiednie początkowe bazowe rozwiązanie dopuszczalne. Sprawdź, czy wprowadzenie zmiennej niebazowej do zbioru zmiennych bazowych tego rozwiązania polepszy wartość funkcji celu. Jeśli tak, idź do kroku, w przeciwnym razie stop.. Wyznacz zmienną bazową na miejsce której wprowadzisz do zbioru zmiennych bazowych zmienną określoną w kroku.. Oblicz wielkości przepływów na tych tras, które odpowiadają zmiennym bazowym kolejnego bazowego rozwiązania dopuszczalnego. Wróć do kroku. Sprowadzenie zadania dowolnego do zadania, w którym a i =b j W przypadku, gdy a i b j wprowadzamy fikcyjny punkt podaży (gdy a i b j ) lub fikcyjny punkt popytu (gdy a i b j ). Wartości podaży lub popytu równa się a i - b j (lub odwrotnie). Koszty przewozu jednostkowego na nowo wprowadzonych trasach równają się zeru.. a i b j wprowadź fikcyjny punkt popytu o popycie b n+ = a i - b j i c i,n+ = 0, i =...m. tzn wprowadź dodatkową kolumnę do macierzy zadania.. a i b j wprowadź fikcyjny punkt podaży o podaży a m+ = b j - a i i c m+,j = 0, j =...n tzn wprowadź dodatkowy wiersz do macierzy zadania.
Schemat blokowy zagadnienia transportowego. Określ dane i ograniczenia rozwiązywanego problemu m i.czy a i bj n j Tak. Zbuduj pierwsze rozwiązanie bazowe stosując metodę kąta północno-zachodniego Nie. Wprowadź fikcyjny punkt podaży lub popytu i sprowadź do m i a i bj n j 5.Czy zbudowane rozw. bazowe jest rozwiązaniem zdegenerowanym Tak 6. Zastosuj metodę perturbacji i sprowadź do zagadnienia niezdegenerowanego Nie 7. Oblicz wartość funkcji celu 8. Oblicz u i oraz j dla wszystkich 9. Oblicz nowe c dla wszystkich kombinacji 0. Oblicz c - c dla wszystkich kombinacji. Czy jest c - c >0 Nie. STOP znalazłeś rozwiązanie optymalne Tak. Określ, na której trasie wprowadzasz nowy przewóz w nowym rozwiązaniu bazowym. Oblicz wartość wprowadzonego przewozu, tzn. określ wartość. Zbuduj nowe rozwiązanie bazowe
Przykład: Z trzech cementowni transportowany jest cement do czterech zakładów produkcyjnych. Ilość sprzedawanego cementu, jego zapotrzebowanie na budowach i jednostkowe koszty przewozu na każdej trasie podane są poniżej. Znajdź ilości wożonego cementu na poszczególnych trasach, które zminimalizują całkowity koszt transportu i spełnią ograniczenia zadania. 5 0 8 6 5 b 7 b 5 b b 7 a 6 a 9 a 0 a = 6 c = b = 7 a = b = 5 b = a = 0 c =9 b = Czy a i i j bj ; a i =6 + + 0 = 7 i ji bj = 7 + 5 + + = 7 a i i j bj
. Poszukuję pierwsze rozwiązanie bazowe stosując metodę kąta północno - zachodniego. 6 0 0 0 6-6=0 0 7-6= 5 min(6,7) 6 6 0 0 0 0 0 0 0 -=0 0 0 -=0 5 min(,) 6 0 0 0 0 0 0 0 0 0 5 0-5=5 0 5-5=0 min(5,0) 5 6 0 0 0 0 0 0 0 0 0 5 5-= 0 0 -=0 min(,5) 6 0 0 0 0 0 0 0 0 0 5 -=0 0 0 0 -=0 min(,) 0 5
. Pierwsze rozwiązanie bazowe 6 6 5 0 7 5 Czy rozwiązanie jest zdegenerowane? Rozwiązanie bazowe nazywamy zdegenerowanym, gdy (liczba > 0) < (m + n - ) W przykładzie liczba = 5 < + - rozwiązanie jest zdegenerowane.. Metoda perturbacji Zmienić wyjściowe wartości podaży i popytu wg zasady: â a dla i = m i i b ˆ j b dla j =,,n-; j bˆ b m gdzie m m-liczba punktów podaży n -jednostka stojąca na najmniej znaczącym miejscu ( dokładność obliczeń) n W przykładzie np. 0, i ponownie stosuje się metodę kąta północnozachodniego dla zmodyfikowanych wartości podaży i popytu. 6, 0 0 0 6,;0 0,9 0, 0 0,;0,0 0,8, 0,;5,;, 7 5, 0,9,8 0 0 0 Dzięki metodzie perturbacji możemy określić, które zero wprowadzamy do rozwiązania bazowego. W przykładzie do rozwiązania bazowego należy wprowadzić zero na pozycji. gdyż w metodzie perturbacji w tym miejscu nie występuje zero. 6
Ostatecznie pierwsze dopuszczalne rozwiązanie bazowe wynosi: 6 6 0 5 0 7 5 FC = 6 + +0 0+5 8+ 5+ 9 = 6 5. Obliczenie u i oraz j Dla zmiennych wchodzących do rozwiązania bazowego musimy wyznaczyć m liczb u i oraz n liczb j takich, że ui j c tzn. w przykładzie u u u 0 u 5 u 8 u 9 Układ równań jest nieoznaczony (siedem niewiadomych, sześć równań). Wyznaczamy rozwiązanie zakładając, że któraś ze zmiennych jest równa odpowiadającemu jej współczynnikowi c. Obliczenia przeprowadzamy w tabeli. u 0 u 8 5 9 u Zakładam u = i rozwiązuję powyższy układ równań u = 0 u = 8 5 9 u = 9 = 0 = - = 6 = 0 7
6. Obliczenie c ; u c = dla wszystkich kombinacji : 8 u = 0 7 u = 9 8 5 9 u =9 =0 =- =6 =0 7. Obliczenie c c : 0 - - -5 0 0 0 0 0 0 Czy istnieje c c >0 Tak 8. Wprowadzenie nowej trasy Trasa na której wprowadzam nowy przewóz: jest to trasa o największej c c. Jeśli istnieje kilka tras o takiej samej wartości maksymalnej, wybieram ten, dla którego c jest najmniejszy. 9. Wprowadzam przewóz na trasie.. 6 6 - Θ 0 + Θ Θ 5 - Θ 0 7 5 Wartość Θ obliczam na podstawie następujących nierówności -Θ 0 Θ Θ 0 Θ 0 0 + Θ 0 Θ 0 5 Θ 0 Θ 5 8
Szukam największej wartości Θ, która spełnia te nierówności Θ = 0 5 Ponieważ wprowadzono nowy przewóz na trasie. jeden przejazd musi być również zlikwidowany. Po wstawieniu Θ do starego rozwiązania bazowego otrzymujemy nowe rozwiązanie bazowe (zlikwidowano przewóz na trasie.). 6 6 0 7 5 FC = 6 + 0+ 5+ 8+ 5+ 9= Uwaga! Po zbudowaniu każdego nowego rozwiązania bazowego należy sprawdzić, czy zgadzają się sumy w wierszach z podażą, sumy w kolumnach z popytem i liczba tras bazowych jest m + n -. W tym miejscu algorytm zaczyna się powtarzać. Kolejne iteracje. A. u = c c 5 6 u = - 0 7 u =- 5 8 5 9 u =5 0 + 6-Θ Θ 0 +Θ -Θ 0 - - 0 0 0 0 0 0 6 5 0 7 5 Θ = FC = +5 5+ + 0+ 5+ = 0 9
B. u = c c 6 u =- - 0 9 u =0 5 6 5 9 u =6 0 0 - - 0 0-0 0-0 9 -Θ +Θ - Θ Θ 5+Θ -Θ Θ = 5 6 6 0 7 5 FC = +5 +6 5+ 6+ 5+ 9 = 0 C. u = c c 6 u = - - 6 0 u =- 5 6 5 9 u =6 0 0 - -5-0 - 0-0 0-0 9 -Θ 5 Θ 6+Θ -Θ Θ = 5 6 7 0 7 5 FC 5 = 5 + + 6+7 5+ 5+ 9 = 00 0
D u = c c 5 u = - - 6 0 u = 6 5 7 5 9 u = 5-0 0 - - 5-0 - 0-0 0-0 - 8 0-6 Czy istnieje c c >0 Nie Ostatnie rozwiązanie bazowe jest rozwiązaniem optymalnym FC opt = 00 5 6 7 0 7 5 FC opt = 5 + + 6+7 5+ 5+ 9 = 00