KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

Podobne dokumenty
BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE

ZAGADNIENIE TRANSPORTOWE

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

ZAGADNIENIE TRANSPORTOWE(ZT)

ZAGADNIENIE TRANSPORTOWE (część 1)

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

BADANIA OPERACYJNE Zagadnienie transportowe

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

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

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

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

Zagadnienie transportowe

Wykład z modelowania matematycznego. Zagadnienie transportowe.

ZAGADNIENIA TRANSPORTOWE

Zadanie transportowe

Zagadnienie transportowe

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

BADANIA OPERACYJNE pytania kontrolne

Programowanie liniowe. Tadeusz Trzaskalik

Klasyczne zagadnienie przydziału

Programowanie liniowe

Rozdział 1 PROGRAMOWANIE LINIOWE

ZAGADNIENIE TRANSPORTOWE

Rozdział 1 PROGRAMOWANIE LINIOWE

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

Metoda simpleks. Gliwice

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

1 Problem transportowy Wstęp Metoda górnego-lewego rogu Metoda najmniejszego elementu... 11

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

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ęść 2)

OPTYMALIZACJA DYSKRETNA

Zadanie niezbilansowane. Gliwice 1

OPTYMALIZACJA W LOGISTYCE

Wprowadzenie do badań operacyjnych - wykład 2 i 3

Badania Operacyjne Ćwiczenia nr 6 (Materiały)

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Programowanie liniowe

Programowanie liniowe

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Elementy Modelowania Matematycznego

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW

Optymalizacja kosztów transportu w sferze logistyki zaopatrzenia

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

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):

Teoretyczne podstawy programowania liniowego

Rozwiązanie zadania 1. Krok Tym razem naszym celem jest, nie tak, jak w przypadku typowego zadania transportowego

Metoda eliminacji Gaussa

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

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

1 Macierze i wyznaczniki

Wykład 5. Metoda eliminacji Gaussa

Macierze. Rozdział Działania na macierzach

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

Standardowe zadanie programowania liniowego. Gliwice 1

O MACIERZACH I UKŁADACH RÓWNAŃ

BADANIA OPERACYJNE ANALITYKA GOSPODARCZA

Wykład 6. Programowanie liniowe

Elementy Modelowania Matematycznego

Narzędzia wspomagania decyzji logistycznych

Typowe zadania decyzyjne (zadania transportowe, zadania przydziału)

Własności wyznacznika

Rozwiązanie problemu transportowego metodą VAM. dr inż. Władysław Wornalkiewicz

Wieloetapowe zagadnienia transportowe

Zaawansowane metody numeryczne

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

Problem zarządzania produkcją i zapasami

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

Programowanie liniowe metoda sympleks

Układy równań liniowych. Ax = b (1)

Analiza matematyczna i algebra liniowa Macierze

ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

( 1) ( ) 16 Warunki brzegowe [WB] Funkcja celu [FC] Ograniczenia [O] b i ( 2) ( ) ( ) 14. FC max. Kompletna postać bazowa

Badania operacyjne. te praktyczne pytania, na które inne metody dają odpowiedzi jeszcze gorsze.

Programowanie liniowe

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

3. Wykład Układy równań liniowych.

Programowanie celowe #1

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie nieliniowe

Zagadnienie transportowe i zagadnienie przydziału

Programowanie liniowe metoda sympleks

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

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

Algorytm simplex i dualność

Obliczenia iteracyjne

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Zagadnienia programowania liniowego dotyczą modelowania i optymalizacji wielu problemów decyzyjnych, na przykład:

Zagadnienie Dualne Zadania Programowania Liniowego. Seminarium Szkoleniowe Edyta Mrówka

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

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

TOZ -Techniki optymalizacji w zarządzaniu

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

OPTYMALIZACJA PROCESÓW LOGISTYCZNYCH

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Transkrypt:

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT). Przez klasyczne zagadnienie transportowe rozumiemy problem znajdowania najtańszego programu przewozowego jednorodnego dobra pomiędzy punktami nadania (m liczba nadawców) i punktami odbioru (n liczba odbiorców). Zmienne decyzyjne: x ij, i=1,,m j=1,,n - ilość towaru dostarczana przez i-tego dostawcę j-temu odbiorcy. Oznaczenia: a=[a i ], i=1,,m wektor podaży, b=[b j ], j=1,,n wektor popytu,

C=[c ij ], macierz jednostkowych kosztów transportu, r ij przepustowość trasy (i,j); 0 tylko dla tras, dla których rzeczywiście przepustowość jest ograniczona. Ogólnie, w klasycznym zadaniu transportowym 0 =1,, ; =1,,, tzn. przepustowości tras są nieograniczone. Zamiast minimalizacji jedynie całkowitych kosztów transportu można w funkcji kryterium uwzględnić łącznie koszty produkcji i transportu, odległości lub całkowity czas transportu.

Łączna podaż dostawców powinna być nie mniejsza niż łączny popyt odbiorców. m i= 1 n a i b j = 1 j Jeżeli powyższy warunek spełniony jest jako równość, mamy do czynienia z zamkniętym zagadnieniem transportowym, jeżeli jako nierówność ostra otwartym zagadnieniem transportowym. Każde otwarte ZT można przekształcić w zamknięte poprzez rozszerzenie listy punktów odbioru o dodatkowy n+1 punkt, którego zapotrzebowanie jest równe różnicy pomiędzy sumą podaży a sumą popytu. Dalej będziemy rozważać wyłącznie zamknięte ZT.

D1 Punkty Nadania- PODAŻ a 1 =1200 32 35 30 40 Punkty Odbioru- POPYT b 1 =1000 O1 O2 D2 a 2 =1000 37 40 42 b 2 =500 25 O3 D3 35 a 3 = 800 28 15 20 b 3 =750 O4 b 4 =750

Przykład: Firma dostarcza farmaceutyk produkowany w trzech fabrykach do czterech centrów dystrybucyjnych. Celem jest opracowanie planu przewozów, który charakteryzowałby się możliwie najmniejszym całkowitym kosztem transportu. Założenia: Jednostkowe koszty transportu są znane i stałe, przewozy odbywają się w tym samym czasie, rozważane są tylko trasy z fabryk do centrów dystrybucyjnych, łączny popyt jest równy łącznej podaży towaru Zmienne decyzyjne: x ij ilość towaru przewieziona z fabryki i do centrum j; i=1,2,3 j=1,2,3,4. Mamy do rozwiązania zamknięte zadanie transportowe: łączny popyt jest równy łącznej podaży produktów.

Min K(x)= 35X 11 +30X 12 +40X 13 + 32X 14 +37X 21 +40X 22 +42X 23 +25X 24 + 40X 31 +15X 32 +20X 33 +38X 34 Ograniczenia podażowe: X 11 + X 12 + X 13 + X 14 = 1200 X 21 + X 22 + X 23 + X 24 = 1000 X 31 + X 32 + X 33 + X 34 = 800 Ograniczenia popytowe: X 11 + X 21 + X 31 = 1000 X 12 + X 22 + X 32 = 500 X 13 + X 23 + X 33 = 750 X 14 + X 24 + X 34 = 750 Xij >= 0 i=1,,3 j=1,,4

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT) min Model decyzyjny: K (x) = c x 1 1 ij (1) i (2) (3) (4) n m n = j = x ij = ai i = 12,,..., m j= 1 m x ij = bj j = 12,,..., n i= 1 x ij 0 i = 12,,..., m j = 12,,..., n (WARUNKI BRZEGOWE) ij (łączny koszt transportu) (WARUNKI DLA DOSTAWCÓW) (WARUNKI DLA ODBIORCÓW) Model KZT jest liniowym modelem decyzyjnym. Może być rozwiązywany metodami rozwiązywania zadań PL. Użycie metody simpleks jest poprawne, ale nieefektywne.

Twierdzenie 1 Jeżeli a i (i=1,2,...,m) oraz b j (j=1,2,...,n) są liczbami nieujemnymi to zagadnienie transportowe (1)-(4) ma zawsze rozwiązanie. Twierdzenie 2 Jeżeli a i (i=1,2,...,m) oraz b j (j=1,2,...,n) są liczbami całkowitymi, to każde dopuszczalne rozwiązanie bazowe zagadnienia transportowego przyjmuje również wartości całkowite. Twierdzenie 3 W układzie równań (2)-(3) zawsze jedno równanie, dowolnie wybrane spośród m+n równań, jest liniową kombinacją pozostałych m+n-1 równań. Wniosek 1: Wymiar bazy w zagadnieniu transportowym wynosi m+n-1. Wniosek 2: W rozwiązaniu dualnym, sprzężonym z dowolnym dopuszczalnym rozwiązaniem bazowym zadania PL (1)-(4), przynajmniej jedna ze składowych jest zawsze równa zero. Wniosek 3: niezdegenerowane rozwiązanie bazowe zagadnienia (1)-(4) posiada m+n-1 niezerowych składowych. Wniosek 4: jednoznaczny optymalny program przewozowy wykorzysta nie więcej niż m+n-1 spośród ogólnej liczby m*n tras przewozowych.

STORM moduł TRANSPORTATION

STORM WPROWADZANIE DANYCH

Algorytm: Rozwiązanie wstępne metodą kąta północno-zachodniego (North-West Corner)

Powyższy ekran przedstawia macierz przewozów X o wymiarach 3x4 (trzech dostawców row 1 do row 3 oraz 4 odbiorców column 1 do column 3), wektor podaży (kolumna supply) oraz wektor popytu (wiersz demand). Liczby na czarnym polu w macierzy X to wielkości przewozów proponowane przez rozwiązanie wstępne uzyskane metodą kąta pn.-zach. Metoda ta rozpoczyna alokację towarów na trasy rozpoczynając od trasy (1,1), przydzielając zawsze maksymalną dopuszczalną ilość towaru. Następnie dokonuje się wyboru trasy w kierunku południowym bądź wschodnim, w zależności od ilości towarów pozostałych w odpowiadającym punkcie dostaw bądź ilości niezaspokojonego popytu w odpowiadającym punkcie odbioru. Czasem, w przypadku wyczerpania zarówno podaży jak i popytu, wybierana jest trasa w kierunku pd.-wsch. mamy wówczas do czynienia z tzw. degeneracją rozwiązania. Degeneracja rozwiązania oznacza, ze liczba tras, na których pojawią się przewozy towarów będzie mniejsza niż m+n-1. W przypadku degeneracji należy przyjąć, że na wybranej trasie, na wschód albo na południe, pojawi się przewóz, ale będzie on, oczywiście, równy zero.

Trasy, na których pojawiają się przewozy to tzw. trasy bazowe. Wielkości przewozów na trasach bazowych to wartości zmiennych bazowych. Ilość zmiennych bazowych MUSI być równa m+n-1. Następny etap algorytmu polega na sprawdzeniu, czy uzyskane rozwiązanie jest optymalne, tzw. odpowiada mu minimalna możliwa wartość łącznych kosztów transportu. Sprawdzenie polega na: wyznaczeniu wartości elementów dwóch ciągów liczbowych: {u i } i=1,,m, {v j } j=1,,n. Wartości te znajdujemy jako rozwiązanie układu równań: dla tras bazowych (których jest m+n-1) spełnione są warunki = +. Ponieważ liczba nieznanych wartości wynosi m+n, a mamy m+n-1 równań odpowiadających zmiennym bazowym układ nie ma jednoznacznego rozwiązania. Możemy uzyskać rozwiązanie warunkowe przyjmuje się (umowa), że =0 i przy tym warunku znajduje się pozostałe wartości elementów obu ciągów.

Dla tras niebazowych wyznacza się wartości wskaźników optymalności według wzoru: = +. Program STORM podaje wartości elementów ciągu {u i } i=1,,m w ostatniej kolumnie tablicy ponad wartościami podaży w punktach dostaw oraz wartości elementów ciągu {v j } j=1,,n w ostatnim wierszu tablicy ponad wartościami popytu w punktach odbioru. Dla tras niebazowych, w komórkach tablicy pokazane są: w lewym górnym rogu wartość kosztu jednostkowego, w prawym dolnym rogu - wartość wskaźnika optymalności. Rozwiązanie jest optymalne, jeżeli wszystkie wskaźniki optymalności są 0. Dla tras bazowych, z definicji, są one równe zero. Jeżeli dla wszystkich tras niebazowych wartości wskaźników są > 0 oznacza to, że wskazane rozwiązanie jest OPTYMALNE i JEDNOZNACZNE. Jeżeli dla wszystkich tras niebazowych wartości wskaźników są 0 oraz dla trasy niebazowej pojawi się zerowa wartość wskaźnika optymalności, oznacza to, że uzyskane rozwiązanie jest OPTYMALNE i NIEJEDNOZNACZNE (istnieje inne rozwiązanie bazowe, któremu odpowiada ta sama wartość funkcji kryterium minimalnych kosztów transportu).

Jeżeli przynajmniej jeden ze wskaźników optymalności jest UJEMNY, oznacza to, że rozwiązanie nie jest optymalne można znaleźć rozwiązanie bazowe, któremu odpowiadają mniejsze koszty transportu. Wartość ujemnego wskaźnika optymalności pokazuje, jak zmieni się funkcja kosztów, jeżeli dokonamy takiej zmiany alokacji towarów na trasach, że na wybranej trasie niebazowej pojawi się jednostka towaru. Na przykład, wartość wskaźnika optymalności dla trasy (2,4) wynosi -35. Oznacza to, że gdyby tak zmienić rozwiązanie (zachowując spełnione warunki podażowe i popytowe), że na trasie (2,4) pojawi się jednostka towaru (trasa stanie się bazowa i wartość nowej zmiennej bazowej x 2,4 będzie równa 1, to łączne koszty związane z nowym rozwiązaniem będą niższe o 35 zł. Analizując wartości UJEMNYCH wskaźników optymalności, dokonujemy wyboru trasy NIEBAZOWEJ, na którą najbardziej opłaca się dokonać alokacji (odpowiada jej największy co do modułu ujemny wskaźnik optymalności). Trasę tę program STORM oznacza znakiem +.

W następnym kroku projektujemy odpowiednie zmiany na trasach bazowych, tak aby nie zakłócić bilansu podaży i popytu. Wybrane trasy bazowe zaznaczone są w tablicy znakami - i +. Dokonujemy przesunięcia towarów wzdłuż wskazanej ścieżki zgodnie z projektem. Największa ilość towarów, które możemy przesunąć wzdłuż ścieżki (dająca największy możliwy spadek wartości funkcji kryterium), jest równa minimum z ilości występujących na trasach oznaczonych znakiem - (aby nie uzyskać niedopuszczalnej ujemnej wartości). Zmianę wartości funkcji kryterium można przewidzieć mnożąc wartość wskaźnika optymalności przez wyznaczoną ilość przesuwanych towarów. Po uzyskaniu nowego rozwiązania bazowego należy sprawdzić jego optymalność, wyznaczając nowe wartośći elementów ciągów {u i } i=1,,m, {v j } j=1,,n oraz wskaźników optymalności i, ewentualnie, dokonać dalszych poprawek rozwiązania. Rozwiązanie bazowe, uzyskane w pierwszej iteracji algorytmu transportowego (bazowa stała się trasa (2,4) natomiast usunięta została trasa (2,3); wzdłuż zaznaczonej ścieżki przesunięto 700 jednostek towaru), pokazuje następna tablica programu STORM.

Rozwiązanie uzyskane w pierwszej iteracji nie jest optymalne. W drugiej iteracji do bazy wprowadzona zostanie trasa (3,2). I tak dalej az do uzyskania rozwiązania optymalnego. Rozwiązanie optymalne jest jednoznaczne dla tras niebazowych wszystkie wskaźniki optymalności są większe od zera. Interpretacja wartości wskaźnika optymalności dla trasy niebazowej, np. wskaźnika dla trasy (3,4) równego 30, jest następująca: gdyby zastosować w praktyce rozwiązanie bazowe nieoptymalne, w którym na trasie (3,4) pojawiłaby się jednostka towaru, to koszty takiego rozwiązania będą wyższe o 30 zł w porównaniu z rozwiązaniem optymalnym

Rozwiązanie poprawione

Rozwiązanie optymalne

KLASYCZNY ALGORYTM TRANSPORTOWY (KAT) Krok [1] - ustal początkowy program przewozowy. Rozwiązaniem początkowym może być dowolny DOPUSZCZALNY BAZOWY program przewozowy. Popularnymi metodami generowania takich rozwiązań są: metoda kąta północno-zachodniego (NW corner) oraz metoda minimalnego kosztu w macierzy C. Krok [2] - sprawdź czy aktualny program przewozowy jest optymalny Kryterium optymalności. Aktualne rozwiązanie uznamy za optymalne, jeżeli dla wszystkich tras NIEBAZOWYCH spełniony będzie warunek: = + 0. Krok [3] - wyznacz trasę dającą największą obniżkę kosztów Kryterium wejścia. Spośród tras niebazowych, dla których wskaźnik optymalności jest ujemny wybieramy trasę dającą największą jednostkową obniżkę kosztów. Niech będzie to trasa {k, l} taka, że:

= min #$ %& { } =1,, =1,, Krok [4] - zbuduj cykl korygujący przewozy Cykl korygujący przewozy budujemy w tabeli (macierzy) rozwiązań. Budowa cyklu korygującego składa się z trzech działań. 1. Postaw znak "+" na polu {k, l} wytypowanym w kroku [3] i traktuj dalej to pole jako pole bazowe 2. Wykreślaj sekwencyjnie wiersze i kolumny, które zawierają po jednym nieskreślonym polu bazowym. Po skończonej ilości skreśleń pozostaną zawsze co najmniej dwa nieskreślone wiersze i dwie nieskreślone kolumny. 3. Przypisz znak "+" lub "-" wszystkim polom bazowym leżącym w nieskreślonych wierszach i kolumnach. Przypisywanie znaków musi być prowadzone tak, aby w każdym wierszu i kolumnie gdzie się pojawił się znak "+" lub "-" istniał znak przeciwny do niego. Wygodnie jest zacząć zawsze od pola {k, l}, gdzie wcześniej postawiono już znak +. Krok [5] - ustal maksymalny przewóz δ na trasie ustalonej w [3]. Kryterium wyjścia. Ustalamy przewóz na trasie {k, l} wytypowanej w kroku [3] oraz trasę, którą usuniemy z listy tras bazowych.

Oznaczmy: G + - zbiór tras bazowych oznaczonych w cyklu znakiem "+ G _ - zbiór tras bazowych oznaczonych w cyklu znakiem "-" Bazę (ściślej: listę zmiennych bazowych) opuści zmienna bazowa należąca do zbioru G _, która ma najmniejszą wartość. Niech będzie to zmienna związana z trasą {r, s}: )= *+ = min, #$. / { } Krok [6] - skoryguj program przewozowy wzdłuż cyklu. Przejście do sąsiedniego rozwiązania bazowego: Nowy (poprawiony) program przewozowy X wyznacza się następująco: Idź do kroku [2]. =1 ) dla 5,6 G_ +) dla 5,6 G 9 dla 5,6 5G 9 G < 6

Obliczenia KAT wygodnie jest prowadzić w tabelkach: Przewozy O1 O2 O3 O4 PODAŻ D1 1200 D2 1000 D3 800 POPYT 1000 500 750 750 3000 Ocena rozwiązania bazowego: Przewozy O1 O2 O3 O4 u i D1 0 D2 D3 v j

Otwarte zagadnienie transportowe (podaż przewyższa popyt) sprowadza się do zamkniętego zagadnienia poprzez dodanie dodatkowego punktu odbioru, którego popyt określony jest jako nadwyżka łącznej podaży nad łącznym popytem. Specjalne problemy: Blokowanie tras, Ograniczona przepustowość tras, Zagadnienie transportowe z punktami przeładunkowymi, Minimalizacja pustych przebiegów i inne.

ZAGADNIENIE PRZYDZIAŁU 1. m pracowników zostaje przydzielonych do m zadań. 2. Koszt jednostkowy c ij oznacza koszt wykonania zadania j przez i-tego pracownika 3. Zmienne takiego zadania są zmiennymi zero-jedynkowymi.

ALGORYTM WĘGIERSKI Dénes König Jenö (lub Eugene) Egervary (1931) On combinatorial properties of matrices (w jęz. węgierskim) Harold W. Kuhn (1955) The Hungarian Method for the Assignment Problem

Dane: Macierz kosztów C = [cij]. Krok 1. Przekształcenie macierzy kosztów C = [c ij ] tak, aby w każdym jej wierszu i w każdej kolumnie występowało przynajmniej jedno zero. W tym celu od każdego wiersza macierzy odejmuje się jego najmniejszy element i następnie (jeżeli trzeba) od każdej kolumny odejmuje się jej najmniejszy element. Krok 2. Skreślenie w przekształconej macierzy wierszy i kolumn zawierających zera możliwie najmniejszą liczbą linii (poziomych i pionowych). Jeżeli najmniejsza liczba linii niezbędnych do pokrycia wszystkich zer jest równa wymiarowi macierzy, czyli N, to można przejść do kroku 3. i wyznaczyć rozwiązanie optymalne. W przeciwnym przypadku należy przejść do kroku 4.

Krok 3. Ustalenie rozwiązania optymalnego, polegające na takiej konstrukcji macierzy X=[x ij ], aby jedynki znalazły się tylko na tych miejscach, na których w przekształconej macierzy kosztów występują zera (w każdym wierszu i każdej kolumnie może występować tylko jedna jedynka). Krok 4. Jeżeli liczba skreśleń jest mniejsza od rozmiaru macierzy N, w bieżącej macierzy kosztów należy znaleźć najmniejszy nieskreślony element i ten element: odjąć od elementów nieskreślonych, dodać do elementów podwójnie skreślonych. Elementy skreślone jedną linią zostawiamy bez zmian. Wrócić do kroku 2.

PRZYKŁAD Problem polega na podjęciu decyzji, do którego miejsca kontroli jakości i składowania mają być dostarczane produkty (małe urządzenia elektryczne) z 5 linii montażowych. Produkty z każdej z linii montażowych są kontrolowane tylko na jednym stanowisku kontroli. Dane dotyczą czasu dostarczania produktów w minutach. Minimalizowana funkcja kryterium łączny czas.

Linia montażowa S 1=1 1 Miejsce kontroli jakości A D 1=1 S 2 =1 2 B D 2 =1 S 3 =1 3 C D 3 =1 S 4=1 4 D D 4=1 S 5 =1 5 E D 5 =1

Model programowania liniowego dla zagadnienia przydziału Min 10X 11 + 4X 12 + + 20X 54 + 19X 55 S.T. X 11 + X 12 + X 13 + X 14 + X 15 = 1 X 21 + X 22 + + X 25 = 1 X 51 + X 52 + X 53 + X 54 + X 55 = 1 X 11 + X 21 + X 31 + X 41 + X 51 =1 X 12 + X 22 + X 32 + X 42 + X 52 =1 X 15 + X 25 + X 35 + X 45 + X 55 =1 Wszystkie zmienne są nieujemne, binarne Warunki dla linii montażowych Warunki dla miejsc kontroli jakosci

Inne problemy przydziału: Przydział produkcji wyrobów do poszczególnych miejsc pracy, aby zminimalizować czas lub koszty bądź zmaksymalizować efekty; zmienne to czas pracy i-tego miejsca przy wykonywaniu j-tego wyrobu; dane: wydajność i-tego miejsca przy wykonywaniu j-tego wyrobu, założona wielkość produkcji każdego z wyrobów, dopuszczalny czas pracy każdego z miejsc pracy, Przydział produkcji wyrobów do poszczególnych miejsc pracy, aby zminimalizować czas lub koszty bądź zmaksymalizować efekty; zmienne to czas pracy i-tego miejsca przy wykonywaniu j-tego wyrobu; dane: czas pracy i-tego miejsca przy wykonywaniu j-tego wyrobu, założona wielkość produkcji każdego z wyrobów, dopuszczalny czas pracy każdego z miejsc pracy.