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:
Wprowadźmy zmienne opisujące ilość towaru przewożonego
od i - tego dostawcy do j - tego odbiorcy.
Niech oznacza koszt przewiezienia jednostki towaru.
Jako funkcję celu przyjmijmy:
Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt,
czyli .
W przypadku zbilansowanym obszar dopuszczalny opisany jest następującym układem równań i nierówności:
, - pierwszy dostawca wysyła cały towar,
, - drugi dostawca wysyła cały towar,
, - n-ty dostawca wysyła cały towar,
, - pierwszy odbiorca dostaje cały towar,
, - drugi odbiorca dostaje cały towar,
, - t-ty odbiorca dostaje cały towar,
Ponadto nie można przewozić ujemnej liczby towarów - a więc:
![]() |
.
Czasami towary są podzielne jak prąd czy woda, ale zwykle dodajemy warunki:
Jeśli dodamy do siebie równania opisujące popyt otrzymamy
Analogicznie jeśli dodamy do siebie równania opisujące podaż otrzymamy
.
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 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 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.
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 ![]() ![]() |
( ![]() ![]() ![]() |
2b) Jeżeli ![]() ![]() |
( ![]() ![]() ![]() |
GO TO 1. |
Dane jest zagadnienie transportowe opisane tabelą:
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
6 | 15 ![]() |
|||
![]() |
X | 5 | |||
![]() |
X | 10 | |||
![]() |
X | 5 | |||
Popyty | 6![]() |
4 | 10 | 15 |
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
6 | 4 | 15 ![]() ![]() |
||
![]() |
X | X | 5 | ||
![]() |
X | X | 10 | ||
![]() |
X | X | 5 | ||
Popyty | 6![]() |
4![]() |
10 | 15 |
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
6 | 4 | 5 | X | 15 ![]() ![]() ![]() |
![]() |
X | X | 5 | ||
![]() |
X | X | 10 | ||
![]() |
X | X | 5 | ||
Popyty | 6![]() |
4![]() |
10 ![]() |
15 |
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
6 | 4 | 5 | X | 15 ![]() ![]() ![]() |
![]() |
X | X | 5 | 5![]() |
|
![]() |
X | X | X | 10 | |
![]() |
X | X | X | 5 | |
Popyty | 6![]() |
4![]() |
10 ![]() ![]() |
15 |
Mamy teraz jedną linię.
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
6 | 4 | 5 | X | 15 ![]() ![]() ![]() |
![]() |
X | X | 5 | 0 | 5![]() ![]() |
![]() |
X | X | X | 10 | 10![]() |
![]() |
X | X | X | 5 | 5![]() |
Popyty | 6![]() |
4![]() |
10 ![]() ![]() |
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.
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. |
W zadaniu z poprzedniego przykładu koszty opisane są tabelą:
Zaznaczamy komórki zmiennych bazowych * i dopisujemy 0 w pierwszym wierszu.
Koszty | ![]() |
![]() |
![]() |
![]() |
|
![]() |
1* | 3* | 7* | 9 | 0 |
![]() |
5 | 7 | 5* | 10* | |
![]() |
6 | 2 | 4 | 8* | |
![]() |
6 | 0 | 2 | 10* | |
Wymusza to liczby -1,-3 i -7 w pierwszych kolumnach.
Koszty | ![]() |
![]() |
![]() |
![]() |
|
![]() |
1* | 3* | 7* | 9 | 0 |
![]() |
5 | 7 | 5* | 10* | |
![]() |
6 | 2 | 4 | 8* | |
![]() |
6 | 0 | 2 | 10* | |
-1 | -3 | -7 |
Wymusza to 2 w drugim wierszu.
Koszty | ![]() |
![]() |
![]() |
![]() |
|
![]() |
1* | 3* | 7* | 9 | 0 |
![]() |
5 | 7 | 5* | 10* | 2 |
![]() |
6 | 2 | 4 | 8* | |
![]() |
6 | 0 | 2 | 10* | |
-1 | -3 | -7 |
Wymusza to -12 w czwartej kolumnie.
Koszty | ![]() |
![]() |
![]() |
![]() |
|
![]() |
1* | 3* | 7* | 9 | 0 |
![]() |
5 | 7 | 5* | 10* | 2 |
![]() |
6 | 2 | 4 | 8* | |
![]() |
6 | 0 | 2 | 10* | |
-1 | -3 | -7 | -12 |
Wymusza to 4 i 2 w ostatnich wierszach.
Koszty | ![]() |
![]() |
![]() |
![]() |
|
![]() |
1* | 3* | 7* | 9 | 0 |
![]() |
5 | 7 | 5* | 10* | 2 |
![]() |
6 | 2 | 4 | 8* | 4 |
![]() |
6 | 0 | 2 | 10* | 2 |
-1 | -3 | -7 | -12 | 2 |
Obliczając koszty zredukowane otrzymujemy.
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
0 | 0 | 0 | -3 | |
![]() |
6 | 6 | 0 | 0 | |
![]() |
9 | 3 | 1 | 0 | |
![]() |
7 | -1 | -3 | 0 | |
3) Wędrowanie między wierzchołkami.
3a) Wybieramy drogę o ujemnym koszcie - w przykładzie drogę wyznaczoną zmienną 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ą
4) Podstawiamy wyliczoną wartość i usuwamy z bazy jedną ze zmiennych na której ilość przewożonego towaru zmniejszyliśmy do 0.
Przewozy | ![]() |
![]() |
![]() |
![]() |
![]() |
6 | 4 | 5 | X |
![]() |
X | X | 5 | 0 |
![]() |
X | X | X | 10 |
![]() |
X | X![]() |
X | 5 |
Budujemy cykl:
Przewozy | ![]() |
![]() |
![]() |
![]() |
![]() |
6 | 4![]() |
5![]() |
X |
![]() |
X | X | 5![]() |
0![]() |
![]() |
X | X | X | 10 |
![]() |
X | X![]() |
X | 5![]() |
i nowym schematem przewozów jest:
Przewozy | ![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
![]() |
6 | X | 9 | X |
![]() |
X | X | 1 | 4 |
![]() |
X | X | X | 10 |
![]() |
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.
Dane jest zagadnienie transportowe opisane tabelą:
Koszty | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
1 | 3 | 7 | 9 | 15 |
![]() |
5 | 7 | 5 | 10 | 5 |
![]() |
6 | 2 | 4 | 8 | 10 |
![]() |
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.
W zagadnieniu transportowym opisanym tabelą:
Koszty | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
1 | 3 | 7 | 9 | 9 |
![]() |
6 | 9 | 5 | 10 | 13 |
![]() |
6 | 4 | 4 | 10 | 21 |
Popyty | 10 | 7 | 9 | 17 |
aktualnie realizowany jest następujący schemat przewozów .
Przewozy | ![]() |
![]() |
![]() |
![]() |
Podaże |
![]() |
x | x | x | 9 | |
![]() |
x | x | 5 | 8 | |
![]() |
10 | 7 | 4 | x | |
Popyty |
Stosując metodę sympleks popraw ten schemat przewozów do optymalnego i znajdź wszystkie optymalne schematy przewozów.
Znajdź wszystkie optymalne schematy przewozów dla zadania transportowego:
Koszty | ![]() |
![]() |
![]() |
![]() |
Popyty |
![]() |
9 | 2 | 1 | 10 | 8 |
![]() |
3 | 3 | 0 | 6 | 5 |
![]() |
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.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i
Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
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.