You are on page 1of 131

POLITECHNIKA RADOMSKA im.

Kazimierza Puaskiego w Radomiu STUDIUM PRZEDSIBIORCZOI i ZARZDZANIA przy WYDZIALE EKONOMICZNYM

Zeszyty Naukowo Dydaktyczne

Seria II: Metody matematyczne Zeszyt 4

Zbigniew leszyski

Badania operacyjne - podstawy


(materiay pomocnicze do wykadu)

Radom 2005

Spis treci
I. Program, bibliografia przedmiotuBadania operacyjne podstawy .......... 4 1.1 Badania operacyjne definicja ................................................................... 4 1.2 Tre przedmiotu Badania operacyjne. ................................................... 4 1.3 Bibliografia:.................................................................................................. 5 II. Cz I. Elementy programowania liniowego ............................................... 6 2.1.Uwagi wstpne.............................................................................................. 6 2.2 Przykadowe modele programowania liniowego ......................................... 7 2.3. Metoda graficzna rozwizywania zagadnie programowania liniowego................................................................................ 12 2.4 Metoda simpleks ......................................................................................... 24 2.5.Zagadnienie transportowe jako szczeglny przypadek zagadnienia programowania liniowego............................................................................... 40 2.6. Zagadnienie PL dualne.............................................................................. 70 III. CZ II Wykorzystanie klasycznego zagadnienia transportowego do podejmowania racjonalnych decyzji ........................................................... 77 3.1 Zagadnienie z blokad tras......................................................................... 77 3.2 Wieloszczeblowe zadanie transportowe z ograniczeniami ........................ 79 3.3 Optymalna lokalizacja budowy i rozbudowy magazynw.......................... 83 3.4 Wieloszczeblowe zadanie transportowe bez ogranicze ............................ 86 3.5. Zagadnienie z kryterium czasu (ZKC) ....................................................... 89 3.6. Zadanie transportowe z kryterium kosztw i czasu jako celami konfliktowymi; rozwizania kompromisowe..................................................... 93 3.7. Zadanie transportowe wieloszczeblowe dwukryteriowe z kryterium czasu i kosztw transportu................................................................................ 95 3.8. Zadanie transportowe wieloszczeblowe dwukryteriowe z kryterium minimalizacji kosztw transportu i magazynowania, strat z tytuu niewykorzystania zdolnoci magazynowych oraz czasu dostaw ...................... 98 IV. CZ III Programowanie cakowitoliczbowe........................................ 103
2

V. CZ IV Programowanie dynamiczne .................................................... 108 VI. CZ V Programowanie sieciowe ......................................................... 115 VII. CZ VI Problem komiwojaera .......................................................... 122 VIII. CZ VII Koszty jako kryterium podejmowania decyzji gospodarczych w warunkach niepewnoci .................................................. 128

I. Program, bibliografia przedmiotu Badania operacyjne podstawy


1.1 Badania operacyjne - definicja Badania operacyjne dziedzina nauki, zajmujca si analiz celowych dziaalnoci (operacji), generowaniem i ocen ilociow rnych decyzji kierowniczych (operacyjnych, taktycznych, strategicznych). Nauka pozwalajca na analiz rnych strategii dziaania oraz wybr spord moliwych najrozsdniejszej (niekiedy optymalnej). 1.2 Tre przedmiotu Badania operacyjne. 1. Istota bada operacyjnych, rys historyczny, przykadowe modele, obszary zastosowa. 2. Modele programowania liniowego, metoda graficzna, metoda simpleks, zagadnienie dualne (tw. o dualnoci, przykady uwagi) 3. Klasyczne zagadnienie transportowe, blokada tras, F H O, zagadnienia lokalizacyjno-transportowe, lokalizacyjno-rozwzkowe, procedura dwch cieek, zagadnienie z kryterium czasu, zagadnienia mieszane. 4. Programowanie cakowitoliczbowe, (przydzia rodkw transportu na trasy, idea metody ci Gomoryego, przykady, metoda podziau i ogranicze). 5. Programowanie dynamiczne (zagadnienie dyliansu, zagadnienie podziau zasobw) 6. Programowanie sieciowe, cieka krytyczna, metoda CPM 7. Problem komiwojaera. 8. Elementy teorii gier (gry dwuosobowe, gry z natur). 9. Optymalizacja Markowitza. nieliniowa, programowanie kwadratowe, model

1.3 Bibliografia: 1. Caczyski A., Kdzierska-Str D.,Orzechowska D., leszyski Z., Elementy bada operacyjnych w zarzdzaniu, Politechnika Radomska, Radom 2000. 2. Caczyski A., Rola bada operacyjnych w naukach ekonomicznych, ZN SPiZ Politechniki Radomskiej, Radom 2003. 3. Grabowski W., Programowanie matematyczne, PWE, Warszawa, 1980. 4. Guzik B., Sikora W., Elementy bada operacyjnych. AE w Poznaniu,, Pozna 1994. 5. Ignasiak E. (red), Badania operacyjne, PWE, Warszawa 2001. 6. Kopaska-Brdka D., Optymalne decyzje inwestycyjne, AE Katowice, 1999. 7. Kukua K. (red), Badania operacyjne w przykadach i zadaniach, WN PWN S.A., Warszawa 2004. 8. Mitchell G.H. Badania operacyjne metody i przykady, WNT, Warszawa, 1977. 9. Nowak E. Decyzyjne rachunki kosztw, Wydawnictwo Naukowe PWN, Warszawa 1994. 10. Trzaskalik T. Wprowadzenie do bada operacyjnych, PWE, Warszawa 2003. 11. Wagner H.N. Badania operacyjne. Zastosowania w zarzdzaniu. PWE, Warszawa 1980.

II. CZ I. ELEMENTY PROGRAMOWANIA LINIOWEGO


2.1.Uwagi wstpne Dziaalno gospodarcza wymaga okrelenia jej celu (efektu) oraz rodkw, za pomoc ktrych ten cel (efekt) ma by uzyskany. Zazwyczaj istniej rne kombinacje rodkw, ktre zapewniaj zrealizowanie ustalonego celu. W zwizku z tym wyania si konieczno wyboru decyzji zastosowania takiej kombinacji rodkw, ktre zapewniaj realizacj celu w stopniu maksymalnym, czyli uzyskanie maksymalnego efektu. Przypumy dla przykadu, e przedsibiorstwo wytwarza 4 rne produkty: A, B, C, D, przy czym zysk uzyskany z jednostki kadego produktu jest rny. Rnym kombinacjom iloci produkcji poszczeglnych wyrobw odpowiada bd rne zyski osigane przez przedsibiorstwo. Jeeli przedsibiorstwo moe podejmowa samodzielnie decyzje dotyczce asortymentu produkcji to oczywicie wybierze ono spord moliwych, rnych decyzji produkcyjnych decyzj produkowania takich iloci produktw A, B, C i D, ktre zapewni osignicie maksymalnego zysku (efektu). Decyzj gospodarcz, ktra zapewnia uzyskanie maksymalnego efektu nazywamy optymaln decyzj gospodarcz albo optymalnym wariantem planu. Jedn z metod wyznaczania optymalnych decyzji gospodarczych (wariantw planu) jest programowanie liniowe. Metodyka wyznaczania optymalnych decyzji ekonomicznych powinna skada si z nastpujcych etapw: spoeczno-ekonomiczna sformuowanie, wybr zmiennych decyzyjnych, analiza zagadnienia i jego ekonomiczne

wybr celu i okrelenie funkcji celu, okrelenie wspzalenoci pomidzy zmiennymi decyzyjnymi w postaci rwna lub nierwnoci, zgodnie z istniejcymi ograniczeniami, sformuowanie modelu ekonomiczno-matematycznego, wybr algorytmu (metody) rozwizania. Temu dziaowi bada operacyjnych powicona jest niniejsza cz. Na pocztku podamy przykady sytuacji decyzyjnych, na podstawie ktrych mona otrzyma modele matematyczne zagadnie programowania liniowego (w skrcie PL). Dalej omwimy prost metod wyznaczania rozwizania optymalnego szczeglnego zagadnienia PL - zagadnienia o dwch zmiennych decyzyjnych jest to metoda graficzna. Metoda ta pozwoli nam jednoczenie uzmysowi sobie z jakimi problemami przy rozwizywaniu zagadnie PL moemy si zetkn. W kolejnym etapie omwimy ogln metod rozwizywania zagadnie PL metod simpleks, przy tym zwrcimy gwnie uwag na praktyczn stron postpowania wedug tej metody. 2.2 Przykadowe modele programowania liniowego Rozpatrzmy prosty przykad planowania produkcji metod programowania liniowego. Na posiadanych maszynach I i II, ktre stanowi tzw. lini technologiczn (maszyna I - obrbka wstpna, maszyna II - obrbka wykaczajca) moemy produkowa 2 wyroby: wyrb 1 (np. garnki), ktrego wielko produkcji oznaczymy oglnie przez x1 (zmienna decyzyjna), wyrb 2 (np. czajniki), ktrego wielko produkcji oznaczymy oglnie przez x2 (zmienna decyzyjna).
7

Do produkcji tych dwch wyrobw uywamy dwa surowce: A i B. Kady z wyprodukowanych i sprzedanych wyrobw przynosi nam pewien zysk: c1 i c2. Wspczynnik zysku, dysponowany fundusz czasu pracy kadej maszyny, dysponowane iloci kadego surowca, maksymalne wielkoci produkcji kadego wyrobu, normy zuycia czasu pracy maszyn oraz normy zuycia surowca na jedn sztuk kadego z produkowanych wyrobw przedstawiaj si nastpujco: Normy jednostkowego zuycia Surowiec A Surowiec B Maszyna I Maszyna II Maks. wielk. prod. Maks. wielk. prod.
max x1 max x2

Wieloci 135,0 112 96,0 100,0 10,0 5,0 max

na wyrb 1 (x1) na wyrb 2 (x2) Ograniczaj. (bi) 15,0 7,5 8,0 10,0 1,0 9,0 15,0 12,0 10,0 1,25

Wspczynnik zysku

cj

Zadanie optymalizacyjne polega na opracowaniu takiego planu produkcji, ktry - przy uwzgldnieniu istniejcych warunkw - pozwoli nam uzyska maksymalny zysk. Otrzymujemy nastpujce ograniczenia

15x1 + 9 x 2 135 7,5x1 + 15x 2 112 8x1 + 12 x 2 96 10x1 + 10x 2 100 x1 10 x2 5 x j 0, dla j = 1, 2
8

.(1)

Warunki (1) nosz nazw zbioru warunkw ograniczajcych. Zbir D punktw z przestrzeni R2 speniajcych (1) nosi nazw zbioru decyzji dopuszczalnych. Jest to zbir moliwych sposobw produkcji w danym zakadzie. Podjcie decyzji co do iloci produkowanych poszczeglnych wyrobw prowadzi do okrelonego zysku. Jeli wyprodukujemy x1 tysicy jednostek wyrobu 1 oraz x2 tysicy jednostek wyrobu 2 to osigamy zysk

Z( x 1 , x 2 ) = 1x 1 + 1,25x 2
jednostek pieninych. Funkcj

(2)

Z( x 1 , x 2 )

nazywamy

funkcj

celu.

Zbir

tych

decyzji

dopuszczalnych D, ktre maksymalizuj funkcj celu z dan wzorem (2) nazywamy decyzjami optymalnymi. Zbir warunkw (1) wraz z funkcj celu (2) tworzy wic matematyczny model danego zagadnienia. Jest to zagadnienie programowania liniowego, gdy zarwno warunki ograniczajce (1) jak i funkcja celu Z( x 1 , x 2 ) s funkcjami liniowymi zmiennych decyzyjnych x1 oraz x2. Rozwiza dane zagadnienie PL to znaczy znale te spord decyzji dopuszczalnych, a zatem te punkty ( x 1 , x 2 ) R 2 speniajce ograniczenia (1), ktre dodatkowo maksymalizuj funkcj celu (2). Rozwamy obecnie nieco inne zagadnienie. Zamy, e dane s trzy produkty P1 , P2 , P3 , kady z nich zawiera skadniki odywcze S1 , S2 , S3 , S4 . Przyjmujemy, e jednostka wagowa produktu Pi zawiera aij jednostek wagowych skadnika odywczego Sj, i = 1, ..., 3; j = 1, ..., 4. Wiadomo, e dobowe zapotrzebowanie na skadnik odywczy Sj jest rwne bj, j = 1, 2, 3, 4, natomiast cena jednostki produktu Pi jest rwna ci jednostek pieninych. Musimy podj decyzje ile jednostek poszczeglnych produktw Pi powinno znale si w dobowej racji ywnociowej, aby zapotrzebowanie na skadniki odywcze

zostao zaspokojone, a czny koszt wyywienia by minimalny - jest to tzw. zagadnienie diety. Aby zagadnienie to rozwiza przyjmiemy nastpujce zmienne decyzyjne: xi - ilo jednostek wagowych produktu Pi, jaka znajdzie si w dobowej racji ywnociowej, i = 1, 2, 3; Z treci zagadnienia wynikaj nastpujce warunki ograniczajce:

a11x1 + a 21x 2 + a 31x 3 b1 a12 x1 + a 22 x 2 + a 32 x 3 b 2 a13 x1 + a 23 x 2 + a 33 x 3 b 3 . a14 x1 + a 24 x 2 + a 34 x 3 b 4 x i 0, i = 1, 2,


Zbir D moliwych sposobw ywienia, czyli zbir X = {x1, x2, x3} speniajcych warunki (3) jest zbiorem decyzji dopuszczalnych. Koszt diety X jest rwny (3)

Z(X) = z(x1 , x 2 , x 3 ) = c1 x 1 + c 2 x 2 + c 3 x 3 . (4)


Ta spord decyzji dopuszczalnych X (lub te spord decyzji dopuszczalnych, jeli jest ich wicej ni jedna), dla ktrej funkcja Z(X) dana wzorem (4) przyjmuje warto minimaln nazywamy decyzj optymaln (diet optymaln). Zatem model matematyczny zagadnienia diety jest nastpujcy: wyznaczy xi , i = 1, 2, 3 speniajce warunki:
3

a ijx i b j , j = 1,2,3,4
i =1

(5)

x i 0 , i = 1,2,3
oraz minimalizujce warto funkcji celu
3

Z(X) = c i x i .
i =1

(6)

10

Na zakoczenie tej czci rozwaa podamy jeszcze jedno zagadnienie. Zamy, e dysponujemy trzema typami maszyn M1, M2, M3 i na maszynach tych wykonujemy cztery produkty P1, P2, P3, P4. Zakad posiada po jednej maszynie M1 oraz M2, natomiast posiada dwie maszyny M3. Wiadomo, e na dob maszyna M1 moe pracowa 12 godzin, maszyna M2 8 godzin, natomiast maszyna M3 moe pracowa w systemie cigym, a zatem 24 godziny na dob. Aby wyprodukowa jednostk produktu P1 musimy przez 1 godzin wykorzystywa maszyn M1, przez 4 godziny maszyn M2 oraz przez 3 godziny maszyn M3. Dla pozostaych produktw odpowiednie normy zuycia czasu pracy wynosz: P2: 2 godziny M1, 1 godzina M2, 4 godziny M3, P3: 1 godzina M1, 2 godziny M3, P4: 4 godziny M1, 3 godziny M2, 1 godzina M3. Zakad moe sprzeda kady z produktw po cenie odpowiednio 500, 300, 200, 400 zotych za sztuk. Naley opracowa optymalny plan produkcji zakadu, czyli plan uwzgldniajcy moliwoci produkcyjne zakadu jednoczenie maksymalizujcy zysk. Jeli przez xi oznaczymy ilo jednostek produktu Pi produkowan w cigu doby, i = 1, 2, 3, 4 to otrzymamy nastpujce warunki ograniczajce:

x 1 + 2x 2 + x 3 + 4x 4 12 4x 1 + x 2 + 3x 4 8 3x 1 + 4x 2 + 2x 3 + x 4 48 x i 0, i = 1, 2,3,4
oraz funkcj celu (7)

Z(x1 , x 2 , x 3 , x 4 ) = 5x 1 + 3x 2 + 2x 3 + 4x 4 max .(8)


Zagadnienie (7) - (8) nosi nazw problemu rozdziau zasobw. Zauwamy, e ma ono bardzo podobn konstrukcj do pierwszego z omawianych zagadnie.

11

2.3. Metoda graficzna rozwizywania zagadnie programowania liniowego Zamy, e dane jest zagadnienie programowania liniowego zawierajce jedynie dwie zmienne decyzyjne x1, x2. Jego model matematyczny moemy zapisa w postaci

a11x1 + a12 x 2 b1 a 21x1 + a 22 x 2 b 2 LLLLLLL a m1x1 + a m 2 x 2 b m


(3.1)

gdzie znak " " oznacza nierwno postaci " " lub " " lub znak rwnoci " = ". Funkcja celu dla takiego zagadnienia przyjmuje posta

Z ( x 1 , x 2 ) = c1 x 1 + c 2 x 2
i naley j maksymalizowa lub minimalizowa.

(3.2)

W tym wypadku zbir rozwiza dopuszczalnych D danego zagadnienia czyli zbir punktw ( x 1 , x 2 ) R 2 speniajcych ograniczenia (3.1) jest podzbiorem R2 i moemy go wyznaczy graficznie. Mona pokaza, e zbir rozwiza dopuszczalnych dowolnego zagadnienia PL zawsze jest zbiorem wypukym (zbir nazywamy wypukym, jeli dla dowolnych dwch jego punktw odcinek o kocach w tych punktach zawiera si w danym zbiorze), w wypadku gdy jest ograniczony jest te zbiorem domknitym. Z kolei funkcja celu Z, jako funkcja liniowa na zbiorze rozwiza dopuszczalnych D swoje wartoci ekstremalne (czyli minimalne lub maksymalne) przyjmuje na brzegu zbioru D, co wicej jeli zbir ten jest zbiorem ograniczonym wwczas wartoci te przyjmuje ona w jego wierzchokach. Z powyszych rozwaa wynika prosty

12

sposb wyznaczania rozwizania optymalnego dla zagadnienia PL o dwch zmiennych decyzyjnych: 1. wyznaczamy graficznie zbir rozwiza dopuszczalnych D; 2. wyznaczamy wsprzdne wierzchokw zbioru rozwiza dopuszczalnych D; 3. obliczamy wartoci funkcji celu dla kadego z wierzchokw zbioru D. Jeli funkcj celu maksymalizujemy (minimalizujemy) wsprzdne tego wierzchoka, ktremu odpowiada najwiksza (najmniejsza) warto funkcji celu Z, s optymalnymi wartociami zmiennych decyzyjnych danego zagadnienia PL. Obecnie postpowanie to zilustrujemy przykadami. Przykad 3.1 Nastpujce zagadnienie PL

2x 1 + 2x 2 2 x 1 + 2x 2 2 4 x 1 2x 2 4 x1 , x 2 0 Z = 6x 1 + 8x 2 max
rozwiemy metod graficzn. W tym celu wyznaczymy na pocztek zbir rozwiza dopuszczalnych D. Rozwizaniem nierwnoci (3.3)

2x1 + 2x 2 2 jest ppaszczyzna o krawdzi l1 : 2x1 + 2x 2 = 2 .


(3.4)

Aby narysowa prost l1 naley wyznaczy dwa punkty przez ktre ona przechodzi. Jeli x1 = 0 to na podstawie (3.4) 0 + 2 x2 = 2 czyli x2 = 1, std prosta ta przechodzi przez punkt (0, 1). z kolei jeli x2 = 0 to x1 = 1, wic prosta l1 przechodzi przez punkty (0, 1) oraz (1, 0). Poniewa 20 + 20 < 2 wic
13

rozwizaniem nierwnoci 2x 1 + 2x 2 2 jest ppaszczyzna o krawdzi l1, do ktrej nie naley punkt (0, 0). Obrazuje to poniszy rysunek.

(0,1) (1,0)

Krawdzi ppaszczyzny - x 1 + 2x 2 2 jest prosta l 2 : - x 1 + 2x 2 = 2 . Przechodzi ona przez punkty (0, 1) oraz (-2, 0). Tym razem punkt (0, 0) naley do tej ppaszczyzny. Analogicznie wyznaczmy trzeci ppaszczyzn

l 3 : 4x 1 2x 2 = 4; (0,-2), (1,0) . Warunek

x1 , x 2 0

oznacza,

zbir

rozwiza dopuszczalnych D znajduje si w pierwszej wiartce ukadu wsprzdnych. Zbir ten zaznaczony jest na poniszym rysunku.

l1

l3

l2 D

14

Zbir D jest wic trjktem o wierzchokach A, B, C, przy tym A = (1, 0), C = (0, 1), natomiast punkt B jest punktem wsplnym prostych l2 oraz l3, czyli jest rozwizaniem ukadu rwna

x1 + 2x 2 = 2 4 x1 2x 2 = 4

(3.5)

Po dodaniu rwna stronami otrzymujemy

3x 1 = 6 czyli x1 = 2 , std - 2 + 2x 2 = 2
Z(A) = 6 Z(B) = 12 + 16 = 28 Z(C) = 8 Funkcja celu Z przyjmuje wic warto maksymaln w punkcie B = (2, 2), a zatem rozwizanie optymalne danego zagadnienia PL jest osignite dla wartoci zmiennych decyzyjnych x1 = 2, x2 = 2. Maksymalna warto funkcji celu Z jest rwna 28. Jest to jedyne rozwizanie optymalne. Przykad 3.2 Rozwamy nastpujce zagadnienie PL (3.6) wic x2 = 2, a zatem B = (2, 2). Poniewa na podstawie (3.3) Z(x1 , x 2 ) = 6x 1 + 8x 2 otrzymujemy

x1 + 5x 2 20 3x1 + 5x 2 30 x1 0 x2 8 Z = 4x1 + 8x 2 max


I tym razem wyznaczymy na pocztek zbir rozwiza dopuszczalnych D danego zagadnienia PL. (3.7)

l1 : x 1 + 5x 2 = 20 , (0, 4), (20, 0).

15

Punkt (0,0) naley do ppaszczyzny bdcej rozwizaniem nierwnoci

x1 + 5x 2 20 . l 2 : 3x 1 + 5x 2 = 30 ;
(0, 6), (10, 0). Punkt (0, 0) rwnie naley do tej ppaszczyzny. Z rysunku wynika, e cz wsplna ppaszczyzn o krawdziach l1, l2, l3, jest pusta, std zbir rozwiza dopuszczalnych D dla zagadnienia (3.7) jest zbiorem pustym, czyli nie istnieje decyzja dopuszczalna dla zagadnienia PL (3.7) lub inaczej mwic ukad warunkw ograniczajcych tego zagadnienia jest sprzeczny. Czsto mwi si o zagadnieniu takim, e jest zagadnieniem PL sprzecznym.
x2 l3 l2 l1
8 6 4 2

x1
0 2 4 6 8 10 12 14 16 18 20 22

Przykad 3.3 Wyznaczy zbir rozwiza optymalnych dla poniszego zagadnienia PL


- x1 + 2 x 2 - 2 3x1 + 2x 2 6 x2 6 x1 , x 2 0

(3.8)

Z = - 3x1 - 2x 2 max .

W celu wyznaczenia zbioru rozwiza dopuszczalnych obliczymy wsprzdne punktw, przez ktre przechodz krawdzie odpowiednich ppaszczyzn
l1: - x1 + 2 x 2 = -2 ;
l 2 : 3x1 + 2 x 2 = 6 ;

(0,-1), (0,3),
16

(2,0), (2,0), (3.9)

l 3: x 2 = 6 ;
x2 l2
6 5 4 3 2 1 0 -1 1

(0,6),

(2,6).
l1

l3

x1

11

13

15

Zbiorem rozwiza dopuszczalnych jest wielokt o wierzchokach A, B, C, D. Zauwamy, e wsprzdne wierzchokw A, B, D, s znane i s one rwne A = (0, 3), B = (2,0), D = (0, 6), (3.10) natomiast wierzchoek C jest punktem przecicia prostych l1, oraz l3 czyli jego wsprzdne speniaj ukad rwna
x1 + 2x 2 = 2 x2 = 6

(3.11)

std -x1 +2 6 = -2 wic x1 = 14. Otrzymalimy, e C = (14, 6) zbioru rozwiza dopuszczalnych D. (3.12) Wyznaczmy teraz wartoci funkcji celu Z dla poszczeglnych wierzchokw

Z(A) = 3 0 2 3 = 6 Z(B) = 3 2 - 2 0 = 6 Z(C) = 3 14 - 2 6 = 54 Z(D) = 3 0 - 2 6 = 12


Zatem funkcja celu Z przyjmuje wartoci maksymalne w dwch rnych punktach A oraz B. Punkty te stanowi rozwizanie optymalne dla danego zagadnienia PL. Nie jest to jednak kompletny zbir rozwiza optymalnych danego zagadnienia. (3.13)

17

Rozwamy bowiem dowolny punkt odcinka o kocach A i B. Ma on


( wsprzdne x 1 ) , x ( ) , przy czym 2

( ( x1 ) , x ( ) ) = (0,3) + (1 ) (2,0) 2

(3.14)

gdzie jest dowoln liczb rzeczywist speniajc nierwno 0 1. Z (3.14) mamy


( x1 ) = 0 + (1 ) 2 = 2 2

x ( ) = 3 + (1 ) 0 = 3 2

(3.15) (3.16)

() () czyli ( x1 , x 2 ) = 2 2 , 3

gdzie 0 1.
( Z( x1 ) , x ( ) ) = 3(2 2 ) 2 3 = 6 + 6 6 = 6 . 2

(3.17)

Otrzymalimy wic, e dla dowolnego punktu odcinka AB warto funkcji celu Z jest identyczna z wartoci tej funkcji celu dla kocw tego odcinka. Zatem zbiorem rozwiza optymalnych rozpatrywanego zagadnienia PL jest zbir punktw odcinka AB i maksymalna warto funkcji celu wynosi (-6). Inaczej
( mwic zbiorem decyzji optymalnych jest zbir par ( x 1 ) , x ( ) ) gdzie: 2

( x1 ) = 2 2

x ( ) = 3 2

0 1
.

(3.18)

( Z( x1 ) , x ( ) ) = 6 2

Zauwamy, e jeli = 1 to

(1) (x1 , x (1) ) = (0,3) = A , 2

(0) (0) natomiast jeli = 0 wwczas (x1 , x 2 ) = ( 2,0) = B .

Otrzymany rezultat nie jest dzieem przypadku. Oglnie bowiem, jeli dla pewnego zagadnienia PL funkcja celu przyjmuje swoj warto ekstremaln w dwch rnych wierzchokach zbioru rozwiza dopuszczalnych, to identyczn warto przyjmuje ona na krawdzi czcej te dwa wierzchoki. Mamy wwczas do czynienia z sytuacj, gdy istnieje nieskoczenie wiele rozwiza optymalnych danego zagadnienia PL.
18

Przykad 3.4 Rozpatrzmy nastpujce zagadnienie PL

3x1 x 2 6 x1 + 2x 2 4 x1 2 x2 0 Z = - 2x1 + 10x 2 max


Wyznaczmy zbir rozwiza dopuszczalnych (3.19)

l1: 3x1 x 2 = 6 ;
l 2 : x1 + 2 x 2 = 4 ;

(0,-6), (0,2),

(2,0) (4,0) (3.20)

l3 : x1 = 2
x2
D

x1 l2

l3

l1

Zauwamy, e w tym wypadku zbir rozwiza dopuszczalnych D jest zbiorem nieograniczonym. Na podstawie zaproponowanego wczeniej sposobu postpowania, nie jestemy w stanie wyznaczy rozwizania optymalnego, gdy atwo sprawdzi, e dla danego zagadnienia PL
19

Z(A) = Z(2,1) = 6 , 16 6 Z(B) = Z , = 4 . 7 7


(3.21)

Jeli natomiast obliczymy warto funkcji Z dla np. dowolnego punktu prostej l3, lecego powyej punktu A, czyli punktu (2, x2) , x2 >1 to punkt taki naley do obszaru rozwiza dopuszczalnych, jednoczenie Z(2, x2) = -4 +10 x2 > 6 = Z(A) , dla x2 > 1. Widzimy wic, e w tym wypadku funkcja celu Z moe przyj dowolnie du warto, czyli jest funkcj nieograniczon, a zatem nie istnieje skoczone rozwizanie optymalne dla danego zagadnienia PL - dla dowolnego rozwizania moemy znale rozwizanie lepsze, czyli takie, ktremu odpowiada wiksza warto funkcji celu. Zauwamy jednoczenie, e gdybymy w zagadnieniu (3.19) mieli nie maksymalizowa lecz minimalizowa warto funkcji celu Z, to mimo i zbir rozwiza dopuszczalnych D jest nieograniczony, to funkcja celu osignaby warto minimaln w punkcie B, dla ktrego Z(B) = 4. Widzimy wic, e w wypadku gdy zbir rozwiza dopuszczalnych D jest nieograniczony, nie zawsze wyznaczenie rozwizania optymalnego (lub stwierdzenie, e takie nie istnieje) jest natychmiastowe wedug prezentowanej wczeniej metody. Metoda ta ma jeszcze jedn wad. Gdy w zagadnieniu PL jest duo warunkw ograniczajcych, wwczas zbir rozwiza dopuszczalnych D moe mie duo wierzchokw i wyznaczenie ich wsprzdnych, po to aby nastpnie wyznaczy wartoci funkcji celu Z w tych wierzchokach jest bardzo pracochonne. Obu tych wad nie ma metoda wykorzystujca warstwice funkcji celu i tej metodzie powicimy teraz nieco wicej uwagi. Jeli dana jest funkcja celu Z(x1, x2) = c1x1 + c2 x2, to warstwic funkcji Z odpowiadajc wartoci c, nazywamy prost o rwnaniu Z(x1, x2) = c, czyli prost c1x1 + c2 x2 = c .
20

(3.22) (3.23)

Gradientem funkcji celu nazywamy wektor jej pochodnych czstkowych i oznaczamy go przez dZ, a zatem

Z Z dZ = , = [c 1 , c 2 ]. x 1 x 2

(3.24)

Z postaci warstwicy (3.23) oraz gradientu (3.24) wynika, e wektor gradientu jest zawsze prostopady do warstwicy funkcji celu. Mona pokaza, e jeli warstwic funkcji celu (3.23) bdziemy przesuwa zgodnie z wektorem gradientu, wwczas warto funkcji celu, ktrej odpowiada warstwica, bdzie rosa, natomiast jeli warstwic bdziemy przesuwa zgodnie z wektorem przeciwnym do wektora gradientu, wwczas warto funkcji celu bdzie malaa. Oczywicie dwie warstwice tej samej funkcji celu s zawsze do siebie rwnolege. Z przeprowadzonych wyej rozwaa wynika prosty sposb wyznaczenia graficznie rozwizania optymalnego zagadnienia PL (o dwch zmiennych dec). 1. Wyznaczamy zbir rozwiza dopuszczalnych D zagadnienia PL - jeli ten jest pusty to dane zagadnienie jest sprzeczne. 2. Wyznaczamy warstwic funkcji celu Z = c, tak aby miaa ona punkty wsplne z wntrzem zbioru rozwiza dopuszczalnych - jeli nie ma ona punktw wsplnych to rysujemy prost rwnoleg do niej, majc punkty wsplne ze zbiorem decyzji dopuszczalnych i dalej posugujemy si t warstwic. 3. W przypadku maksymalizacji funkcji celu z warstwic funkcji celu przesuwamy zgodnie z wektorem gradientu dZ, dopty, dopki ma ona punkty wsplne ze zbiorem decyzji dopuszczalnych D. Ostatni taki punkt (lub ostatnie takie punkty) stanowi rozwizanie optymalne danego zagadnienia PL. w razie potrzeby wyznaczamy jego wsprzdne. 4. W przypadku minimalizacji funkcji celu z warstwic funkcji celu przesuwamy zgodnie z wektorem przeciwnym do wektora gradientu dZ, dopty, dopki ma ona punkty wsplne ze zbiorem decyzji dopuszczalnych
21

D. Ostatni taki punkt (lub ostatnie takie punkty) stanowi rozwizanie optymalne danego zagadnienia PL. W razie potrzeby wyznaczamy jego wsprzdne. Jeli obszar decyzji dopuszczalnych jest nieograniczony moe si zdarzy, e warstwic funkcji celu moemy przesuwa do nieskoczonoci. Oznacza to, e nie istnieje skoczone rozwizanie optymalne danego zagadnienia PL, czyli, e funkcja celu jest nieograniczona. Postpowanie to zilustrujemy przykadem. Rozwamy jeszcze raz zagadnienie PL z przykadu (3.4). Wyznaczmy warstwic funkcji celu Z = 10, czyli prost

- 2 x1 + 10x 2 = 10 ; (0,1), (-5,0) .


Wektor gradientu ma posta dZ = [-2, 10] . (3.26)

(3.25)

Poniewa funkcj celu Z maksymalizujemy warstwic przesuwamy zgodnie z wektorem gradientu dZ, a zatem w kierunku drugiej wiartki ukadu wsprzdnych.

22

x2
dZ

x1

Zauwamy, e rzeczywicie wektor dZ jest prostopady do warstwicy Z = 10. Warstwica ma punkty wsplne ze zbiorem decyzji dopuszczalnych D. Przesuwamy j zatem zgodnie z wektorem dZ = [-2, 10], zauwamy, e moemy j przesuwa nieograniczenie, a zatem nie istnieje skoczone rozwizanie optymalne dla danego zagadnienia PL. Na tym koczymy prezentacj graficznej metody rozwizywania zagadnienia PL. Podkrelamy, e przy rozwizywaniu zagadnie PL moemy napotka nastpujce sytuacje: 1. Istnieje dokadnie jedno rozwizanie optymalne (przykad 1). 2. Istnieje nieskoczenie wiele rozwiza optymalnych (przykad 3). 3. Nie istnieje skoczone rozwizanie optymalne danego zagadnienia funkcja celu jest nieograniczona (przykad 4). 4. Dane zagadnienie jest sprzeczne (przykad 2).

23

2.4 Metoda simpleks Przedstawiona w poprzednim paragrafie metoda graficzna rozwizywania zagadnie PL, jak wspomnielimy, ma zastosowanie jedynie do rozwizywania zagadnie, w ktrych wystpuj dwie zmienne decyzyjne (lub zagadnie, ktre do takich dadz si sprowadzi). Ogln metod, ktr mona wyznaczy rozwizanie optymalne (jeli takie istnieje) zagadnienia o dowolnej liczbie zmiennych jest metoda simpleks. Postpujc zgodnie z t metod wyznaczamy wsprzdne pewnego wierzchoka zbioru rozwiza dopuszczalnych D, a nastpnie sprawdzamy czy jest to ju rozwizanie optymalne. Jeli okae si, e rozwizanie dane nie jest rozwizaniem optymalnym wwczas przechodzimy do wierzchoka ssiedniego w taki sposb, aby otrzymane rozwizanie nie byo gorszym od rozwizania, ktrym wczeniej dysponowalimy (zazwyczaj przechodzimy do rozwizania lepszego). W ten sposb po skoczonej liczbie krokw dochodzimy do wierzchoka (rozwizania), ktremu odpowiada optymalna warto funkcji celu. Tak przedstawia si idea metody simpleks. Obecnie przechodzimy do szczegowej prezentacji tej metody. Zamy, e dane jest zagadnienie programowania liniowego o n zmiennych decyzyjnych
x1 , x 2 , K , x n ,

przyjmujcych wartoci nieujemne oraz o m

warunkach ograniczajcych w postaci rwnoci, (m n)


a 11x1 + a 12 x 2 + L + a 1n x n = b1 a 21x1 + a 22 x 2 + L + a 2n x n = b 2 LLLLLLLLLL . a m1x1 + a m2 x 2 + L + a mn x n = b m x1 , x 2 , K , x n 0

(4.1)

Niech funkcja celu danego zagadnienia PL ma posta

Z(x1 , x 2 , L , x n ) = c1x1 + c 2 x 2 + L + c n x n min .

(4.2)

24

Zagadnienie (4.1) - (4.2) nazywamy zagadnieniem PL w postaci standardowej jeli spenia nastpujce warunki. 1. Wszystkie wyrazy wolne bi , i = 1, 2, ..., m s nieujemne. 2. Wszystkie warunki ograniczajce (2.4.1) s w postaci rwnoci. 3. Wszystkie zmienne decyzyjne xi , i = 1, 2, ..., n s nieujemne. 4. Funkcja celu Z(x1 , x 2 , L , x n ) dana wzorem (4.2) jest w notacji minimum. Zwracamy uwag, e jeli zbudujemy model matematyczny pewnego zagadnienia to zazwyczaj aden z warunkw danych wyej nie jest speniony, jednak po dosy oczywistych przeksztaceniach kade takie zagadnienie mona sprowadzi do postaci standardowej. Jeli bowiem pewien element bj jest ujemny, wwczas j - ty warunek ograniczajcy wystarczy pomnoy przez liczb -1. Jeli pewien warunek jest w postaci nierwnoci

a j1x1 + a j2 x 2 + K + a jn x n b j ,

(4.3)

to, pamitajc o tym, e zmienne decyzyjne maj by nieujemne, wystarczy do tego warunku doda now zmienn decyzyjn, zwan zmienn swobodn xn+1 i warunek zapisa w postaci
a j1x1 + a j2 x 2 + K + a jn x n + x n+1 = b j .

(4.4)

Z kolei gdyby warunek mia posta

a l1x1 + a l2 x 2 + L + a ln x n b l ,

(4.5)

to od lewej strony nierwnoci (2.4.5) odejmujemy zmienn swobodn xn+1

a j1 x 1 + a j2 x 2 + L + a jn x n x n +1 = b j .

(4.6)

Podkrelamy, e do kadej nierwnoci w zalenoci od znaku dodajemy, lub odejmujemy inn zmienn swobodn, w efekcie otrzymamy tyle nowych zmiennych swobodnych ile mielimy nierwnoci wrd warunkw (4.1). Zmienne swobodne w funkcji celu uwzgldniamy ze wspczynnikami rwnymi zero.

25

Jeli pewna zmienna moe przyjmowa tylko wartoci niedodatnie to zastpujemy j zmienn przeciwn do niej. Jeli natomiast z warunkw zagadnienia wynika ograniczenie np.

x 1 2 , to
dodatkowe zmienne nieujemne x , x , takie, e l l

(4.7)

zmienn zastpujemy rnic dwch zmiennych. Wprowadzamy wic

x l = x x . l l x x 2 l l . x 0 , x 0 l l
to zastpujemy j funkcj celu

(4.8)

W ten sposb w miejsce warunku (4.7) otrzymujemy warunki (4.9)

Jeli funkcja celu Z(x1 , L, x n ) dana wzorem (4.2) jest w notacji maksimum

Z = c1 x 1 c 2 x 2 L c n x n min ,

(2.4.10)

pamitajc o tym, e na danym zbiorze rozwiza dopuszczalnych D funkcja Z osiga maksimum dla tych samych (x1 , L , x n ) co funkcja Z minimum. Zagadnienie PL (4.1), (4.2) czsto zapisujemy w postaci macierzowej. W tym celu przyjmujemy oznaczenia:

A = [a ij ]mxn , X = [x j ]nx1 , b = [b i ]mx1 , C = [c j ]1xn

otrzymujemy wwczas

AX = b X0 Z(X) = CX min .
Wektor

(4.11) rozwizaniem dopuszczalnym

X = [x j ]nx1 , x j 0

nazywamy

zagadnienia PL (4.11) jeli jego skadowe speniaj ukad rwna AX=b. Rozwizaniem optymalnym zagadnienia PL nazywamy takie rozwizanie dopuszczalne X, ktre minimalizuje funkcj celu (4.2).

26

Bazowym rozwizaniem dopuszczalnym zagadnienia PL nazywamy wektor X, ktry jest rozwizaniem dopuszczalnym i ktry ma nie wicej ni m skadowych dodatnich. Jeli liczba skadowych dodatnich jest rwna m, czyli liczbie rwna w zagadnieniu (4.1) to rozwizanie bazowe nazywamy niezdegenerowanym, w przeciwnym wypadku - czyli gdy liczba skadowych dodatnich rozwizania bazowego jest mniejsza od m, rozwizanie to nazywamy rozwizaniem zdegenerowanym. Zauwamy, e z wyej podanych definicji wynika, e kade rozwizanie optymalne zagadnienia PL jest rozwizaniem dopuszczalnym, ale nie musi by rozwizaniem bazowym. Dowodzi si prawdziwoci nastpujcych twierdze: Twierdzenie 4.1 Zbir nieujemnych rozwiza ukadu (4.1), czyli zbir rozwiza dopuszczalnych D zagadnienia PL (4.1) jest zbiorem wypukym. Twierdzenie 4.2 Kady wierzchoek zbioru rozwiza dopuszczalnych D jest rozwizaniem bazowym dopuszczalnym ukadu (4.1). Twierdzenie 2.4.3 Forma liniowa Z(X) dana wzorem (4.2) osiga warto minimaln w wierzchoku zbioru rozwiza dopuszczalnych D. Jeli ta warto minimalna jest osigana w wicej ni jednym wierzchoku, to jest take osigana w ich kombinacji liniowej. Z twierdzenia (4.3) wynika, e rozwizaniem optymalnym zagadnienia PL jest jeden z wierzchokw zbioru rozwiza dopuszczalnych, czyli pewne rozwizanie bazowe (na podstawie twierdzenia (4.3)). Z twierdzenia tego
27

wynika te, e jeli mamy dwa rne rozwizania bazowe (czyli wierzchoki zbioru rozwiza dopuszczalnych), ktre s rozwizaniami optymalnymi, to ich kombinacja liniowa wypuka, a zatem kady punkt krawdzi czcej te wierzchoki jest te rozwizaniem optymalnym danego zagadnienia PL. Z podanych wyej twierdze wynika istota metody simpleks. Jak ju wspominalimy polega ona na tym, e znajdujemy wierzchoek zbioru rozwiza dopuszczalnych D, a zatem pewne rozwizanie bazowe danego zagadnienia PL, a nastpnie, jeli dane rozwizanie nie jest optymalne, posugujc si okrelonym kryterium przechodzimy do wierzchoka ssiedniego, dla ktrego warto funkcji celu Z jest nie wiksza, itd. Obecnie pokaemy w jaki sposb dla zagadnienia PL w postaci standardowej mona wyznaczy rozwizanie bazowe. W tym celu wprowadzimy oznaczenie

A = [a 1 , a 2 , L , a n ] ,

(4.12)

a zatem przez ai, i = 1, ..., n oznaczamy wektor kolumnowy o m skadowych, ktry jest i-t kolumn macierzy A wspczynnikw przy zmiennych decyzyjnych. atwo zauway, e kolejne skadowe wektora ai s wspczynnikami przy zmiennej decyzyjnej xi w kolejnych rwnaniach (4.1). Jeli z czci wektorw

a1 , a 2 , K , a n

moemy utworzy macierz

jednostkow stopnia m, a zatem jeli wrd tych wektorw istnieje dokadnie m wektorw jednostkowych m-wymiarowych ei, i = 1, ..., m, to dan posta standardow (4.10) zagadnienia PL nazywamy postaci kanoniczn . Czsto posta kanoniczn nazywa si postaci bazow lub postaci gotow do oblicze. Wektory ai, ktre s kolumnami macierzy jednostkowej Im nazywamy wektorami bazowymi, natomiast odpowiadajce im zmienne decyzyjne xi zmiennymi bazowymi Dysponujc postaci kanoniczn zagadnienia PL mona w atwy sposb wyznaczy rozwizanie bazowe danego zagadnienia. W tym celu przyjmujemy, e wartoci zmiennych bazowych s rwne odpowiednim skadowym wektora b, natomiast wartoci zmiennych niebazowych s zerami.
28

Dla przykadu, jeli dysponujemy zagadnieniem PL

3x1 + x 2 24 x1 + 2 x 2 20 6 x1 + 4 x 2 48 x1 , x 2 0 Z = 3x1 + 2 x 2 max


to jego posta standardowa jest nastpujca (4.13)

3x 1 + x 2 + x 3 = 24 x 1 + 2 x 2 + x 4 = 20 6 x 1 + 4 x 2 + x 5 = 48 x1 , x 2 , x 3 , x 4 , x 5 0 Z = 3x 1 2 x 2 + 0 x 3 + 0 x 4 + 0x 5 min
Jest to jednoczenie posta kanoniczna, gdy (4.14)

3 1 1 0 0 A = 1 2 0 1 0 , 6 4 0 0 1

(4.15)

czyli a 3 = e1 , a 4 = e 2 , a 5 = e 3 s wektorami bazowymi std zmienne x 3 , x 4 , x 5 s zmiennymi bazowymi, wic

X T = [0 0 24 20 48]
jest rozwizaniem bazowym, Z(X) = 0.

(4.16)

Aby z postaci standardowej zagadnienia PL otrzyma posta kanoniczn moemy posuy si metod eliminacji Jordana-Gausa, my jednak bdziemy posugiwali si, naszym zdaniem o wiele prostsz metod sztucznej bazy. Wedug tej metody, jeli dana jest posta standardowa i wrd wektorw ai tej
29

postaci nie ma odpowiedniej liczby wersorw jednostkowych m-wymiarowych ei to do kadej rwnoci postaci (4.1), ktra odpowiada brakujcemu wektorowi jednostkowemu ei dodajemy zmienn sztuczn. Kad zmienn sztuczn w funkcji celu (4.2) uwzgldniamy ze wspczynnikiem M, gdzie M jest bliej nie okrelon bardzo du liczb dodatni. Jeli na przykad dane jest zagadnienie PL

2 x 1 3x 2 + x 3 = 10 4 x 1 + 5x 2 x 4 = 20 x 1 6 x 3 x 5 = 30 x1 , x 2 , x 3 , x 4 , x 5 0 Z = 3x 1 + 5x 2 min , to
2 3 1 0 0 A = 4 5 0 1 0 . 1 6 0 0 1
(4.18) (4.17)

Wrd kolumn macierzy A brakuje wektorw e2 oraz e3 macierzy I3. W zwizku z tym do drugiego rwnania zagadnienia (4.17) dodajemy zmienn sztuczn x6, natomiast do trzeciego rwnania tego zagadnienia dopisujemy zmienn sztuczn x7. Zmienne te w funkcji celu uwzgldniamy ze wspczynnikiem M. Otrzymujemy zatem

2x 1 3x 2 + x 3 = 10 4x 1 + 5x 2 x 4 + x 6 = 20 x 1 6x 3 x 5 + x 7 = 30 x1 , x 2 , x 3 , x 4 , x 5 0 Z = 3x 1 + 5x 2 + 0x 3 + 0x 3 + 0x 4 + 0x 5 + Mx 6 + Mx 7 min
Teraz macierz A ma posta (4.19)

30

0 0 0 0 2 3 1 A = 4 5 0 1 0 1 0 1 6 0 0 1 0 1

(4.20)

std a 3 = e1 , a 6 = e 2 , a 7 = e 3 czyli posta (4.19) jest postaci kanoniczn. Zmiennymi bazowymi s zmienne decyzyjne x 3 , x 6 , x 7 , natomiast odpowiednie rozwizanie bazowe ma posta
X T = [x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ] = [0, 0, 10, 0, 0, 20, 30] .

(4.21) Warto funkcji celu Z(X)= 50 M. Obecnie przedstawimy w jaki sposb dysponujc rozwizaniem bazowym dopuszczalnym danego zagadnienia PL wyznaczamy jego rozwizanie optymalne (jeli takie istnieje), stosujc metod simpleks. Oznaczmy przez B zbir numerw tych kolumn macierzy B, ktre tworz baz w przestrzeni R m , a zatem zbir numerw zmiennych bazowych. Niech cB oznacza wektor kolumnowy zbudowany ze wspczynnikw funkcji celu przy zmiennych bazowych. Wprowadzimy oznaczenie

z j = cT a j B

j = 1,2, ..., n.

(4.22)

Zatem zj jest iloczynem skalarnym wektora wspczynnikw funkcji celu Z przy zmiennych bazowych oraz kolumny wspczynnikw aj przy j-tej zmiennej decyzyjnej warunkw ograniczajcych w postaci kanonicznej. Niech

j = c j - z j ; j = 1,2, ..., n

(4.23)

gdzie cj jest wspczynnikiem funkcji celu przy zmiennej decyzyjnej xj. Zauwamy, e dla zmiennych decyzyjnych bazowych zj = cj, gdy wwczas aj = ej, dlatego, jeli cj jest zmienn bazow to

j = cj zj = 0.
31

(4.24)

Prawdziwe jest nastpujce twierdzenie. Twierdzenie 4.4 Jeli


X B jest

pewnym rozwizaniem bazowym zagadnienia PL natomiast s odpowiadajcymi temu rozwizaniu bazowemu

j = cj zj

wspczynnikami j , Z( X B ) jest odpowiedni wartoci funkcji celu Z, to dla dowolnego rozwizania dopuszczalnego X = x j spenia rwno

[ ]

nx1

warto funkcji celu Z(X)

Z(X) = j x j + Z(X B ) .
jB

(4.25)

Zauwamy, e poniewa xj 0, to na podstawie (4.25) jeli wszystkie j s nieujemne to Z(X) Z( X B ) , (4.26)

czyli warto funkcji celu dla dowolnego rozwizania dopuszczalnego X jest nie mniejsza ni warto funkcji celu odpowiadajca danemu rozwizaniu bazowemu
XB .

A zatem rozwizanie
XB

XB

jest rozwizaniem optymalnym.

Naley podkreli, e

jest wwczas rozwizaniem optymalnym zagadnienia

PL w postaci kanonicznej, czsto wic zagadnienia rozszerzonego w stosunku do wyjciowego o zmienne sztuczne, za zagadnienie wyjciowe moe by w pewnych wypadkach sprzeczne. Zachodzi bowiem Twierdzenie 4.5 Jeli dla danego rozwizania bazowego
XB

wszystkie wspczynniki

j = c j z j przyjmuj wartoci nieujemne, to dane rozwizanie jest


rozwizaniem optymalnym zagadnienia programowania liniowego rozszerzonego. Jeli wrd zmiennych bazowych tego rozwizania nie ma zmiennych sztucznych to jest to rozwizanie optymalne rwnie i zagadnienia pierwotnego. Jeli natomiast wrd zmiennych bazowych rozwizania
32

optymalnego zagadnienia rozszerzonego wystpuj zmienne sztuczne to zagadnienie wyjciowe programowania liniowego jest sprzeczne. Ze wzoru (4.25) wynika rwnie, e wspczynnik j = c j z j oznacza przyrost wartoci funkcji celu Z(X) wzgldem Z( X B ) wywoany jednostkow zmian wartoci zmiennej niebazowej xj przy zachowaniu wartoci pozostaych zmiennych niebazowych. Inaczej mwic, jeli rozwizanie bazowe X B zmienimy w ten sposb, e pewna zmienna, ktra nie jest zmienn bazow w rozwizaniu X B przyjmie warto jeden, natomiast pozostae zmienne

niebazowe w dalszym cigu bd rwne zero, to warto funkcji celu dla nowego rozwizania w stosunku do X B zmieni si o j = c j z j . Z przeprowadzonych wyej rozwaa wynika, e jeli dla danego rozwizania bazowego pewien wspczynnik j = c j z j jest ujemny, to jeli tylko moliwe jest zapewnienie dodatniej wartoci zmiennej niebazowej xj wwczas moliwe te jest zmniejszenie wartoci funkcji celu, a zatem moemy wyznaczy rozwizanie bazowe o niszej wartoci funkcji celu, ni to ktrym dysponujemy, czyli lepsze od danego. Dla tak otrzymanego rozwizania obliczamy znw wskaniki optymalnoci j . Jeli nie ma wrd nich wartoci ujemnych, to rozwizanie jest optymalne, jeli s, to staramy si dane rozwizanie poprawi. Postpowanie kontynuujemy a do momentu otrzymania rozwizania optymalnego, lub gdy stwierdzimy, e rozwizanie optymalne nie istnieje. Aby pokaza w jaki sposb wyznacza si nowe rozwizanie bazowe dla danego zagadnienia PL rozwamy model (4.19). Wwczas

c T = [0, M, M,], , B

(4.27)

2 std 1 = c1 z 1 = 3 [0, M, M ] 4 = 3 5M , 1
33

2 = c2 - z2 = 5 + M, 3 = 0 - 0 = 0, 4 = 0 + M = M, 5 = 0 + M = M, 6 = M - M = 0, 7 = M - M = 0. Poniewa wskanik 1 = -3 - 5M < 0 std rozwizanie bazowe nie jest rozwizaniem optymalnym. Aby go poprawi naley wprowadzi do bazy zmienn x1, a nastpnie bdziemy chcieli aby zmienna decyzyjna x1 przyja moliwie du warto. Zauwamy, e moe ona przyj warto co najwyej rwn pi, gdy jeli pozostae zmienne przyjyby warto zero, to z pierwszego rwnania (4.19) otrzymujemy, e 2x1 = 10, z drugiego 4x1 = 20 natomiast z trzeciego x1 = 30. Poniewa wszystkie rwnania musz by spenione std x1 moe by rwna co najwyej (4.28)

10 20 30 min , , = 5 , 2 4 1

(4.29)

a oglnie najmniejszemu z ilorazw odpowiedniej skadowej wektora b przez odpowiedni (pod warunkiem, e dodatni) skadow wektora ai. Poniewa w naszym przypadku minimum osigane jest dla dwch warunkw ograniczajcych (pierwszego i drugiego) moemy arbitralnie przyj, e np. nowy wektor a1 wejdzie do bazy w miejsce wektora a6. Musimy zatem przeksztaci warunki ograniczajce zagadnienia (4.19) w ten sposb aby wektor a1 mia posta

0 a1 = 1 . 0

34

W tym celu drugie rwnanie modelu (4.19) mnoymy przez

1 . 4

Nastpnie tak

przeksztacone rwnanie mnoymy przez (-2) i dodajemy do pierwszego oraz mnoymy przez (-1) i dodajemy do rwnania trzeciego. W efekcie otrzymujemy

2 2 22 x2 + x3 + x4 x6 = 0 4 4 4 5 1 1 x1 + x 2 x 4 + x 6 = 5 . 4 4 4 1 1 29 x 2 + x 4 x 5 x 6 + x 7 = 25 4 4 4
Nowa macierz A ma posta

(4.30)

22 2 2 0 1 0 0 4 4 4 1 5 1 A = 1 0 0 0 . 4 4 4 1 1 0 29 0 1 1 4 4 4

(4.31)

Zmiennymi bazowymi s teraz kolejno x3, x1, x7, std nowe rozwizanie bazowe

X T = [5, 0, 0, 0, 0, 0, 25]
Z(X) = -15 + 25M. Mona porwna (4.32) z (4.21) wykorzystujc wzr (4.25)

(4.32)

Naleaoby obecnie obliczy znw wskaniki j i sprawdzi czy nowe rozwizanie jest rozwizaniem optymalnym, jeli nie, to proces obliczeniowy trzeba kontynuowa. My w tym miejscu proces obliczeniowy przerwiemy. Zazwyczaj bowiem obliczenia zwizane z metod simpleks prowadzi si w odpowiedniej tablicy simpleksowej. Zanim do tego przejdziemy zwrcimy uwag na jeszcze jedn spraw. Zastanwmy si co by si stao, gdyby w kolumnie a1 macierzy (4.20) nie byo wartoci dodatnich, a my chcielibymy zmiennej x1 nada moliwie najwiksz warto, gdy wskanik 1 by ujemny. Oznaczaoby to, e aden z warunkw ograniczajcych nie limituje wartoci

35

zmiennej decyzyjnej x1 i moe ona rosn, a co za tym idzie funkcja celu Z(X) male w sposb nieograniczony. Mamy zatem Twierdzenie 4.6 Jeli przy minimalizacji funkcji celu chcemy do bazy wprowadzi pewn zmienn xj, ktrej odpowiada ujemy wskanik j = c j z j , natomiast wrd skadowych wektora aj nie ma skadowych dodatnich, to funkcja celu danego zagadnienia PL jest nieograniczona, a zatem nie istnieje skoczone rozwizanie optymalne tego zagadnienia PL. Obecnie podamy moliw budow tablicy simpleksowej (4.33)

Wektory bazy

Wspczynniki przy wektorach bazy CB

cj b

c1 a1

c2 a2

... ...

cn an

Rozwizanie bazowe Uwagi X

j =cj - zj

b1 b2 : : : bm Z(X)

...

n Komentarz

Majc dane zagadnienie PL w postaci kanonicznej wpisujemy do wiersza cj wartoci wspczynnikw funkcji celu, nastpnie do kolumn b oraz a1, .., an odpowiednie wektory wspczynnikw. Nastpnie do kolumny wektory bazy wpisujemy kolejno wektory, ktre s dla tej postaci wektorami bazowymi, np. a3, a1, a1. W kolumnie ssiedniej wpisujemy wspczynniki funkcji celu przy wektorach bazowych. Majc tak wypenion tablic wyznaczamy rozwizanie bazowe przyrwnujc wartoci zmiennych bazowych do odpowiednich skadowych wektora b, pozostaym zmiennym nadajemy wartoci zerowe. Z kolei wypeniamy wiersz ostatni tablicy (4.33). W kratce Z(X) wyznaczamy warto
36

funkcji celu dla rozwizania X - jest ona rwna iloczynowi skalarnemu wektorw b oraz wektora wspczynnikw przy zmiennych bazowych. W pozostaych kratkach obliczamy wskaniki i, aby sprawdzi czy rozwizanie jest rozwizaniem optymalnym, czy nie, co zanotujemy w miejscu przeznaczonym na komentarz. Jeli rozwizanie nie jest rozwizaniem optymalnym, a istnieje inne, nie gorsze od danego, to tablic przeduamy i tam wyznaczamy kolejne rozwizanie bazowe, a do zakoczenia procesu obliczeniowego. Postpowanie to zilustrujemy na przykadach. Przykad 2.4.1 Zagadnienie (3.3) zapisane w postaci kanonicznej przyjmuje posta

2x1 + 2x 2 x 3 + x 4 = 2 x 1 + 2x 2 + x 5 = 2 4x 1 2x 2 + x 6 = 4 x i 0, i = 1, 2 ,..., 6 Z = 6x 1 8x 2 + 0x 3 + Mx 4 + 0x 5 + 0x 6 min


Std otrzymujemy odpowiedni tablic simpleksow (patrz tabela1). Uzyskane ostatnie rozwizanie jest rozwizaniem optymalnym. Jest to jedyne rozwizanie optymalne. Warto porwna uzyskane wartoci zmiennych decyzyjnych i funkcji celu z wynikami uzyskanymi metod graficzn. (4.34)

37

Tablica 1
Wektory Wspczynniki bazy przy wektorach bazy CB a4 M a5 0 a6 0 cj b 2 2 4 2M 1 0 6 -8 -8 0 0 1 0 6 -8 2 6 2 -28 -6 a1 2 -1 4 -62M 1 -3 6 2 1/2 -3 [3] -10 0 0 1 0 -8 a2 [2] 2 -2 -82M 1 0 0 0 1 0 0 0 1 0 0 0 0 a3 -1 0 0 M 1/2 [1] -1 -4 0 1 0 0 0 1 0 0 M a4 1 0 0 0 1/2 -1 1 M+4 0 -1 0 M 0 -1 0 M 0 a5 0 1 0 0 0 1 0 0 1/2 1 1 4 0 a6 0 0 1 0 0 0 1 0 0 0 1 0 Rozwizanie bazowe X x1 = 0, x2 = 0 x3 = 0, x4 = 2 x5 = 2, x6 = 4 Rozwizanie nieoptymalne x1 = 0, x2 = 1 x3 = 0, x4 = 0 x5 = 0, x6 = 6 Rozwizanie nieoptymalne x1 = 0, x2 = 1 x3 = 0, x4 = 0 x5 = 0, x6 = 6 Rozwizanie nieoptymalne x1 = 2, x2 = 2 x3 = 6, x4 = 0 x5 = 0, x6 = 0 Rozwizanie optymalne Uwagi do bazy wchodzi wektor a2 z bazy wychodzi wektor a4

j =cj - zj
a2 a5 a6 -8 0 0

do bazy wchodzi wektor a3, z bazy wychodzi wektor a5

j =cj - zj
a2 a3 a6 a2 a3 a1

do bazy wchodzi wektor a1, z bazy wychodzi wektor a6

j =cj - zj
-8 0 -6

j =cj - zj

2/3 1/6 2 1 1/3 1/3 22/3 10/3

Przykad 4.2 Zagadnienie zapisane w postaci kanonicznej

x 1 + 5x 2 + x 3 = 20 3x 1 + 5x 2 + x 4 = 30 x2 x5 + x6 = 8 x i 0, i = 1, 2 ,..., 6 Z = 4x 1 8x 2 + 0x 3 + 0x 4 + 0x 5 + Mx 6 min
Zapisujemy w odpowiedniej tablicy simpleksowej (patrz tablica 2). Poniewa M jest du liczb dodatni to wszystkie wskaniki j dla otrzymanego rozwizania bazowego s nieujemne, std jest to rozwizanie optymalne. Jednak poniewa wrd zmiennych bazowych rozwizania optymalnego wystpuje zmienna sztuczna x6, to na podstawie twierdzenia (4.5) otrzymane rozwizanie jest rozwizaniem optymalnym jedynie zagadnienia rozszerzonego (4.35), natomiast zagadnienie wyjciowe, czyli (3.7) jest zagadnieniem sprzecznym. (4.35)

39

2.5. Zagadnienie transportowe jako szczeglny przypadek zagadnienia programowania liniowego Zamy, e mamy m dostawcw (magazynw) pewnego jednorodnego towaru. Poda towaru u kadego z nich jest rwna ai jednostek, ai 0, i = 1,2, ..., m. Istnieje te n odbiorcw tego towaru. Popyt kadego z nich wynosi bj jednostek, bj 0, j = 1, 2, ..., n. Zakadamy, e liczba jednostek towaru jak dysponuj dostawcy jest identyczna z cznym zapotrzebowaniem odbiorcw, a zatem

ai = b j .
i =1 j=1

(5.1)

Dla kadego dostawcy oraz kadego odbiorcy znany jest koszt transportu jednostki towaru od tego dostawcy do odbiorcy, niech cij - oznacza koszt transportu jednostki towaru od i-tego dostawcy do j-tego odbiorcy, cij 0, i = 1,2, ..., m, j = 1, 2, ..., n. W zwizku z tym wprowadzimy oznaczenie

C = [c ij ]mxn i macierz C nazywa bdziemy macierz jednostkowych kosztw

transportu. Zadaniem naszym jest rozwie towar od dostawcw do odbiorcw, tak aby czny koszt transportu by minimalny. Jeli zatem przez xij oznaczymy liczb jednostek towaru, jak przewieziemy od i-tego dostawcy do j-tego odbiorcy, to aby rozwiza nasze zagadnienie naley znale macierz X = x ij
m

[ ]

mxn

speniajc warunki:

1) x ij = b j j = 1,2, ..., n
i =1 n

2) x ij = a i i = 1,2, ..., m
i =1

(5.2)

3) x ij 0 i = 1,2, ..., m, j = 1,2, ..., n

40

oraz minimalizujc funkcj celu, ktra jest rwna cznemu kosztowi transportu K(X)
m n

K(X) =

i =1 j=1

c ij x ij .

(5.3)

Zagadnienie wyej sformuowane jest oczywicie zagadnieniem PL, mona go rozwiza np. metod simpleks. Zagadnienie to nosi nazw zagadnienia transportowego. Ze wzgldu na jego specyficzn budow - wspczynniki przy zmiennych decyzyjnych xij w warunkach (5.2) s rwne zero lub jeden - nie jest zalecane rozwizywanie zagadnienia (5.2) - (5.3) metod simpleks, istnieje bowiem zdecydowanie prostsza metoda rozwizywania tego typu zagadnie i to bdzie tematem niniejszego paragrafu. Zagadnienie transportowe speniajce warunek (5.1) nazywamy zagadnieniem transportowym zbilansowanym lub zamknitym, w przeciwnym wypadku, a zatem gdy

ai > b j
i =1 m j=1 n

(5.4)

lub

ai < b j
i =1 j=1

(5.5)

zagadnienie transportowe nazywamy otwartym lub niezbilansowanym. Kade zagadnienie niezbilansowane mona sprowadzi do zagadnienia zbilansowanego. W tym celu, jeli speniona jest nierwno (5.4) wprowadzamy fikcyjnego (n+1)-ego odbiorc o zapotrzebowaniu

b n +1 = a i b j .
i =1 j=1

(5.6)

41

Jednoczenie przyjmujemy, e koszt transportu od kadego z dostawcw do (n+1)-ego fikcyjnego odbiorcy jest rwny zero, a zatem ci, n+1 = 0 dla i = 1, 2, ..., m. Jeli rozwiemy takie zagadnienie to otrzymane wartoci zmiennych decyzyjnych xi,n+1, i = 1, 2, ..., m interpretujemy, jako liczby jednostek towaru jakie zostan u poszczeglnych dostawcw. Analogicznie, jeli speniony jest warunek (5.5), to aby zagadnienie transportowe zbilansowa wprowadzamy fikcyjnego (m+1) -go dostawc, ktrego poda jest rwna

a m+1 = b j a i
j=1 i =1

(5.7)

oraz przyjmujemy, e

c m+1, j = 0, j = 1,2, ..., n

(5.8)

a wartoci xm+1,j, i = 1, 2, ..., m interpretujemy jako wielkoci mwice nam o ile jednostek towaru zatem mniej kade otrzyma j-ty odbiorca ni wynosio doprowadzi jego do zapotrzebowanie. Potrafimy zagadnienie transportowe zamknitego. W zwizku z tym w dalszym cigu, bez straty oglnoci rozwaa, bdziemy zakadali, e dysponujemy zbilansowanym zagadnieniem transportowym, chocia nie bdziemy tego bezporednio eksponowali, jednak piszc zagadnienie transportowe bdziemy mieli na myli zamknite zagadnienie transportowe, chyba, e zaznaczymy, e chodzi nam o zagadnienie niezbilansowane. Macierz X = x ij

[ ]

mxn

speniajc warunki (5.2) nazywamy rozwizaniem

dopuszczalnym zagadnienia transportowego. Macierz przewozw X bdc rozwizaniem dopuszczalnym zagadnienia transportowego nazywamy rozwizaniem optymalnym tego zagadnienia jeli dodatkowo minimalizuje ona czny koszt transportu K(X) dany wzorem (5.3).
42

Zagadnienie transportowe, w skrcie czsto zapisujemy w postaci schematu

c11 c 21 L c m1 b1

c 12 L c 22 L L L b2 L

c1n c 2n L bn

a1 a2 L . am
(5.9)

c m2 L c mn

Jeli na przykad mamy 3 dostawcw oraz 4 odbiorcw towaru, przy tym wektor poday a ma posta a T = [100 50

200], natomiast wektor popytu b

jest rwny b = [50 80 130 90] oraz macierz kosztw jednostkowych C jest postaci

5 4 1 6 C = 3 8 7 2 , 6 8 2 9
to zagadnienie to w skrcie zapisujemy

5 3 6

4 8 8

1 7 2

6 100 2 50 . 9 200

(5.10)

50 80 130 90
Zauwamy, e jest to zagadnienie zbilansowane gdy

a i = 350 = b j .
i =1 j=1

(5.11) tego zagadnienia spenia warunki

Rozwizanie dopuszczalne X = x ij

[ ]

3x4

x 11 + x 12 + x 13 + x 14 = 100 x 21 + x 22 + x 23 + x 24 = 50 x 31 + x 32 + x 33 + x 34 = 200
43

(5.12)

x 11 + x 21 + x 31 = 50
x 12 + x 22 + x 32 = 80 x 13 + x 23 + x 33 = 130 x 14 + x 24 + x 34 = 90 x ij 0 ; i = 1,2,3, j = 1,2,3,4 x ij 0 ; i = 1, 2, 3, j = 1, 2, 3, 4 .
Jest ono rozwizaniem optymalnym jeli dodatkowo minimalizuje czny koszt transportu K(X)

K(X) = 5x 11 + 4x 12 + x 13 + 6x 14 + 3x 21 + 8x 22 = + 7x 23 + 2x 24 + 6x 31 + 8x 32 + 2x 33 + 9x 34

(5.13)

Istnieje szereg metod wyznaczania rozwiza dopuszczalnych zagadnienia (5.9). Idea wikszoci z nich jest podobna. Par liczb (i, j) 1 i m, j m nazywamy wzem. Wikszo metod wyznaczania rozwizania dopuszczalnego zagadnienia transportowego rni si midzy sob sposobem wyboru wza (i, j) macierzy X, na ktry dajemy moliwie najwikszy przewz. Jeli natomiast ustalimy, e wzem tym jest powiedzmy (r, s) to przyjmujemy, e

x rs = min{a r , b s } .
Jeli dodatkowo a r b s to przyjmujemy , e

x is = 0 dla i r, i = 1, 2, ..., m
i nasze zagadnienie redukuje si do zagadnienia o m dostawcach i (n-1) odbiorcach - popyt odbiorcy o numerze s jest ju zaspokojony, natomiast poda dostawcy r redukuje si do liczby a r b s - w szczeglnoci gdy a r = b s , moe by rwna zero. Jeli natomiast a r < b s to przyjmujemy

44

x rj = 0

dla j s, j = 1, 2, ..., n

i nasze zagadnienie redukuje si do zagadnienia o (m-1) dostawcach oraz n odbiorcach - poda dostawcy r jest ju wyczerpana natomiast nowe zapotrzebowanie s-tego odbiorcy jest rwne b s a r . W wyniku takiego postpowania otrzymujemy nowe zagadnienie transportowe, w ktrym mamy cznie m + n - 1 dostawcw i odbiorcw. Dla nowo otrzymanego zagadnienia znw ustalamy wze, na ktry dajemy maksymalny przewz. W efekcie po m + n - 1 krokach otrzymamy rozwizanie dopuszczalne zagadnienia transportowego. Zauwamy, e w takim rozwizaniu jest wyrnionych m + n -1 wzw - s to te wzy, na ktrych moe by przewidziany dodatni przewz towaru. W wietle wyej przeprowadzonych rozwaa aby pozna algorytmy wyznaczania rozwizania dopuszczalnego naley poda jedynie sposb wyboru wza (r, s), na ktry staramy si da moliwie duy przewz. Podamy dwa z nich. Wedug metody kta pnocno-zachodniego jako wze (r, s) przyjmujemy ten, ktry ley w lewym grnym rogu macierzy X, czyli wze (1, 1) zagadnienia transportowego. Wedug metody elementu minimalnego macierzy (MEM) przyjmujemy, e (r, s) jest taki, e

c rs = min c ij .
( i , j)

(5.14)

Jeli jest ich kilka to przyjmujemy wze, dla ktrego r jest najmniejsze, a jeli i tych jest kilka to przyjmujemy wze lecy w kolumnie o najmniejszym numerze (czyli dla ktrego s jest mniejsze). Naley podkreli, e wybr prezentowanych metod wyznaczania rozwizania dopuszczalnego nie oznacza, e s one najlepsze. Z pewnoci nale one do najprostszych, natomiast w wietle rozwoju techniki
45

komputerowej, badanie jakoci metody przez pryzmat odlegoci uzyskanego rozwizania od rozwizania optymalnego zagadnienia uznajemy za zajcie czysto akademickie. Obecnie w celu prezentacji metod wyznaczymy rozwizanie dopuszczalne zagadnienia (5.10) obiema metodami. Dla porzdku zagadnienie to zapisujemy jeszcze raz

(5)
3 6

4 8 8

1 7 2

6 100 2 50 . 9 200

(5.15)

50 80 130 90
Zaczynamy od metody kta pnocno-zachodniego. Na pocztku przydzielamy przewz na wze (1, 1) x11 = min { 50, 100 } = 50, std: x21 = 0, x31 = 0. Zagadnienie nasze redukuje si teraz do zagadnienia o trzech dostawcach oraz trzech odbiorcach, dla nowego zagadnienia a1 = 100 - 50 = 50, czyli ma ono posta (5.16)

(4) 1 8 7 8 2

6 50 2 50 9 200

(5.17)

80 130 90
poniewa tym razem min {50, 80} = 50 wic otrzymujemy x12 = 50, x13 = 0, x14 = 0,
46

(5.18)

oraz nowe zagadnienie

(8) 7 8 2

2 50 9 200 .

(5.19)

30 130 90
Min {50, 30} = 30 std x22 = 30, x32 = 0 oraz otrzymujemy zagadnienie (5.20)

(7) 2 20 2 9 200 . 130 90


Mamy wic x23 = 20, x24 = 0 oraz zagadnienie

(5.21)

(5.22)

(2) (9) 200 110 90


na podstawie ktrego x33 = 110, x34 = 90.

(5.23)

(5.24)

Ostatecznie na podstawie (5.16), (5.18), (5.20), (5.22), (5.24) otrzymalimy rozwizanie X

47

0 0 (50) (50) X= 0 (30) (20) 0 0 0 (110) (90)

(5.25)

K(X) = 5 50 + 4 50 + 8 30 + 7 20 + 2 110 + 9 90 = 250 + 200 + 240 + 140 + 220 + 810 = 1860. (5.26)

Tym razem wyznaczymy rozwizanie dopuszczalne zagadnienia (5.15) metod elementu minimalnego macierzy. Cao postpowania prowadzi bdziemy na jednej tablicy.

5 3 (6)50 50 0

4 8 (8)80 80 0

(1)100 7 (2)30 130 30 0

(2)50 (9) 40 90 40 0

100 0 50 0 20 170 120 40 0


. (2.27)

Kolejno wzami wyrnionymi byy (1,3), (2,4), (3,3), (3,1), (3,2), (3,4). Ostatecznie otrzymalimy

0 (100) 0 0 X1 = 0 0 0 (50) (50) (80) (30) (40)


K(X) = 100 + 100 + 300 + 640 + 60 + 360 = 1560 .

(5.28)

Okazuje si, e rozwizania, ktre uzyskuje si, postpujc zgodnie z podanymi reguami, posiadaj pewne specjalne wasnoci i nazywa si je rozwizaniami bazowymi dopuszczalnymi. Zanim wyjanimy bliej co to znaczy podamy niezbdne definicje. Lini nazywamy dowolny wiersz lub kolumn macierzy.
48

Cyklem nazywamy zbir wzw, ktry z dowoln lini ma dokadnie zero lub dokadnie dwa wzy wsplne. Dla przykadu zbir wzw {(1,1), (1,3), (2,1), (2,4),(3,3),(3,4)} tworzy cykl. Ilustruje to poniszy schemat. (1,1) (2,1) (3,3) (1,3) (2,4) (3,4) (5.29)

Zauwamy, e cykl zawsze zawiera parzyst ilo wzw. Dla danego zagadnienia transportowego o m dostawcach oraz n odbiorcach zbiorem bazowym B nazywamy zbir m + n -1 wzw, nie zawierajcy cyklu. Mona pokaza, e dowolny zbir m + n wzw zawiera cykl, natomiast zbir wzw wyrnionych przy wyznaczaniu rozwizania dopuszczalnego zgodnie z podanymi wczeniej reguami zawiera m + n -1 elementw i nie zawiera cyklu, jest zatem zbiorem bazowym. Rozwizaniem bazowym dopuszczalnym zagadnienia transportowego wzgldem zbioru bazowego B nazywamy takie rozwizanie dopuszczalne
B X B = [x ij ]mxn , ktre spenia warunek

B x ij = 0 dla (i, j) B, i = 1, ..., m; j = 1, ..., n .

(5.30)
XB

Jeli

B x ij > 0 dla (i, j) B

to

rozwizanie

nazywamy

niezdegenerowanym rozwizaniem bazowym dopuszczalnym, w przeciwnym wypadku, a zatem gdy x B = 0 dla pewnego wza (p, q) B rozwizanie X B pq nazywamy zdegenerowanym rozwizaniem bazowym dopuszczalnym. Z przeprowadzonych rozwaa wynika, e rozwizania dopuszczalne, ktre otrzymujemy metodami kta pnocno-zachodniego, elementu minimalnego
49

macierzy,

czy

innymi (5.25)

opartymi oraz

na

analogicznych s

algorytmach,

rozwizaniami bazowymi. Zauwamy, e zarwno X jak i X1 dane wzorami odpowiednio (5.28) rozwizaniami bazowymi niezdegenerowanymi. Dla rozwizania bazowego X zbir bazowy B ma posta B = {(1,1), (1,2), (2,2), (2,3), (3,3), (3,4)} (5.31) natomiast w wypadku rozwizania X1 odpowiedni zbir bazowy B1 jest rwny B1 = {(1,3), (2,4), (3,1), (3,2), (3,3), (3,4)} .(5.32) Obecnie pokaemy, w jaki sposb sprawdzi, czy dane rozwizanie bazowe dopuszczalne X B jest rozwizaniem optymalnym. Zdefiniujemy na pocztek macierz rwnowan macierzy kosztw

c jednostkowych C, ktr oznacza bdziemy przez C = [~ij ]mxn .


Macierz
~ C

nazywamy

macierz

rwnowan

macierzy

kosztw

jednostkowych C, jeli powstaje ona z macierzy C przez dodanie do jej wierszy oraz kolumn pewnych staych. Elementy macierzy rwnowanej C speniaj zatem warunki

~ = c + u + v , u , v R, cij ij i j i j i = 1,2, ..., m; j = 1,2, ..., n

(5.33)

Zauwamy, e dla danej macierzy C istnieje nieskoczenie wiele macierzy rwnowanych C . atwo zauway, e spenione jest nastpujce twierdzenie. Twierdzenie 2.5.1 Jeli X jest rozwizaniem optymalnym zagadnienia transportowego o macierzy kosztw jednostkowych C, to jest te rozwizaniem optymalnym zagadnienia transportowego o identycznych wektorach poday a, popytu b oraz macierzy

50

kosztw jednostkowych C , gdzie C jest macierz rwnowan macierzy kosztw jednostkowych C.


B Macierz C B = [c ij ]mxn nazywamy zerow macierz rwnowan macierzy

kosztw jednostkowych C, wzgldem danego zbioru bazowego B, jeli jest ona


B macierz rwnowan macierzy C oraz jej elementy cij s rwne zero dla

wzw bazowych. Z powyszej definicji wynika, e elementy zerowej macierzy rwnowanej

C B speniaj warunki
B c ij = c ij + u i + v j , u i , v j R,

i = 1,2, ..., m; j = 1,2, ..., n


B c ij = 0 dla (i, j) B,

(5.34)

B lub inaczej, aby wyznaczy zerow macierz rwnowan C B = [c ij ] naley

obliczy ui oraz vj , i = 1, 2, ..., m; j = 1, 2, ..., n tak, aby spenione byy warunki

c ij + u i + v j = 0 dla (i, j) B .

(5.35)

Poniewa zbir bazowy B zawiera m + n - 1 wzw, ukad (5.35) jest ukadem m + n -1 rwna o m + n niewiadomych u1, u2, ... , um; v1, v2, ... , vn. Aby ukad (5.35) rozwiza wystarczy jedn z liczb ui lub vj przyj dowolnie, pozostae liczby wyznaczone s w sposb jednoznaczny. Zatem dla dowolnej macierzy kosztw jednostkowych C oraz dla dowolnego mona pokaza, e zachodzi: zbioru bazowego B istniej liczby ui oraz vj speniajce ukad rwna (5.35), co wicej

51

Twierdzenie 2.5.2 Dla danej macierzy kosztw jednostkowych C oraz dla dowolnego zbioru
B bazowego B zerowa macierz rwnowana C B = [c ij ]mxn speniajca warunki

(5.34) jest okrelona w sposb jednoznaczny. Celem prezentacji sposobu obliczania zerowej macierzy rwnowanej obliczymy zerow macierz rwnowan macierzy C, bdcej macierz kosztw jednostkowych w zagadnieniu transportowym (5.15) wzgldem zbioru
B bazowego B danego wzorem (5.31) - oznaczymy j C B = [c ij ]mxn oraz

wzgldem zbioru bazowego B1 danego wzorem (5.32) - oznaczymy j


B C B1 = [c ij 1 ]mxn .

Aby wyznaczy

CB

musimy rozwiza ukad rwna

c11 + u1 +v1 = 0 c12 + u1 +v2 = 0 c22 + u2 +v2 = 0 c23 + u2 +v3 = 0 c33 + u3 +v3 = 0 c34 + u3 +v4 = 0 5 + u1 +v1 = 0 4 + u1 +v2 = 0 8 + u2 +v2 = 0 7 + u2 +v3 = 0 2 + u3 +v3 = 0 9 + u3 +v4 = 0 Jedn z liczb ui, vj przyjmujemy dowolnie np. u1 = -5. Wwczas z pierwszego oraz drugiego rwnania mamy
52

(5.36)

czyli

(5.37)

v1 = 0, v2 = 1. Poniewa otrzymalimy, e v2 = 1 to z trzeciego rwnania u2 = -9, std z rwnania czwartego v3 = 2, a z rwnania pitego u3 = -4, wic z rwnania szstego v4 = -5. Ostatecznie u1 = -5, u2 = -9, u3 = -4, v1 = 0, v2 = 1, v3 = 2, v4 = -5. Na podstawie (5.15) , (5.34) oraz (5.38) mamy:
B c11 = c11 + u1 +v1 =5 - 5= 0, B c12 = c12 + u1 +v2 = 4-5 +1= 0, B c13 = c13 + u1 +v3 = 1-5 +2 = -2, B c14 = c14 + u1 +v4 = 6 -5 - 5 =-4,

(5.38)

c B = c21 + u2 +v1 = 3 - 9 + 0 = -6, 21 c B = c22 + u2 +v2 = 8 - 9 +1 = 0, 22 c B = c23 + u2 +v3 =7 - 9 + 2= 0, 23 c B = c24 + u2 +v4 = 2 - 9 - 5 = -12, 24
B c 31 B c 32

(5.39)

= c31 + u3 +v1 = 6 - 4 + 0 = 2, = c32 + u3 +v2 = 8 - 4 +1 = 5,

B c33 = c33 + u3 +v3 =2 - 4 + 2= 0, B c 34 = c34 + u3 +v4 = 9 - 4 - 5 = 0,

53

czyli

0 0 2 4 C B = 6 0 0 12 . 2 5 0 0

(5.40)

Obliczenia zwizane z wyznaczaniem zerowej macierzy rwnowanej mona wykona bezporednio na macierzy kosztw jednostkowych. W tym celu wystarczy w macierzy tej zaznaczy wzy bazowe a nastpnie jedn z liczb ui lub vj przyj dowolnie, kolejne natomiast wyznacza tak, aby speniony by warunek (5.35). W ten sposb wyznaczymy C B1 , gdzie B1 jest zbiorem bazowym danym wzorem (5.32). Wypisujemy macierz C z zaznaczonymi wzami zbioru B1.

v1

v2

v3

v4
(5.41)

u1 5 4 (1) 6 - 1 u2 3 8 7 ( 2) 5 . u 3 (6) (8) (2) (9) - 2 -4 -6 0 -7

Przyjmujemy np. u1 = -1, std v3 = 0, std u3 = -2, std v1 = -4, v2 = -6, v4 = -7, a z ostatniej rwnoci u2 = 5. Ostatecznie

C B1

0 3 (0) 2 = 4 7 12 (0) . (0) (0) (0) (0)


jeli
XB

(5.42)

Zauwamy,

jest

rozwizaniem

bazowym

zagadnienia

B transportowego, natomiast C B = [c ij ] jest odpowiedni zerow macierz

rwnowan, wwczas

54

B B c ij x ij = 0 . i =1 j=1

(5.43)
CB

Zamy obecnie, e w pewnej zerowej macierzy rwnowanej elementw ujemnych. Jeli zmienimy rozwizanie
XB

nie ma

w ten sposb, e

otrzymamy z niego inne rozwizanie, dla ktrego na pewnym wle (k, l) B bdziemy mieli dodatni przewz, wwczas koszt transportu nowego rozwizania, liczony wzgldem zerowej macierzy rwnowanej liczb dodatni. Z powyszych rozwaa oraz z (5.43) wynika Twierdzenie 2.5.3. B Jeli dla pewnego rozwizania bazowego X B = [x ij ] odpowiednia zerowa
B macierz rwnowana C B = [c ij ] nie zawiera elementw ujemnych, to

CB

bdzie

rozwizanie

to

jest

rozwizaniem

optymalnym

danego

zagadnienia

B transportowego. Jeli dodatkowo c ij > 0 dla (i, j) B, to jest to jedyne

rozwizanie optymalne. Jeli rozwizanie dopuszczalne X powstaje z rozwizania bazowego


B X B = [x ij ]

w ten sposb, e na pewnym wle (k, l) B przyjmujemy przewz xkl jednostek towaru wwczas zachodzi rwno
B K(X) = K(X B ) + c kl x kl .

(5.44)

Z powyszego wzoru wynika, e jeli w zerowej macierzy rwnowanej wystpuje element ujemny c B , to na og mona znale rozwizanie X, takie, kl e

K (X) < K (X B )
czyli
XB

(5.54)

nie jest rozwizaniem optymalnym.


55

Na podstawie przeprowadzonych rozwaa widoczne jest jak postpowa, gdy dane rozwizanie bazowe czyli, jeli w macierzy
CB XB

okae si nie by rozwizaniem optymalnym,

bd wystpoway elementy ujemne. Naley

wwczas wyznaczy wze (k, l) taki, e


B c B = min c ij kl (i, j)

(5.46)

i z rozwizania

XB

utworzy nowe rozwizanie

X B1 ,

w ten sposb, e wze

(k, l) bdzie wzem nalecym do zbioru B1, czyli w nowym rozwizaniu na wle (k, l) bdzie moliwie duy przewz. Aby wyznaczy rozwizanie X B1 rozpatrujemy zbir B {(k, l)}. Jest to zbir m + n wzw i zawsze zawiera dokadnie jeden cykl . Cykl dzielimy nastpnie na dwie rozczne poowy, w ten sposb, e do kadej z nich naley dokadnie jeden wze z kadej linii, ktrej wzy wchodz w skad cyklu . Poowy te nazywamy pcyklami i oznaczamy + oraz _. Poniewa wze (k, l) zawsze naley do cyklu (gdy same wzy zbioru bazowego B nie mog zawiera cyklu), przyjmujemy, e (k, l) + , czyli = + _ + _ = (k, l) + . Wyznaczamy obecnie wze (p, q) taki, e
c B = min pq
( j, j) B x ij .

(5.47)

(5.48)

Jeli jest ich kilka to wybieramy dowolny z nich. Majc wzy (k, l) oraz (p, q)
B wyznaczamy zbir bazowy B1 oraz nowe rozwizanie X B1 = [ x ij 1 ] w ten sposb,

e
56

B1 = {B {(k, l)}} -{(p, q)}


B x ij B = x ij + x B pq B B x x pq ij

(5.49)

B x ij 1

dla (i, j) dla (i, j) + . dla (i, j)

(5.50)

Na podstawie (5.44) otrzymujemy

K (X B1 ) = K ( X B ) + c B x B . kl pq

(5.51)
X B1

Aby przekona si, czy rozwizanie bazowe dopuszczalne

jest

rozwizaniem optymalnym wyznaczamy zerow macierz rwnowan macierzy kosztw jednostkowych C wzgldem zbioru bazowego B1 (przy obliczeniach mona posuy si macierz C lub dowoln z wczeniej wyznaczonych jej macierzy rwnowanych). Jeli nie posiada ona elementw ujemnych to rozwizanie X B1 jest rozwizaniem optymalnym, w przeciwnym przypadku naley w sposb analogiczny jak we wzorach (5.49), (5.50) otrzyma zbir B2 oraz rozwizanie X B2 . Proces obliczeniowy kontynuujemy a do uzyskania rozwizania optymalnego, czyli do momentu, gdy odpowiednia zerowa macierz rwnowana nie bdzie zawieraa elementw ujemnych. Macierz C B dana wzorem (5.40) zawieraa elementy ujemne, std rozwizanie bazowe X dane wzorem (5.25) nie jest rozwizaniem optymalnym zagadnienia (5.15). (k, l) = (2, 4), gdy
B c B = min c ij = 12 24 (i, j)

C B (1 )

( 0) = 6 - 10

( 0) 7

10 ( 0)
57

(0) (12)

8 (0) (5.52) ( 0)

(20)

=
(110) (90)

(5.53)

+ = {(2, 4), (3,3)} natomiast - = {(2, 3), (3, 4)}, co w skrcie zapisujemy
_ +

(20)

=
+

(110) +

(90)

(5.54) (5.55)

( i , j)

min x ij = 20

std (p, q) = (2,3). Na podstawie (5.50)

X B (1 )

0 (50) (50) = 0 (30) 0 0 0 (130)

0 (20) (5.56) (70)

natomiast z (5.49)

B(1) = {(1,1), (1,2), (2, 2), (2, 4), (3,3), (3,4)} .(2.5.57)
Zauwamy, e zgodnie z (5.51)

K ( X B(1) ) = 1860 - 12 ### 20 = 1620 .

(5.58)

Sprawdzimy, czy X B(1) jest rozwizaniem optymalnym. Do obliczenia zerowej macierzy rwnowanej C B(1) wykorzystamy macierz C B(1) wzorem (5.40)
58

dan

v1 u1 u2 u3

v2

v3 0 (0) 12

v4
4

(0) (0) 2
6 (0)

0 0 -12

( 12) ( 0) 12

(5.59)

2 0

5 0

Widzimy wic, e
(0) = 6 -10 (0) 10 (0) (12) 7 (0) 8 (0) . (0)

C B(1)

(5.60)

Poniewa w rozwizanie
X B(1)

C B(1)

wystpuj elementy ujemne naley przypuszcza, e

nie jest rozwizaniem optymalnym i trzeba w dalszym cigu

go poprawia

min c ij (1) = 10
( i , j)

(k, l) = (3, 1)
(50) _ (50) + _ (20)

=
+

(30)

(5.61)

(70)

(p, q) = (2,2) gdy


( i , j)

min x ij (1) = 30 = x 22(1) .

(5.62)

Na podstawie (5.49), (5.50), (5.56), (5.61) oraz (5.62)

59

X B( 2 )

0 (20) (80) = 0 0 0 (30) 0 (130)

0 (50) (40)

(5.63)

B( 2 ) = {(1,1), (1,2), (2, 4), (3, 1), (3,3), (3,4)}(5.64)


K( X B( 2 ) ) =

1620 - 10 30 = 1320 .

Tym razem sprawdzimy, czy X B( 2 ) jest rozwizaniem optymalnym. Poniewa

v1

v2

v3

v4
(5.65)

u 1 (0) (0) 10 8 - 10 u2 6 0 12 (0) 0 u 3 (10) 7 (0) (0) 0 10


wic

10

C B( 2 )

(0) (0) 0 = 4 10 12 (0) 3 (0)

-2 (0) (0)

(5.66)

i rozwizanie (2.5.63) nie jest jeszcze rozwizaniem optymalnym.

min c ij ( 2 ) = c14( 2 ) = 2
( i , j)

(5.67)

(k, l) = (1, 4)
(20) _ 0 +

=
(30) + (40) _

(5.68)

60

( i , j)

min x ij ( 2 ) = x11( 2 ) = 20

(5.69)

(p, q) = (1,1). Na podstawie (5.67) - (5.69)

X B( 3 )

(80) 0 0 0 0 = 0 (50) 0 (130)

(20) (50) (20)

(5.70)

B( 3) = {(1,2), (1,4), (2, 4), (3, 1), (3,3), (3,4)}(5.71)


K( X B( 3) ) =

1320 - 2 20 = 1280.

(5.72)

W celu obliczenia zerowej macierzy rwnowanej macierzy kosztw C wzgldem zbioru bazowego
B( 3)

moemy posuy si dowoln macierz

rwnowan macierzy C, czyli macierzami C, C B , C B(1) lub C B( 2 ) . My wykorzystamy macierz C B( 2 ) .

v1

v2

v3

v4
(5.73)

u 1 0 (0) 0 (2) 2 u 2 4 10 12 (0) 0 . u 3 (0) 3 (0) (0) 0 0


Otrzymujemy

-2

C B( 3 )

2 (0) 2 8 12 = 4 (0) 1 (0)

(0) (0) . (0)

(5.74)

61

Poniewa w macierzy C B( 3) nie wystpuj elementy ujemne, stwierdzamy, e rozwizanie X B( 3) dane wzorem (5.70) jest rozwizaniem optymalnym

zagadnienia transportowego (5.15). Poniewa w macierzy C B( 3) , poza wzami nalecymi do zbioru


B( 3)

nie ma

wartoci zerowych stwierdzamy, e jest to jedyne rozwizanie optymalne i czny koszt transportu jest rwny 1280. W ten sposb optymalnie naley zatem towar od dostawcw do odbiorcw przewozi zgodnie z poniszym schematem:
O D
1 20 80 1

50 50

O
130 20

(5.75)

Wyznaczymy jeszcze raz rozwizanie optymalne zagadnienia transportowego (5.15). Tym razem jako pierwsze rozwizanie bazowe przyjmiemy rozwizanie X1 dane wzorem (5.28) uzyskane metod elementu minimalnego macierzy MEMM. Poniewa w zerowej macierzy rwnowanej
C B1

danej wzorem (5.42)

wystpuj elementy ujemne wic nie jest to rozwizanie optymalne.


B B min c ij 1 = c121 = 3 ( i , j)

(5.76)

(k, l) = (1, 2)
0 + (100) _

=
(80) _ (30) +

(5.77)

62

( i , j)

min x1 = x1 = 80 ij 32

(5.78)

(p, q) = (3, 2). Na podstawie (5.28), (5.76) ### (5.78)

X B2

(80) (20) 0 0 0 = 0 (50) 0 (110)

0 (50) (40)

(5.79)

B2

= {(1,2), (1,3), (2, 4), (3, 1), (3,3), (3,4)} 1560 - 3 80 = 1320.
C B1 danej

K( X B2 ) =

(5.80)

Korzystajc z macierzy rwnowan C B2 .

wzorem (5.42) obliczamy zerow macierz

v1

v2

v3

v4
(5.81)

u 1 0 (3) (0) 2 0 u2 4 7 12 (0) 0 u 3 (0) 0 (0) (0) 0 0 3 0 0 -2 (0) . (0)

C B2

0 (0) (0) = 4 10 12 (0) 3 (0)

(5.82)

Poniewa w macierzy C B2 na wle (k, l) = (1, 4) wystpuje element ujemny rozwizanie X B2 nie jest jeszcze rozwizaniem optymalnym.
(20) _ 0 +

=
(110) + (40) _

(5.83)

63

( i , j)

B B min x ij 2 = x132 = 20

(5.84)

(p, q) = (1, 3)

X B3

(80) 0 (20) 0 0 0 (50) = 0 (50) 0 (130) (20)


1320 - 2 20 = 1280

(5.85)

K( X B3 ) =

(5.86)

B3 = {(1,2), (1,4), (2, 4), (3, 1), (3,3), (3,4)}(5.87)

v1

v2

v3

v4
(5.88)

u 1 0 (0) 0 (2) 2 u 2 4 10 12 (0) 0 . u 3 (0) 3 (0) (0) 0 0 -2 0 0 (0) (0) . (0)

Otrzymalimy ostatecznie

C B3

2 (0) 2 8 12 = 4 (0) 1 (0)

(5.89)

Poniewa w macierzy C B3 nie wystpuj elementy ujemne rozwizanie rozwizaniem optymalnym.

X B3

jest

Poniewa wczeniej ju rozwizalimy to zagadnienie transportowe czytelnik zechce porwna rezultaty (5.70), (5.72) oraz (5.74) odpowiednio z (5.85), (5.86) oraz (5.89). Oczywicie ich zbieno nie jest przypadkowa. Na zakoczenie rozwaa powiconych zagadnieniu transportowemu zajmiemy si jeszcze dwoma przykadami. Zamy zatem, e jest dane zdegenerowane rozwizanie bazowe dopuszczalne
XB

64

0 (40) (10) X B = (0) (20) 0 0 0 (30)

(5.90)

zagadnienia transportowego o macierzy kosztw jednostkowych C

11 8 1 C = 14 9 3 19 15 6
K( X B ) = 110 + 40 + 180 + 180 = 510 .

(5.91)

(5.92)

Wyznaczymy zerow macierz rwnowan

v1

v2

v3

u1 (11) 8 (1) - 1 u 2 (14) (9) 3 - 4 . u 3 19 15 (6) - 6 - 10


Mamy zatem

-5

0 (0) -1 (0)
.

(0) 2 C B = (0) (0) 3 4


B c 23

(5.93)

Poniewa w macierzy (5.93) wystpuje na wle (k, l) = (2,3) element ujemny = -1 wic nie moemy stwierdzi czy rozwizanie (5.90) jest optymalne i naley go poprawia.
+ _

(10)

(40)

=
(0) _ 0 +

(5.94)

65

( i , j)

B min x ij = 0 = x B 21

(5.95)

(p, q) = (2, 1). Std rozwizanie


X B1

ma posta

X B1

0 (40) (10) 0 (20) (0) = 0 0 (30)

(5.96)

B1 = {(1,1), (1,3), (2, 2), (2,3), (3,3)}


K( X B1 )

K( X B )

= 510 .
X B1

Zauwamy, e rozwizanie

jako rozwizanie dopuszczalne nie rni si od


XB ,

rozwizania dopuszczalnego

zmieni si jedynie zbir bazowy


X B1 C B1

B1 .

Sprawdzimy, czy rozwizanie bazowe dopuszczalne optymalnym. Wyznaczamy zerow macierz rwnowan

jest rozwizaniem

v1

v2

v3
(5.97)

u 1 (0) 2 (0) 0 u 2 0 (0) (1) 1 u3 3 4 (0) 0 0 -1 0

C B1

(0) 1 (0) = 1 (0) (0) . 3 3 (0)


C B1

(5.98)

Poniewa w macierzy dopuszczalne


X B1

nie ma elementw ujemnych rozwizanie bazowe


XB ,

jest rozwizaniem optymalnym. Otrzymalimy zatem, e

jako rozwizanie dopuszczalne byo rozwizaniem optymalnym, jednak przy


66

zbiorze bazowym B nie potrafilimy tego stwierdzi i potrzebny do tego celu by nowy zbir bazowy
B1 .

Z tak sytuacj moemy si spotka tylko wtedy, gdy

mamy dane rozwizanie bazowe zdegenerowane. Rozpatrzmy na zakoczenie rozwizanie bazowe dopuszczalne
XB

0 (20) 0 (10) 0 (30) 0 0 XB = 0 0 (40) (50) 0 (70) 0 (60)


zagadnienia transportowego o macierzy kosztw C

(5.99)

6 10 C= 9 17

10 11 15 10 16 19 . 18 14 16 13 23 17

(5.100)

Wyznaczymy odpowiedni zerow macierz rwnowan

CB

v1

v2

v3

v4 - 11 - 12 - 14 15
. (5.101)

u 1 (6) 10 (11) 5 u 2 10 (10) 16 19 u3 9 18 (14) (16) u 4 17 (13) 23 (17) 5


Mamy zatem

2 1

0 ( 0)

( 0) 3 CB = 0 7

2 ( 0) 4 5 . 6 ( 0) ( 0) ( 0) 8 ( 0)

(5.102)

67

Poniewa w macierzy

CB

nie wystpuj elementy ujemne wic stwierdzamy, e


XB

rozwizanie bazowe dopuszczalne

dane wzorem (5.99) jest rozwizaniem

optymalnym. Poniewa jednak w nieujemnej zerowej macierzy rwnowanej


CB

na wle (3, 1) wystpuje zero naley przypuszcza, e istniej inne

rozwizania optymalne. Aby je wyznaczy na ten wze damy dodatni przewz


(10) _ (20) +

=
0 + (40) _

(5.103)

Std

X B1

0 (30) 0 0 0 (30) 0 0 . = (10) 0 (30) (50) 0 (70) 0 (60)


CB

(5.104))

Zauwamy, e bazowego
B1 ,

jest rwnie zerow macierz rwnowan dla zbioru

czyli , e
C B1 .

CB

(5.105)

Jeli teraz dla dowolnej liczby ### 0 1 okrelimy rozwizanie dopuszczalne X (5.106)

X = X B + (1 ) X B1

(5.107)

to rozwizanie X bdzie rwnie rozwizaniem optymalnym danego zagadnienia. Otrzymamy zatem wicej ni dwa rozwizania optymalne danego

68

zagadnienia. Wzr (5.107) okrela ogln posta rozwizania optymalnego dla zagadnienia transportowego majcego dwa rne rozwizania optymalne. W naszym przykadzie, gdy przyjmiemy np. = 1/2 to otrzymamy
5 0 25 0 0 30 0 0 X1 = 2 5 0 35 50 . 0 60 0 70

(5.108)

Zauwamy, e X1/2 jest rozwizaniem dopuszczalnym, optymalnym, ale nie jest rozwizaniem bazowym, gdy liczba wzw na ktrych dany jest dodatni przewz jest rwna 8 i jest wiksza ni m + n - 1 = 7.

69

2.6 Zagadnienie PL dualne Zamy, e dane jest zagadnienie PL (prymalne) zapisane w postaci: wyznaczy takie wartoci zmiennych decyzyjnych x1, x2, . . ., xn, e:
n

a
ja1

ij

x j bi

( dla i = 1,2, K , m ) (dla j = 1,2, K , n)

xj 0 oraz

Z ( x1 , x2 , K , xn ) = c j x j max
j =1

Z parametrw strukturalnych i decyzyjnych powyszego modelu mona zbudowa inny model, zwany modelem dualnym wzgldem modelu pierwotnego, ktry ma posta: wyznaczy takie wartoci zmiennych decyzyjnych u1, u2, ..., um, ktre s rozwizaniem nastpujcego zagadnienia PL:
m

a
i =1

ji

ui c j

( dla j = 1, 2, K , n ) (dla i = 1,2, K , m)


m

ui 0 oraz

R (u1 , u 2 , K , u m ) = bi u i min
i =1

Z postaci liniowych modeli pierwotnego i dualnego mamy: 1. macierz utworzona ze wspczynnikw przy zmiennych decyzyjnych modelu pierwotnego jest rwna macierzy transponowanej wspczynnikw przy zmiennych decyzyjnych modelu dualnego, 2. wyrazami wolnymi w modelu dualnym s wspczynniki funkcji celu modelu pierwotnego, 3. jeli w zagadnieniu pierwotnym wystpuj nierwnoci typu to w zagadnieniu dualnym mamy nierwnoci typu , 4. jeli w pierwotnym zagadnieniu maksymalizujemy funkcj celu, to w dualnym minimalizujemy,
70

5. w modelu dualnym mamy tyle zmiennych decyzyjnych, ile wystpuje warunkw ograniczajcych w zagadnieniu pierwotnym. Twierdzenie (o dualnoci) Jeeli jeden z modeli (pierwotny lub dualny) posiada skoczone rozwizanie optymalne, to drugi posiada take skoczone rozwizanie optymalne, dodatkowo ekstrema obu funkcji celu s sobie rwne. Jeli zagadnienie pierwotne nie ma skoczonego rozwizania optymalnego, to odpowiednie zagadnienie dualne jest sprzeczne. (uwaga ta cz tw. nie jest odwracalna, tzn. jeli jedno zagadnienie jest sprzeczne, to dualne nie musi posiada nieograniczonej funkcji celu- moe te by sprzeczne. Przykad 1: Dane jest nastpujce pierwotne zagadnienie PL: 3x1 + x2 18 2x1 + 4x2 40 3x1 + 2x2 24 x1, x2 0 Z(x1, x2) = 6x1 + 4x2 max. Zagadnienie dualne do danego bdzie miao posta: 3u1 +2u2 + 3u3 6 u1 +4u2 + 2u3 4 u1, u2, u3 0 R(u1, u2, u3) = 18u1 +40u2 + 24u3 min. Obecnie, wykorzystujc metod simpleks wyznaczymy rozwizania optymalne obu zagadnie i dokonamy analizy porwnawczej:

71

Zagadnienie pierwotne
Wspczynniki Wektory przy wektorach bazy bazy

cj b 18 40 24 0 6 28 6 -36 4 8 6 -48

-6 a1 3 2 3 -6 1 0 0 0 1 0 0 0

-4 a2 1 4 2 -4 0,3333 3,3333 1 -2 0 0 1 0

0 a3 1 0 0 0 0,3333 -0,667 -1 2 0,6667 2,6667 -1 0

0 a4 0 1 0 0 0 1 0 0 0 1 0 0

0 a5 0 0 1 0 0 0 1 0 -0,333 -3,333 1 2 Rozwizanie bazowe x3 = x4 = x5 = x1 = x4 = x5 = x1 = x4 = x2 = 18 40 24 6 28 6 4 8 6

Obliczenia pomocnicze i uwagi 6 20 8 18 8,4 6 6 3 -6 z bazy z bazy z bazy

a3 a4 a5 a1 a4 a5 a1 a4 a2

0 0 0

j = cj - zj
-6 0 0

Rozw nie jest opt

j = cj - zj
-6 0 -4

Rozw nie jest opt

j = cj - zj

Rozw jest opt ale nie jedyne

72

Zagadnienie dualne
Wektory bazy a6 a7 a6 a2 a1 a2 a1 a3
Wspczynniki przy wektorach bazy

cj b 6 4 1000 4 1 440 1,6 0,6 52,8 0 2 48

18 a1 3 1 -382 2,5 0,25 -242 1 0 0 1 0 0

40 a2 2 4 -560 0 1 0 0 1 0 -2,667 3,3333 8

24 a3 3 2 -476 2 0,5 -196 0,8 0,3 -2,4 0 1 0

0 a4 -1 0 100 -1 0 100 -0,4 0,1 3,2 -0,667 0,3333 4

0 a5 0 -1 100 0,5 -0,25 -40 0,2 -0,3 8,40 1 -1 6,00

100 a6 1 0 0 1 0 0 0,4 -0,1 96,8 0,6667 -0,333 96

100 a7 0 1 0 -0,5 0,25 -0,2 0,3 -1 1 94

Rozwizanie bazowe u6 = u7 = u6 = u2 = u1 = u2 = u1 = u3 = 6 4 4 1 1,6 0,6 0 2

Obliczenia pomocnicze i uwagi 3 1 1,6 4 2 2 z bazy z bazy z bazy

100 100

j = cj - zj
100 40

Rozw nie jest opt

j = cj - zj
18 40

140 Rozw nie jest opt

j = cj - zj
18 24

91,6 Rozw nie jest opt

j = cj - zj

Rozw jest opt

73

Uwagi: 1. Zagadnienia PL w zaprezentowanej postaci (prymalne i dualne) nazywamy zagadnieniami symetrycznymi. Moliwe s inne ich postacie, nie bdziemy si tym zajmowa. 2. Jeli (x1, x2, ...,xn) oraz (u1, u2, ...,um) s rozwizaniami dopuszczalnymi odpowiednich problemw symetrycznych to
n m

c j x j bi u i
j =1 i =1

3. (tw. o komplementarnoci). Niech x i u oznaczaj rozwizania dopuszczalne symetrycznych problemw dualnych. Warunkiem koniecznym i wystarczajcym na to aby x i u byy rozwizaniami optymalnymi jest zachodzenie rwnoci: u(b Ax) = 0 oraz (uA c)x = 0 4. (wniosek z (3)).Warunkiem koniecznym i wystarczajcym, na to aby rozwizania dopuszczalne x oraz u symetrycznych problemw dualnych byy ich rozwizaniami optymalnymi jest zachodzenie implikacji1
(u i > 0) ( a ij x j = bi )
j =1 n

( a ij x j < bi ) (u i = 0)
j =1

( a ji u i > c j ) ( x j = 0)
i =1

( x j > 0) ( a ji u i = c j )
i =1

Z ostatniego wniosku wynika, e2 jeli dla rozwizania optymalnego jednego z symetrycznych problemw dualnych jaki warunek ograniczajcy jest speniony jako nierwno ostra, to w rozwizaniu optymalnym drugiego problemu warto zmiennej odpowiadajcej temu warunkowi jest rwna zero. Jeli ponadto dla rozwizania optymalnego jednego z problemw warto zmiennej
1 2

Porwnaj Wiesaw Grabowski: Programowanie matematyczne, str. 96. Tame

74

jest dodatnia, to warunek ograniczajcy odpowiadajcy tej zmiennej jest dla rozwizania optymalnego drugiego problemu speniony jako rwnanie. Na podstawie powyszego spostrzeenia znajc rozwizanie optymalne jednego problemu czsto moemy wyznaczy rozwizanie optymalne drugiego. Przykad 2: W przykadzie 1 dla problemu prymalnego otrzymalimy rozwizanie optymalne x1 =4, x2 =6. Mamy: 3 4 + 6 = 18 2 4 + 4 6 < 40 3 4 + 2 6 = 24 Poniewa x1, x2 > 0, std jednoczenie pierwsze dwa warunki (czyli w naszym wypadku wszystkie) zagadnienia symetrycznego dualnego spenione s jako rwnoci. Ostatecznie mamy: 3u1 +2u2 + 3u3 = 6 u1 +4u2 + 2u3 = 4 , 3u1 + 3u3 = 6 u1 + 2u3 = 4, std u1 = 0, u3 = 2 (porwna z otrzymanym rozwizaniem metod simpleks. W odwrotn stron: poniewa w rozwizaniu optymalnym zagadnienia dualnego u3 > 0, std trzeci warunek zagadnienia prymalnego ma posta rwnoci, czyli 3x1 + 2x2 = 24. wic std u2 = 0,

75

Przykad 3:
1 4 3 240 Niech c = [2 4 3], A = 2 1 5, b = 300 . 1 1 1 200

Wwczas problem prymalny ma

posta: x1 + 4x2+ 3x3 240 2x1 + x2 + 5x3 300 x1 + x2 + x3 200 x1, x2, x3 0 Z(x1, x2, x3) = 2x1 + 4x2 + 3x3 max. Symetryczne zagadnienie dualne do danego bdzie miao posta: u1 +2u2 + u3 2 4u1 +u2 + u3 4 3u1 +5u2 + u3 3 u1, u2, u3 0 R(u1, u2, u3) = 240u1 +300u2 + 200u3 min. Mona pokaza, e rozwizaniem optymalnym zagadnienia dualnego s liczby
1 6 4 u1 = , u 2 = , u 3 = 0, Jednoczenie R(u1, u2, u3) =377 . 7 7 7

Mona sprawdzi, e dla rozwizania optymalnego pierwsze dwa warunki s spenione jako rwnoci, natomiast 3u1 +5u2 + u3 > 3 std dla rozwizania optymalnego zagadnienia prymalnego x3 = 0. jednoczenie poniewa u1, u2, > 0 to: x1 + 4x2+ 3x3 = 240 2x1 + x2 + 5x3 = 300 std rozwizanie optymalne jest postaci:
1 5 x1 = 133 , x 2 = 25 , x 3 = 0 . Mona sprawdzi, e 7 7

Z(x1, x2, x3) = 377 .

1 7

76

III. CZ II WYKORZYSTANIE KLASYCZNEGO ZAGADNIENIA TRANSPORTOWEGO DO PODEJMOWANIA RACJONALNYCH DECYZJI


3.1 Zagadnienie z blokad tras Przykad: Zamy, e firma budowlana, zatrudniajca trzech pracownikw, zajmujcych si pracami wykoczeniowymi w mieszkaniach otrzymaa na najbliszy miesic cztery pilne zlecenia, ktrych pracochonno oszacowano na odpowiednio: 100, 150, 120 i 80 roboczogodzin. Wspomniani pracownicy na wykonanie tych prac mog powici odpowiednio 200, 160 i 110 godzin. Zakadamy, e kade zlecenie moe by wykonywane przez kilku pracownikw i kady pracownik moe pracowa na rzecz kilku zleceniodawcw w ramach limitu czasu. Stawki godzinowe za wykonan prac s rne, w zalenoci od tego, ktry pracownik obsuguje ktre zlecenie i podane s w poniszej tabeli (w zotych za godzin) 10 13 17 12 16 15 11 9 12 15 14 18 Pracownik I Pracownik II Pracownik III

Zlec. 1 Zlec. 2 Zlec. 3 Zlec. 4 Dodatkowo wiadomo, e pracownik II ma bardzo przykre dowiadczenia z prac u zleceniodawcy 3 (i odwrotnie), wic nie jest wskazane aby wykonywa tam prace. Zaproponowa sposb obsugi zlece, tak aby praca zostaa wykonana (przy wspomnianych ograniczeniach) oraz aby: 1) czne koszty poniesione przez zleceniodawcw byy minimalne, 2) czny przychd firmy budowlanej by maksymalny.
77

Zauwamy, e gdyby nie ograniczenie, co do pracy drugiego zleceniobiorcy u trzeciego zleceniodawcy, to zagadnienie (1) mona rozwiza wykorzystujc klasyczny algorytm transportowy, czyli rozwizujc zagadnienie transportowe: 10 17 12 15 11 12 15 200 14 160 18 110

13 16 9

100 150 120 80 Zagadnienie to po zbilansowaniu przybiera posta: 10 17 12 15 11 12 15 0 14 0 18 0 200 160 110

13 16 9

100 150 120 80 20 Aby w rozwizaniu optymalnym na wle (2,3) otrzyma zerowy przewz naley komrk (2,3) macierzy kosztw jednostkowych zablokowa, wstawiajc w miejsce liczby 9 bliej nie okrelon du liczb dodatni M. Z praktyki wiadomo, e wystarczy w jej miejsce wstawi liczb rwn trzykrotnej wartoci najwyszego elementu macierzy kosztw jednostkowych, czyli w naszym wypadku 54. Mamy wic do rozwizania obecnie zagadnienie: 10 13 17 12 16 15 11 54 12 15 0 14 0 18 0 200 160 110

100 150 120 80 20 Jego rozwizanie pozostawiamy czytelnikowi.


78

Aby rozwiza zagadnienie z kryterium (2), a zatem maksymalizujce czny przychd firmy budowlanej naleaoby rozwiza zagadnienie transportowe z kryterium maksymalizacji funkcji celu. Chcc unikn koniecznoci podawania odrbnego algorytmu dla takiego zagadnienia ograniczymy si do stwierdzenia, e wystarczy w zagadnieniu na minimalizacj zastpi macierz kosztw jednostkowych macierz do niej przeciwn i otrzymane zagadnienie rozwiza przy pomocy klasycznego algorytmu transportowego. Naley pamita, e w miejsce blokowanej komrki macierzy kosztw jednostkowych wstawiamy liczb dodatni, a kocow warto funkcji celu mnoymy przez liczb 1. W naszym przypadku sprowadza si to do rozwizania np. zagadnienia: -10 -12 -11 -15 0 -13 -16 9 -14 0 -17 -15 -12 -18 0 100 150 120 80 20 Czytelnik zechce rozwiza oba zagadnienia, wyznaczy rnice wartoci ich funkcji celu, ktra pokazuje rnice w kosztach midzy rynkiem usugodawcw i rynkiem usugobiorcw i pokazuje korzyci ze zrzeszania si grup producentw bd konsumentw. 3.2 Wieloszczeblowe zadanie transportowe z ograniczeniami Optymalne poczenia producenci magazyny odbiorcy kocowi (PMO) Przykad: Trzech producentw P1, P2, P3 pewnego jednorodnego towaru zaopatruje w wyprodukowany produkt trzech odbiorcw kocowych O1, O2, O3. Towar zanim
79

200 160 110

znajdzie si u odbiorcw musi trafi do dwch magazynw M1, M2. Zdolnoci produkcyjne, maksymalne powierzchnie magazynowe, popyt odbiorcw oraz jednostkowe koszty transportu od producentw do magazynw, a take z magazynw do odbiorcw kocowych dane s w tablicach: Producenci magazyny: 2 3 5 40 M1 Magazyny odbiorcy: 6 4 14 O1 8 7 18 O2 10 9 28 O3 40 30 M1 M2 4 6 9 30 M2 20 15 30 P1 P2 P3

Zadaniem naszym jest wyznaczy program pocze Producenci Magazyny Odbiorcy, tak aby czny koszt obsugi transportowej przedsiwzicia by minimalny. Uwzgldniajc warunki podane w treci zadania budujemy poniszy liniowy system transportowy:

2 3 5 0 M 40 M1

4 6 9 M 0 30 M2

M M M 6 4 14 O1

M M M 8 7 18 O2

M M M 10 9 28 O3

0 0 0 M M 5 Of

20 15 30 40 30
135

P1 P2 P3 M1 M2

80

Liter M wstawilimy w macierzy kosztw jednostkowych w miejsce komrek zablokowanych (nie jest moliwe przewoenie towaru bezporednio od producentw do odbiorcw oraz z magazynu do innego magazynu), odbiorca fikcyjny zosta wprowadzony po to aby zabra nadprodukcj towaru (producenci oferuj 65 jednostek towaru, natomiast zgoszono zapotrzebowanie na 60 jednostek). Jednostkowy koszt transportu z M1 do M1 oraz z M2 do M2 wynosi zero, aby w rozwizaniu w tych miejscach pojawia si niewykorzystana powierzchnia skadowania odpowiednich magazynw (czna powierzchnia magazynowa wynosi 70 jednostek, natomiast faktycznie bdziemy przewozili 60 jednostek towaru, wic nadpowierzchnia wynosi 10 jednostek). Gdyby dane byy koszty jednostkowe niewykorzystanych powierzchni magazynowych na tych wzach (czyli z M1 do M1 oraz z M2 do M2) macierzy kosztw jednostkowych bymy je wstawili i moglibymy czny koszt obsugi transportowej przedsiwzicia podwyszy o koszty zwizane z niewykorzystan powierzchni magazynow. Uwzgldniajc, e najwikszy element macierzy kosztw jednostkowych w otrzymanym zagadnieniu transportowym wynosi 10 sta M moemy zastpi liczb 30. Mamy zatem zagadnienie:

2 3 5 0 30 40 M1

4 6 9 30 0 30 M2

30 30 30 6 4 14 O1

30 30 30 8 7 18 O2

30 30 30 10 9 28 O3

0 0 0 30 30 5 Of

20 15 30 40 30
135

P1 P2 P3 M1 M2

Jego rozwizanie optymalne podane jest w poniszej tablicy. czny minimalny koszt obsugi transportowej przedsiwzicia wynosi 724.

81

0 15 25 0 0 40 M1 40 atwo

20 0 0 0 10 30 M2 30 zauway,

0 0 0 0 14 14 O1 14 e

0 0 0 18 0 18 O2 18

0 0 0 22 6 28 O3 28

0 0 5 0 0 5 Of 5 rozwizanie rozwizanie

20 15 30 40 30
135

P1 P2 P3 M1 M2

20 15 30 40 30

Koszt = nie jest

724 jedynym mona

zaprezentowane Uzyskane

rozwizaniem

optymalnym.

optymalne

zaprezentowa na poniszym schemacie:

20

15

18

P1 P2
25

M1
14 22

O1 O2 O3

P3

M2

82

3.3 Optymalna lokalizacja budowy i rozbudowy magazynw Zajmiemy si tym razem zagadnieniem lokalizacji nowych bd ewentualnej rozbudowy ju istniejcych magazynw, tak aby czny koszt obsugi transportowej pocze magazyny odbiorcy (M) (O) by minimalny. Rozwaania zaprezentujemy na przykadzie. Przykad. Mamy 6 odbiorcw pewnego jednorodnego towaru zlokalizowanych w miejscowociach: Biaystok (Bi), Krakw (Kr), Lublin (Lu), Olsztyn (Ol), Szczecin (Sz), Wrocaw (Wr). Popyt na towar poszczeglnych odbiorcw oszacowano na poziomie odpowiednio 300, 400, 180, 220, 400 i 280 jednostek. Aktualnie dostpne s dwa magazyny w miejscowociach Kielce i Opole, ktrych pojemnoci wynosz odpowiednio 400 oraz 350 jednostek. Chcc zlikwidowa niedobr powierzchni magazynowej moemy rozbudowa magazyny istniejce, bd zbudowa nowe w miejscowociach Elblg (El), Legnica (Le), d (), Toru (To). Koszty transportu jednostki towaru z poszczeglnych magazynw (istniejcych i potencjalnych) do odbiorcw kocowych podaje tablica. Macierz odlegoci (w dziesitkach kilometrw) 36 51 32 60 32 35 11 18 57 34 22 38 17 38 44 50 24 38 39 45 10 49 28 17 59 46 37 32 45 31 30 KielceKi 9 OpoleOp 44 ElblgEl 7 LegnicaLe 20 d 28 ToruTo

Biaystok Krakw Lublin Olsztyn Szczecin Wrocaw Bi Kr Lu Ol Sz Wr


83

Ustali w jakich miejscowociach i jakiej wielkoci naley zbudow (rozbudowa) by minimalny Chcc podj decyzj gdzie rozbudowa lub zbudowa magazyny naley rozwiza ponisze zagadnienie transportowe: Zbilansowane zagadnienie transportowe 36 51 36 51 32 60 32 35 300 Bi 11 18 11 18 57 34 22 38 400 Kr 17 38 17 38 44 50 24 38 180 Lu 39 45 39 45 10 49 28 17 220 Ol 59 46 59 46 37 32 45 31 400 Sz 30 9 30 9 44 7 20 28 280 Wr M M 0 0 0 0 0 0 5150 O fikc. 400Ki 350Op 1030Ki 1030Op 1030El 1030Le 1030 1030To 6930 MI MI MN MN MN MN MN MN 6930 magazyny, tak aby zlikwidowa niedobr powierzchni magazynowej i aby czny koszt transportu towaru z magazynw do odbiorcw

Poniewa najwikszy element macierzy kosztw jednostkowych wynosi 60 wic sta M zastpujemy liczb 180.

36 51 36 51 32 60 32 35 300 Bi

11 18 11 18 57 34 22 38 400 Kr

17 38 17 38 44 50 24 38 180 Lu

39 45 39 45 10 49 28 17 220 Ol

59 46 59 46 37 32 45 31 400 Sz
84

30 9 30 9 44 7 20 28 280 Wr

180 180 0 0 0 0 0 0 5150 O fikc.

400Ki 350Op 1030Ki 1030Op 1030El 1030Le 1030 1030To 6930

MI MI MN MN MN MN MN MN 6930

Rozwizanie zagadnienia transportowego

0 0 0 0 300 0 0 0 300 Bi

330 70 0 0 0 0 0 0 400 Kr

70 0 110 0 0 0 0 0 180 Lu

0 0 0 0 0 280 0 0 0 0 0 0 220 0 0 0 0 0 0 0 0 0 400 0 220 400 280 Ol Sz Wr

0 0 920 1030 510 1030 1030 630 5150 O fikc.

400Ki 350Op 1030Ki 1030Op 1030El 1030Le 1030 1030To 6930

MI MI MN MN MN MN MN MN 6930

Otrzymane rozwizanie, jak atwo si przekona nie jest jedynym rozwizaniem optymalnym. Minimalny czny koszt transportu wynosi 34670 jednostek. Zgodnie z zaprezentowanym rozwizaniem w Kielcach rozbudujemy magazyn o 110 jednostek. Nowe magazyny zlokalizujemy w miejscowociach: Elblg (520 jednostek), Toru (400 jednostek). Transport towaru moe odbywa si zgodnie ze schematem:
330 180

510 350 520

Ki
70 30

Bi Kr
220

300 400 180 220 400 280

Op El

280

Lu Ol Sz Wr

400

400 To

85

3.4 Wieloszczeblowe zadanie transportowe bez ogranicze, Zagadnienie tego typu jest podobne do zagadnienia powyszego (czyli z ograniczeniami). Przyjmujemy dodatkowo, e w punktach porednich nie ma ogranicze przepustowoci. Wtedy jako przepustowo punktw porednich wystarczy przyj czn ilo towaru, jaka ma by przewieziona od wszystkich dostawcw (szczebla pocztkowego) do wszystkich odbiorcw (szczebel kocowy) Przykad: Dane s 4 szczeble przewozu towaru: Szczebel pocztkowy S1 skada si z trzech dostawcw, szczebel S2 te z 3, szczebel S3 z dwch, a kocowy S4 z 4. S1 S2 S3 S4 1: (18) 1 1 2: (4) 2: (16) 2 3: (12) 1 3: (6) 3 4: (6) Nadwyka towaru wynosi zatem (18 +16 +6) ((8 + 4 +12 + 6) = 40 30 =10 Jednostkowe koszty transportu pomidzy poszczeglnymi szczeblami s nastpujce: S1 S2: 4 9 10 6 4 10 9 8 6 1: (8)

86

S2 S3 : 7 8 4 S3 S4: 5 8 10 3 5 3 8 5 6 7 5

Ustali plan przewozu, minimalizujcy czne koszty transportu, tak aby kady odbiorca kocowy otrzyma dokadnie tyle towaru ile potrzebuje i od kadego dostawcy wywieziono nie wicej towaru ni posiada. Aby rozwiza ponisze zadanie przyjmujemy nastpujcy schemat transportowy: 0 0 0 M M M M M 10 0 M M M M 30 4 9 10 0 M M M 30 M 6 4 10 M M 0 M M 30 0 M 30 9 8 6 M M M 7 8 4 M 0 30 8 M M M 6 7 5 M M M M M M 5 8 4 M M M M M M 10 3 M M M M M M 5 3 12 6 M M M M M M 8 5 18 16 6 30 30 30 30 30 190

Sta M zastpujemy np. liczb 30 (zgodnie z regu 3 x maks). Std mamy nastpujce zagadnienie transportowe oraz jego rozwizanie:

87

0 0 0 30 30 30 30 30 10

4 9 10 0 30 30 30 30 30

Liniowy system transportowy 30 30 30 6 9 30 30 30 30 4 8 30 30 30 30 10 6 30 30 30 30 7 6 30 0 30 30 8 7 30 30 0 30 4 5 30 30 30 0 30 5 10 30 30 30 0 8 3 30 30 30 30 8 4

30 30 30 30 30 30 5 3 12

30 30 30 30 30 30 8 5 6

18 16 6 30 30 30 30 30 190

0 10 0 0 0 0 0 0 10

18 0 0 12 0 0 0 0 30

0 6 0 0 24 0 0 0

Rozwizanie optymalne 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 2 16 0 0 0 0 6 0 0 0 0 24 6 0 0 0 22 8 0 0 0 8 4 30 30 30 30 8 4

0 0 0 0 0 0 0 12 12

0 0 0 0 0 0 0 6 6 190

18 16 6 30 30 30 30 30 190

Obliczenia pomocnicze do wyznaczania cznych kosztw transportu 0 72 0 0 0 0 0 0 0 0 72 0 0 24 0 0 0 0 0 0 0 24 0 0 0 36 0 0 0 0 0 0 36 0 0 0 0 14 96 0 0 0 0 110 0 0 0 0 0 42 0 0 0 0 42 0 0 0 0 24 0 0 0 0 0 24 0 0 0 0 0 0 40 0 0 0 40 0 0 0 0 0 0 0 12 36 30 78 426


88

Otrzymany optymalny schemat pocze:

3.5. Zagadnienie z kryterium czasu3 (ZKC). Czsto zaley nam na przewiezieniu pewnego, atwo psujcego si towaru, ktry znajduje si u m dostawcw w ilociach ai i ktry zamwiony jest przez n odbiorcw w ilociach bj. Dana jest te macierz czasw przewozu od i-tego dostawcy do j-tego odbiorcy (T = [tij]m x n). Naley wyznaczy takie rozwizanie dopuszczalne, aby cay towar znalaz si u odbiorcw w moliwie najkrtszym czasie. Zauwamy, e w tak postawionym zagadnieniu funkcja celu ma posta:
T ( X ) = ckl = max {cij } min .
( i , j ):xij >0

por. E. Ignasiak: Badania operacyjne, str 77

89

Posta funkcji celu powoduje, e ZKC nie jest zagadnieniem PL i nie moemy stosowa algorytmu klasycznego zagadnienia transportowego (KZT), jednak pewn jego modyfikacj, ktra realizuje si w nastpujcych krokach: 1. Wyznaczamy rozwizanie bazowe X = [xij], analogicznie, jak KZT. 2. Wyznaczamy tras (k,l), dla ktrej: ckl = max {cij }.
( i , j ):xij >0

3. wyznaczamy macierz C*=[c*ij]m x n , zgodnie ze wzorem:


1 gdy cij ckl . c *ij = 0 gdy cij < ckl

4. Jeli warto funkcji celu rozwizania X wzgldem macierzy C* jest rwna zero to wracamy do punktu 2 5. jeli natomiast Z(X) >0, to stosujc klasyczny algorytm zagadnienia transportowego wyznaczamy rozwizania lepsze. Wyznaczanie rozwizania lepszego koczymy w przypadku otrzymania rozwizania dla ktrego warto funkcji celu jest rwna zero (dla KZT z macierz kosztw jednostkowych C*) wtedy wracamy do punktu 2, a nowa macierz C** bdzie miaa wicej jedynek ni macierz C*. Otrzymanie rozwizania optymalnego KZT z macierz kosztw jednostkowych C* o wartoci funkcji celu Z(X) > 0, oznacza, e nie istnieje rozwizanie dopuszczalne wykorzystujce tylko te trasy dla ktrych cij jest mniejsze od ckl. Rozwizaniem optymalnym zagadnienia z kryterium czasu jest zatem ostatnie rozwizanie dopuszczalne zagadnienia z macierz C*, dla ktrego Z(X) = 0. Przykad: Zamy, e mamy macierz czasw przewozu oraz wektory poday i popytu: 6 3 4 55 7 4 3 45 3 6 4 45
90

4 5 4 35

70 60 50

Naley uoy taki plan dostaw, ktry mgby by zrealizowany najszybciej, jak to tylko moliwe. Na pocztek wyznaczamy rozwizanie bazowe KZT np. MEMM. Rozwizanie to zapisujemy w postaci macierzy X:
0 0 45 25 X = 55 0 0 5 0 45 0 5

Zauwamy, e ckl = max {cij } = c24 = 5 . Wyznaczamy wic macierz C* zastpujc


( i , j ):xij >0

w macierzy czasw C wszystkie liczby nie mniejsze od 5 jedynkami a pozostae zerami. Mamy wic:
1 1 0 0 C = 0 0 1 1 0 0 0 0
*

Poniewa Z(X) obliczony wzgldem C* jest rwny 5 wic poprawiamy go. Na pocztek wyznaczamy odpowiedni zerow macierz rwnowan: 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 -1 0

Std

2 1 0 0 = 0 1 0 0 1 0 0 0

Poniewa w C*B wystpuje element ujemny to rozwizanie X nie jest optymalne, poprawiamy go i otrzymujemy rozwizanie:
0 0 45 25 X 1 = 55 5 0 0 . 0 40 0 10

91

Poniewa koszt rozwizania X1 wzgldem C* jest rwny zero to X1 jest rozwizaniem, dla ktrego maksymalny czas przewozu jest rwny 4. Aby sprawdzi, czy nie istnieje rozwizanie lepsze wyznaczymy now macierz C**. Zwracamy uwag, e aktualnie: ckl = max {cij } = c22 = 4 . Std:
( i , j ):xij >0

1 1 0 1 C = 0 1 1 1 1 0 1 1
**

Wyznaczamy wic now zerow macierz rwnowan C**B 1 0 1 1 Std


C
** B

1 1 0 0

0 1 1 0

1 1 1 -1

0 -1 0

2 1 0 0 = 0 0 0 1 2 0 1 0

Widzimy, e dane rozwizanie nie jest optymalne. Aby go poprawi naleaoby do bazy wprowadzi wze (2,4), jednak wwczas nowo otrzymane rozwizanie bdzie postaci:
0 0 45 25 X 2 = 55 0 0 5 , czyli identyczne z X. Dodatkowo bdzie to 0 45 0 5

rozwizanie optymalne (wzgldem macierzy C**), gdy:


C
** B1

1 1 0 0 = 0 1 1 0 . 1 0 1 0

Poniewa koszt X2 liczony wzgldem C** jest rwny 35 > 0, i jest to rozwizanie optymalne to nie istnieje rozwizanie dopuszczalne o maksymalnym czasie przewozu mniejszym od 4. Std rozwizaniem optymalnym jest macierz X1.

92

3.6. Zadanie transportowe z kryterium kosztw i czasu jako celami konfliktowymi; rozwizania kompromisowe. Zwykle nie da si wyznaczy rozwizania optymalnego ze wzgldu na dwa kryteria. Wyznaczamy rozwizania kompromisowe. Moliwe s sytuacje: 1. Celem dominujcym jest minimalizacja kosztw transportu i rozpatrywane zadanie ma kilka rwnorzdnych rozwiza optymalnych ze wzgldu na koszty. Wwczas wybieramy takie spord nich aby czas realizacji przedsiwzicia by minimalny. 2. Jeli nadrzdnym kryterium jest czas realizacji, wwczas wyznaczamy rozwizania optymalne ze wzgldu na czas, a nastpnie wybieramy te rozwizanie spord nich ktremu odpowiada najniszy czny koszt transportu. 3. Jeli zadany maksymalny czas przewozu jest wikszy od minimalnego moliwego do osignicia wtedy moemy wyznaczy rozwizanie optymalne ze wzgldu na czas, a nastpnie ewentualnie pogarszajc go (ze wzgldu na czas) w granicach dopuszczalnych dochodzimy do rozwizania optymalnego ze wzgldu na koszty (moemy stosowa postpowanie analogiczne jak w procedurze dwch cieek). Z otrzymanych rozwiza wybieramy rozwizania kompromisowe. Moemy te postpi inaczej (jeli nie zaley nam na oszczdnoci czasu). Znajdujemy na pocztek rozwizanie dopuszczalne w granicach zadanego maksymalnego dopuszczalnego czasu, a nastpnie rozwizanie to nanosimy na zagadnienie z macierz kosztw blokujc trasy o czasie przejazdu wyszym ni dopuszczalny i wyznaczamy rozwizanie optymalne, ktre bdzie rozwizaniem kompromisowym (z przewag kryterium kosztowego).

93

Przykad: Dane jest zagadnienie z kryterium czasu: 8 4 10 12 8 12 7 8 9 6 7 30 3 11 5 14 2 6 10 16 36 20 24

oraz odpowiednie zagadnienie z kryterium kosztw transportu: 2 7 4 12 5 3 4 8 8 3 5 30 4 5 6 14 9 3 7 16 36 20 24

Wyznaczy rozwizanie kompromisowe, o maksymalnym czasie przewozu nie wikszym ni 8 jednostek i o minimalnym cznym koszcie transportu. Wyznaczamy rozwizanie dopuszczalne ze wzgldu na czas: 8 12 12 8 8 22 30 2 14 16 12 16 36 20 24

Nastpnie rozwizujemy zagadnienie transportowe z kryterium kosztw i blokad tras (przyjmujc jako rozwizanie wstpne rozwizanie dopuszczalne ze wzgldu na czas): 2 7 M 12 5 M 4 8 M 3 5 30 4 M 6 14 9 3 M 16 36 20 24

94

W efekcie otrzymujemy rozwizanie kompromisowe: 12 8 6 24 12 Czas realizacji 8; czny koszt transportu: 330 j.p. 8 30 14 16 14 2 14 36 20 24

3.7.

Zadanie

transportowe

wieloszczeblowe

dwukryteriowe

kryterium czasu i kosztw transportu. Zakadamy, e towar od producentw w czasie nie przekraczajcym z gry zadanego ma by dostarczony do porednikw np. do chodni, a nastpnie po moliwie najniszym koszcie do odbiorcw kocowych. Zwracamy uwag, e na koszt kocowy take wpywa pierwszy etap. Aby zagadnienie rozwiza wyznaczamy rozwizanie, podobnie jak przy problemie jednokryterialnym wieloszczeblowym (F-H-O), zastpujc macierz czasw macierz pseudokosztw, o elementach rwnych 0 jeli czas jest nie wikszy od dopuszczalnego i M dla czasw wikszych od maksymalnego dopuszczanego. Otrzymane zagadnienie rozwizujemy, analogicznie jak z kryterium kosztw. Przykad: Zakadamy, e dana jest macierz czasw dostawcy hurtownie: Macierz czasw dostawcy-hurtownie 18 D1 5 8 6 9 16 D2 4 6 4 8 6 D3 7 10 5 6 30 D4 8 5 7 6 16 15 25 20 H1 H2 H3 H4
95

Przyjmujemy maksymalny czas dostaw 6 jednostek. Dana jest te macierz kosztw jednostkowych transportu towaru z hurtowni do odbiorcw kocowych:

8 O1

Koszty hurtownie-odbiorcy 8 7 4 9 9 4 5 8 6 7 7 10 5 10 5 4 9 8 3 3 30 8 4 12 8 O2 O3 O4 O5 O6

316 915 825 520

Budujemy odpowiedni liniowy system transportowy: 0 0 30 30 0 30 30 30 16 30 0 30 0 30 0 30 30 15 Liniowy system transportowy 30 30 30 0 30 30 30 30 30 0 30 30 30 30 30 0 0 30 30 0 30 30 30 30 30 30 0 30 25 30 30 30 0 20 8 4 7 4 8 30 7 5 10 9 8 4 8 5 8 4 9 6 10 3 12 30 30 30 30 9 7 5 3 8 30 30 30 30 18 16 6 30 3 16 9 15 8 25 5 20 146

96

Otrzymalimy jego rozwizanie optymalne: 0 16 0 0 0 0 0 0 16 0 0 0 0 15 0 0 0 15 0 0 6 0 25 18 0 1 0 0 0 0 0 20 0 0 5 15 0 0 0 0 0 0 0 8 8 0 0 0 0 8 15 7 0 30 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 0 4 4 0 0 0 0 0 0 4 8 12 0 0 0 0 18 16 6 30 8 16 0 15 0 25 0 20 146 8 146

Optymalny koszt transportu dla otrzymanego rozwizania wynosi 353. Gdybymy w naszym przypadku czas dostaw od dostawcw do odbiorcw potraktowali jako koszt, wwczas rozwizanie optymalne miaoby posta:

Rozwizanie optymalne, gdy czas traktujemy jak koszt 16 0 0 0 0 0 2 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 1 5 0 0 15 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 8 8 15 7 0 0 0 8 0 0 0 0 4 0 0 4 8

0 0 0 0 8 0 0 0

Czytelnik zechce porwna otrzymane rozwizania.

97

3.8. Zadanie transportowe wieloszczeblowe dwukryteriowe z kryterium minimalizacji kosztw transportu i magazynowania, strat z tytuu niewykorzystania zdolnoci magazynowych oraz czasu dostaw4. Zamy, e mamy 3 szczeble obrotu pewnym jednorodnym towarem: (dostawcy) So (porednicy) Sp (odbiorcy kocowi) Sk. Dane s wektory: poday dostawcw A(So), zdolnoci magazynowej B(Sp), popytu odbiorcw D(Sk). Ponadto dane s wektory: Cm(So) wektor kosztw magazynowania towaru u dostawcw szczebla So, Cs(Sp) wektor strat z tytuu nie wykorzystanej powierzchni magazynowej porednikw. Dane s take macierze: TSo Sp czasw transportu od dostawcw do porednikw, CSo Sp kosztw transportu od dostawcw do porednikw, CSp Sk kosztw transportu od porednikw do dostawcw, Zakadamy, e ilo towaru u dostawcw, a take powierzchnia magazynowa porednikw s nie mniejsze od cznego zapotrzebowania odbiorcw. Zadaniem naszym jest: 1. poda dolne oszacowanie czasu maksymalnego, dla powiza So Sp, 2. minimalizacja czasu dla powiza So Sp, 3. minimalizacja kosztw transportu dla powiza So Sp Sk, 4. poda u ktrych dostawcw wystpi koszty magazynowania nadwyki, 5. poda u ktrych porednikw wystpi straty z tytuu nie wykorzystanej zdolnoci magazynowej, 6. wyznaczy optymaln warto funkcji kosztw transportu i strat dla powiza So Sp Sk,
4

patrz A. Caczyski, Elementy bada operacyjnych str. 67.

98

Przykad: (na wieloszczeblowe dwukryteriowe zadanie z kosztami transportu, strat pow. magazynowej oraz kosztw przechowywania)
Czasy dostawcy - porednicy 11 9 7 2 6 6 TSo- Sp = 12 4 10 7 8 5 Koszty dostawcy - porednicy 4 5 9 7 6 1 CSo- Sp = 3 8 2 6 10 9 Koszty porednicy - odbiorcy 4 7 6 CSp- Sk = 1 8 5 5 8 9 poda dostawcw A(So) = 14 6 4 10

5 3 6

2 4 4

pow. magazynowa 8 B(Sp) = 16 15

popyt odbiorcw 10 3 D(Sk) = 7 4 6

kosz magazynowania u dostawcw 2 3 Cm(So) = 6 4

straty porednikw Cs(Sp) = 3 5 7

99

Otrzymany liniowy system transportowy:


30 7 30 6 3 30 30 8 30 6 8 30 30 5 30 16 9 1 30 9 30 30 7 15 30 30 30 30 4 1 5 10 30 30 30 30 7 8 8 3 30 30 30 30 6 5 9 7 30 30 30 30 5 3 6 4 30 30 30 30 2 4 4 6 2 3 6 4 30 30 30 4 14 6 4 10 8 16 15 73 69

Otrzymalimy rozwizanie optymalne:


0 0 0 8 0 0 0 8 8 0 3 4 0 0 9 0 16 16 10 3 0 2 0 0 0 15 15 0 0 0 0 0 7 3 10 10 0 0 0 0 0 0 3 3 3 0 0 0 0 7 0 0 7 7 0 0 0 0 0 0 4 4 4 0 0 0 0 1 0 5 6 6 4 0 0 0 0 0 0 4 4 14 6 4 10 8 16 15 14 6 4 10 8 16 15

czny koszt transport, przechowywania i niewykorzystanej powierzchni= 396 Koszty przechowywania = 8 Strata niewykorzystanej powierzchni = 45

Uwagi do przykadu: Na pocztek naleao wyznaczy dolne oszacowanie czasu maksymalnego.


11 2 12 7 0 8 9 6 4 8 0 16 [7] 6 10 5 0 15 0 0 0 0 M 4 14 6 4 10 9

(9 otrzymalimy z nadwyki powierzchni magazynowej nad popytem, 4 otrzymalimy z nadwyki towaru u dostawcw nad popytem).
100

11 2 12 7 0 8

9 6 4 8 0 16

7 6 10 5 0 15

0 0 0 0 M 4

14 6 4 10 9

Std dolne oszacowanie czasu maksymalnego wynosi 7. Rozwizujemy zagadnienie z kryterium czasu:
0 0 0 0(4) M 4 14 6 4 10 9

1 0(6) 1 0(2) 0 8

1 0 0(4) 1(3) 0(9) 16

0(14) 0 1 0(1) 0 15

Wyznaczamy zerow macierz rwnowan:


1 (0) 1 (0) 0 0 1 0 (0) (1) (0) -1 (0) 0 1 (0) 0 0 0 0 0 (0) M 0 0 0 1 0 1

Ma ona zatem posta:

1 0 0 1 C B = 2 0 0 0 1 0

0 0 2 0

0 M + 1

0 0 1 0

Poniewa zawiera ona element ujemny wic znajdujemy cykl, poprawiamy rozwizanie i otrzymujemy nowe:

101

0 3 X1 = 0 5 0 1 0 = 1 0 0

0 14 0 3 0 0 4 0 0 0 1 4 9 0 0 1 0 0 1 0 0 0 0 0 0 M 0 0 1 0

Poniewa odpowiednia zerowa macierz rwnowana ma posta:

C B1

Nie zawiera zatem elementw ujemnych, std maksymalny czas dostaw jest rwny dolnemu oszacowaniu czasu maksymalnego (czyli 7).

102

IV. CZ III Programowanie cakowitoliczbowe.


Do cakowitoliczbowych liniowych modeli decyzyjnych mona sprowadzi sytuacje decyzyjne zwizane z przydziaem. Macierze zmiennych decyzyjnych w tych modelach charakteryzuj si tym, e w kadym wierszu i kadej kolumnie znajduj si jeden element rwny jednoci, natomiast pozostae elementy s zerami. Na przykad, model sytuacji decyzyjnej przydziau m rodkw transportowych na m danych tras przewozu mona sformuowa w nastpujcy sposb: Dane: a) m rnych rodkw transportu o rnej zdolnoci przewozowej, b) m rnych tras przewozu c) macierz C=[cij] (i, j = 1, 2, ..., m), ktrej nieujemne elementy przedstawiaj koszty przemieszczenia i-ta tras i j-tym rodkiem transportu. Przyporzdkowa kadej trasie jeden typ pojazdu w taki sposb, aby czne koszty przemieszczenia byy minimalne. Zagadnienie to jest szczeglnym przypadkiem klasycznego zagadnienia transportowego. Mona je zapisa w postaci: Wyznaczy macierz X=[xij] (i, j = 1, 2, ... m), ktrej elementy speniaj ukad warunkw:
1 istnieje przewz , xij = 0 brak przewozu,

x
i =1 m

ij

=1 =1

(i = 1, 2, ... m) ( j = 1, 2, ... m)

x
j =1

ij

i minimalizuj funkcj celu:


Z ( X ) = c ij x ij .
i =1 j =1 m m

103

Przykad: Majc dane trzy trasy T1, T2, T3 i trzy rne rodki transportu S1, S2, S3, przyporzdkowa kadej z tras jeden typ pojazdu w taki sposb, aby czne koszty przemieszczenia byy minimalne. Wiadomo ponadto, e koszty przewozu tras Ti (i = 1, 2, 3) przedstawiaj kolumny macierzy:
3 3 4 C = 6 7 5. 8 9 6

Rozwizujc to zadanie otrzymujemy macierz:


0 1 0 X = 1 0 0 0 0 1

Patrzc na macierz X i macierz C widzimy strategie dotyczce wyboru trasy i rodka transportu, jaki powinien by na t tras skierowany. I tak na tras T1 kierujemy drugi rodek transportu ponoszc koszty w wysokoci 3 jednostek; na tras T2 rodek S1 (koszty 6 jednostek) i na tras T3 rodek S3 (koszty 6 jednostek). Minimalne czne koszty przemieszczenia wynosz 15 jednostek. Nie kady cakowitoliczbowy model decyzyjny da si rozwiza metod jak PL bd zagadnienie transportowe. Zagadnienia PLC mona rozwiza w sposb przybliony lub dokadny Istnieje wiele metod wyznaczania optymalnych strategii w liczbach cakowitych. Podstawowe metody dokadne moemy podzieli na trzy grupy: 1. Metody ci (metoda Gomoryego), 2. Metody podziau i ogranicze (metoda Land-Doiga), metoda Littlea, 3. Metody oparte na teorii grup. Omwimy ide metody Gomoryego. Oto jej algorytm: Metod simpleks rozwizujemy odpowiednie zagadnienia PL. Niech XB stanowi rozwizanie optymalne.

104

Badamy, czy zmienne wystpujce w XB s cakowite, jeli tak to otrzymane rozwizanie jest rozwizaniem optymalnym zagadnienia PLC, jeli nie to znajdujemy zmienn xj, ktrej warto nie jest liczb cakowit, bierzemy odpowiednie rwnanie postaci bazowej
x ji + a ij x j = bi
jB

i do warunkw ograniczajcych dodajemy rwnanie:

([a ] a )x
jB ij ij

+ x n +1 = [bi ] bi ,

gdzie [aij ] oznacza cz cakowit liczby aij najwiksz liczb cakowit, nie wiksz od danej liczby. Wyznaczamy rozwizanie optymalne nowego zagadnienia PL, jeli jest cakowite to koczymy postpowanie, jeli nie to wracamy do punktu poprzedniego. Przykad: Dane jest ponisze zagadnienie PLC: Z = x1 + x2 max: x1 + 2x2 32 18x1 + 3x2 224 x1 , x2 0. Rozwizanie optymalne uzyskane metod simpleks zagadnienia PLma posta:
x1 1 2 2 x3 + x 4 = 10 11 33 3 6 1 2 x 2 x3 x 4 = 10 11 33 3

std:
2 3 2 x 2 = 10 3 x3 = 0 x1 = 10 x4 = 0

105

Otrzymane rozwizanie nie jest cakowitoliczbowym, bo np. x1 C. Bierzemy pierwsze rwnanie:


x1 1 2 2 x3 + x 4 = 10 11 33 3

Zgodnie z algorytmem postpowania otrzymujemy dodatkowe rwnanie (paszczyzn tnc):


2 2 1 1 2 2 x 3 + x 4 + x5 = 10 10 11 33 3 11 3 33 1 2 2 1 + x 3 + 0 x 4 + x5 = 10 10 11 33 3 10 2 2 x3 + x 4 x5 = 11 33 3

Otrzymalimy zatem nowe zagadnienie: Z = x1 + x2 max: przy warunkach:


1 2 2 x3 + x 4 = 10 11 33 3 2 6 1 x 2 x3 x 4 = 10 3 11 33 10 2 2 x3 + x 4 x5 = 11 33 3 x1

Zauwamy, e rozwizanie poprzednie (optymalne) nie jest obecnie rozwizaniem dopuszczalnym (zostao odcite). Wyznaczamy rozwizanie optymalne nowego zagadnienia PL. Mamy: x1 = 10, x2 =11, x3 = 0, x4 = 11, x5 = 0. Poniewa wszystkie zmienne otrzymanego rozwizania s cakowite, wic jest to rozwizanie optymalne zagadnienia PLC gdyby byo inaczej to zajlibymy si kolejn zmienn i kolejnym warunkiem.

106

Metoda podziau i ogranicze Rozwizujc zagadnienie PLC metod podziau i ogranicze analogicznie na pocztek rozwizujemy zagadnienie traktujc zmienne jako cige, jeli otrzymane rozwizanie optymalne jest cakowite to koniec, jeli nie wybieramy jedn ze zmiennych nie bdcych liczbami cakowitymi. Jeli jej warto w rozwizaniu optymalnym wynosi xk = c + f, gdzie c jest cakowite, a f uamkiem, to rozwizujemy dwa problemy: problem pierwotny uzupeniony o warunek xx c, oraz problem pierwotny uzupeniony o warunek: xk c + 1. Nastpnie wybieramy jeden z tych problemw i analogicznie postpujemy a otrzymamy rozwizanie dopuszczalne cakowite. Niech Z oznacza warto funkcji celu w tym rozwizaniu. Nastpnie wybieramy inn zmienn decyzyjn niecakowit itd. Jeli w pewnym momencie otrzymamy rozwizanie niecakowite o funkcji celu mniejszej ni Z ( przy maksymalizacji funkcji celu) to nie ma po co w jego przypadku dokonywa podziau nowy warunek jeszcze pogorszy warto funkcji celu. Postpujemy dalej w ten sposb zmieniajc Z na dowoln wysz warto funkcji celu (ktra pojawi si w rozwizaniu dopuszczalnym) a do chwili, gdy ju nie bdziemy mieli moliwoci podziau.5.

patrz str. 64 G.H. Mitchell, Badania Operacyjne.

107

V. CZ IV Programowanie dynamiczne
Programowanie dynamiczne naley traktowa jako sposb podejcia do rozwizywania problemw, a nie jako uniwersalny algorytm. Sposb ten polega na podziale zagadnienia pierwotnego na podproblemy lub etapy, a nastpnie na ich sekwencyjnym rozwizywaniu, a do wyznaczenia rozwizania optymalnego. Stosuje si przy tym, niezalenie od przyjtego algorytmu, zasad optymalnoci Bellmana6, zgodnie z ktr optymalne rozwizanie zagadnienia programowania dynamicznego dla k-tego etapu jest rozwizaniem optymalnym dla wszystkich etapw nastpnych (k+1, k+2, ..., N). Std optymalne rozwizanie dla etapu pierwszego jest rozwizaniem optymalnym dla caego zagadnienia. Programowanie dynamiczne daje si stosowa tam, gdzie optymalne postpowanie jest uzalenione tylko od aktualnego stanu procesu7. Zwykle problemy z zakresu programowania dynamicznego rozwizuje si od koca- zaczynamy od poszukiwania rozwizania optymalnego dla ostatniego etapu (N), nastpnie cofamy si i wyznaczamy rozwizanie optymalne dla etapu (N-1). Otrzymane w ten sposb rozwizania s optymalne, bez wzgldu w jaki sposb osignito te etapy. Powtarzajc analogicznie etap po etapie dochodzimy do rozwizania optymalnego dla pierwszego etapu, a wic i dla caego zagadnienia. Tego typu postpowanie mona stosowa np. do rozwizywania nastpujcych problemw: o Problem najkrtszej trasy (zagadnienie dyliansu), o Zagadnienie alokacji zasobw, o Zagadnienie finansowania inwestycji, o Zagadnienie optymalizacji zapasw, o Problem wymiany majtku trwaego. Podamy przykady na dwa pierwsze.
6 7

Patrz K. Kukua, Badania operacyjne ..., str 231, 232 patrz str.74 G.H. Mitchell, Badania Operacyjne

108

Przykad . (zagadnienie dyliansu) Kierowca chce zminimalizowa drog przejazdu midzy miastami A i F. Moliwe trasy przejazdu oraz odlegoci w kilometrach podaje schemat:

4 6

B1
6

E1
5 2 4

C1
3 4 6

D1

B2 B3 B4

6 7

7
6

5 5

E2

4 4

C2

D2

E3

Miejscowoci - odlegoci - poczenia


Moliwych jest 14223=48 tras. Aby wyznaczy najkrtsz z nich zaczynamy rozwizywa zagadnienie od koca. Niech d(Ei,F) oznacza minimaln odlego miejscowoci Ei oraz F.W owczas: d(E1,F) = 4, Analogicznie: d(D1,F) = min{6 + d(E1,F); 8 + d(E2,F); 5 + d(E3,F)} = = min{6 + 4; 8 + 2; 5 + 3} = 8, d(D2,F) = min{5 + 4; 5 + 2; 6 + 3} = 7, d(C1,F) = min{5 + 8; 3 + 7} = 10, d(C2,F) = min{4 + 8; 6 + 7} = 12, d(B1,F) = min{5 + 10; 7 + 12} = 15, d(B2,F) = min{6 + 10; 8 + 12} = 16, d(B3,F) = min{6 + 10; 3 + 12} = 15, d(B4,F) = min{4 + 10; 4 + 12} = 14,
109

d(E2,F) = 2,

d(E3,F) = 3.

d(A,F) = min{4 + 15; 6 + 16; 7 + 15; 6 + 14} = 19. Optymalna trasa przejazdu jest nastpujca: A B1 C1 D2 E2 F. Naley zwrci uwag, e analogicznie mona rozwiza zagadnienie dyliansu, gdy zablokujemy tras, lub gdy przez pewne miejscowoci musimy przejeda. Przykad 8 (zagadnienie alokacji zasobw). Przedsibiorca posiadajcy kredyt inwestycyjny w wysokoci 600 tys. zotych oraz hal produkcyjn w Radomiu, postanowi zainstalowa nowoczesne linie piekarnicze. Dostpne s francuska (F), szwedzka (S) oraz polska (P). Dobowe zdolnoci produkcyjne pieczywa (w tonach) w zalenoci od wysokoci nakadw inwestycyjnych przeznaczonych na zainstalowanie linie produkcyjnej danego typu, przedstawiono w tablicy: Nakady (w 100 tys. z.) Zdolnoci produkcyjne lini (w tonach) F S P 0 0 0 0 1 6 5 4 2 12 8 15 3 12 11 15 4 12 14 15 5 15 17 15 6 20 18 16

Analiza rynku wykazaa, e kada z linii produkcyjnych, pozwala uzyskiwa jednakowe zyski w przeliczeniu na 1 t pieczywa. Przedsibiorca musi wic w tym przypadku podj decyzj dotyczc podziau rodkw finansowych pomidzy poszczeglne linie produkcyjne (zakadamy, e nakady na kad z linii musz by wielokrotnoci kwoty 100 tys. z), tak aby piekarnia osigna maksymaln, dobow zdolno produkcyjn. Powyszy problem, naley do kategorii programowania dynamicznego, mona go rozwiza za pomoc procedury opisanej w poniszych etapach: KROK 1. Zamy, e jedynym moliwym rozwizaniem jest zakupienie polskiej linii produkcyjnej i zadajmy sobie pytanie dotyczce uzyskanej w ten sposb

110

dobowej zdolnoci produkcyjnej w zalenoci od zainwestowanej kwoty. Wyniki podano w tabeli: Nakady (w 100 tys. z) Zdolnoci produkcyjne linii P (w tonach) 0 0 1 4 2 15 3 15 4 15 5 15 6 16

W tym przypadku, jedynym sensownym rozwizaniem jest zainwestowanie 600 tys. z w polsk lini produkcyjn w celu osignicia zdolnoci produkcyjnej 16 t pieczywa na dob. Rezultat ten zapiszemy nastpujco: P(6)=16, Co oznacza, e 600 tys. zotych zainwestowanych w polsk lini produkcyjn zapewnia produkcj 16 t pieczywa na dob. KROK 2. Zamy, e dostpne s dwa typy linii produkcyjnych P oraz S i zadajmy sobie nastpujce pytanie: jak naley podzieli posiadany kapita pomidzy te dwa programy, aby uzyska maksymaln dobow zdolno produkcyjn? W tym przypadku moliwe jest siedem wariantw podziau 600 tys. z, ktre daj nastpujce dobowe zdolnoci produkcyjne: P(6)+S(0)=16+ 0=16, P(5)+S(1)=15+ 5=20, P(4)+S(2)=15+ 8=23, P(3)+S(3)=15+11=26, P(2)+S(4)=15+14=29, P(1)+S(5)= 4+17=21, P(0)+S(6)= 0+18=18. W powyszej sytuacji naley wic zainwestowa 200 tys. z w polsk lini oraz 400 tys. z w szwedzk lini produkcyjn, osigajc w ten sposb 29 t pieczywa na dob, tzn. P(2)+S(4)=29.
111

KROK 3. Wyznaczymy obecnie optymalny podzia kapitau pomidzy lini P oraz S przy malejcej kwocie nakadw inwestycyjnych: a) 500 tys. z na linie P oraz S P(5)+S(0)=15+ 0=15, P(4)+S(1)=15+ 5=20, P(3)+S(2)=15+ 8=23, P(2)+S(3)=15+11=26, P(1)+S(4)= 4+14=18, P(0)+S(5)= 0+17=17. W przypadku dysponowania kwot 500 tys. z na lini P oraz S naley zainwestowa 200 tys. z w lini P oraz 300 tys. z w lini S, osigajc 26 t pieczywa na dob. Rezultat zapiszemy w nastpujcy sposb: P(2)+S(3)=26 b) 400 tys. z na linie P oraz S P(4)+S(0)=15+ 0=15, P(3)+S(1)=15+ 5=20, P(2)+S(2)=15+ 8=23, P(1)+S(3)= 4+11=15, P(0)+S(4)= 0+14=14. W przypadku dysponowania kwot 400 tys. z naley zainwestowa po 200 tys. z w lini P oraz S: P(2)+S(2)=23 c) 300 tys. z na linie P oraz S: P(3)+S(0)=15+ 0=15, P(2)+S(1)=15+ 5=20, P(1)+S(2)= 4+ 8=12, P(0)+S(3)= 0+11=11.

112

W tym przypadku naley zainwestowa 200 tys. z w lini P oraz 100 tys. z w lini S: P(2)+S(1)=20. d) 200 tys. z z na linie P oraz S P(2)+S(0)=15+ 0=15, P(1)+S(1)= 4+ 5= 9, P(0)+S(2)= 0+ 8= 8. W tym przypadku naley zainwestowa 200 tys. z w lini polsk (P): P(2)+S(0)=15. e) 100 tys. z na linie P oraz S P(1)+S(0)= 4+ 0= 4, P(0)+S(1)= 0+ 5= 5. W tym przypadku naley zainwestowa 100 tys. z w lini szwedzk (S): P(0)+S(1)=5. A zatem, w kroku 3 okrelilimy optymalne kombinacje nakadw na linie P oraz S (przy dowolnej kwocie nakadw).

KROK 4. Konsekwentnie, w kroku 4 wystarczy rozpatrzy wszystkie kombinacje podziau 600 tys. z kapitau pomidzy lini F oraz linie P+S. Zdolnoci produkcyjne w zalenoci od nakadw kapitaowych przedstawiono w tabeli: Kwota F P+S 0 0 0 1 6 5 2 12 15 3 12 20 4 12 23 5 15 26 6 20 29

Jak ju wiemy, moliwych jest siedem wariantw podziau 600 tys. z pomidzy linie F oraz linie P+S. Daj one nastpujce zdolnoci produkcyjne:
113

F(6) + (P+S)(0) = 20 + 0 = 20, F(5) + (P+S)(1) = 15 + 5 = 20, F(4) + (P+S)(2) = 12 + 15 = 27, F(3) + (P+S)(3) = 12 + 20 = 32, F(2) + (P+S)(4) = 12 + 23 = 35, F(1) + (P+S)(5) = 6 + 26 = 32, F(0) + (P+S)(6) = 0 + 29 = 29. Tak wic maksymaln zdolno produkcyjn piekarni mona uzyska inwestujc 200 tys. z w lini francusk (F) oraz 400 tys. z w lini (P + S). Aby uzyska rozwizanie ostateczne, wystarczy odszuka w kroku 3 optymalny sposb podziau tych 400 tys. z pomidzy lini P oraz S. W rezultacie otrzymujemy rozwizanie optymalne: 200 tys. z na lini francusk F, 200 tys. z na lini polsk P, 200 tys. z na lini szwedzk S. Taki podzia kapitau na poszczeglne linie produkcyjne zapewnia w przyszoci produkcj 35 ton pieczywa na dob. Zauwamy, e analogicznie mona rozwiza zagadnienie podziau zasobw na rne kanay reklamowe.

114

VI. CZ V Programowanie sieciowe


Metody programowania sieciowego rozwiny si w kocu lat 50-tych. Metody programowania sieciowego to techniki planowania przedsiwzi, zapewniajce sprawny przebieg ich wykonania. Przez przedsiwzicie rozumiemy wyodrbniony zbir czynnoci powizanych ze sob technologi. (budowa domu), inaczej jest to zorganizowane dziaanie ludzkie, zmierzajce do osignicia okrelonego celu, zawarte w skoczonym przedziale czasowym z wyrnionym pocztkiem i kocem oraz realizowane przez skoczon liczb osb, rodkw produkcji. Na przedsiwzicie skada si skoczony zbir czynnoci, wzajemnie ze sob powizanych. Zalenoci pomidzy zdarzeniami i czynnociami okrelaj struktur logiczn modelu sieciowego, ktra moe by zdeterminowana (jeli w trakcie realizacji przedsiwzicia wszystkie czynnoci przedstawione w sieci s zrealizowane, np. znane s czasy trwania czynnoci, lub stochastyczna. Punktem wyjcia metod sieciowych jest sporzdzenie listy czynnoci (zada czstkowych) skadajcych si na przedsiwzicie, ustalenie zalenoci pomidzy nimi (kolejnoci) i czasw trwania8 W zalenoci od sposobu okrelenia czasu trwania czynnoci metody dzielimy na deterministyczne (czas jest jedn liczb okrelon jednoznacznie), lub stochastyczne (czas trwania jest zmienn losow o danym rozkadzie). Metody deterministyczne: CPM (metoda cieki krytycznej) oraz jej rozszerzenie o analiz czasow kosztow CPM-COST. Metody stochastyczne: PERT oraz PERT-COST. My omwimy pokrtce metod cieki krytycznej CPM. Podstaw metody jest wykres sieciowy (sie zalenoci, sie czynnoci), ktry skada si z czynnoci i zdarze. Czynno to dowolnie wyodrbniona cz przedsiwzicia, charakteryzujca si czasem trwania i zuywaniem rodkw.
8

patrz Z. Jdzejczyk, K. Kukua, Badania operacyjne,... str 180 i dalsze.

115

Zdarzenie oznacza osignicie stanu zaawansowania prac przy realizacji przedsiwzicia jest to moment rozpoczcia lub zakoczenia jednej lub wielu czynnoci. Graficznie czynnoci przedstawiamy w postaci strzaek (wektorw) , natomiast zdarzenia w postaci kek

Zdarzeniom przyporzdkowujemy kolejne liczby (numery) i = 1, 2, ..., n, natomiast czynno jest opisana przez par wskanikw [i,j], gdzie i jest numerem zdarzenia w ktrym czynno si rozpoczyna (pocztkiem czynnoci), a j numerem zdarzenia w ktrym czynno si koczy (kocem czynnoci). Widoczne jest, e do wykrelenia sieci czynnoci dla dowolnego przedsiwzicia konieczne s informacje dotyczce czynnoci wchodzcych w skad tego projektu oraz kolejnoci ich wykonywania. W trakcie wykrelania sieci powinny by przestrzegane nastpujce zasady: o zdarzenie pocztkowe nie ma czynnoci poprzedzajcych, o zdarzenie kocowe nie ma czynnoci nastpujcych, o dwa kolejne zdarzenia mog by poczone tylko jedn czynnoci, o wszystkie zdarzenia w sieci (z wyjtkiem pocztkowego i kocowego) musz by pocztkiem i kocem przynajmniej jednej czynnoci. Mona wymieni inne wymagania (np. pocztek czynnoci ma mie mniejszy numer ni koniec, strzaki nie mog si przecina ewentualnie wprowadzamy czynnoci pozorne, nie ma cykli). Przy analizie sieciowej naszym celem jest wyznaczenie podstawowych charakterystyk czynnoci i caej sieci: Najwczeniejszych moliwych momentw zaistnienia zdarze ti , Najpniejszych dopuszczalnych momentw zaistnienia zdarze Ti , Zapasw czasu dla zdarze: (Li = Ti ti.) i czynnoci: Z[i,j] =(Tj - tij) ti Wyznaczenie terminu kocowego realizacji caego przedsiwzicia, Wyznaczenie cieki krytycznej.
116

Metoda CPM Charakterystyki zdarze wpisujemy w kka oznaczajce zdarzenia w nastpujcy sposb (i jest numerem zdarzenia):

Analiz sieci rozpoczynamy od wyznaczenia najwczeniejszych moliwych momentw zaistnienia kadego ze zdarze ti. Wzr i postpowanie jest rekurencyjne: t1 = 0, t2 = t1 + t12,
t j = max{ti + t ij }, j > 2, gdzie [i, j] oznaczaj wszystkie czynnoci koczce
i

si zdarzeniem j. Najwczeniejszy moliwy moment zajcia zdarzenia kocowego tn jest jednoczenie terminem kocowym realizacji przedsiwzicia (czasem trwania przedsiwzicia). Najpniejsze dopuszczalne momenty zaistnienia poszczeglnych zdarze Ti wyznaczamy zaczynajc od zdarzenia kocowego. Aby przedsiwzicie byo zrealizowane w najkrtszym moliwym czasie przyjmujemy: Tn = tn, dla pozostaych zdarze:
Ti = min{ j t ij } T
j

i < n, gdzie j s zdarzeniami kocowymi czynnoci o

pocztku i, czyli kocami czynnoci [i, j]. Najpniejszy dopuszczalny moment zaistnienia zdarzenia poprzedniego (i) obliczamy odejmujc od najpniejszego dopuszczalnego terminu zdarzenia nastpnego (j) czas trwania czynnoci [i, j]. Jeli ze zdarzenia (i) wychodzi wicej ni jedna czynno [i, j] wybieramy najmniejsz z rnic.
117

Po

wyznaczeniu

najwczeniejszych

moliwych

najpniejszych

dopuszczalnych momentw zaistnienia zdarze wyznaczamy zapasy czasu dla poszczeglnych zdarze: Li = Ti ti. Mona te wyznaczy zapas czasu dla poszczeglnych czynnoci: Z[i,j] =(Tj - tij) ti Pozostao jeszcze wyznaczenie cieki krytycznej. Drog (ciek) w sieci nazywamy dowolny cig czynnoci i zdarze umoliwiajcy przejcie od pocztku do koca sieci. Wynika std, e kada cieka rozpoczyna si zdarzeniem pocztkowym, a koczy w zdarzeniu kocowym. ciek krytyczn nazywamy drog, ktrej czas przejcia jest najduszy wszystkie czynnoci musz zosta zakoczone. Czynnoci i zdarzenia lece na ciece krytycznej maj zerowe zapasy czasu. cieka krytyczna jest najdusz drog w sieci, a czas jej trwania (suma czasw trwania kolejnych jej czynnoci) jest rwny czasowi realizacji przedsiwzicia. Naley doda, e jedno przedsiwzicie moe mie wicej ni jedn ciek krytyczn. Wyznaczenie cieki krytycznej uatwia kontrol przebiegu realizacji przedsiwzicia i dotrzymanie terminu kocowego. Umoliwia take szybk ocen, jak zmiany terminw rozpoczcia czynnoci wpyn na termin realizacji przedsiwzicia. Znajomo czynnoci krytycznych uatwia planowanie, kierowanie i koordynacj realizacji przedsiwzicia. Przekroczenie terminu zakoczenia jakiejkolwiek czynnoci krytycznej powoduje opnienie wykonania caego projektu. Rozwamy na zakoczenie nastpujcy przykad:

118

Przykad: Pewne przedsiwzicie skada si z 12 zdarze. Poszczeglne czynnoci oraz czasy ich trwania podane s w tablicy. Zbudujemy model sieciowy przedsiwzicia, przeprowadzimy analiz czasow projektu, wyznaczymy ciek krytyczn. Tabela danych (CPM) Czynnoci [i, j] Czas trwania tij [1, 2] [1, 3] [1, 4] [2, 5] [2, 6] [3, 4] [3, 7] [3, 8] [4, 5] [4, 8] [5, 6] [6, 8] [7, 8] [7, 9] [8, 9] [9, 10] [9, 11] [9, 12] [10, 12] [11, 12] 8 3 5 6 20 6 15 5 6 30 21 17 30 25 4 6 10 15 12 11

119

Konstruujemy sie przedsiwzicia zgodnie z podanymi zasadami:

Dokonujemy analizy czasowej przedsiwzicia. Obliczenia zawarto w tablicy: Tabela:


Zdarzenia

t j = max{ti + t ij }
i

Ti = min{ j t ij } T
j

Li

1 2 3 4 5 6 7 8 9 10 11 12

0 min{9-5, 3-3, 9-8}=0 0 max{0+8}=8 min{36-20; 15-6}=9 1 max{0+3}=3 min{53-5, 23-15, 9-6}=3 0 max{3+6; 0+5}=9 min{53-30; 15-6}=9 0 max{8+6; 9+6}=15 min{36-21}=15 0 max{8+20; 15+21}=36 min{53-17}=36 0 max{3+15}=18 min{57-25; 53-30}=23 5 max{18+30; 3+5; 9+30; 36+17}=53 min{57-4}=53 0 max{18+25; 53+4}=57 min{78-15, 67-10, 66-6}=57 0 max{57+6}=63 min{78-12}=66 3 max{57+10}=67 min{78-11}=67 0 max{57+15; 63+12; 67+11}=78 78 0

Przypominamy, e zdarzenia, ktrych zapas czasu jest rwny zero wyznaczaj ciek krytyczn. W naszym wypadku jest ni cieka:

(1) (3) (4) (5) (6) (8) (9) (11) (12)


Czas realizacji przedsiwzicia wynosi 78.

120

Cao opisuje ponisza sie:

Na rysunku pogrubion lini oznaczona jest cieka krytyczna. Analogicznie mona wyznaczy zapasy czasu dla poszczeglnych czynnoci. Z[i,j] =(Tj - tij) ti Np. Z[4,8] =(T8 - t48) t4 = (53 30) 9 = 14.

121

VII. CZ VI Problem komiwojaera


Zakadamy, e dany jest ukad n miast oraz nieujemna kwadratowa macierz odlegoci (kosztw) C=[cij]n
x n

, gdzie cij okrela odlego (koszt

przejazdu) midzy miastem i oraz j. Macierz C nie musi by symetryczna. Zadanie sprowadza si do znalezienia drogi zamknitej (marszruty czy inaczej cyklu Hamiltona) (i1, i2, ..., in, i1), dla ktrej suma

ci1i 2 + ci 2 i 3 + L + ci n 1i n + ci n i1 min
Poniewa do kadego miasta wjedamy i wyjedamy tylko jeden raz, trasa ne moe zawiera odcinkw (i, i). Przyjmujemy zatem, e cii=, dla dowolnego i. Liczba marszrut dla niesymetrycznej macierzy C jest rwna (n-1)!, dla symetrycznej jest o poow mniejsza (przej przez wszystkie wierzchoki bryy po krawdziach, w kadym wierzchoku bdc dokadnie raz). Wyznaczenie rozwizania dokadnego dla duych n jest bardzo skomplikowane, my przedstawimy dwa algorytmy wyznaczania trasy dopuszczalnej (sensownej, suboptymalnej). Metoda WOT (pierwsza czmetoda ENS eliminacji najwikszych strat)9 Dla kadego wiersza i kolumny macierzy C wyznaczamy rnice midzy elementami najmniejszymi, wybieramy najwiksz rnice i najmniejszy element, ktry wyznacza pierwszy odcinek trasy w poszukiwanym cyklu Hamiltona, wykrelamy odpowiedni wiersz i kolumn, jednoczenie blokujemy poczenie odwrotne (tras przeciwn). Po tym kroku otrzymujemy nowy zmodyfikowany ukad zawierajcy nowe zmodyfikowane odlegoci. Ponownie obliczamy straty (rnice), itd.
9

Patrz A. Caczyski, Elementy bada operacyjnych..., t.2, str 104 i dalsze

122

Przykad: 1 2 3 4 5 rnice 1 2 3 4 5 2 4 7 3 2 4 5 7 8 4 7 3 1 2 1

5 9 2 7 3(max) 4 8 1 4 3

rnice 2 2 1 1 0 Pierwszym odcinkiem trasy jest odcinek 4 3, wykrelamy 4-ty wiersz i 3-ci kolumn oraz blokujemy tras 3 4, otrzymujemy nowy ukad: 1 2 4 5 rnice 1 2 3 5 2 7 3 1

2 5 7 3(max) 8 4 3 4 8 4 1 0

rnice 2 2 1 0 Drugim odcinkiem trasy jest odcinek 2 1, wykrelamy 2-gi wiersz i 1-sz kolumn oraz blokujemy tras 1 2, otrzymujemy nowy ukad: 2 4 5 rnice 1 3 5 7 3 4(max) 4 3 8 4 1 4

rnice 4 3 0

123

Trzecim odcinkiem trasy jest odcinek 1 5, wykrelamy 1-szy wiersz i 5-t kolumn oraz blokujemy tras 5 1 (nie ma jej ju), otrzymujemy nowy ukad: 2 4 rnice 3 5 4 4

rnice Poniewa dysponujemy poczeniami 4 3, 2 1, 1 5, wic w efekcie i poczeniem 2 1 5, to take blokujemy poczenie 5 2. W otrzymanej macierzy wszystkie rnice s rwne . Otrzymujemy dwa poczenia 3 2 oraz 5 4, w efekcie mamy cykl Hamiltona: 4 3 2 1 5 4. czna dugo trasy = 2 + 4 + 2 + 3 + 4 = 15. W celu wyznaczenia dolnego oszacowania kosztu optymalnego mona zagadnienie komiwojaera rozwiza jak zagadnienie przydziau z blokadami (np. algorytmem wgierskim), jeli otrzymamy cykl Hamiltona to jest to te rozwizanie optymalne zagadnienia komiwojaera, w innym przypadku mamy oszacowanie kosztu. Dalsze postpowanie polega na wyznaczeniu zerowej macierzy rwnowanej i ewentualnej wymianie odcinkw tras. Z uwagi na du komplikacj metody nie bdziemy jej dalej przedstawia. Naley doda, e do rozwizywania zagadnie komiwojaera wykorzystuje si coraz bardziej skomplikowane algorytmy (midzy innymi algorytmy genetyczne, sieci neuronowe, algorytmy mrwkowe) i obecnie na duych komputerach jest moliwo rozwizania dokadnego problemu komiwojaera dla ponad 2000 miast.

124

Algorytm wstawiania10 Algorytm ten naley do klasy algorytmw przyblionych (heurystycznych) i realizujemy go w nastpujcych krokach: 1. wybieramy dowolne miasto np. pierwsze i1, tworzy ono marszrut niepen 2. wyznaczamy wierszowy wektor d o n skadowych ktrego j-ta skadowa okrela odlego j-tego miasta od miast tworzcych marszrut niepen. Warto dj jest rwna minimalnej odlegoci midzy miastami nalecymi do marszruty niepenej a miastem j. Jeli miasto j naley do marszruty to na j-tej pozycji wektora d umieszczamy znak -. 3. Wybieramy najwiksz skadow wektora d i odpowiadajce jej miasto wstawiamy do marszruty, pomidzy takie miasta aby dugo powstaej trasy bya najmniejsza. 4. Modyfikujemy wektor d i postpowanie kontynuujemy a zostanie jedno miasto wstawiamy je do marszruty tak aby dugo otrzymanej trasy bya minimalna. Przykad: 1 2 3 1 2 4 2 2 4 3 8 4 4 5 9 2 5 4 8 1 4 7 5 7 4 5 3 7 3 7 Wybieram 1arbitralnie

dj - 2 4 7(max) 3 Wartoci pierwszego wiersza


10

patrz E. Ignasiak, Badania operacyjne, str 128 i dalsze.

125

Otrzymaem tras 1 4 1 o odlegoci c14 +c41 = 7 + 5 = 12. Zmieniam wektor d do postaci d = [-, 2, 4, -, 3], porwnuje jego wartoci z czwartym wierszem macierzy C, elementy minimalne wyznaczaj nowy wektor d. Std d = [-, 2, 2, -, 3] (dj = min{c1j, c4j, dla i, j 1, 4}. Poniewa obecnie najwiksza jest pita skadowa wektora d doczamy miasto 5 do marszruty. Moemy to zrobi na dwa sposoby: 1 5 4 1, wtedy dodatkowy koszt: c15 + c54 c14 = 3 + 4 7 = 0, 1 4 5 1, wtedy dodatkowy koszt: c45 + c51 c41 = 7 + 4 5 = 6, zatem lepsza jest marszruta 1 5 4 1. Obecny wektor d po modyfikacji: d = [-, 2, 2, -, -] i dalej d = [-, 2, 1, -, -] (elementy mniejsze z poprzedniego d oraz pitego wiersza macierzy C). Biorc najwikszy element wektora d doczamy miasto 2 do marszruty. Moemy to zrobi na 3 sposoby: 1 2 5 4 1: dodatkowy koszt c12 + c25 c15 = 2 + 7 3 = 6 1 5 2 4 1: dodatkowy koszt 9 1 5 4 2 1: dodatkowy koszt 6. Wybieramy tras 1 lub trzeci. Obecnie pozostao nam tylko miasto 3. Moemy je doczy do obu tras na cztery sposoby: Dla trasy 1 2 5 4 1: 1 3 2 5 4 1: dodatkowy koszt 6. 1 2 3 5 4 1: dodatkowy koszt 0 1 2 5 3 4 1: dodatkowy koszt 4 1 2 5 4 3 1: dodatkowy koszt 5 Dla trasy 1 5 4 2 1:
126

1 3 5 4 2 1: dodatkowy koszt 4 1 5 3 4 2 1: dodatkowy koszt 4 1 5 4 3 2 1: dodatkowy koszt 3 (zmniejszenie kosztw) 1 5 4 2 3 1: dodatkowy koszt 10 ,Wybieramy zatem tras: 1 5 4 3 2 1 o cznej dugoci 3 +4+2+4+2 = 15 (zauwamy, e jest to nie tylko identyczna odlego jak w poprzednim przypadku, ale take identyczna trasa). Uwagi: 1. My w przedostatnim kroku wybralimy dwie trasy zwykle wybiera si jedn z nich (np. wstawiamy miasto pooone bliej pocztku trasy). 2. Jeli w danej iteracji pojawi si w wektorze d wicej ni jeden element maksymalny, to wybieramy skadow miasto o najniszym numerze. 3. Ujemny znak dodatkowego kosztu jest ujemny mamy zmniejszenie cznego kosztu trasy.

127

VIII. CZ VII Koszty

jako

kryterium

podejmowania

decyzji gospodarczych w warunkach niepewnoci11


Dotychczas zakadalimy, e dziaamy w warunkach zdeterminowanych. Tymczasem wiemy, e wszelka dziaalno charakteryzuje si duym stopniem niepewnoci lub ryzyka i skutkw podjtych decyzji nie mona w sposb jednoznaczny przewidzie. Niepewno decyzji w zakresie zamierze gospodarczych moe dotyczy rnych elementw rachunku efektywnoci przedsiwzicia. Na przykad koszty realizacji i dziaalnoci gospodarczej zale od wielu czynnikw, np. od kosztw siy roboczej, surowcw i materiaw, cen itp. Kady z tych elementw jest obarczony niepewnoci. W czasie podejmowania decyzji dotyczcych projektw gospodarczych decydent moe podawa jedynie szacunki kosztw zwizanych z poszczeglnymi wariantami przedsiwzicia. Kieruje si mniej lub bardziej optymistycznymi czy pesymistycznymi hipotezami dotyczcymi przyszych warunkw, w jakich bdzie si odbywa realizacja przedsiwzicia. Dla kadego wariantu przedsiwzicia mona oszacowa wysoko kosztw realizacji i eksploatacji w rnych warunkach. Szacunki kosztw rnych wariantw przedsiwzicia przypisane zaoonym warunkom nazywamy stanami natury. Tworz one macierz kosztw przedsiwzicia, nazywan macierz konsekwencji. Zakadamy, e na stan natury decydent nie ma adnego wpywu. Musimy podj decyzj, ktry z wariantw przedsiwzicia przyj, a koszty bd konsekwencj wystpienia okrelonego stanu natury przy wybranym wariancie. Powstaje problem ustalenia rozsdnych regu podejmowania decyzji. Istnieje wiele kryteriw wyboru wariantu przedsiwzicia w warunkach .niepewnoci, wybr kryterium, a nastpnie decyzji podjtej na jego podstawie musi nalee do decydenta, czsto zaley to od skonnoci decydenta do ryzyka.
11

Patrz E. Nowak, Decyzyjne rachunki kosztw, Wydawnictwo Naukowe PWN, Warszawa 1994, str.183-192.

128

Na Przykad

przykadzie

prezentujemy

kryteria podejmowania

decyzji

warunkach niepewnoci. Istnieje moliwo zbudowania czterech typw zakadu usugowego W1, ..., W4. Koszty eksploatacji kadego zakadu zale od rnorodnych czynnikw i nie mona ich jednoznacznie okreli. Dla kadego typu zakadu oszacowano wysoko kosztw eksploatacji w trzech rnych sytuacjach S1 pesymistyczne, S2 rednie, S3 optymistyczne. Podane s one w postaci macierzy. Naley wybra najkorzystniejszy typ budowanego zakadu. Stan natury
Typ zak. W1 W2 W3 W4 S1 S2 S3

40 50 65 70

35 30 20 20

25 25 20 14

Rozpatrzymy rne moliwe podejcia , przy wykorzystaniu rnych metod oraz ich konsekwencje . I. Kryterium minimaksowe Naley wybra taki wariant przedsiwzicia, ktry przy najmniej korzystnych warunkach wymaga poniesienia najmniejszych kosztw.
i j

k rl = min max{k ij } (strategia pesymistyczna)

II Kryterium miniminowe Naley wybra taki wariant przedsiwzicia, ktry przy zaistnieniu najbardziej sprzyjajcych warunkw wymaga poniesienia najmniejszych kosztw.

k rl = min min{k ij }
i j

(strategia bardzo optymistyczna, ryzykancka)

III. Kryterium Hurwicza (porednie)


129

Decydent wybiera liczb a 0,1 oraz oblicza koszt

k i = a max{k ij } + (1 a ) min{k ij }
j j

i wybiera Wr dla ktrego k r = min{k i }.


i

IV. Kryterium przecitnych kosztw

Dla kadego wariantu obliczamy przecitne koszty

1 m k i = k ij , m j=1
Wr taki, e Stan natury S1 S2 S3 I Typ zak. W1 W2 W3 W4 min Wybr 40 50 65 70 40 35 30 20 20 20 25 25 20 14 14
40 50 65 70

k r = min{k i } .
i

II 25 25 20 14 0,7 min 17,5 17,5 14 9,8

III 0,3max 12 15 19,5 21 ki 29,5 32,5 33,5 30,8

IV 33,3 35 33,3 34,7

V 15 11 25 30

VI 31,5 30 24 22,6

W1 W4

W1 W1, W3 W2 W4

V. Kryterium Savage minimaksowych skutkw bdnych decyzji

Liczy si skutki niepodjcia decyzji, ktra przy danym stanie natury byaby najlepsza. Budujemy macierz

u ij = k ij min{k rj }.
r

nastpnie kademu wariantowi przyporzdkowujemy maksymalny dodatkowy koszt, jaki naley ponie wybierajc ten wariant i wybieramy ten, ktremu odpowiada najniszy

u i = max{u ij },
j

u r = min{u i }.
i

Istota zasady unika ponoszenia zbyt wysokich dodatkowych kosztw spowodowanych podjciem nietrafnych decyzji.

130

Przykad

min{k r1} = 40
r

min{k r 2 } = 20
r

min{k r 3 } = 14
r

0 15 11 10 10 11 . std u = [u ij ] = 25 0 6 30 0 0

max u 1 j = 15 max u 2 j = 11 max u 3 j = 25 max u 4 j = 30


j j j j

VI. Kryterium Bayesa (wartoci oczekiwanej)

Jeeli znamy rozkad prawdopodobiestwa wystpienia rnych stanw natury, tzn. wiemy, e pj = p(Sj) oraz oczekiwan
n

p j = 1,
j=1

wwczas wyznaczamy warto wariantw przedsiwzicia

kosztw

poszczeglnych

E(k i ) = p j k ij i wybieramy ten wariant, ktremu odpowiada najmniejsza


j=1

warto oczekiwana Ur taka, e E(k r ) = min{E(k i )}.


i

Jeeli przyjmiemy, np., e p1 = 0,1 p2 = 0,5 p3 = 0,4, to wykorzystujc te prawdopodobiestwa bdziemy mogli obliczy wartoci oczekiwane kosztw poszczeglnych typw zakadu. Typ zakadu W1 W2 W3 W4 Stan natury S1 p1=0,1 40 50 60 70 S2 p2=0,5 35 30 20 20 S3 p3=0,4 25 25 20 14 31,5 30 24 22,6 E(ki)

Stosujc kryterium Bayesa wybierzemy zakad W4, poniewa odpowiadaj mu najmniejsze oczekiwane koszty eksploatacji.
131

You might also like