Wspomaganie Decyzji. Roman Słowiński. Zakład Inteligentnych Systemów Wspomagania Decyzji. Instytut Informatyki. Politechniki Poznańskiej

Podobne dokumenty
WSPOMAGANIE DECYZJI - MIŁOSZ KADZIŃSKI LABORATORIUM VI METODA WĘGIERSKA

Programowanie liniowe

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Klasyczne zagadnienie przydziału

OPTYMALIZACJA W LOGISTYCE

ZAGADNIENIE TRANSPORTOWE(ZT)

Zagadnienie transportowe

Wykład z modelowania matematycznego. Zagadnienie transportowe.

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

ZAGADNIENIE TRANSPORTOWE

Zagadnienie transportowe

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Programowanie liniowe

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Programowanie liniowe

ZAGADNIENIE TRANSPORTOWE

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

Definicja problemu programowania matematycznego

Elementy Modelowania Matematycznego

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985.

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Rozwiązanie Ad 1. Model zadania jest następujący:

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

PROGRAMOWANIE KWADRATOWE

ZAGADNIENIA TRANSPORTOWE

OPTYMALIZACJA W LOGISTYCE

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

OPTYMALIZACJA DYSKRETNA

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

BADANIA OPERACYJNE pytania kontrolne

Metody Ilościowe w Socjologii

Programowanie nieliniowe

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Programowanie liniowe. Tadeusz Trzaskalik

Elementy Modelowania Matematycznego

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

Analiza matematyczna i algebra liniowa Macierze

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

Układy równań i nierówności liniowych

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Rozdział 1 PROGRAMOWANIE LINIOWE

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Ekonometria - ćwiczenia 10

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne

Programowanie liniowe metoda sympleks

PROGRAMOWANIE NIELINIOWE

1 Macierze i wyznaczniki

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Wykład z Technologii Informacyjnych. Piotr Mika

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

5. Rozwiązywanie układów równań liniowych

Teoretyczne podstawy programowania liniowego

Programowanie liniowe

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Rozwiązywanie problemów z użyciem Solvera programu Excel

Rozdział 1 PROGRAMOWANIE LINIOWE

Planowanie przedsięwzięć

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

Układy równań liniowych

Standardowe zadanie programowania liniowego. Gliwice 1

Macierze. Rozdział Działania na macierzach

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wielokryteriowa optymalizacja liniowa

Programowanie dynamiczne. Tadeusz Trzaskalik

Układy równań liniowych

Zadanie transportowe

Układy równań liniowych

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

ZAGADNIENIE TRANSPORTOWE (część 1)

Matematyczne Podstawy Informatyki

Programowanie liniowe

Definicje. Algorytm to:

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Programowanie celowe #1

BADANIA OPERACYJNE Zagadnienie transportowe

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Własności wyznacznika

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

1. Który z warunków nie jest właściwy dla powyższego zadania programowania liniowego? 2. Na podstawie poniższej tablicy można odczytać, że

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

3. Macierze i Układy Równań Liniowych

Metoda simpleks. Gliwice

Optymalizacja. Algorytmy dokładne

Teoria obliczeń i złożoność obliczeniowa

G. Wybrane elementy teorii grafów

13 Układy równań liniowych

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Transkrypt:

Wspomaganie Decyzji Roman Słowiński Zakład Inteligentnyc Systemów Wspomagania Decyzji Instytut Informatyki Politecniki Poznańskiej Roman Słowiński

Problem decyzyjny Istnieje cel lub cele do osiągnięcia Istnieją alternatywne sposoby osiągnięcia tego celu (celów) Wybór najlepszego sposobu nie jest trywialny 2

Modele problemów decyzyjnyc Modele teorio-decyzyjne (matematyczne): optymalizacyjny (badania operacyjne) wielokryterialny (wielokryterialne wspomaganie decyzji) Modele sztucznej inteligencji: logiczny (maszynowe uczenie się) neuronowy (sztuczne sieci neuronowe) 3

Modele problemów decyzyjnyc Modelowanie matematyczne: Reprezentacja problemu decyzyjnego z użyciem funkcji rzeczywistyc (której argumentami są zmienne modelu), lub z użyciem relacji porządkującyc Forma reprezentacji: programowanie matematyczne, relacja preferencji w zbiorze wariantów decyzyjnyc Modele sztucznej inteligencji: Budowanie reprezentacji problemu decyzyjnego na drodze analizy przykładów decyzji (przykładów uczącyc) Forma reprezentacji: funkcje rzeczywiste, reguły decyzyjne, drzewa decyzyjne, sieci semantyczne

Modelowanie problemów decyzyjnyc a niedoskonałość informacji Racunek prawdopodobieństwa i statystyka matematyczna [Bernoulli, 7] niepewność wynikająca z przypadkowej zmienności parametrów (werystyczna) Aksjomat o addytywności prawdopodobieństw zdarzeń rozłącznyc: P(A) + P( A) Teoria zbiorów rozmytyc [Zade, 9] niepewność natury subiektywnej (posybilistyczna) i nieostrość pojęć: ( ) + µ ( ) µ A A Teoria zbiorów przybliżonyc [Pawlak, 982] niepewność wynikająca z granularności informacji (niespójność, dwuznaczność): obiekt albo na pewno należy, albo być może należy, albo na pewno nie należy do zbioru A

Model programowania matematycznego ) rozwiązanie (wariant decyzyjny): [,..., n ] 2) funkcja celu (kryterium): f(,..., n ) 3) ograniczenia definiujące zbiór A rozwiązań dopuszczalnyc (wariantów decyzyjnyc): g i (,..., n ), i,...,m Problem programowania matematycznego: Należy: z f(,..., n ) MIN (lub MAX) przy ograniczeniac: g i (,..., n ) (lub ) b i, i,...,m

Problem programowania liniowego (PL) 7 { },...,n j,...,m i b,, a MIN c z j i n j j ij n j j j,, przy ograniczeniac:

Wielokryterialny problem PL (WPL) 8 { },...,n j,...,m i b,, a MIN c z c z j i n j j ij n j j k j k n j j j,, przy ograniczeniac:

Problemy decyzyjne modelowane w kategoriac programowania matematycznego, sprowadzalne do programowania liniowego Problem programowania ilorazowego c + c z d + d MIN przy ograniczeniac : A b, d + d > gdzie c T [,..., n], b [ b,...,bm ] [ c,...,c ], d [ d,...,d ] n n T Transformacja Carnesa-Coopera 9

Transformacja Carnesa-Coopera Wprowadzamy zmienne pomocnicze: u d + d u d + d, czyli u,...,n Podstawiając te zmienne do funkcji celu i ograniczeń, otrzymujemy: j j, j d + d c + c c + c d + d d + d d + d A b A b d + d d + d u d + d ponieważ d + d >, to d + cu + c d u Au bu > u >

Transformacja Carnesa-Coopera Ponadto dla powiązania u i u : u d d + d + u d d + d d + d du + du d + d Otrzymaliśmy następujący problem zastępczy równoważny problemowi programowania ilorazowego: z cu + cu MIN przy ograniczeniac : Au bu du + du u, u >

Transformacja Carnesa-Coopera Problem ten byłby problemem PL, gdyby u, a nie u > Tw. Jeżeli istnieje rozwiązanie optymalne problemu zastępczego ( ) z warunkiem u (czyli problemu PL) postaci u,u, takie że ( ), to wektor u > u,u jest rozwiązaniem optymalnym wyjściowego problemu programowania ilorazowego W zagadnieniac praktycznyc zazwyczaj spełniony jest warunek u >, dlatego stosowanie metody Carnesa-Coopera i rozwiązywanie problemu zastępczego jako problemu PL kończy się powodzeniem. 2

Problem programowania celowego z przy A gdzie c k w c ograniczeniac : b MIN T [,..., n], b [ b,...,bm ] [ c,...,c ],,...,k n c gdzie c są wartościami pożądanymi funkcji c,,..,k (cele) T 3

Wprowadzamy zmienne oznaczające odcyłki od celów: Mamy Otrzymujemy zastępczy równoważny problem PL: { } { } k,..., c,c ma y c,c ma y,, +,...,k y y y y y y c c y y c c,,, + + + + + ( ),...,k,y y b A y y c c ograniczeniac : przy MIN y y w z k,, + + + +

+ ( ) Tw. Jeśli, y, y jest rozwiązaniem optymalnym zastępczego problemu PL, to + y y,,...,k

Problem programowania min-ma (problem Czebyszewa) z przy A gdzie c MAX,...,k { w ( c c )} ograniczeniac : b MIN T [,..., n], b [ b,...,bm ] [ c,...,c ],,...,k n T

Wprowadzamy zmienną pomocniczą: funkcji typu α c można także sprowadzić do problemu PL w podobny sposób, wprowadzając dla każdej z tyc funkcji osobną zmienna typu α c c c,,...,k Otrzymujemy zastępczy równoważny problem PL: α MIN przy ograniczeniac : α,,..,k A b (zmienna α nie musi być nieujemna) Problem, w którym należy minimalizować sumę skończonej liczby MAX,...,k { w ( c c )} 7

Problem transportowy m liczba punktów nadawczyc (magazyny) n liczba punktów odbiorczyc (klienci) koszt transportu jednostki towaru z magazynu i do odbiorcy j d j zapotrzebowanie odbiorcy j s i ilość towaru w magazynie i Należy zminimalizować łączne koszty transportu Zmienna decyzyjna: ij ilość towaru przesłana z magazynu i do odbiorcy j 8

Problem transportowy z ij n j m i gdzie m i m n i j przy ograniczeniac : i,...,m, j,...,n s i ij ij s d i j c n j ij d MIN i,...,m j,...,n j ij Problem ten można rozwiązać metodą sympleksów 9

Problem przydziału m liczba zadań (programy) m liczba wykonawców (procesory) koszt wykonania i przez wykonawcę j Elementy tworzą macierz efektywności C[ ] o wymiarac m m Każde zadanie może być wykonywane przez co najwyżej jednego wykonawcę Każdy wykonawca może wykonać tylko jedno zadanie Należy tak przydzielić do wykonawców, by zminimalizować łączny koszt wykonania wszystkic zadań 2

Zmienna decyzyjna: ij,, gdy wykonawca i nie w przeciwnym razie jest przydzielony do j z m m i j c ij ij MIN przy ograniczeniac : m j ij i,...,m m i ij j,...,m ij {, } i,...,m, j,..., m Jest to problem - programowania liniowego Jest to także przypadek szczególny problemu transportowego, gdzie s i d j, nm i zmienna decyzyjna jest - 2

Problem transportowy ma tę korzystną własność, że jeżeli s i i d j są liczbami całkowitymi i istnieje coćby jedno rozwiązanie dopuszczalne, to istnieje rozwiązanie optymalne, w którym ij są wszystkie liczbami całkowitymi lub zerami Metoda sympleksowa znajduje to całkowitoliczbowe rozwiązanie optymalne Dzieje się tak dlatego, gdyż macierz współczynników ograniczeń A problemu transportowego jest unimodularna (wyznacznik dowolnej podmacierzy kwadratowej macierzy A jest, lub -), a wektor prawyc stron ograniczeń b jest złożony z liczb całkowityc (B - b) Problem przydziału ma zatem tę samą własność Istnieje jednak prostsza metoda rozwiązania problemu przydziału 22

Macierz efektywności C[ ] o wymiarac m m 2 9 7 8 3 3 9 przydział niedopuszczalny Przydział do polega na wyborze konkretnego elementu Tyc m wybranyc elementów ma dać minimalną sumę 23

Operacje arytmetyczne na macierzy efektywności C[ ] nie powodujące zmiany rozwiązania optymalnego: 2 9 7 8 3 3 9 Dodanie lub odjęcie dowolnej stałej od dowolnego wiersza lub kolumny macierzy C[ ] Np. odejmując 3 od wiersza i oraz dodając 2 do kolumny j otrzymamy: z gdyż m i j m m j c ij ij ij 3 m i ij m j ij + 2 m i ij m i j 3 + 2, tzn. funkcja celu ulega tylko przesunięciu o pewna stałą m c ij ij 2

Odejmijmy zatem najmniejszy element różny od zera w każdym wierszu i w każdej kolumnie: 2 3 9 3 7 8 9-2 - - - 2

Odejmijmy zatem najmniejszy element różny od zera w każdym wierszu i w każdej kolumnie: 2 8 3 7 9-2

Otrzymujemy macierz efektywności C[ ] z co najmniej m elementami zerowymi: 2 8 3 2 Warunkiem koniecznym optymalnego przydziału jest dokonanie go według współrzędnyc elementów zerowyc macierzy C[ ] Warunkiem dostatecznym optymalnego przydziału jest niezależność m wybranyc elementów zerowyc macierzy C[ ], według któryc nastąpił przydział (para elementów niezależnyc elementy w dwóc różnyc wierszac i w dwóc różnyc kolumnac) 27

Twierdzenie Königa: Maksymalna liczba niezależnyc elementów zerowyc dowolnej macierzy C równa jest minimalnej liczbie linii koniecznyc do pokrycia wszystkic elementów zerowyc tej macierzy 8 2 2 3 Na powyższyc elementac zerowyc macierzy C nie da się stworzyć optymalnego przydziału (3 linie 3 elementy zerowe niezależne < ) 28

Algorytm metody węgierskiej (dla minimalizacji łącznego kosztu przydziału). W każdym wierszu wyznacz minimalny element i odejmij go od każdego elementu tego wiersza. 2 3 9 3 7 8 9-2 - - 8 7 2 3-9 29

2. W każdej kolumnie wyznacz minimalny element i odejmij go od każdego elementu tej kolumny. 2 8 3 7 9 2 8 3 2-3. Jeśli w danym wierszu jest dokł. jedno nienaznaczone zero, to naznacz je symbolem i skreśl inne zera w odpowiadającej mu kolumnie.. Jeśli w danej kolumnie jest dokł. jedno nienaznaczone zero, to naznacz je symbolem i skreśl inne zera w odpowiadającym mu wierszu. 3

. Kroki 3 powtarzaj do wyczerpania. Jeśli znaleziono przydział do m zer, to jest on optymalny STOP.. Jeśli są jeszcze nienaznaczone zera, to naznacz jedno z nic symbolem ( północno-zacodnie ) i skreśl inne zera w odpowiadającej mu kolumnie i wierszu np. # # # # # # # # # # 2 8 3 2 7. Zaznacz wiersze bez przydziału. 8. Zaznacz kolumny, które mają zero w dowolnym zaznaczonym wierszu. 9. Zaznacz wiersze, które mają przydział w zaznaczonyc kolumnac.. Powtarzaj kroki 8 9 do wyczerpania. 3

. Pokryj liniami niezaznaczone wiersze i zaznaczone kolumny. 2 8 3 2 2 8 3 2-2 -2 +2 2. Jeśli liczba linii pokrywającyc wszystkie zera jest równa liczbie naznaczonyc zer, to znajdź minimalny niepokryty element, odejmij go od niepokrytyc (zaznaczonyc) wierszy i dodaj do pokrytyc (zaznaczonyc) kolumn, po czym wróć do kroku 3. W przeciwnym razie przejdź do kroku 3. 32

. Pokryj liniami niezaznaczone wiersze i zaznaczone kolumny. 2 8 3 2 3 3 9 2 3 3 2. Jeśli liczba linii pokrywającyc wszystkie zera jest równa liczbie naznaczonyc zer, to znajdź minimalny niepokryty element, odejmij go od niepokrytyc (zaznaczonyc) wierszy i dodaj do pokrytyc (zaznaczonyc) kolumn, po czym wróć do kroku 3. W przeciwnym razie przejdź do kroku 3. 33

Kroki 3,, : 3 3 9 2 3 3 3 3 9 2 3 3 Optymalny przydział: wykonawca zadanie koszt w z3 9 + w2 z2 + w3 z + w z 28 3

3. Skonstruuj graf skierowany o 2m+2 wierzcołkac: s, w,,w m, z,,z m, t. Dla każdego naznaczonego zera ( ) o współrzędnyc (i,j) utwórz łuk z j w i ; dla zer skreślonyc ( ) o współrzędnyc (i,j) łuk w i z j ; dla wierszy i bez przydziału łuk s w i ; dla kolumn j bez przydziału łuk z j t. np. 7 3 7 7 3 3 7 7 7 7 3 3 7 7 3 3 Konieczne są linie do pokrycia wszystkic zer, czyli istnieją zera niezależne, a przydziału dokonano tylko do 3 zer. 3

3. Skonstruuj graf skierowany o 2m+2 wierzcołkac: s, w,,w m, z,,z m, t. Dla każdego naznaczonego zera ( ) o współrzędnyc (i,j) utwórz łuk z j w i ; dla zer skreślonyc ( ) o współrzędnyc (i,j) łuk w i z j ; dla wierszy i bez przydziału łuk s w i ; dla kolumn j bez przydziału łuk z j t. w z s w2 w3 w z2 z3 z t wiersz (wykonawca) kolumna (zadanie) 3

3. Skonstruuj graf skierowany o 2m+2 wierzcołkac: s, w,,w m, z,,z m, t. Dla każdego naznaczonego zera ( ) o współrzędnyc (i,j) utwórz łuk z j w i ; dla zer skreślonyc ( ) o współrzędnyc (i,j) łuk w i z j ; dla wierszy i bez przydziału łuk s w i ; dla kolumn j bez przydziału łuk z j t. w z s w2 w3 w z2 z3 z t wiersz (wykonawca) kolumna (zadanie) 37

3. Skonstruuj graf skierowany o 2m+2 wierzcołkac: s, w,,w m, z,,z m, t. Dla każdego naznaczonego zera ( ) o współrzędnyc (i,j) utwórz łuk z j w i ; dla zer skreślonyc ( ) o współrzędnyc (i,j) łuk w i z j ; dla wierszy i bez przydziału łuk s w i ; dla kolumn j bez przydziału łuk z j t. w z s w2 w3 w z2 z3 z t wiersz (wykonawca) kolumna (zadanie) 38

. Z otrzymanego grafu utwórz sieć warstwową: do pierwszej warstwy wstaw wierzcołek s, do warstwy i+ wstaw każdy wierzcołek, którego nie ma w warstwie wcześniejszej, i do którego docodzi łuk z dowolnego wierzcołka warstwy i. W ostatniej warstwie znajdzie się wierzcołek t. w z s w2 w3 w z2 z3 z t wiersz (wykonawca) kolumna (zadanie) 39

. Z otrzymanego grafu utwórz sieć warstwową: do pierwszej warstwy wstaw wierzcołek s, do warstwy i+ wstaw każdy wierzcołek, którego nie ma w warstwie wcześniejszej, i do którego docodzi łuk z dowolnego wierzcołka warstwy i. W ostatniej warstwie znajdzie się wierzcołek t. w z s w2 z2 t w3 z3 w z sieć warstwowa s w z w z3 w2 z t z2 w3

. Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz ( ) zera skreślone o współrzędnyc (i,j), odpowiadające łukowi w i z j na tej ścieżce; cofnij ( ) przydział zer naznaczonyc o współrzędnyc (i,j), odpowiadającyc łukowi z j w i na tej ścieżce. W poniższej sieci są ścieżki powiększające przepływ sieć warstwowa s w z w z3 w2 z t z2 w3

. Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz ( ) zera skreślone o współrzędnyc (i,j), odpowiadające łukowi w i z j na tej ścieżce; cofnij ( ) przydział zer naznaczonyc o współrzędnyc (i,j), odpowiadającyc łukowi z j w i na tej ścieżce. ścieżka powiększająca przepływ s w z w z3 w2 z t 2

. Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz ( ) zera skreślone o współrzędnyc (i,j), odpowiadające łukowi w i z j na tej ścieżce; cofnij ( ) przydział zer naznaczonyc o współrzędnyc (i,j), odpowiadającyc łukowi z j w i na tej ścieżce.. Jeśli znaleziono przydział do m zer, to jest on optymalny STOP. 7. Wróć do kroku 7. w z w z3 w2 z z w z3 w2 3 Przydział optymalny 3

Uwagi uzupełniające: Ten sam algorytm można zastosować dla problemu maksymalizacji funkcji celu (zysku), jeśli zamieni się znaki elementów macierzy C[ ] na przeciwne. Jeśli macierz C[ ] nie jest kwadratowa, to można ją uzupełnić elementami zerowymi w kolumnac lub wierszac, tak aby uzyskać macierz kwadratową. Jeśli przydział i do j jest zakazany, to przyjmujemy.