Badania Operacyjne kierunek Informatyka, studia II stopnia wyklad 1 Programowanie liniowe Programowanie liniowe jest jednym z działów teorii zadań ekstremalnych i głównym nurtem badań operacyjnych Podstawy programowania liniowego stworzył Kantorowicz w latach 30-tych ubiegłego stulecia Przedmiotem programowania liniowego sa zadania polegajace na szukaniu punktów minimum (badź maksimum) funkcji liniowej na zbiorze opisanym układem równości lub nierówności liniowych Najprostszym przykładem zadania programowania liniowego jest zadanie znalezienia punktu minimum funkcji f(x) =ax na przedziale [c, d] R + 0 W postaci zadania programowania liniowego można zapisać wiele praktycznych zagadnień natury ekonomicznej i produkcyjno-handlowej 11 Modelowanie Przykład 1 (planowanie produkcji) Wytwórca dysponuje określonymi ilościami różnych środków (surowce, praca, sprzęt), wykorzystywanych do produkcji różnych towarów Wiadomo, jaka ilość i-tego środka jest potrzebna do produkcji jednostki j-tego towaru, a także jaki dochód daje sprzedaż każdej wyprodukowanej jednostki j-tego towaru Wytwórca powinien tak zaplanować produkcję, by całkowity dochód uzyskany ze sprzedaży towarów był maksymalny Model Wprowadźmy następujace oznaczenia: 1
m -ilość środków n -ilość towarów a ij -ilość jednostek i-tego środkapotrzebnadoprodukcjijednostkij-tego towaru b i -dostępna ilość jednostek i-tego środka x j - wielkość produkcjij-tego towaru c j - dochód uzyskiwany ze sprzedaży jednostki j-tego towaru Całkowita ilość i-tego środka, wykorzystana podczas produkcji, można więc wyrazić następujaco: nx a ij x j j=1 Ilość ta powinna być mniejsza lub równa dostępnej ilości jednostek i-tego środka, czyli nx a ij x j b i,i=1,, m j=1 Dochód uzyskany ze sprzedaży wszystkich wyprodukowanych towarów wyraża się następujaco: przy czym oczywiście należy żadać, by nx c j x j, j=1 x j 0, j=1,, n Można więc sformułować opisane zagadnienie w następujacy sposób: zmaksymalizować funkcjonał kosztu (dochód) nx c j x j j=1 przy ograniczeniach x j 0, j=1,, n, nx a ij x j b i,i=1,, m j=1 2
12 Sformułowanie zadania Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci: J(u) =c 1 u 1 + + c n u n min (1) u k 0, k I (2) a 1,1 u 1 + + a 1,n u n b 1 a m,1 u 1 + + a m,n u n b m a m+1,1 u 1 + + a m+1,n u n = b m+1 a s,1 u 1 + + a s,n u n = b s, (3) gdzie u =(u 1,, u n ) R n,natomiastc j, a i,j, b i, i =1,, s, j =1,, n, sadanymi liczbami rzeczywistymi, przy czym nie wszystkie liczby c j i nie wszystkie liczby a ij sa równe zero, I {1,, n} jest ustalonym zbiorem indeksów; możliwe sa tutaj przypadki: I =, I = {1,, n}, m = s, m =0Wprowadzaj ac oznaczenia c =(c 1,, c n ), a i =(a i,1,,a i,n ), możemy zapisać powyższe zadanie w następujacy sposób: J(u) =hc, ui min u U = {u =(u 1,, u n ) R n ; u i 0 dla i I, ha i,ui b i dla i =1,, m, ha i,ui = b i dla i = m +1,, s} (4) (symbolem hx, yi oznaczamy iloczyn skalarny wektorów x =(x 1,, x n ), y =(y 1,, y n ), tzn hx, yi = P n i=1 x iy i ) W dalszym ciagu, zapis x y, gdzie x =(x 1,, x n ), y =(y 1,, y n ),będzie oznaczał, że x i y i,i=1,,n 3
Wobec tego, zadanie (4) możemy zapisać następujaco: J(u) =hc, ui min u U = {u =(u 1,, u n ) R n ; u i 0 dla i I, Au b, Au = b} (5) gdzie a 1,1 a 1,n a m+1,1 a m+1,n A =, A =, a m,1 a m,n a s,1 a s,n b = b 1 b m, b = b m+1 Każdy punkt u U nazywamy punktem dopuszczalnym zadania (5) Punkt u U nazywamy rozwiazaniem zadania (5), gdy dla dowolnego u U J(u ) J(u) Kanonicznym zadaniem programowania liniowego nazywamy zadanie postaci J(u) =hc, ui min, (6) u U = {u =(u 1,, u n ) R n ; u 0, Au = b} gdzie A R m n, b R m Podstawowym zadaniem programowania liniowego nazywamy zadanie postaci J(u) =hc, ui min, (7) u U = {u =(u 1,, u n ) R n ; u 0, Au b} gdzie A i b sa takie, jak wyżej b s 13 Równoważność zadań Zajmiemy się teraz zagadnieniem równoważności zadań różnego typu Dokładniej, pokażemy, że rozwiazywanie zadania podstawowego i zadania ogólnego można zastapić rozwiazywaniem zadania kanonicznego 4
Istotnie, niech dane będzie zadanie podstawowe (7) i rozważmy w przestrzeni R n+m zadanie postaci hd, zi min z Z = {z =(u, v) R n+m ; z 0, Cz = b}, (8) gdzie d =(c, 0) R n+m, C =[A I m m ]= a 1,1 a 1,n a m,1 a m,n 1 0 0 1 (I m m jest macierza jednostkowawymiarum m) Łatwo zauważyć, że jeśli u U jest rozwiazaniem zadania (7), to z =(u,v ),gdzie v = b Au, jest rozwiazaniem zadania (8), tzn z Z oraz hd, z i hd, zi dla dowolnego z Z Jeśli natomiast z =(u,v ) Z jest rozwiazaniem zadania (8), to u jest rozwiazaniem zadania (7), tzn u U oraz dla dowolnego u U hc, u i hc, ui Podobnie, rozwiazywanie zadania ogólnego (5) można zastapić rozwi azywaniem zadania kanonicznego Rzeczywiście, rozważmy w przestrzeni R p (p = m + I + J + J, gdzie 5
J = {1,,n}ÂI) zadanie postaci he, zi = X c i u i + X i I i J c i w i + X i J c i w i min z Z = {z =(v, u i ; i I,w i ; i J, w i ; i J) R p ; z 0, v + X A i u i + X A i w i + X A i w i = b, i I i J i J X A i u i + X A i w i + X A i w i = b} i I i J i J = {z R p ; z 0, [I m m A i ; i I A i ; i J A i ; i J] 0 Ai ; i I A i ; i J A i ; i J z = b } b, (9) gdzie e =(0,c i ; i I,c i ; i J, c i ; i J) R p, A i - i-ta kolumna macierzy A, A i - i-ta kolumna macierzy A Jeśli u U jest rozwiazaniem zadania ogólnego (5), to z =(v,u i ; i I,w i ; i J, w i ; i J), gdzie v = b Au, w i =max{0,u i }, i J, w i =max{0, u i }, i J, jest rozwiazaniem zadania (9) (zauważmy, że u i = w i w i dla i J) Jeśli natomiast jest rozwiazaniem zadania (9), to z =(v,u i ; i I,w i ; i J, w i ; i J), u =(u i ; i I,w i w i ; i J) jest rozwiazaniem zadania (5) 6
14 Interpretacja geometryczna zadań programowania liniowego Rozważmy zadanie podstawowe (7) w przypadku, gdy n =2, czyli J(u) =c 1 u 1 + c 2 u 2 min u U = {u =(u 1,u 2 ) R 2 ; u 1 0, u 2 0, a i,1 u 1 + a i,2 u 2 b i,i=1,, m} (10) Wprowadźmy oznaczenia U 0,1 = {(u 1,u 2 ) R 2 ; u 1 0}, U 0,2 = {(u 1,u 2 ) R 2 ; u 2 0}, U i = {(u 1,u 2 ) R 2 ; a i,1 u 1 + a i,2 u 2 b i },i=1,, m Oczywiście U = U 0,1 U 0,2 U 1 U m Możliwe sanastępuj ace przypadki: 1 0 zbiór U jest pusty 2 0 zbiór U jest niepustym wielobokiem wypukłym i ograniczonym 3 0 zbiór U jest niepustym wielobokiem wypukłym i nieograniczonym 7
Ustalmy liczbę α R Równanie c 1 u 1 + c 2 u 2 = α opisuje poziomicę funkcjonału J odpowiadajac awartości α, czyli zbiór {(u 1,u 2 ) R 2 ; J(u) =α} Jest to prosta o wektorze normalnym c =(c 1,c 2 ) Przy zmianie wartości stałej α od do prosta ta zmienia swoje położenie, przesuwajac się w sposób równoległy w kierunku wektora c i zamiataj ac całapłaszczyznę Wprzypadku2 0 zawsze istnieje punkt pierwszego kontaktu (być może nie jedyny) przesuwajacej się prostej z wielobokiem U Odpowiednia wartośćstałej α wynosi wówczas min u U J(u) =:J 8
9
W przypadku 3 0 ów punkt pierwszego kontaktu istnieje (być może nie jedyny) lub nie Jeśli nie istnieje, oznacza to, że zadanie nie ma rozwiazania; w takim przypadku inf J(u) = u U 10
Zpowyższej dyskusji wynika, że zadanie (10) może nie mieć rozwiazań, może mieć jedno rozwiazanie lub może mieć nieskończenie wiele rozwiazań Ponadto, w przypadku, gdy zbiór rozwiazań jest niepusty, w zbiorze tym istnieje co najmniej jeden punkt, który jest wierzchołkiem wieloboku U Podobna analizę można przeprowadzić w przypadku n =3,zastępujac wielobok wielościanem, a prosta-płaszczyzn a Matodagraficzn a można także rozwiazać niektóre zadania o większej niż 2 lub 3 ilości zmiennych Rozważmy mianowicie zadanie postaci J(u) =hc, ui min u U = {u R m+2 ; u 0, Au = b} gdzie a 1,1 a 1,m a 1,m+1 a 1,m+2 A =,b= a m,1 a m,m a m,m+1 a m,m+2 przy czym ranka = m ikolumnya 1,,A m sa liniowo niezależne Wprowadźmy oznaczenia Zatem a 1,1 a 1,m a 1,m+1 A =, A = a m,1 a m,m a m,m+1 u 1 u =, u = um+1, u m+2 A = c = u m c 1 c m h i A A,u= u u, c = c m+1 c m+2 a 1,m+2 a m,m+2,c= c c b 1 b m,, 11
W konsekwencji warunek możemy zapisać jako Stad Au = b Au + Au = b u = A 1 b A 1 Au Zauważmy teraz, że rozwiazywanie zadania wyjściowego można zastapić rozwi azywaniem zadania postaci D E c, A 1 b A 1 Au + c, u min u U = {u R 2 ; u 0, A 1 Au A 1 b} Dokładniej, jeśli u jest rozwiazaniem zadania (=), to u = u, u (=) gdzie u = A 1 b A 1 Au, jest rozwiazaniem zadania wyjściowego Na odwrót, jeśli u = zadania wyjściowego, to u jest rozwiazaniem zadania (=) u u jest rozwiazaniem 15 Punkty wierzchołkowe Punkt v V R n nazywamy punktem wierzchołkowym (punktem ekstremalnym) zbioru wypukłego i domkniętego V,jeśli przedstawienie v = αv 1 +(1 α)v 2, (11) gdzie α (0, 1), v 1,v 2 V,możliwe jest tylko wtedy, gdy v 1 = v 2 Innymisłowy, punkt v V jest punktem wierzchołkowym zbioru V, gdy nie jest on punktem wewnętrznym niezdegenerowanego odcinka o końcach należacych do V Pojęcie punktu wierzchołkowego jest pojęciem fundamentalnym w teorii programowania liniowego 12
W dalszej części wykładu pokażemy, że jeśli zadanie kanoniczne (przy dowolnym n N) posiada rozwiazanie, to wśród rozwiazań jest co najmniej jeden punkt wierzchołkowy zbioru U = {u R n ; u 0, Au= b} (12) Teraz podamy charakteryzację punktów wierzcholkowych zbioru postaci (12) Twierdzenie 1 Niech dany bedzie zbiór U postaci (12) i punkt v R n,przyczyma R m n Â{0}, r := ranka Punkt v jest punktem wierzchołkowym zbioru U wtedy i tylko wtedy, gdy istniejawskaźniki j 1,,j r {1,, n} takie, że v j 0, j {j 1,, j r } v j =0, j / {j 1,, j r } Układ wektorów A j1,,a jr kolumny A j1,, A jr A j1 v j 1 + + A jr v j r = b saliniowoniezależne w R m (13) występujacych w warunkach (13) nazywamy baza punktu wierzchołkowego v, a odpowiednie współrzędne v j 1,,v jr - współrzednymi bazowymi punktu wierzchołkowego v Punkt wierzchołkowy, którego wszystkie współrzędne bazowe sado- datnie nazywamy nieosobliwym Punkt wierzchołkowy, którego co najmniej jedna współrzędna bazowa jest równa zero nazywamy osobliwym Zmienne u j 1,,u j r nazywamy zmiennymi bazowymi, a pozostałe -zmiennymi niebazowymi (przy ustalonej bazie A j1,,a jr ) Z twierdzenia 1 wynika, że baza nieosobliwego punktu wierzchołkowego zbioru (12) jest wyznaczona jednoznacznie Osobliwy punkt wierzchołkowy może mieć wiele baz 16 Metoda sympleksowa Metodasympleksowapolegana uporz adkowanym sprawdzaniu wartości funkcjonału kosztu w punktach wierzchołkowych zbioru ograniczajacego ( uporzadkowanie oznacza tu, że wartości funkcjonału kosztuwkolejnych punktachnierosna) Rozważmy zadanie kanoniczne postaci J(u) =hc, ui min u U = {u R n ; u 0, Au = b} 13 (14)
gdzie 0 6= A R m n,przyczymzakładać będziemy w tym rozdziale, że U 6= (kwestia niepustości zbioru U omówiona będzie w dalszej części wykładu) Oczywiście ranka min{m, n} (podobnie, jak wcześniej, ranka oznaczać będziemy przez r) Równość Au = b możemy zapisać w postaci układu równań nx a i,j u j = b i,i=1,, m j=1 Nie zmniejszajac ogólności rozważań, możemy założyć, że r = m Oczywiście r n Jeżeli r = n, topowyższy układ ma dokładnie jedno rozwiazanie u, przyczymu 0 (gdyby któraś ze współrzędnych punktu u była ujemna, to zbiór U byłby pusty, co sprzeczne byłoby z naszym założeniem) W konsekwencji zbiór U jest jednoelementowy i tym samym u jest rozwiazaniem zadania (14) Będziemy więc zakładać wdalszymciagu, że r = m oraz r<nrówność Au = b możemy więc zapisać w postaci gdzie r = ranka < n a 1,1 u 1 + + a 1,n u n = b 1 (15) a r,1 u 1 + + a r,n u n = b r Podamy teraz opis metody sympleksowej Przypuśćmy, że dany jest punkt wierzchołkowy v zbioru U = {u R n ; u 0, Au = b} izałóżmy, że kolumny A 1,,A r sabaz ategopuntu,v 1,,v r - jego współrzędnymi bazowymi (kwestia wyznaczenia poczatkowego punktu wierzchołkowego v zbioru U iokreślenia jego współrzędnych bazowych omówiona będzie w dalszej części wykładu) Wprowadźmy 14
następujace oznaczenia u = u 1 u r v 1, v = v r c 1, c = c 1, a 1,1 a 1,r B = =[A 1 A r ] a r,1 a r,r Wówczas układ (15) możemy zapisać w postaci Bu + A r+1 u r+1 + + A n u n = b (16) Z liniowej niezależności kolumn A 1,,A r (jesttobazapunktuv) wynika,że det B 6= 0W konsekwencji istnieje macierz odwrotna B 1 Współrzędne niebazowe punktu v sa zerowe, a więc z (16) otrzymujemy Bv = b, skad v = B 1 b Mnożac równość (16) lewostronnie przez B 1, otrzymujemy Oznaczmy u + nx k=r+1 B 1 A k u k = B 1 b = v (17) γ s,k = (B 1 A k ) s dla k = r +1,, n, s =1,, r gdzie (B 1 A k ) s oznacza s-tawspółrzędn awektora-kolumnyb 1 A k Równość(17)możemy teraz zapisać wpostacinastępujacego układu równań u 1 + γ 1,r+1 u r+1 + + γ 1,n u n = v 1 u 2 + γ 2,r+1 u r+1 + + γ 2,n u n = v 2 u r + γ r,r+1 u r+1 + + γ r,n u n = v r 15 (18)
Określmy także γ s,k =(B 1 A k ) s dla k =1, r, s =1,, r (oczywiście γ sk = δ s,k dla k =1,, r, s =1,, r, gdzieδ s,k jest symbolem Kronekera) Pokazaliśmy więc, że majac ustalony punkt wierzchołkowy v zbioru U iwiedzac, że współrzędne z indeksami 1,,r sa jegowspółrzędnymi bazowymi, można zapisać ograniczenia (15) w równoważnej postaci (16) lub (17) lub (18) Wartość funkcjonału kosztu J wpunkcieu spełniajacym ograniczenia typu równości (15), można zapisać wnastępujacej postaci J(u) = hc, ui = = * c, v = hc, vi nx c i u i = hc, ui + i=1 nx i=r+1 B 1 A i u i + + nx i=r+1 nx i=r+1 nx ( c, B 1 A i ci )u i i=r+1 c i u i c i u i Ponieważ więc gdzie Określmy także hc, vi = hc, vi = J(v), nx J(u) =J(v) i u i, (19) i=r+1 i = c, B 1 A i ci,i= r +1,, n i = c, B 1 A i ci (20) dla i =1,, r Oczywiście i = c, B 1 A i ci = hc, e i i c i = c i c i =0 dla i =1,, r (tutaj e i jest i-takolumn a macierzy jednostkowej o wymiarach r r) 16
Dokonajmy częściowego podsumowania Pokazaliśmy, że zadanie (14) możemy zapisać wnastępujacej postaci P J(u) =J(v) n i u i min i=r+1 U = {u =(u 1,, u n ) R n ; u 0, u spełnia (18)} Występujace w powyższym opisie wielkości γ s,k, v i, i zapiszemy w postaci tzw tablicy sympleksowej, odpowiadajacej punktowi wierzchołkowemu v (21) 17
Tablica sympleksowa I (dla punktu v) u 1 u i u s u r u r+1 u k u j u n u 1 1 0 0 0 γ 1,r+1 γ 1,k γ 1,j γ 1,n v 1 u i 0 1 0 0 γ i,r+1 γ i,k γ i,j γ i,n v i u s 0 0 1 0 γ s,r+1 γ s,k γ s,j γ s,n v s u r 0 0 0 1 γ r,r+1 γ r,k γ r,j γ r,n v r 0 0 0 0 r+1 k j n J(v) Analizujac tablicę sympleksowa I,możemy wyróżnić trzy przypadki: 1 0 spełnione sanierówności i = c, B 1 A i ci 0 (22) dla i = r +1,, n, tzn w ostatnim wierszu tablicy sympleksowej wszystkie liczby i sa niedodatnie W tym przypadku punkt v, dla którego skonstruowana została tablica sympleksowa, jest rozwiazaniem zadania Istotnie, bowiem dla dowolnego u U mamy J(u) =J(v) nx i=r+1 i u i J(v) (bo i 0, u i 0) 2 0 istnieje wskaźnik k {r +1,,n} taki, że k > 0 γ i,k 0 dla i =1,, r (czyli B 1 A k 0) (23) Oznacza to, że w k-tej kolumnie tablicy sympleksowej ostatni element ( k ) jest dodatni, a pozostałe - niedodatnie W tym przypadku inf J(u) = (dowód tego faktu pomijamy) u U Oznacza to, że zadanie nie ma rozwiazania 18
3 0 nie zachodza przypadki 1 0 i2 0 ; w konsekwencji istniejawskaźniki k {r +1,, n}, i {1,, r} takie, że k > 0, γ i,k > 0 (24) Oznacza to, że w k-tej kolumnie tablicy sympleksowej ostatni element ( k ) jest dodatni i co najmniej jedna z liczb γ i,k jest dodatnia Załóżmy, że zachodzi przypadek 3 0 iokreślmy zbiór I k = {i {1,, r}, γ i,k > 0} Niech s I k będzie takim wskaźnikiem, że v s =min γ s,k i I k v i γ i,k (25) Współczynnik γ s,k,gdziewskaźniki k, s sa określone przez (24) i (25), nazywany jest elementem rozwiazuj acym tablicy sympleksowej I Można pokazać, że układ kolumn A 1,, A s 1,A s+1,, A r,a k (26) jest baza pewnego punktu wierzchołkowego w, przy czym J(w) J(v) Uwaga 1 Z faktu, że macierz A ma r wierszy wynika, wobec twierdzenia charakteryzujacego punkty wierzchołkowe, iż baza (26) wyznacza punkt wierzchołkowy w sposób jednoznaczny Można więc znaleźć współrzędne punktu w, korzystaj ac z tego twierdzenia Przejdźmy teraz do przypadku ogólnego bazowymi punktu v sa v j 1,, v j r, Łatwo zauważyć, że jeśli współrzędnymi gdzie 1 j 1 < < j r n, to wzory wyrażajace zmienne bazowe i funkcjonał kosztu przy pomocy zmiennych niebazowych, przyjmuja postać(poniżej symbolem I v oznaczamy 19
zbiór {j 1,,j r }) u j 1 = v j 1 P u jr = v jr P k/ I v γ j1,ku k k/ I v γ jr,ku k (27) J(u) =J(v) X k/ I v k u k, (28) gdzie γ ji,k =(B 1 A k ) i ; i =1,, r, k =1,, n (29) (w szczególności γ ji,k = δ ji,k dla i =1,, r, k I v ), B =[A j1 A jr ], gdzie c = c 1 c 1 v j i =(B 1 b) i,i=1,, r, v k =0,k/ I v, k = rx c, B 1 A k ck = c ji (B 1 A k ) i c k,k=1,,n, (30) i=1 (w szczególności k =0dla k I v ) W tym przypadku tablica sympleksowa dla punktu v jest następujaca: Tablica sympleksowa II (dla punktu v) 20
u 1 u j 1 u j i u k u j s u j u j r u n u j 1 γ j1,1 1 0 γ j1,k 0 γ j1,j 0 γ j1,n v j 1 u j i γ ji,1 0 1 γ ji,k 0 γ ji,j 0 γ ji,n v j i u js γ js,1 0 0 γ js,k 1 γ js,j 0 γ js,n v js u j r γ jr,1 0 0 γ jr,k 0 γ jr,j 1 γ jr,n v j r 1 0 0 k 0 j 0 n J(v) Tak, jak wcześniej, należy rozważyć trzy przypadki: 1 0 spełniony jest warunek k 0, k/ I v (22 ) 2 0 istnieje k/ I v takie, że k > 0, γ ji,k 0, i=1,, r (23 ) 3 0 nie zachodzi przypadek 1 0 i2 0 ; w konsekwencji istnieja k/ I v oraz j i I v takie, że k > 0, γ ji,k > 0 (24 ) Podobnie, jak wcześniej, łatwo sprawdzić, że w pierwszym przypadku punkt v jest rozwiazaniem zadania (14), w drugim - inf hc, ui =, czyli zadanie (14) nie ma rozwi azania u U W trzecim przypadku należy wybrać element rozwiazuj acy γ js,k na podstawie warunku (24 ) oraz warunku v js min v ji γ js,k j i I v,k γ ji,k, (25 ) gdzie I v,k = {j i I v ; γ ji,k > 0}, któres a analogiczne do warunków (24), (25) Następnie, należy wykonać przejście do nowego punktu wierzchołkowego w Z warunków (24 ) i (25 ) wynika, że baza punktu w będzie układ kolumn (z dokładnościa do ich kolejności) A j1,, A js 1,A js+1,, A jr,a k, 21
przy czym J(w) J(v) Współrzędne punktu w można wyznaczyć na podstawie twierdzenia charakteryzujacego punkty wierzchołkowe Uwaga 2 Można pokazać, że w j 1 = v j 1 γ j1,k vj s γ j s,k w j i = v j i γ ji,k vj s γ js,k w j s 1 = v j s 1 γ js 1,k vjs γ js,k w js = v js γ js,k vjs γ js,k =0 w j s+1 = v j s+1 γ js+1,k vjs γ js,k w jr = v jr γ jr,k vjs γ js,k w k = vjs γ js,k w l =0,l/ I v,l 6= k, Tablica sympleksowa dla punktu w przyjmuje postać Tablica sympleksowa III (dla punktu w) 22
u 1 u j 1 u j i u k u j s u j u j r u n u j 1 γ 0 j 1,1 1 0 0 γ 0 j 1,j s γ 0 j 1,j 0 γ 0 j 1,n w j 1 u j i γ 0 j i,1 0 1 0 γ 0 j i,j s γ 0 j i,j 0 γ 0 j i,n w j i u k γ 0 k,1 0 0 1 γ 0 k,j s γ 0 k,j 0 γ 0 k,n w k u j s 1 γ 0 j s 1,1 0 0 0 γ 0 j s 1,j s γ 0 j s 1,j 0 γ 0 j s 1,n w j s 1 u j s+1 γ 0 j s+1,1 0 0 0 γ 0 j s+1,j s γ 0 j s+1,j 0 γ 0 j s+1,n w j s+1 u jr γ 0 j r,1 0 0 0 γ 0 j r,j s γ 0 j r,j 1 γ 0 j r,n w jr 0 1 0 0 0 0 j s 0 j 0 0 n J(w) gdzie współczynniki γ 0 i,j, 0 j (30) z macierza B postaci sa określone przy pomocy wzorów analogicznych do (29), [A j1 A k A js 1 A js+1 A jr ] (zakładamy tu, że wiersze i kolumny w tablicy sympleksowej oraz kolumny macierzy B saustawionewkolejności rosnacych indeksów) Uwaga 2 Można pokazać, że γ 0 j i,j = γ ji,j γ j i,k γ γ js,k js,j ; i =1,, r, i 6= s, j =1, n, γ 0 k,j = γ js,j,j=1,n, γ js,k oraz γ 0 js,j j = j k dla j =1,, n γ js,k Opisany więc został jeden krok metody sympleksowej w dowolnym przypadku (co do bazy punktu wierzchołkowego), czyli przejście od jednego punktu wierzchołkowego (v) zbioru U do drugiego punktu wierzchołkowego (w) tego zbioru (w przypadku 3 0 )wtakisposób, że J(w) J(v) 23
2 Programowanie nieliniowe 21 Zadania bez ograniczeń - zasada Fermata i warunki dostateczne Rozważmy zadanie postaci (minimalizacyjne zadanie bezwarunkowe) gdzie J : R n R J(u) inf, (31) u R n Punkt u R n nazywamy punktem lokalnego minimum dla tego zadania, jeśli istnieje otoczenie V punktu u takie, że J(u ) J(u) dla dowolnego u V (gdy V = R n mówimy, że u jest punktem globalnego minimum dla rozpatrywanego zadania) Prawdziwe jest następujace: Twierdzenie 2 (zasada Fermata) Jeśli u jest punktem lokalnego minimum dla zadania (31) i funkcja J ma w punkcie u gradient J(x )=( J u 1 (u ),, J u n (u )), to J(u )=0 Dowód Istnienie gradientu funkcji J w punkcie u oznacza istnienie pochodnej funkcji ϕ i :[ 1, 1] 3 t 7 J(u + te i ) R wpunkciet =0,gdziee i jest i-tym wektorem jednostkowym, i =1,, n Ponieważ u jest punktem lokalnego minimum funkcjonału J, więc ϕ 0 i(0) = 0, i=1,,n Awięc J(u )=0,cokończy dowód Użyteczne jest następujace 24
Twierdzenie 3 (warunki dostateczne drugiego rzędu) Jeśli J : R n R jest klasy C 2 oraz i) J(u )=0, h i ii) macierz 2 J(u )= 2 J x i x j (u ) 0 dla dowolnego k =1,, n, 1 i,j n h i jest dodatnio określona, tzn det 2 J x i x j (u ) 1 i,j k > to u jest punktem ścisłego minimum lokalnego funkcji J na R n ( 1 ) 22 Zadania z ograniczeniami 221 Zasada mnożników Lagrange a Rozważmy zadanie postaci J(u) inf, u U = {u R n ; f i (u) =θ, i =1,, m} (32) gdzie f i : R n R, i =1,, m Mówimy, że punkt u R n jest punktem lokalnego minimum dla zadania (32), jeśli istnieje otoczenie V tego punktu takie, że dla dowolnego punktu u V, spełniajacego ograniczenia f i (u) =θ, i =1,, m, mamy J(u ) J(u) (gdy V = R n mówimy, że u jest punktem globalnego minimum) 1 Mówimy, że punkt u R n jest punktem ścisłego minimum lokalnego funkcji J na R n,jeśli istnieje otoczenie V tego punktu takie, że dla dowolnego punktu u V, u 6= u,mamy J(u ) <J(u) 25
Twierdzenie 4 (o funkcji uwikłanej) Niech dane bed afunkcjeg i = g i (w, z) :R s+n R, i =1,, n, klasyc 1 oraz punkt (a, b) R s+n taki, że g i (a, b) =0, i =1,, n det[ g i (a, b)] 1 i,j n 6=0 z j Wówczas istnieje δ>0 ifunkcjaz = z(w) =(z 1 (w),, z n (w)) : K(a, δ) R n klasy C 1 taka, że z(a) =b, g i (w, z(w)) = 0, i =1,, n Twierdzenie 5 (zasada mnożników Lagrange a) Jeśli funkcje J, f i, i =1,, m sa klasy C 1 na R n i punkt u jest punktem lokalnego minimum dla zadania (32), to istnieja liczby (mnożniki Lagrange a) λ 0,λ 1,,λ m R, nie wszystkie równe zero i takie, że λ 0 J(u )+ P m i=1 λ i f i (u )=0 Dowód Warunek dany w tezie twierdzenia oznacza liniowazależność wektorów J(u ), f 1 (u ),, f m (u ) w przestrzeni R n Przypuśćmy, że warunek ten nie jest spełniony, tzn powyższe wektory sa liniowo niezależne Oznacza to, że m +1 n W przypadku, gdy m +1 < n możemy uzupełnićukład wektorów J(u ), f 1 (u ),, f m (u ) wektorami d m+1,, d n 1 tak, by układ wektorów J(u ), f 1 (u ),, f m (u ),d m+1,, d n 1 był układem liniowo niezależnym w R n Rozważmy teraz funkcje g 0 (t, u) =J(u) J(u )+t, g i (t, u) =f i (u), i=1,, m, g i (t, u) =hd i,u u i,i= m +1,, n 1, 26
określone na R 1+n Łatwo widać, że powyższy układ funkcji spełnia założenia twierdzenia ofunkcjiuwikłanej z punktem (a, b) postaci (0,u ) Z twierdzenia tego wynika, że istnieje δ>0 i funkcja u = u(t) =(u 1 (t),, u n (t)) : ( δ, δ) R n klasy C 1 (dla naszych celów wystarcza ciagłość) taka, że oraz dla t ( δ, δ) u(0) = u J(u(t)) = J(u ) t, f i (u(t)) = 0, i=1,, m, To oznacza w szczególności, że dla t (0,δ) punkty u(t) spełniaja ograniczenia typu równości występujace w zadaniu (32), przy czym J(u(t)) = J(u ) t<j(u ) <J(u )+t = J(u( t)) Przeczy to optymalności punktu u Twierdzenie 6 Niech spełnione bed a założenia poprzedniego twierdzenia Jeśli dodatkowo wektory f i (u ), i =1,,m,s aliniowoniezależne, to λ 0 6=0imożna przyjać λ 0 =1 Proof Przypuśćmy, że λ 0 =0 Wówczas P m i=1 λ i f i (u )=0 przy czym λ i 6=0dla pewnego i {1,,m} W konsekwencji P m i=1 λ i f i (u )u =0 (33) dla dowolnego u R n Niechterazu 0 =(u 1 0,, u n 0) R n będzie takim punktem, że f i (u )u 0 = λ i,i=1,, m (34) (istnienie takiego punktu wynika z twierdzenia Kroneckera-Capellego ( 2 )) Zatem, z (33) i (34) wynika, że 0= P m i=1 λ i f i (u )u 0 = P m i=1 λ iλ i > 0 Otrzymana sprzeczność dowodzifałszywości przypuszczenia, że λ 0 =0 2 Układ równań liniowych Au = b, gdziea R m n, x R n, b R m ma co najmniej jedno rozwiazanie wtedy i tylko wtedy, gdy rza = rz[a b] 27
Uwaga 7 Twierdzenie 5 można wykorzystać dorozwiazywania zadań z ograniczeniami typu równości i nierówności Istotnie, rozważmy zadanie postaci J(u) inf, u U = {u R n ; f i (u) =0, i =1,, m, h k (u) 0, k =1,, s} (35) Wprowadzajac nowe zmienne w 1,,w s,rozwi azywanie zadania (35) można zastapićrozwi azywaniem zadania postaci ej(u, w) = ej(u) inf, ef i (u, w) =f i (u) =0, i =1,, m, e hk (u, w) =w 2 k + h k(u) =0, k =1,, s Dokładniej, jeśli punkt u jest punktem lokalnego minimum dla zadania (35), to punkt (u,w ),gdziew =(w 1,,w s ), w k = p h k (u ), jest punktem lokalnego minimum dla zadania (36) Na odwrót, jeśli punkt (u,w ) jest punktem lokalnego minimum dla zadania (36), to punkt u jest punktem lokalnego minimum dla zadania (35) Wbezpośredni sposób można udowodnić następujace (36) Twierdzenie 8 Jeśli funkcje J, f i, i =1,,m, h k, j =1,, s saklasyc 1 na R n ipunkt u jest punktem lokalnego minimum dla zadania (35), to istnieja mnożniki Lagrange a λ 0,λ 1,,λ m,μ 1,,μ s R, nie wszystkie równe zero i takie, że λ 0 0,μ 1 0,, μ s 0 λ 0 J(u )+ P m i=1 λ i f i (u )+ P s k=1 μ k h k (u )=0, j =1,, n, μ k h k (u )=0, k =1,, s 222 Programowanie wypukłe - Twierdzenie Kuhna- Tuckera Rozważmy następujace zadanie f 0 (u) inf, u U = {u R n ; u A, f i (u) θ, i =1,, m} (37) 28
gdzie A R n, f i : R n R, i =0, 1,, m Mówimy, że u jest rozwiazaniem globalnym zadania (37), jeśli f i (u ) 0, i =1,, m, u A oraz dla dowolnego u R n takiego, że f 0 (u ) f 0 (u) f i (u) 0, i =1,, m, u A Poniższe twierdzenie pokazuje, że w przypadku zadania (37), przy dodatkowych założeniach wypukłości, zasada Lagrange a prawdziwa jest w postaci wzmocnionej Twierdzenie 9 (Kuhna-Tuckera) Niech f 0, f 1,,f m : R n R bed a funkcjami wypukłymi i A R n - zbiorem wypukłym Jeśli u jest rozwiazaniem globalnym zadania (37), to istniejamnożniki Lagrange a λ 0 0, λ 1 0,,λ m 0 nie znikajace jednocześnie itakie,że mx i=0 λ i f i (u )=min u A mx λ i f i (u) (38) i=0 λ i f i (u )=0, i =1, m (39) Jesli ponadto istnieje punkt u A taki, że f i (u) < 0, i =1,, m, (40) to λ 0 6=0imożna przyjać λ 0 =1 Na odwrót, jeśli istnieja λ 0 > 0, λ 1 0,,λ m 0 ipunktu takie, że f 1 (u ) 0,, f m (u ) 0, u A, 29
mx mx λ i f i (u )=min λ i f i (u), u A i=0 i=0 λ i f i (u )=0, i =1, m, to u jest rozwiazaniem globalnym zadania (37) Uwaga 10 Łatwo widać, że przy założeniach wypukłości każde rozwiazanie lokalne zadania (37) jest jego rozwiazaniem globalnym Zfaktu,że w przypadku funkcji wypukłej i różniczkowalnej na przestrzeni R n zbiór punktów minimum globalnego pokrywa się ze zbiorem punktów, w których znika gradient tej funkcji, wynika następujacy Wniosek 11 Niech f 0, f 1,,f m : R n R bed afunkcjamiwypukłymiiróżniczkowalnymi Jeśli u jest rozwiazaniem globalnym zadania (37) ze zbiorem A = R n,toistniej amnożniki Lagrange a λ 0 0, λ 1 0,,λ m 0 nie znikajace jednocześnie i takie, że P m i=0 λ i f i (u )=0, Jeśli ponadto istnieje punkt u R n taki, że λ i f i (u )=0, i =1, m f i (u) < 0, i =1,, m, to λ 0 6=0imożna przyjać λ 0 =1 Na odwrót, jeśli istnieja λ 0 > 0, λ 1 0,,λ m 0 ipunktu R n takie, że f 1 (u ) 0,, f m (u ) 0, P m i=0 λ i f i (u )=0, λ i f i (u )=0, i =1, m, to u jest rozwiazaniem globalnym zadania (37) 30
3 Metody numeryczne 31 Metoda gradientowa Rozważmy zadanie bez ograniczeń f 0 (u) min u R n, zakładajac, że funkcja f : R n R jest klasy C 1 Korzystajaczdefinicji różniczkowalności funkcji f 0 oraz nierówności Cauchy ego-buniakowskiego ( f 0 (u) v h f 0 (u),vi f 0 (u) v, przy czym jeśli f 0 (u) 6= 0, to prawa nierówność jestrównościatylkodlav = α f 0 (u), a lewa nierówność -tylkodlav = α f 0 (u), gdzieα 0), można pokazać, że jeśli f 0 (u ) 6= 0, to kierunkiem najszybszego spadku wartości funkcji f 0 wpunkcieu 0 jest kierunek antygradientu f 0 (u ) (tzn dla dowolnego h R n, h 6= f 0 (u ) f 0 (u + τ( f 0 (u ))) <f 0 (u + τh) dla dostatecznie małych τ>0) Na tym spostrzeżeniu opiera się konstrukcja tzw metody gradientowej - metody przybliżonego wyznaczania rozwiazań powyższego zadania Niech dany będzie dowolny punkt u 0 R n Rozważmy ciag (u k ) k N {0} określony w sposób rekurencyjny wzorem u k+1 = u k α k f 0 (u k ),k=0, 1,, (41) gdzie α k > 0 dla k =0, 1, jest tzw krokiem k-tej iteracji Uwaga 12 Jeśli f 0 (u k ) 6= 0,toα k > 0 można wybrać tak,byspełniona była nierówność f 0 (u k+1 ) <f 0 (u k ) ( 3 ) Jeśli f 0 (u k )=0,topost epowanie należy przerwać (ciag tworzony 3 Zokreślenia różniczkowalności funkcji f 0 w punkcie u: f 0 (u + h) =f 0 (u)+h f 0 (u),hi + o(h), h R n, wynika, że f 0 (u k+1 ) f 0 (u k )=α k [ f 0 (u k ) 2 + bo k (α k )α 1 k ] < 0 dla dostatecznie małych wartości α k > 0, gdziebo k (α) =o( α f 0 (u k )) 31
zgodnie z powyższym wzorem bedzie stały) Punkt u k jest wówczas punktem spełniajacym warunek konieczny istnienia minimum funkcji f 0 na przestrzeni R n Wartoprzypomnieć, że gdy funkcja f jest wypukła, każdy punkt, w którym gradient zeruje sie, jest punktem minimum globalnego funkcji f 0 Sposób ustalania wartości parametru α k wyznacza wariant metody gradientowej Podamy teraz opis jednego z nich Otóż, zał óżmy, że funkcja f 0 jest ograniczona z dołu na R n iniechdanybędzie zbieżny szereg P k=0 δ k liczb dodatnich Symbolem f k, k =0, 1, oznaczmy funkcję postaci f k :[0, ) 3 α 7 f 0 (u k α f 0 (u 0 )) R Niech dla dowolnego k =0, 1, liczba α k > 0 będzie taka, że inf f k(α) f k (α k ) inf f k(α)+δ k (42) α 0 α 0 Z uwagi 12 wynika, że α k > 0 spełniajace(42)istnieje;gdy f 0 (u k )=0istnienie takiego α k > 0 jest oczywiste Prawdziwe jest następujace Twierdzenie 13 Załóżmy, że funkcja f 0 jest wypukła iróżniczkowalna na przestrzeni R n, przy czym gradient f 0 jest funkcja spełniajac a warunek Lipschitza na R n, tzn istnieje stała L 0 taka, że f 0 (u) f 0 (y) L u y, u,y R n Załóżmy także, iż zbiórm δ (u 0 )={u R n ; f 0 (u) f 0 (u 0 )+δ}, gdzieδ = P k=0 δ k,jest ograniczony Wówczas, ciag (u k ) k N {0} określony warunkami (41)-(42), przy dowolnie ustalonym punkcie pocz atkowym u 0,jesttaki,iż oraz lim f 0(u k )= inf k u R nf 0(u) lim ρ(u k,u )=0, k gdzie U = {u R n ; f 0 (u) = inf u R nf 0(u)}, ρ(u k,u )= inf u k u u U 32
Uwaga 14 Można pokazać, że przy założeniach powyższego twierdzenia inf u R nf 0(u) > oraz U 6= 33