Optymalizacja A. Strojnowski Szukanie wierzchoªka startowego Je»eli zadanie PL opisane jest macierz, która nie jest tablic sympleks to by móc stosowa metod sympleks stosujemy chwyt genialny w swej prostocie - dopisujemy macierz jednostkow. Dokªadniej: Dwufazowa metoda sympleks Badamy zadanie: Max x 0 = cx Ax = b x 0 macierz ukªadu jest [A b] Mno» c w razie potrzeby niektóre równania przez mo»emy przyj,»e b 0. Aby uzyska T S dopisujemy macierz jednostkow i otrzymujemy tablic sympleks T S = [A I b]. Odpowiada temu ukªad równa«ax + Iy = b y a gdzie y = y 2, a,2... a,n... A =...... y a t, a t,2... a t,n t Pierwsza faza Rozwi zujemy zadanie P L ( ) Max y 0 = y Ax + Iy = b x 0 y 0 zadanie ( ) nie jest nieograniczone poniewa» y 0 y 0 0. dodatkowo je»eli p nale»y do obszaru dopuszczalnego zadania pierwotnego - Ap = b p 0 to p = (p, 0,..., 0) jest punktem optymalnym ( ) gdy» [A I]p = A za± y 0 (p) = 0 p. p n + I 0. 0 = b I Przypadek: Je»eli zadanie ( ) ma rozwi zanie, w którym y 0max < 0 to wielo±cian W = {x R n ; Ax = b x 0} jest zbiorem pustym (zadanie pierwotnie sprzeczne). II Przypadek: Je»eli y 0max = 0 to T S opisuj ca wierzchoªek optymalny zadania ( ) pozwala nam opisa wierzchoªek zadania pierwotnego. T = [A D b] a) Je»eli wszystkie zmienne y, y 2,..., y t s niebazowe to macierz powstaªa po wykre±leniu kolumn z nimi zwi zanych jest T S opisuj ca wierzchoªek obszaru dopuszczalnego zadania pierwotnego.
Optymalizacja A. Strojnowski 2 Rzeczywi±cie. Je»eli (p,.., p n, y,..., y t ) jest wierzchoªkiem opisanym [A D b] to y = 0,..., y t = 0, Ap = b (A zawiera macierz jednostkow ) [A b] powstaªa z [A b] przez operacje elementarne na wierszach, wi c opisuje ten sam wielo±cian. b) Niech y i b dzie zmienn bazowa. Przyjmijmy,»e kolumna odpowiadaj ca y i ma jedynk w j-tym wierszu i pozostaªe wspóªrz dne = 0. 0 je»eli wiersz j-ty ma tylko jeden element niezerowy (j-ty wiersz A jest zerowy) to znaczy,»e [A b] i A byªy ukªadem zale»nym. Taki wiersz i kolumny mo»na wykre±li ( w praktyce zostaje). 2 0 Je»eli istnieje a j r 0 w j-tym wierszu macierzy A to wybieramy go jako element centralny i po przeksztaªceniach elementarnych otrzymujemy T S, w której y j jest niebazowe, za± x r jest doª czone do bazy. Po wykonaniu I fazy otrzymujemy T S opisuj c wierzchoªek obszaru dopuszczalnego T lub informacj,»e zadanie byªo sprzeczne. Druga faza: Najpierw budujemy wiersz kosztów zredukowanych Max x 0 = cx Koszty zredukowane to x 0 = dx + b 0 gdzie d = (d,..., d n ) to d j = 0 gdy x j - bazowa. Wektor d wyliczamy wstawiaj c do równania x 0 = cx a, a,2... a n b równania x j = b j a ji x i pochodz ce z T S [A b ] =....... a t, a t,2... a t,n b t Dalej zadanie rozwi zujemy prosta metod sympleks. Przykªad 0. Badamy zadanie: Max x 0 = 7x + 2x 2 3x 3 x 4 8x + 3x 2 5x 3 + x 4 = 4 3x + x 2 2x 3 x 4 = x, x 2, x 3, x 4 0 I faza: Wprowadzamy sztuczne zmienne y i y 2 i funkcje celu Max y 0 = y y 2 y 0 + y + y 2 = 0 y 0 (8x + 3x 2 5x 3 + x 4 4) (3x + x 2 2x 3 x 4 ) = 0 y 0 x 4x 2 + 7x 3 = 5 baza sztuczna x x 2 x 3 x 4 y y 2 4 7 0 0 0 5 8 3 5 0 4 3 () 2 0 (dla zmiennych niesztucznych suma jest równa 0) Wybieramy kolumn poprawiaj c x 2. Min { 4 3 } = i element centralny zaznaczamy nawiasem
Optymalizacja A. Strojnowski 3 0 4 0 4 0 () 4 3 3 2 0 0 0 0 0 0 0 4 3 0 7 2 5 3 Zmienne sztuczne wypadªy z bazy wi c mo»emy je wykre±li. Pozostaªa tablica opisuje wierzchoªek startowy (0, 3,, 0). Wracamy do pierwotnej funkcji celu i liczymy koszty zredukowane: x 0 = 7x +2x 2 3x 3 x 4 = 7x +2( x 7x 4 +3) 3(x 4x 4 +) x 4 = 2x 3x 4 + 3 i otrzymujemy tablic sympleks: 2 0 0 3 3 0 4 () 0 7 3 Pierwsza kolumna wyznacza kraw d¹ poprawiaj c. Id c ni otrzymujemy. 0 2 0 7 9 0 4 0 7 3 Ta tablica opisuje jedyny wierzchoªek optymalny (3, 0, 4, 0), w którym x max = 9 Przykªad 0.2 Badamy zadanie: Max x 0 = 3x + 8x 2 2x 3 x 4 2x + x 2 x 3 + 6x 4 = 3 x + x 2 3x 3 x 4 = 5 x, x 2, x 3, x 4 0 I faza: Wprowadzamy sztuczne zmienne y i y 2 i funkcje celu Max y 0 = y y 2 0 = y 0 + y + y 2 = y 0 (2x + x 2 x 3 + 6x 4 3) (x + x 2 3x 3 x 4 5) y 0 3x 2x 2 + 4x 3 5x 4 = 8 co daje tablic sympleks 3 2 4 5 0 0 8 2 (6) 0 3 3 0 5 stosuj c prosty algorytm metody sympleks otrzymujemy kolejno: 4 7 9 3 ( 0 5 0 6 6 6 2 3 6) 0 6 6 2 4 3 7 9 0 6 6 6 2 0 2 7 2 0 2 2 6 0 3 0 2 7 2
Optymalizacja A. Strojnowski 4 Nad kresk s same liczby nieujemne a funkcja celu jest równa -2 zatem zadanie jest sprzeczne (obszar dopuszczalny jest zbiorem pustym). Metoda cz ±ciowej bazy sztucznej W metodzie dwufazowej wystarczy doda tylko tyle zmiennych sztucznych, by otrzyma macierz jednostkow. np. Max x 0 = cx A x b A 2 x = b 2 x 0 W tym przypadku mamy t zmiennych bazowych i gdy b 0 dodajemy tylko t 2 zmiennych sztucznych. Max x 0 = cx A x + I t x = b A 2 x + I t2 y = b 2 x 0 x 0 y 0 W przypadku rzeczywistych oblicze«( na maszynach) zwykle nie stosuje si cz ±ciowej bazy sztucznej. Nie trzeba wówczas wyszukiwa w macierzy A kolumn zero - jedynkowych. Modykacje dwufazowej metody sympleks Mo»na obie fazy rozwi za na jednej T S. W zadaniu: Max x 0 = cx Ax = b x 0 Rozwa»amy obie funkcje celu jednocze±nie. Max x 0 = cx Max y 0 = y Ax + Iy = b x 0 y 0 Budujemy tablic sympleks maj c dwa wiersze nad kresk. x 0 y 0 x x 2... x n y... y t ww T S = B 0 c 0... 0 0 0 0 0... 0... 0, 0 0 A I b gdzie B = 0 0...0 0... 0 0 I
Optymalizacja A. Strojnowski 5 W fazie maksymalizujemy y 0 i w rezultacie otrzymujemy,»e zadanie jest sprzeczne lub T S opisuj ca wierzchoªek startowy (ª cznie z kosztami zredukowanymi funkcji x 0 ). Ta metoda nigdy nie prowadzi do zmniejszenia liczby operacji (np. wyszªo,»e zadanie jest sprzeczne, wi c naliczyli±my si zupeªnie niepotrzebnie). Przykªad. Badamy zadanie: Max x 0 = 7x + 2x 2 3x 3 x 4 8x + 3x 2 5x 3 + x 4 = 4 3x + x 2 2x 3 x 4 = x, x 2, x 3, x 4 0 I faza: Wprowadzamy sztuczne zmienne y i y 2 i funkcje celu Max y 0 = y y 2 y 0 + y + y 2 = 0 y 0 (8x + 3x 2 5x 3 + x 4 4) (3x + x 2 2x 3 x 4 ) = 0 y 0 x 4x 2 + 7x 3 = 5 baza sztuczna y 0 x 0 x x 2 x 3 x 4 y y 2 W W 0 4 7 0 0 0 5 0 7 2 3 0 0 0 0 0 8 3 5 0 4 0 0 3 () 2 0 Wybieramy kolumn poprawiaj c x 2. Min { 4, 3 } = i element centralny zaznaczamy nawiasem 0 0 4 0 4 0 0 0 2 2 0 0 0 () 4 3 0 0 3 2 0 0 0 0 0 0 0 0 2 0 0 3 3 0 0 0 4 3 0 0 0 7 2 5 3 Koniec fazy pierwszej. Wszystkie sztuczne zmienne s niebazowe wykre±lamy wiersze i kolumny zwi zane ze sztucznymi zmiennymi. 2 0 0 3 3 0 0 4 0 () 0 7 3 Kolumna x wyznacza kraw d¹ poprawiaj c. Id c ni otrzymujemy. 0 2 0 7 9 0 0 4 0 0 7 3 Ta tablica opisuje jedyny wierzchoªek optymalny (3, 0, 4, 0), w którym x max = 9
Optymalizacja A. Strojnowski 6 Metoda du»ego M: Czasami potramy oszacowa warto± x 0 i max x i. Szczególnie w zagadnieniach caªkowitoliczbowych np. transport ci»arówkami i gdy w±ród warunków s 0 x i b i. Aby rozwi za zadanie: Max x 0 = cx Ax = b x 0 wybieramy liczb M, o której wiemy,»e jest wi ksza od funkcji celu i rozpatrujemy zadanie Max x 0 = cx My Ax + Iy = b x 0 y 0. Teraz poprawione [ zadanie opisane jest] tablic sympleks: c dm 0...0 M bi T S =, A I b gdzie wektor d jest sum wierszy macierzy A. Rozwi zanie zawsze istnieje, ale czasami w opisie kosztów zredukowanych wierzchoªka optymalnego wyst puje M - oznacza to,»e zadanie wyj±ciowe jest sprzeczne. W stosunku do poprzednich metod zyskujemy to,»e mamy jedn faz i jedn funkcj celu. Przykªad.2 Max x 0 = x 2x 2 3x 4 x x 2 x 3 = x + x 2 + 2x 3 x 4 = x i 0 Sprowadzamy do zadania: Max x 0 = x 2x 2 3x 4 My My 2 x x 2 x 3 + y = x + x 2 + 2x 3 x 4 + y 2 = x i 0, y 0 Otrzymujemy nast puj ce tablice sympleks: x 0 x x 2 x 3 x 4 y y 2 ww 2 0 3 M M 0 0 0 0 0 2 0 2 M 3 + M 0 0 2M 0 0 0 0 (2) 0 M 2 + M 0 3 + M 0 M 3M 2 2 2 2 2 0 ( ) 0 3 2 2 2 2 2 0 0 2 2 2 2 2
Optymalizacja A. Strojnowski 7 0 0 2 2 + M M + 3 0 0 2 3 0 0 0 2 Rozwi zaniem jest wierzchoªek (3, 0, 2, 0), w którym funkcja celu osi ga warto± 3. 2 Przykªad 2. Przykªad zap tlenia si algorytmu sympleks. Max x 0 = 3 4 x 4 20x 5 + 2 x 6 6x 7, gdzie x + 4 x 4 8x 5 x 6 + 9x 7 = 0 x 2 + 2 x 4 2x 5 2 x 6 + 3x 7 = 0 x 3 + x 6 = x 0, x 2 0, x 3 0, x 4 0, x 5 0, x 6 0, x 7 0 Ten ukªad równa«daje nast puj c TS 0 0 0 3 20 6 0 4 2 0 0 0 ( ) 8 9 0 4 0 0 0 2 2 2 3 0 0 0 0 0 0 0 Otrzymujemy nast puj ce TS: 3 0 0 0 4 7 33 0 2 0 4 0 0 32 4 36 0 3 0 2 0 0 (4) 5 0 2 0 0 0 0 0 0 0 0 0 2 8 0 0 2 8 0 0 (8) 84 0 0 3 0 0 5 0 2 4 8 4 0 0 0 0 0 0 2 3 0 0 0 3 0 4 0 3 0 0 2 0 2 8 2 0 0 3 0 ( 3 ) 0 6 8 64 6 3 0 2 0 0 2 8 2 0 6 0 0 0 2 0 (2) 6 0 5 56 0 0 2 0 2 0 6 0 0 3 3 4 3 5 0 2 6 56 0 0 2 0 2 0 7 44 0 0 4 2 0 3 0 5 28 0 0 4 2 0 0 ( ) 0 4 0 3 6 6 0 0 0 0 0 0
Optymalizacja A. Strojnowski 8 0 0 0 3 20 6 0 4 2 0 0 0 8 9 0 4 0 0 0 2 3 0 2 2 0 0 0 0 0 0 I tak ostatnia siódma TS jest identyczna z pierwsz. Wszystkie tablice opisuj wierzchoªek nieoptymalny p = (0, 0,, 0, 0, 0, 0) Id c inn drog otrzymujemy: 0 0 0 3 20 6 0 4 2 0 0 0 8 9 0 4 0 0 0 ( ) 2 3 0 2 2 0 0 0 0 0 0 3 0 0 0 2 5 2 4 0 0 0 2 3 2 4 2 0 2 5 0 2 0 0 2 0 24 6 0 0 0 0 0 0 () 0 3 0 2 0 2 5 4 0 2 0 2 2 3 5 4 3 4 0 2 0 5 4 2 0 0 2 24 0 6 0 0 0 0 0 0 Ostatnia tablica opisuje wierzchoªek optymalny q = ( 3, 0, 0,, 0,, 0). 4 Rada praktyczna: Kraw dzie zdegenerowane pochodz od tych zmiennych, które na przeci ciu swojej kolumny i równania (wiersza) o wyrazie wolnym 0 maj liczb > 0. Badamy wiersze o zerowym wyrazie wolnym i szukamy kraw dzi poprawiaj cych, które maj w tym wierszu liczb 0. 3 Teoria dualno±ci. Denicja 3. Rozwa»my zadanie P L zwane pierwotnym P. Max x 0 = c x T + c 2 x T 2 + c 3 x T 3 + b 0, gdzie x R n, x 2 R n 2, x 3 R n 3, x = (x, x 2, x 3 ) R n +n 2 +n 3 A, A,2 A,3 x T = b T A 2, A 2,2 A 2,3 x T b T 2 A 3, A 3,2 A 3,3 x T b T 2 x R n, x 2 0, x 3 0.
Optymalizacja A. Strojnowski 9 wtedy zadaniem dualnym D nazywamy zadanie: Min y 0 = c y T + c 2 y2 T + c 3 y3 T + b 0, gdzie y R t, y 2 R t 2, y 3 R t 3, y = (y, y 2, y 3 ) R t +t 2 +t 3 A T, A T 2, A T 3, y T = c T A T,2 A T 2,2 A T 3,2 y A T,3 A T 2,3 A3,3 T c T T 2 y T c T 2 y R t, y 2 0, y 3 0. Reguªy przechodzenia od zadania pierwotnego do dualnego przedstawia tabela: Je»eli P ma n zmiennych to D jest opisane przez n nierówno±ci (równa«). Je»eli P jest opisane t nierówno±ciami to D ma t zmiennych. P D min max max min i-ta nierówno± zgodna z typem i-ta zmienna 0 j-ta nierówno± niezgodna z typem j-ta zmienna 0 k-ta nierówno± jest równaniem k-ta zmienna nieograniczona i-ta zmienna 0 i-ta nierówno± zgodna z typem j-ta zmienna 0 j-ta nierówno± niezgodna z typem k-ta zmienna nieograniczona k-ta nierówno± jest równaniem gdzie: dla zada«typu Max a T x b - nierówno± jest zgodna z typem a T x b - nierówno± jest niezgodna z typem dla zada«typu Min a T x b - nierówno± jest zgodna z typem a T x b - nierówno± jest niezgodna z typem Przykªadami par zada«wzajemnie dualnych s : P: max cx T D: min by T Ax T b T A T y T c T x 0 y 0 lub P: max cx T D: min by T Ax T = b T A T y T c T x 0 y R t
Optymalizacja A. Strojnowski 0 Przykªad 3.2 Je»eli zadanie pierwotne P ma posta : Max x 0 = 2x + x 2 x 3 x + x 2 3 x + 3x 2 + x 3 2 x + 2x 3 = 7 x 2 + x 3 5 x 0, x 3 0 b T = 3 2 7 5 A = 0 3 0 2 0 c = (2,, ) to zadanie dualne D ma posta : Min y 0 = 3y + 2y 2 + 7y 3 + 5y 4 y + y 2 y 3 2 zgodna z typem gdy» x 0 y + 3y 2 + y 4 = gdy» x 2 nieograniczone y + 2y 3 + y 4 niezgodna z typem gdy» x 3 0 y 0 gdy» x + 3x 2 + x 3 2 niezgodna z typem y 2 0 gdy» x + 2x 3 = 7 niezgodna z typem y 3 R y 4 0 gdy» x 2 + x 3 5 zgodna z typem Twierdzenie 3.3 Zadanie dualne do dualnego jest równowa»ne zdaniu pierwotnemu. Przykªad 3.4 Rozwa»my zadanie pierwotne P: Max c T x Ax b x 0 D Min b T y A T y c y 0 D' Max( b ) T y ( A T )y c y 0 D(D') Min( c T z) ( A T ) T z ( b T ) T z 0
Optymalizacja A. Strojnowski P' Max c T z Az b z 0 P'=P Denicja 3.5 Zadania P i P 2 nazywamy równowa»nymi je»eli mo»na od jednego do drugiego przej± stosuj c nast puj ce reguªy: ) Mno»enie nierówno±ci (równania ) przez liczb r 0. ') Mno»enie zmiennej przez liczb r 0. 2) Zast pienie nierówno±ci n { i= a ix i b par n i= a ix i + x n+ = b. x n+ 0 2a) { Zast pienie pary n i= a ix i + x n+ = b x n+ 0 nierówno±ci n i= a ix i b. 3) Zast pienie równania n { i= a ix i = b par n i= a ix i b n i= a ix i b. 3a) Zast pienie pary { n i= a ix i b n i= a ix i b. równaniem n i= a ix i = b. 4) Zast pienie zmiennej nieograniczonej x i par x i = x + i x i, gdzie { x + i 0 x i 0. 5) Zast pienie problemu {x 0 = cx T x D} problemem {x 0 cf(x) T f(x) f(d)}, gdzie f jest automorzmem anicznym. Twierdzenie 3.6 Je»eli zadania P i P 2 s równowa»ne to dualne do nich zadania D i D 2 te» s równowa»ne. Twierdzenie 3.7 (Sªabe twierdzenie o dualno±ci) Je»eli p jest punktem dopuszczalnym zadania pierwotnego P: Max {c T x Ax T b T } za± q jest punktem dopuszczalnym zadania dualnego D: Min {b T y A T y T c T } to c T p b T q Ponadto je»eli c T p = b T q to p jest punktem optymalnym P, za± q jest punktem optymalnym D. Dowód: Ap b A T q c p 0 q 0
Optymalizacja A. Strojnowski 2 0 c T p = p T c (A T q c) θ = 0. 0 p T (A T q c) 0 R p T A T q p T c 0 p T c p T A T q = q T Ap (b Ap) θ q T (b Ap) 0 q T b q T Ap 0 q T b q T Ap q T Ap q T b z (A T z 2 q c) =. z t z i 0 to i-ta nierówno± zgodna z typem p i 0 z i 0 to i-ta nierówno± niezgodna z typem p i 0 zawsze p i z i 0 czyli nawet je±li (b Ap) θ to i tak q T (b Ap) 0 cz ± druga c T p = b T q to x z obszaru dopuszczalnego c T x b T q = c T p p optymalny i z drugiej strony identycznie b T y c T p = b T q q optymalny Wniosek 3.8 Je»eli zadanie P jest nieograniczone to D jest sprzeczne. Dowód: Przypu± my»e D nie jest sprzeczne istnieje q w obszarze dopuszczalnym zadania D x dopuszczalnego c T x b T q P ograniczone Wniosek 3.9 Je»eli D jest nieograniczone to P sprzeczne. Niestety zadania P i D mog by naraz sprzeczne: Przykªad 3.0 P = max x + x 2 x + x 2 x x 2 x, x 2 0 0 2
Optymalizacja A. Strojnowski 3 D min y y 2 y + y 2 y y 2 y, y 2 0 0 2 Lemat 3. (Lemat Farkas'a) Spo±ród ukªadów ) Ax T = b T x 0 2) ya 0 by T < 0 dokªadnie jeden ma rozwi zanie. Dowód: Przypu± my»e ) i 2) maj rozwi zania x 0 i y 0. Wtedy x 0 0 i y 0 A θ wi c y 0 Ax T 0 0. Ale y 0 Ax T 0 0 = y 0 b T < 0. Sprzeczno±. Przypu± my»e ) nie ma rozwi zania. Stosujemy pierwsz faz z dwufazowej metody sympleks. [ ] 0... 0... 0 Rozwi zujemy zadanie opisane tablic A I b T, gdzie zapisane wierszami A = w w 2. w t i bt = [ ] d... d Ko«cowa tablica ma posta n k... k t b 0 A D b T, gdzie wiersz (d... d n ) 0 i b 0 < 0. Ale wiersz ten jest kombinacj liniow wierszy macierzy A. Oznacza to,»e istnieje ci g y = (y, y 2,..., y t ) taki,»e (d... d n ) = t i= y iw i oraz b 0 = t i= y ib i. Otrzymali±my rozwi zanie 2) ya 0 by T < 0. Twierdzenie 3.2 Rozpatrujemy zadanie optymalizacji liniowej: Max x 0 = c x, gdzie x W i W jest opisane ukªadem nierówno±ci: w x b w 2 x b 2.. w t x b t Niech p W b dzie takim punktem,»e w i p = b i, dla i =, 2,..., j oraz w i x < b i, dla i > j. Wówczas: p jest punktem optymalnym tego zadania wtedy i tylko wtedy gdy dla pewnych liczb rzeczywistych r 0, r 2 0,..., r j 0 zachodzi c = j i= r iw i. b b 2. b t.
Optymalizacja A. Strojnowski 4 Dowód: Niech B = w w 2. w j b dzie macierz pochodz c od pierwszych j nierówno±ci. Wówczas p nie jest punktem optymalnym wtedy i tylko wtedy gdy kiedy istnieje wektor α taki,»e p + α W i x 0 (p + α) > x 0 (p). Poniewa» dªugo± wektora α nie gra roli to to tylko j pierwszych nierówno±ci opisuj cych W ma znaczenie. Przeksztaª my warunki: w (p + α) b = w p w 2 (p + α) b 2 = w 2 p. w j (p + α) b j = w j p c (p + α) > c p do: Bα T 0 i cα T > 0. Przyjmuj c oznaczenia A = B T i y = α otrzymujemy: ya 0 cy T < 0 czyli drugi ukªad z lematu Farkasa. A zatem ukªad Ax T = c T x 0 nie ma rozwi za«. Oznacza to,»e nie istnieje ci g liczb nieujemnych r 0, r 2 0,..., r j 0 taki,»e dla x = (r, r 2,..., r j ) xb = c czyli c j i= r iw i. Twierdzenie 3.3 (Silne twierdzenie o dualno±ci) Je»eli jedno z zada«p lub D ma rozwi zanie to drugie te» ma rozwi zanie i warto± funkcji celu s równe. Dowód: Przyjmijmy,»e zadanie pierwotne P: {Max x 0 = cx T Ax T b T } ma punkt optymalny p taki,»e w i p = b i, w w 2 dla i =, 2,..., j oraz w i x < b i, dla i > j, gdzie A =. Rn t. Wówczas na mocy poprzedniego twierdzenia istnieje ci g liczb nieujemnych r 0, r 2 0,..., r j 0 taki,»e c = j i= r iw i. Zadaniem dualnym jest D: {Min y 0 = bx T A T y T = c t, y 0}. Niech q = (r, r 2,..., r j, 0, 0,..., 0) R t. Wówczas q 0 w w 2 i qa = (r, r 2,..., r j, 0, 0,..., 0). = j i= r iw i = c wi c A T y T = c t co oznacza,»e q jest punktem dopuszczalnym zadania D. w t w t
Optymalizacja A. Strojnowski 5 Ale y 0 (q) = bq T = t i= b ir i = j i= b ir i = j i= (w ip T )r i = = j i= (r iw i )p T = cp T = x 0 (p). Teraz ze sªabego twierdzenia o dualno±ci wynika optymalno± punktu q. Twierdzenie 3.4 (Twierdzenie o równowadze (Kuhn, Tucker)) Punkt dopuszczalny p zadania P (Max x 0 = cx T Ax T b T, x 0) jest punktem optymalnym wtedy i tylko wtedy gdy istnieje punkt dopuszczalny q zadania D (Min y 0 = b T y T A T y T c T, y 0) taki,»e: ) q(ap T b T ) = 0 2) (qa c)p T = 0 p(a T q T c T ) = 0 Przykªad 3.5 P: Max x + 5x 2 2x 3 2x + 3x 2 x 3 5 = 3x + 5x 2 2x 3 = 7 = x + 2x 3 6 > y 3 = 0 x i 0 Sprawdzamy czy p = (0, 3, 4) jest optymalny? Szukamy w tym celu punktu q = (y, y 2, y 3 ) speªniaj cego oba warunki równowagi a potem sprawdzimy czy który± ze znalezionych punktów jest dualnie dopuszczalny. Aby sprawdzi pierwszy warunek podstawiamy punkt p do nierówno±ci. Poniewa» trzecia nierówno± speªniona jest na ostro to trzecia wspóªrz dna punktu q musi by zerowa. 0 Ap b = 0 > 0 Budujemy zadanie dualne. D : Min 5y + 7y 2 + 6y 3 2y + 3y 2 + y 3 cokolwiek 3y + 5y 2 5 = y 2y 2 + 2y 3 2 = y 0, y 2 R, y 3 0 Aby punkt q speªniaª drugi warunek równowagi to poniewa» punkt p ma drug i trzeci wspóªrz dn niezerow to punkt q musi speªnia drug i trzeci nierówno± zadania dualnego jak równo±. Po opuszczeniu trzeciej, zerowej wspóªrz dnej { otrzymujemy: 3y + 5y 2 = 5 y 2y 2 = 2 { y = 0 y 2 = Zatem q = (0,, 0) lub nie istnieje. Poniewa» q = (0,, 0) jest dopuszczalny dla zadania dualnego, wi c p jest optymalny. Ponadto q jest optymalny dla D.
Optymalizacja A. Strojnowski 6 Dowód: (twierdzenia o równowadze) Niech p b dzie optymalny, to na mocy poprzedniego twierdzenia istnieje rozwi zanie q optymalne dla zadania D. b T q = c T p q T 0 (Ap b 0 ) 0 q T Ap q T b 0 q T Ap q T b = b T q (q T A 0 c T ) p 0 0 q T Ap c T p 0 q T Ap c T p c T p q T Ap b T q zachodzi zawsze, je»eli p i q s optymalne, to skrajne kawaªki s równe czyli wsz dzie s równo±ci, w szczególno±ci c T p = q T Ap q T Ap c T p = 0 (q T A c T )p = 0 b T q = q T b = q T Ap q T b q T Ap = 0 q T (b Ap) = 0 Przypu± my,»e zachodzi ) i 2) wtedy z )otrzymujemy q T Ap = b T q 2) otrzymujemy c T p = q T Ap b T q = c T p p i q optymalne Uwagi: c T p q T Ap (q T A c T )p 0 P - max p - punkt dopuszczalny P D - min q - punkt dopuszczalny D D porównuje A T q z c. Je»eli w P x i 0 to i-ta równo± jest zgodna. A = [k, k 2,..., k n ] k A T = k 2... k n (kt i q 0 k T i q c i c)p i 0 0 Je»eli x j 0 to j-ta nierówno± jest niezgodna z typem kj T q c j (kj T q c j )p j 0 0 0 Je»eli x i = 0 p i = 0 (kj T q c i )p i = 0 i (kj T q c i )p i 0 ( A T q c ) T p 0
Optymalizacja A. Strojnowski 7 Dualna metoda sympleks. P Max x 0 = c T x Ax = b x 0 [ ] cn 0 T S = A b T S jest pierwotnie dopuszczalna (przedstawia wierzchoªek obszaru dopuszczalnego) b 0 T S jest dualnie dopuszczalna (przedstawia wierzchoªek zadania dualnego) c 0 ( c N 0) T S przedstawia wierzchoªek optymalny jest pierwotnie i dualnie dopuszczalna. Przykªad: P Min x 0 = 2x + 3x 2 x + x 2 2 3x + 2x 2 7 2x + x 2 4 x 0, x 2 0 (typowy przykªad zagadnienia diety) x 0 x x 2 x 3 x 4 x 5 ww 2 3 0 0 0 0 0 0 0 2 0 3 2 0 0 7 0 2 0 0 4 2 3 0 0 0 0 T S 0 0 2 3 2 0 0 7 2 0 0 4 jest dualnie dopuszczalna. Rozpatrzmy teraz zadanie dualne: D Max y 0 = 2y + 7y 2 + 4y 3 y + 3y 2 + 2y 3 2 y + 2y 2 + y 3 3 y 0, y 2 0, y 3 0. I równowa»ne mu: D Min y 0 = 2y 7y 2 4y 3 T S 3 2 0 2 2 7 4 0 0 0 2 0 3 Je»eli wykre±limy kolumny zwi zane ze zmiennymi bazowymi to T S T = T S Prze±led¹my metod sympleks na tych dwóch tablicach równocze±nie.
Optymalizacja A. Strojnowski 8 Dualne 2 7 4 0 0 0 () 3 2 0 2 2 0 3 0 0 2 0 4 (3) 2 0 2 0 Pierwotne 2 3 0 0 0 0 ( ) 0 0 2 3 2 0 0 7 2 0 0 4 0 2 0 0 4 0 0 2 0 ( 3) 0 0 2 0 0 3 0 2 3 3 0 4 2 3 2 3 3 2 0 3 3 0 2 5 3 3 3 3 0 5 0 2 0 4 2 3 3 3 2 0 7 0 3 3 3 0 0 3 3 3 0 0 2 2 3 3 3 Otrzymali±my rozwi zania q = (0, 2, 0, 0, 5) dla zadania dualnego i p = ( 7, 0,, 0, 2 ) dla zadania 3 3 3 3 3 pierwotnego. Ale warto±ci funkcji celu s równe y 0 = 4 2 3 y 0 = 4 2 = x 3 0 Algorytm dualnej metody sympleks (dla Max): na starcie mamy TS dualnie dopuszczaln (tzn. c N 0) T S = c N b 0 gdzie elementy macierzy A oznaczamy: A b a i,j, i n, j t za± kolumny b oznaczamy b i, j t. Test optymalno±ci. Je»eli b 0 to stop (tablica przedstawia wierzchoªek optymalny) 2 Wybieramy wiersz gªówny i, taki,»e b i < 0 3 Test sprzeczno±ci: je»eli w i-tym wierszu wszystkie wyrazy s 0 to stop (zadanie sprzeczne) Poniewa» i-ty wiersz reprezentuje równanie n j= a i,j x j = b i a i,j 0 x j 0 oraz b i < 0 4 Wybór elementu centralnego: Liczymy minimum M in{ c j a i,j : j t, ai,j < 0}. Jako element centralny wybieramy dowolne a ij na którym osi galne jest minimum. 5 Eliminacja Gaussa-Jordana 6 Wracamy do Rzeczywi±cie 5 daje T S dualnie dopuszczaln : nad kresk otrzymujemy W 0 d j α ij W i gdzie W 0 = (d, d 2,..., d n ) zatem w k-tej kolumnie otrzymujemy d k d j a ij a ik 0 d k 0 d j 0 a ij 0
Optymalizacja A. Strojnowski 9 d j a ij 0 je»eli α ik 0 to d j a ij a ik 0 i nierówno± zachodzi je»eli a ik < 0 to d j d a ik j a ij d j a ik d j a ij d k d j a ij a ik Porównanie metody sympleks prostej i dualnej ) zadanie opisane T S dualnie dopuszczaln mo»e mie rozwi zanie lub by sprzeczne, ale nie mo»e by nieograniczone. ') zadanie opisane T S pierwotnie dopuszczaln mo»e mie rozwi zanie lub by nieograniczone ale nie mo»e by sprzeczne (T S opisuje wierzchoªek dopuszczalny) 2) Dualna metoda sympleks daje rozwi zanie (algorytm si ko«czy) poniewa» ma tyle kroków ile prosta metoda sympleks na zadaniu dualnym. 3) Przy zadaniu Max W dualnej metodzie sympleks warto± funkcji celu maleje, ( w pierwotnej ro±nie). Dualna metoda sympleks jest u»ywana tylko jako narz dzie pomocnicze, poniewa» niedoko«czone obliczenia nie daj przybli»onego rozwi zania, a tylko oszacowanie funkcji celu. Relaksacje. Relaksacja nazywamy zadanie powstaªe z ZP L przez uproszczenie warunków czyli powi kszenie obszaru dopuszczalnego. d 0 b 0 N I b Mo»emy dopisa równanie wyznaczaj ce koszty. α - koszt zawodnika αixi b t+ x i {0, } αixi +x n+ = b t+ d 0 b 0 N I b α... b t+...α n tu musimy wyzerowa Po doprowadzeniu do T S otrzymujemy T S dualnie dopuszczaln. Dopisywanie warunków (zacie±nianie relaksacji) prowadzi do T S dualnie dopuszczalnej, która rozwi zujemy dualn metod sympleks. warunki, jakich» damy od dobrej relaksacji: Relaksacje ma by ªatwo wyliczalna 2 relaksacja ma dobrze przybli»a wyniki ( i 2 s ze sob sprzeczne)
Optymalizacja A. Strojnowski 20 3 Je»eli relaksacja daje zadanie sprzeczne, to wyj±ciowe te» ma by sprzeczne (obszar dopuszczalny relaksacji ma zawiera obszar dopuszczalny zadania wyj±ciowego). Relaksacje stosujemy do zagadnie«caªkowitoliczbowych. P Max x 0 = c T x Ax = b x 0 x i Z Relaksacja RP Max x 0 = c T x Ax = b x 0 x i R RP umiemy rozwi za i cz sto jedno z rozwi za«jest caªkowitoliczbowe. Je»eli nie, to: Otrzymali±my TS pierwotnie i dualnie dopuszczaln T S d 0 b 0 N I b b i / Z mo»emy zacie±ni relaksacj stosuj c odci cia (zmniejszamy obszar dopuszczalny) Odci cie Gomory'ego n j= α i,jx j = b i b i / Z. poniewa» a + b a + b i a x a x dla x 0 x Z, wi c n b i = j= α i,jx j = b i n j= α i,jx j n j= α i,j x j Odci cie polega na dopisaniu nierówno±ci n j= α i,j x j b i Je»eli zmienna bazowa x k miaªa warto± b i to α ik = α n i x + α i,2 x 2 +... + x k +... + α i,n x n = b i j= α i,j x i + x n+ = b i dopisujemy ró»nic tych równa«n j= ( α i,j α i,j ) x j + x n+ = b i b i i rozwi zujemy dualn metod sympleks. Metoda Rozgaª zie«i odci Branch and Bound BB Streszczenie: -rozwi zujemy relaksacj - sprawdzamy, czy otrzymane rozwi zanie jest dopuszczalne - je±li nie, to wykonujemy odci cie lub dzielimy problem na 2 lub wi cej problemów.
Optymalizacja A. Strojnowski 2 Przykªad 3.6 Rozwi zujemy zadanie P. Max x 0 = x 2x 2 x + x 2 0 4x 2x 2 9 x 3 x i 0 x i Z Jest to zadanie typu: P Max x 0 = c T x x Q. Budujemy pierwsz relaksacj : ) RP Max x 0 = c T x x RQ; RQ Q, gdzie Q - zbiór dyskretny RQ - wielo±cian, bo opuszczamy warunek x i Z 2) Rozwi zujemy RP x 0 x x 2 x 3 x 4 x 5 ww 2 0 0 0 0 0 0 0 0 0 (4) 2 0 0 9 Min {, 9, 3} = 9 4 4 0 0 0 0 3 ) niedopuszczalny dla zadania P 3 0 0 0 9 2 4 4 0 0 0 9 2 4 4 0 2 0 4 0 9 4 0 0 0 3 2 4 4 Otrzymali±my punkt optymalny p = ( 9, 0, 9, 0, 3 4 4 4 x 0 = 9 4 3) Dokonujemy podziaªu x 3 = x x 2 Z a wyszªo 3 4 RQ dzielimy na 2 podzbiory, tak zwany lewy i prawy przez dodanie ogranicze«: x 3 [ 9 4 ] = 2 lub x3 [ 9 4] + = 3 Q RQ L RQ P RQ L RQ P = RQ L x 3 2 x 3 + x 6 = 2 2 x 2 + x 3 + 4 x 4 = 9 4 9 4 2 x 2 4 x 4 + x 6 = 2 2 x 2 4 x 4 + x 6 = 4
Optymalizacja A. Strojnowski 22 x x 2 x 3 x 4 x 5 x 6 ww 3 9 0 0 0 0 2 4 4 9 0 0 0 { 3 } 2 4 4 2 9 0 0 0 Min, 4 = 2 4 2 4 4 0 0 3 0 2 4 4 0 0 ( ) 0 2 4 4 0 0 0 0 2 0 0 0 0 2 0 0 0 2 0 0 0 0 2 0 0 4 RP L ma rozwi zanie dopuszczalne p = (2, 0, 2,, 0, 0) x 0 = 2. Zapami tujemy to rozwi zanie w sukcesorze. Teraz rozwi zujemy problem prawy RP P. Dodajemy ograniczenie x 3 9 4 + = 3 x 2 2 + x 3 + x 4 4 = 9 4 x 3 x 6 = 3 x 3 + x 6 = 3 x 2 2 + x 4 4 + x 6 = 3 + 9 = 3 4 4 3 9 0 0 0 0 2 4 4 9 0 0 0 2 4 4 9 0 0 0 2 4 4 0 0 3 0 2 4 4 0 0 0 3 2 4 4 sprzeczno±. Zamiast problemu P x 0 = c T x x Q rozwi zujemy ci g podproblemów RP, RP 2,..., RP n gdzie RP i x 0 = c T x x RQ i Q n i=rq i oraz obszary RQ i s parami rozª czne. Je»eli P ma rozwi zanie optymalne w Q, to w jest punktem optymalnym jednego z podproblemów. Niech f i - rozwi zanie problemu RP i + je»eli RP i nieograniczone f i = x 0 (w i ) je»eli RP i ma rozwi zanie je»eli RP i sprzeczne f = max f i Je»eli w Q nie jest jedynym rozwi zaniem to kilka problemów mo»e wygenerowa rozwi zanie. Kryteria zamykania: problem RP i zamykamy w przypadku: ) Znalezienia rozwi zania: a) Je»eli rozwi zanie jest dopuszczalne (w i Q) to zamykamy b) Je»eli rozwi zanie jest niedopuszczalne to dzielimy na problemy lub zacie±niamy relaksacj. 2) Otrzymania sprzeczno±ci
Optymalizacja A. Strojnowski 23 3) Znalezienia rozwi zania (mo»e by niedopuszczalne), w którym funkcja celu jest równa lub mniejsza od znalezionego wcze±niej rozwi zania dopuszczalnego. Przykªad: x x 2 2 + x 4 4 = 9 4 x 2 lub x 3 x 2 x + x 6 = 2 x 2 2 x 4 4 + x 6 = 2 9 = 4 4 tabelka prawie jak RPL powy»ej RPL ma rozwi zania (2, 0, 2,, 0, 0) x 0 = 2 dopuszczalne x 0max 2 x 3 x x 6 = 3 x 2 2 + x 2 4 + x 6 = 3 4 tabelka prawie jak RPp powy»ej, ale nie ma sprzeczno±ci 3 9 0 0 0 0 2 4 4 9 0 0 0 2 4 4 9 0 0 0 2 4 4 0 0 3 0 2 4 4 0 0 0 3 2 4 4 0 0 0 0 3 0 3 0 0 0 2 2 0 0 0 0 3 0 0 0 0 0 0 0 0 2 3 2 2 RPp ma rozwi zanie (3, 3, 3, 0, 0, 0) / Q x 2 2 0 = 0 lem zamykamy. Je»eli problem RP L byª rozwi zywany wcze±niej to RP p mo»na zamkn ; wpp nie, bo nie ma z czym porówna. Metoda BB. Dana jest lista kandydacka L zawieraj ca wszystkie niezamkni te problemy. (L mo»e np. zawiera tylko jeden problem pocz tkowy). Lista L b dzie si rozszerza przy dokonywaniu podziaªu i skraca przy zamykaniu problemu. Celem jest osi gniecie L =. Dodatkowo mamy sukcesor zawieraj cy element ze zbioru dopuszczalnego i warto± funkcji na tym elemencie. W chwili pocz tkowej sukcesor jest pusty zwykle). x = {(f, w)} lub x = ) Test stopu: Je»eli L = to stop, je±li x = to w jest punktem optymalnym, a f jest rozwi zaniem. 2) Wybór kandydata z listy: Wybieramy i usuwamy z listy L podproblem P k. Ustalamy jego relaksacj RP k.
Optymalizacja A. Strojnowski 24 3) Rozwi zujemy RP k i testujemy kryteria zamykania: a) Je»eli jest speªnione kryterium a) i nie jest speªnione 3) to zmieniamy sukcesor w : w k, f : f k GO TO ) b) Je»eli speªnione kryteria 2) lub 3) GO TO ) c) Speªnione b). Decydujemy, czy zacie±niamy relaksacj czy dokonujemy podziaªu: Je»eli zacie±niamy relaksacj to GO TO 3) Je»eli dokonujemy podziaªu to GO TO 2) Metod BB rozwi zujemy zadanie programowania liniowego z parametrem (pewne wspóªczynniki nie s okre±lone) T S c N 0 b 0 N I b np. Max x 0 = a x +a 2 x 2 +...+a nx n b x +b 2 x 2 +...+b nx n x Q Niech t= bixi i rozwi zujemy zadanie c N 0 b 0 T S N I b b x + b 2 x 2 +... + b 4 x 4 t przeksztaªcenia polegaj na wyborze elementu centralnego M in i,α ij >0 min i dzielimy na dwa podproblemy ) t b j < min b j - element centralny 2) t b j min element centralny - jaki± z kolumny j {( )} x = f(w), w t Algorytmy szybsze w szczególnych przypadkach: zadanie przepªywa w sieciach: Mamy dany graf o wierzchoªkach i kraw dziach skierowanych. 4 Zagadnienie transportowe { t i α ij, t b j } = Mamy n punktów wysyªaj cych towar i t punktów odbieraj cych. Istnieje droga od ka»dego dostawcy do ka»dego odbiorcy i znany jest koszt transportu jednostki towaru. Jak zorganizowa transport,»eby koszt byª minimalny? Zapiszmy dane w postaci tabeli:
Optymalizacja A. Strojnowski 25 O O 2 O t poda» D a, a,2 a,t b D 2 a 2, a 2,2 a 2,t b 2........ D n a n, a n,2 a n,t b n popyt c c 2 c t Wprowad¹my zmienne x i,j opisuj ce ilo± towaru przewo»onego od i - tego dostawcy do j - tego odbiorcy. Niech a ij oznacza koszt przewiezienia jednostki towaru. Jako funkcj celu przyjmijmy: min x 0 = n t i= j= a i,jx i,j Zadanie transportowe nazywamy zbilansowanym gdy poda» = popyt, czyli n i= b i = t j= c j. W przypadku zbilansowanym obszar dopuszczalny opisany jest nast puj - cym ukªadem równa«i nierówno±ci: t j= x,j = b, - pierwszy dostawca wysyªa caªy towar, t j= x 2,j = b 2, - drugi dostawca wysyªa caªy towar,. t j= x,j = b n, - n-ty dostawca wysyªa caªy towar, t i=n x,j = c, - pierwszy odbiorca dostaje caªy towar, t i=n x 2,j = c 2, - drugi odbiorca dostaje caªy towar,. t i=n x,j = c t, - t-ty odbiorca dostaje caªy towar, Ponadto nie mo»na przewozi ujemnej liczby towarów - a wi c: i n j t x i,j 0. Czasami towary s podzielne jak pr d czy woda, ale zwykle dodajemy warunki: i,j x i,j Z Je±li dodamy do siebie równania opisuj ce popyt otrzymamy n t i= j= x i,j = n i= b i Analogicznie je±li dodamy do siebie równania opisuj ce poda» otrzymamy t n j= i= x i,j = t j= c i. Zatem dla zadania niezbilansowanego ukªad równa«opisuj cy obszar dopuszczalny jest sprzeczny za± dla zadania zbilansowanego ukªad równa«opisuj cy obszar dopuszczalny jest zale»ny. Mo»na pokaza,»e rz d macierzy ukªadu jest równy n + t a wi c tyle musi by zmiennych bazowych. Zakªadamy,»e zagadnienie jest zbilansowane.
Optymalizacja A. Strojnowski 26 Zadanie opisuj dwie tablice maj ce tyle wierszy ilu jest dostawców i tyle kolumn ilu jest odbiorców plus wiersze i kolumny nagªówków. W pierwszej zapisujemy koszty lub koszty zredukowane - czyli to co jest nad kresk w tablicy sympleks. Druga tablica opisuje przewozy - dla zmiennej bazowej x i,j wstawiamy wstawiamy ilo± towaru przewo»onego od i - tego dostawcy do j - tego odbiorcy za± dla zmiennych niebazowych krzy»yk x. Ta tablica opisuje to co jest w tablicy sympleks z prawej strony kreski i umiejscowienie zmiennych bazowych jak w zrewidowanej metodzie sympleks. Szukanie wierzchoªka startowego a) Metoda wierzchoªka póªnocno - zachodniego ) Je»eli mamy tylko jednego dostawc lub tylko jednego odbiorc to wszystkie zmienne s bazowe w tablic przewozów wpisujemy popyty lub poda»e odpowiednio. 2) Wybieramy wierzchoªek póªnocno - zachodni czyli miejsce w lewym górnym rogu. 2a) Je»eli b c to w to miejsce tablicy wpisujemy c za± w pozostaªe miejsca pierwszej kolumny krzy»yki. ( x, = c ). Teraz zamiast b wpisujemy b c i usuwamy pierwszego odbiorc. 2b) Je»eli b < c to w to miejsce tablicy wpisujemy b za± w pozostaªe miejsca pierwszego wiersza krzy»yki. ( x, = b ). Teraz zamiast c wpisujemy c b i usuwamy pierwszego dostawc. GO TO. Przykªad 4. Dane jest zagadnienie transportowe opisane tabel : Koszty O O 2 O 3 O 4 Poda»e D 3 7 9 5 D 2 5 7 5 0 5 D 3 6 2 4 8 0 D 4 6 0 2 0 5 Popyty 6 4 0 5 Szukamy wierzchoªka startowego metod wierzchoªka póªnocno - zachodniego. Zaczynamy od wierzchoªka póªnocno - zachodniego nast puj cej tabeli. Przewozy O O 2 O 3 O 4 Poda»e D 5\ 9 D 2 5 D 3 0 D 4 5 Popyty 4 0 5
Optymalizacja A. Strojnowski 27 Poniewa» Min{6, 5} = 6 wi c 6 wpisujemy w t komórk i wykre±lamy pierwszego odbiorc. Min{4, 9} = 4 Min{0, 5} = 5 Przewozy O O 2 O 3 O 4 Poda»e D 6 5\ 9 D 2 X 5 D 3 X 0 D 4 X 5 Popyty 6\ 4 0 5 Przewozy O O 2 O 3 O 4 Poda»e D 6 4 5\ 9\ 5 D 2 X X 5 D 3 X X 0 D 4 X X 5 Popyty 6\ 4\ 0 5 Przewozy O O 2 O 3 O 4 Poda»e D 6 4 5 X 5\ 9\ 5\ D 2 X X 5 D 3 X X 0 D 4 X X 5 Popyty 6\ 4\ 0\ 5 5 W kolumnie O 3 i wierszu D 2 Min{5, 5} = 5 ale mo»emy wykre±li tylko odbiorc - dostawcy wpisujemy 0. Mamy teraz jedn lini. Przewozy O O 2 O 3 O 4 Poda»e D 6 4 5 X 5\ 9\ 5\ D 2 X X 5 5\ 0 D 3 X X X 0 D 4 X X X 5 Popyty 6\ 4\ 0\ 5\ 5 Przewozy O O 2 O 3 O 4 Poda»e D 6 4 5 X 5\ 9\ 5\ D 2 X X 5 0 5\ 0\ D 3 X X X 0 0 \ D 4 X X X 5 5\ Popyty 6\ 4\ 0\ 5\ 5\
Optymalizacja A. Strojnowski 28 b) Metoda minimalnych kosztów. Ta metoda ró»ni si od poprzedniej tym,»e zamiast wierzchoªka póªnocno - zachodniego wybieramy miejsce tabeli o minimalnym koszcie. Metoda sympleks 0) dana jest tablica kosztów K i tablica przewozów P opisuj ca wierzchoªek startowy. ) Test optymalno±ci. a) W tablicy kosztów zaznaczamy miejsca odpowiadaj ce zmiennym bazowym. b) Za tablic w prawym górnym rogu wpisujemy 0. c) Uzupeªniamy miejsca pod tabel i z prawej strony takimi liczbami by suma liczby w tablicy, dopisanej w wierszu i dopisanej w kolumnie dawaªa 0 w przypadku zaznaczonych komórek - zmiennych bazowych. c) Wyliczamy tablic kosztów zredukowanych dodaj c do ka»dego wiersza liczb dopisan z prawej strony i dodaj c do ka»dej kolumny liczb dopisan poni»ej. 2) Je»eli nie ma liczb ujemnych w tablicy kosztów to STOP. Ostatni schemat przewozów jest optymalny. Przykªad 4.2 W zadaniu z poprzedniego przykªadu koszty opisane s tabel : Zaznaczamy komórki zmiennych bazowych * i dopisujemy 0 w pierwszym wierszu. Koszty O O 2 O 3 O 4 D * 3* 7* 9 0 D 2 5 7 5* 0* D 3 6 2 4 8* D 4 6 0 2 0* Wymusza to liczby -,-3 i -7 w pierwszych kolumnach. Wymusza to 2 w drugim wierszu. Koszty O O 2 O 3 O 4 D * 3* 7* 9 0 D 2 5 7 5* 0* D 3 6 2 4 8* D 4 6 0 2 0* - -3-7 Koszty O O 2 O 3 O 4 D * 3* 7* 9 0 D 2 5 7 5* 0* 2 D 3 6 2 4 8* D 4 6 0 2 0* - -3-7
Optymalizacja A. Strojnowski 29 Wymusza to -2 w czwartej kolumnie. Koszty O O 2 O 3 O 4 D * 3* 7* 9 0 D 2 5 7 5* 0* 2 D 3 6 2 4 8* D 4 6 0 2 0* - -3-7 -2 Wymusza to 4 i 2 w ostatnich wierszach. Koszty O O 2 O 3 O 4 D * 3* 7* 9 0 D 2 5 7 5* 0* 2 D 3 6 2 4 8* 4 D 4 6 0 2 0* 2 - -3-7 -2 2 Obliczaj c koszty zredukowane otrzymujemy. Koszty O O 2 O 3 O 4 D 0 0 0-3 D 2 6 6 0 0 D 3 9 3 0 D 4 7 - -3 0 3) W drowanie mi dzy wierzchoªkami. 3a) Wybieramy drog o ujemnym koszcie - w przykªadzie drog wyznaczon zmienn x 4,2 i w tablicy przewozy do X dopisujemy +. 3b) Wpisuj c przy odpowiednich zmiennych bazowych ± budujemy cykl tak by popyt i poda» z uwzgl dnieniem nie zmieniªa si. 3c) Wybieramy maksymaln = min{x i,j wyst puje ze znakiem -} 4) Podstawiamy wyliczon warto± i usuwamy z bazy jedn ze zmiennych na której ilo± przewo»onego towaru zmniejszyli±my do 0. Przykªad 4.3 Przewozy O O 2 O 3 O 4 D 6 4 5 X D 2 X X 5 0 D 3 X X X 0 D 4 X X+ X 5
Optymalizacja A. Strojnowski 30 Budujemy cykl: Przewozy O O 2 O 3 O 4 D 6 4 5+ X D 2 X X 5 0+ D 3 X X X 0 D 4 X X+ X 5 = min{4, 5, 5} = 4 i nowym schematem przewozów jest: Przewozy O O 2 O 3 O 4 D 6 X 9 X D 2 X X 4 D 3 X X X 0 D 4 X 4 X Transport niezbilansowany W przypadku gdy poda» przewy»sza popyt zadanie mo»na doprowadzi do zbilansowanego wprowadzaj c sztucznego odbiorc o popycie równowa» - cym ró»nic i kosztach przewozów 0. Po wyliczeniu optymalnego przewozu mówimy,»e towary wysªane do sztucznego odbiorcy zostaj u dostawców. W przypadku gdy popyt przewy»sza poda», analogicznie, zadanie mo»na doprowadzi do zbilansowanego wprowadzaj c sztucznego dostawc o poda»y równowa» cym ró»nic i kosztach przewozów 0.