Podręcznik
Wersja podręcznika: 1.0
Data publikacji: 01.01.2022 r.
Wykłady
W1…WN, odpowiadające w sumie ok. 10-12 godz. standardowego wykładu
1. Modele sieciowe
1.2. Zagadnienia modelowane jako problemy w sieciach przepływowych
W sieciach przepływowych formułuje się problemy typowe dla sieci przepływowych, w szczególności problem maksymalnego przepływu i problem przepływu minimalnokosztowego. Cała sztuka modelowania polega na „zakodowaniu” problemu, który chcemy rozwiązać w pojęciach ze świata sieci przepływowych. Najpierw dokonujemy więc pewnego mapowania problemu do problemu w sieci przepływowej. Następnie rozwiązujemy odpowiedni problem w sieci przepływowej. Uzyskany w ten sposób wynik dekodujemy z przestrzeni pojęć sieci przepływowej do domeny wyjściowego problemu. Dlatego istotne jest jednoznaczne i poprawne określenie parametrów sieci przepływowej, zazwyczaj przepustowości i kosztów łuków, oraz wskazanie problemu do rozwiązania na sieci. Przedstawimy teraz dwa kluczowe problemy rozwiązywane w sieciach przepływowych.
Problem maksymalnego przepływu
Problem polega na znalezieniu maksymalnego przepływu od
wierzchołka źródłowego
do wierzchołka ujściowego
. W problemie tym
muszą zostać zdefiniowane przepustowości krawędzi, natomiast nie są
wykorzystywane koszty.
Poniżej znajduje się przykładowa sieć przesyłowa dla problemu maksymalnego przepływu.

Rozwiązanie problemu maksymalnego przepływu zostało zaznaczone poniżej w postaci przepływów podanych w nawiasach kwadratowych.

Problem maksymalnego przepływu można rozwiązywać np. algorytmem Forda-Fulkersona. Dla całkowitoliczbowych przepustowości algorytm ten znajduje rozwiązanie całkowitoliczbowe w skończonej liczbie iteracji. Ponieważ w niniejszym materiale skupiamy się na modelowaniu, czytelnika chcącego poznać szczegóły algorytmu odsyłamy do pozycji bibliograficznych.
Model programowania liniowego dla problemu maksymalnego przepływu jest następujący:
Z maksymalnym przepływem wiąże się pojęcie minimalnego przekroju.
Przekrojem grafu
nazywamy podział łuków na dwa rozłączne
podzbiory
oraz
. Przepustowość przekroju
to
suma przepustowości wszystkich łuków łączących wierzchołki
z
wierzchołkami
.
Wartość dowolnego przepływu w sieci nie może być większa niż
przepustowość dowolnego przekroju. W szczególności wartość maksymalnego
przepływu w sieci
jest równa przepustowości minimalnego przekroju w sieci
.
Minimalny przekrój może być wyznaczony np. w ramach
ostatniej iteracji algorytmu Forda-Fulkersona, w której finalne znakowanie wierzchołków
wyznacza ich podział na podzbiory
i
.
Problem najtańszego przepływu
Problem najtańszego przepływu wymaga zdefiniowania jednostkowych
kosztów przepływ na łukach. Należy znaleźć przepływ o zadanej wielkości z węzła
źródłowego
do ujścia
przy minimalnym sumarycznym koszcie przepływu.
Poniżej znajduje się przykładowa sieć przesyłowa dla problemu najtańszego przepływu, gdzie pierwsza liczba z pary x/y oznacza przepustowość, a druga koszt.

Rozwiązanie problemu najtańszego przepływu zostało zaznaczone poniżej w postaci przepływów podanych w nawiasach kwadratowych.

Problem najtańszego przepływu może być rozwiązywany uproszczoną metodą sympleks lub dedykowanymi algorytmami sieciowymi.
Model programowania liniowego dla problemu minimalnokosztowego
przepływu
jest następujący:
Zadanie pn. „SEZAM: System Edukacyjnych Zasobów Akademickich i Multimedialnych” realizowane w ramach projektu „NERW PW. Nauka – Edukacja – Rozwój – Współpraca” współfinansowanego ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego




