Olśniło mnie kiedyś i rozwiązałem takie jedno przykładowe zadanie od A do Z. Postanowiłem wiec zamieścić je dla potomnych bo mi już nie będzie potrzebne. Sesja Zaliczona!!!
Trzy magazyny: , zaopatrują w mąkę cztery piekarnie: . Jednostkowe koszty transportu (w zł za tonę), oferowane miesięczne wielkości dostaw (w tonach) oraz miesięczne zapotrzebowanie piekarń (w tonach) podano w tabeli poniżej.
Tabela 1
| Magazyny / Piekarnie | P1 | P2 | P3 | P4 | Podaż (Ai) |
|---|---|---|---|---|---|
| M1 | 50 | 40 | 50 | 20 | 70 |
| M2 | 40 | 80 | 70 | 30 | 50 |
| M3 | 60 | 40 | 70 | 80 | 80 |
| Popyt (Bj) | 40 | 60 | 50 | 50 | 200 |
Należy opracować plan przewozu mąki z magazynów do piekarń, minimalizujący całkowite koszty transportu.
Oznacza to, że mamy do czynienia z zagadnieniem transportowym zamkniętym (ZTZ).
Zmienne decyzyjne oznaczają ilość ton mąki, jaka powinna być dostarczona z -tego magazynu () do -tej piekarni (); jest ich . Ponieważ jest to zagadnienie transportowe zamknięte (zbilansowane), dostawcy sprzedadzą całą ilość oferowanego towaru, a zapotrzebowania piekarń zostaną w całości zaspokojone.
Ograniczenia dla dostawców
Suma wielkości dostaw mąki z magazynu do wszystkich piekarń powinna być równa podaży magazynu:
Ograniczenia dla odbiorców
Suma dostaw mąki otrzymanych przez piekarnię ze wszystkich trzech magazynów powinna być równa całkowitemu jej zapotrzebowaniu:
Dodatkowe warunki brzegowe (nieujemności)
Minimalizacja łącznych kosztów transportu – Funkcja Celu
albo prościej:
gdzie to jednostkowe koszty transportu z tabeli 1.
Dla tak sformułowanego modelu wyznaczamy początkowe rozwiązanie dopuszczalne – przykładowo za pomocą dwu wybranych metod.
Metoda kąta północno-zachodniego
Polega na tym, że wypełnienie macierzy przewozów rozpoczyna się od klatki w lewym górnym rogu (stąd nazwa kąta północno-zachodniego). Wpisuje się do niej mniejszą z liczb odpowiadających tej klatce, a następnie przesuwa się w prawo lub w dół:
- w prawo, gdy popyt bieżącej kolumny został wyczerpany,
- w dół, gdy podaż bieżącego wiersza została wyczerpana,
- jeśli oba wyczerpią się jednocześnie — występuje degeneracja (należy wstawić sztuczne zero).
W rozpatrywanym przykładzie do klatki wpisujemy () i przesuwamy się w prawo (ponieważ zapotrzebowanie piekarni zostało zaspokojone, a magazynowi zostało jeszcze , które dostarczy do piekarni ).
Obecnie przesuwamy się w dół – do magazynu , który dostarczy brakujące mąki do piekarni () i pozostałe mąki do piekarni ().
Przesuwamy się powtórnie w dół do magazynu , który dostarczy brakujące mąki do piekarni () i pozostałe mąki do piekarni ().
Uwaga: W tym przykładzie ani razu popyt i podaż nie wyczerpały się jednocześnie, więc degeneracja nie wystąpiła. Rozwiązanie bazowe ma niezerowych przewozów — tyle, ile powinno.
| Magazyny / Piekarnie | P1 | P2 | P3 | P4 | Podaż (Ai) |
|---|---|---|---|---|---|
| M1 | 40 | 30 | – | – | 70 |
| M2 | – | 30 | 20 | – | 50 |
| M3 | – | – | 30 | 50 | 80 |
| Popyt (Bj) | 40 | 60 | 50 | 50 | 200 |
Rozwiązaniu temu odpowiadają następujące koszty transportu:
Metoda minimalnego elementu macierzy (klatek zerowych)
Polega na rozmieszczaniu przewozów przede wszystkim po tych trasach, na których koszty są najmniejsze. 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ć:
- Odejmując od elementów poszczególnych wierszy macierzy kosztów najmniejszy element znajdujący się w danym wierszu:
- A następnie od poszczególnych kolumn otrzymanej w ten sposób macierzy odejmując element najmniejszy znajdujący się w danej kolumnie:
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. Otrzymujemy w ten sposób początkowe rozwiązanie bazowe. Aby potwierdzić, że jest ono optymalne, należy przeprowadzić test optymalności — na przykład metodą potencjałów (MODI) lub stepping stone. W tym konkretnym zadaniu rozwiązanie okazało się optymalne, ale nie wynika to z samego faktu użycia klatek zerowych.
Rozdysponowanie przewozów najlepiej rozpocząć od tych kolumn (lub wierszy), w których występuje tylko jedno zero — nie mamy wtedy wyboru i unikamy błędów.
W przekształconej macierzy:
-
Kolumna (popyt ) ma tylko jedno zero — w klatce (podaż ). Wpisujemy mniejszą z tych dwóch wartości: . Popyt zostaje wyczerpany, podaż spada z do .
-
Kolumna (popyt ) ma tylko jedno zero — w klatce (podaż ). Wpisujemy . Popyt zostaje wyczerpany, podaż spada z do .
Teraz w kolumnie (popyt ) zera są w i . ma już tylko podaży — wpisujemy tam , co wyczerpuje podaż . Pozostały popyt wynosi — pokrywa go : . Podaż spada z do .
W kolumnie (popyt ) zera są w i . Zostało: ma , ma , popyt to . Wpisujemy i .
Wszystkie przewozy udało się rozmieścić w klatkach zerowych. W tym przykładzie rozwiązanie to okazuje się optymalne (co można potwierdzić metodą potencjałów lub Solverem).
| Magazyny / Piekarnie | P1 | P2 | P3 | P4 | Podaż |
|---|---|---|---|---|---|
| M1 | – | – | 30 | 40 | 70 |
| M2 | 40 | – | – | 10 | 50 |
| M3 | – | 60 | 20 | – | 80 |
| Popyt | 40 | 60 | 50 | 50 | 200 |
Związane są z nim następujące koszty transportu:
W tym przykładzie metoda klatek zerowych prowadzi do znacznie lepszego rozwiązania początkowego (8000 zł vs 13 100 zł metodą kąta północno-zachodniego). W innych zadaniach przewaga jednej metody nad drugą zależy jednak od konkretnej macierzy kosztów.
Solver
Postępować według instrukcji. Analogicznie rozwiązuje się podobne zadania :)
Komentarze