7 Funkcja Lagrange a i zadanie dualne Rozważmy ogólne zadanie programowania liniowego J(u)=hc,ui!min. u U = fu=(u 1,...,u n ) R n ; u i 0dlai I,Au b,au=bg gdzie A= 6 4 Wprowadźmy oznaczenia a 1,1... a 1,n.. a m,1... a m,n b= 6 4 b 1. b m 3 7 5, A= 3 7 5, b= 6 4 6 4 a m+1,1... a m+1,n.. a s,1... a s,n 3 b m+1. b s 7 5. U 0 = fu R n ; u i 0, i Ig, 3 7 5, g i (u)= X n g i (u)= X n j=1 a i,ju j b i,,...,m, j=1 a i,ju j b i, i=m+1,...,s. Możemy więc zapisać wyjściowe zadanie w następujacej postaci 8 < : J(u)=hc,ui!min. u U = fu U 0 ; g i (u) 0dla,...,m, g i (u)=0dlai=m+1,...,sg. (VI.1) W dalszych rozważaniach ważnarolęodegranastępuj aca funkcja gdzie L:U 0 Λ 0!R, L(u,λ)=J(u)+ X s λ ig i (u), Λ 0 = fλ R s ; λ i 0,,...,mg, nazywana regularnafunkcj a Lagrange a. Parę(u,λ ) U 0 Λ 0 nazywamypunktemsiodłowym funkcjilagrange a,jeśli dladowolnychu U 0,λ Λ 0. L(u,λ) L(u,λ ) L(u,λ ) Lemat5 Na to, aby para (u,λ ) U 0 Λ 0 była punktemsiodłowymfunkcji Lagrange a L potrzeba i wystarcza, aby spełnione były nastepuj ace warunki 4
1) L(u,λ ) L(u,λ )dladowolnegou U 0, ) λ ig i (u )=0dla,...,s, 3) u U Dowód powyższego lematu pomijamy. Zwi azek między punktami siodłowymi funkcji Lagrange a i rozwiazaniami zadania (VI.1) wyjaśnia częściowo następujace Twierdzenie6 Jeśli(u,λ ) U 0 Λ 0 jestpunktemsiodłowymfunkcjilagrange a L,tou jestrozwi azaniem zadania(vi.1). Dowód. Zwarunków3)i)wynika,że W konsekwencji warunek 1) daje u U orazl(u,λ )=J(u ). J(u ) L(u,λ )=J(u)+ X s dlau U 0 iwszczególnościdlau U (U U 0 ). Ale X s λ ig i (u)= X m λ ig i (u)+ X s i=m+1 λ ig i (u)= X m dlau U,ponieważ Zatem z warunku(vi.4) otrzymujemy g i (u)=0, i=m+1,...,s, u U, λ i 0,,...,m, g i (u) 0,,...,m, u U. J(u ) J(u) dlau U,czyliu jestrozwi azaniem zadania(vi.1). λ ig i (u) (VI.4) λ ig i (u) 0 Uwaga7 Twierdzenie6ilemat5pozostaj a prawdziwe dla znacznie szerszej klasy zadań aniżeli zadania programowania liniowego postaci ogólnej. W dalszym ciagu pokażemy, że w przypadku zadania programowania liniowego w postaci ogólnej prawdziwe jest twierdzenie odwrotne do twierdzenia 6 (odwracaj ac twierdzenie 6 w przypadku zadania programowania wypukłego, należy założyć pewien dodatkowy warunek, nazywany warunkiem regularności). Wdalszymci agu skorzystamy z następujacego twierdzenia. 43
Lemat8(Farkasa) Niechdanyb edzie zbiór K postaci K= fe R n ; hd i,ei 0dla,...,p, hd i,ei=0dlai=p+1,...,rg, gdzied 1,...,d r R n. Nato,abywektord R n spełniałwarunek hd,ei 0dlae K potrzebaiwystarcza,abyistniałyliczbyλ 1,...,λ r Rtakie,że λ 1 0,...,λ p 0 oraz d= λ 1 d 1... λ r d r. Dowód powyższego twierdzenia pomijamy. Udowodnimy natomiast następujace odwrócenie twierdzenia 6. Twierdzenie9 Jeśliu jestrozwi azaniemzadania(vi.1),toistniejepunktλ Λ 0 taki,żepara(u,λ )jestpunktemsiodłowymfunkcjilagrange alnazbiorzeu 0 Λ 0. Dowód. Wprowadźmy następujace oznaczenia I 1 = fi f1,...,mg; ha i,u i=b i g, I = fi I; u i =0g, gdzie I jest zbiorem indeksów występujacymwopisiezadania(vi.1),a i jesti-tym wierszem macierzy A. Rozważmy zbiór K postaci K= fe R n ; ha i,ei 0, i I 1, ha i,ei=0, i=m+1,...,s, f i,e 0, i I g, gdzie f i = (0,...,0, 1,0,...,0g (niezerowa jest i-ta współrzędna). Otóż, jeśli dla wektorae R n f0gistniejeliczbat 0 >0taka,że u +te U dlat [0,t 0 ], (VI.7) toe K f0g. Rzeczywiście,zwarunku(VI.7)wynika,że ha i,ei 0, i I 1, ha i,ei=0, i=m+1,...,s, e i 0, i I, czylie K f0g. Naodwrót,jeślieK f0g,toistniejeliczbat 0 >0taka,żespełnionyjestwarunek (VI.7). Wrzeczysamej,jeślii I 1,to ha i,u +tei=b i +tha i,ei b i 44
dlat 0. Jeślizaśi f1,...,mg I 1,to iwkonsekwencji ha i,u i<b i ha i,u +tei=ha i,u i+tha i,ei b i dla i f1,...,mg I 1 i dostatecznie małych t 0 (t [0,t 0], gdzie t 0 > 0). Oczywiście ha i,u +tei=ha i,u i+tha i,ei=b i +t 0=b i dlai=m+1,...,sidowolnegot R. Podobnie,jeślii I,to (u +te) i =u i +te i =te i 0 dladowolnegot 0. Jeślizaśi I I,to iwkonsekwencji u i >0 (u +te) i =u i +te i 0 dla i I I i dostatecznie małych t 0 (t [0,t 0], gdzie t 0 > 0). Wystarczy zatem przyjaćt 0 =minft 0,t 0g. Niechteraze K f0git 0 >0niechbędzietakie,że u +te U dlat [0,t 0 ]. Zfaktu,żeu jestrozwi azaniem zadania(vi.1) wynika, że czyli Oczywiście0 hc,0i. Zatem hc,u i hc,u +tei dlat [0,t 0 ], 0 hc,ei. 0 hc,ei dla dowolnego e K. Z twierdzenia Farkasa wynika, że istnieja liczby λ i 0, i I1,λ m+1,...,λ s,µ i 0,i I,takie,że c= X i I 1 λ ia i i=m+1λ ia i X i I µ if i. (VI.8) Jeśli określimy λ i =0dlai f1,...,mg I 1, 45
tootrzymamypunktλ =(λ 1,...,λ s) Λ 0. St adizokreśleniazbiorui1 mamy λ ig i (u )=λ i(ha i,u i b i )=0 (VI.9) dla,...,s. Ponadto,równość(VI.8)możemyzapisaćwpostaci c+ λ ia i = X i I µ if i. (VI.10) W konsekwencji, korzystajaczokreśleniazbiorui,warunku oraz równości(vi.10), otrzymujemy µ i 0dlai I L(u,λ ) L(u,λ ) = hc,u u i+ dlau U 0,czyli = * = X i I c+ λ i ha i,u u i * λ ia i,u u += X + µ if i,u u i I µ iu i X i I µ iu i = X i I L(u,λ ) L(u,λ ), u U 0. µ iu i 0 Z powyższego warunku, warunku(vi.9) i lematu 5 wynika teza. Teraz pokażemy, jak przy pomocy funkcji Lagrange a L sformułować zadanie (VI.1). Określmy w tym celu funkcję Oczywiście,jeśliu U,to χ(u)= sup L(u,λ), u U 0. λ i g i (u) 0 dlaλ=(λ 1,...,λ s ) Λ 0,przyczymjeśliλ=0(oczywiście0 Λ 0 ),to St ad wynika, że λ i g i (u)=0. χ(u)=j(u)dlau U. Jeślinatomiastu U 0 U,tomusizajśćjedenzdwóchprzypadków: g i (u)>0dlapewnegoi f1,...,mg 46
lub Łatwo widać, że w obu przypadkach iwkonsekwencji Reasumujac St ad wynika, że g i (u) 6=0dlapewnegoi fm+1,...,sg. sup λ i g i (u)=+1 χ(u)=1dlau U 0 U. χ(u)= J(u) ; u U 1 ; u U 0 U. infχ(u)= inf J(u)=J. u U A zatem, zadanie(vi.1) można zapisać w następujacej, równoważnej postaci χ(u)!min.. (VI.11) u U 0 Owa rónoważność oznacza, że zadania(vi.1) i(vi.11) majatensamzbiórrozwi azań U = fv U; J(v)= inf u U J(u)g=fv U 0; χ(v)= inf χ(u)g i tę sam a wartość minimalna J (przez zadanie równoważne zadaniu minimalizacji (maksymalizacji) funkcji tożsamościowo równej +1 ( 1) na zbiorze V rozumiemy zadanie minimalizacji(maksymalizacji) dowolnej funkcji liniowej na zbiorze pustym). Określmy teraz funkcję χ w następujacy sposób irozważmyzadanie ψ(λ)= inf L(u,λ), λ Λ 0 ψ(λ)!max. λ Λ 0. (VI.1) Powyższe zadanie nazywane jest zadaniem dualnym do zadania(vi.1), a zmienne λ 1,...,λ s nazywanes a zmiennymi dualnymi. Oznaczmy ψ = supψ(λ), Λ = fλ Λ 0 ; ψ(λ)=ψ g. Zwi azek między zadaniami(vi.11) i(vi.1) wyraża następujace 47
Twierdzenie 10 Na to, aby spełnione były jednocześnie warunki a) U 6= ; b) Λ 6= ; c) J =ψ potrzeba i wystarcza, aby funkcja Lagrange a L miała punkt siodłowy na zbiorze U 0 Λ 0. Wówczas zbiór punktów siodłowych funkcji Lagrange a L jest identyczny zezbioremu Λ. Dowód. Konieczność. Załóżmy, że spełnione sa warunki a), b), c). Istnieje więcpara(u,λ ) U Λ. Pokażemy,żeparatajestpunktemsiodłowymfunkcji Lagrange a L. Otóż, ψ =ψ(λ )= inf L(u,λ ) L(u,λ ) sup L(u,λ)=χ(u )=J. St adizwarunkuc)mamy sk ad L(u,λ )= inf L(u,λ )= sup L(u,λ), L(u,λ) L(u,λ ) L(u,λ ) dla (u,λ) U 0 Λ 0, co oznacza, że (u,λ ) jest punktem siodłowym funkcji Lagrange a L. Jednocześnie pokazaliśmy, że jeśli spełnione sawarunkia),b),c),tozbióru Λ jest zawarty w zbiorze punktów siodłowych funkcji Lagrange a L. Dostateczność. Niech(u,λ ) U 0 Λ 0 będziepunktemsiodłowymfunkcjilagrange alnazbiorzeu 0 Λ 0. St ad w szczególności wynika, że dlaλ Λ 0. Tozkoleioznacza,że L(u,λ) L(u,λ ) χ(u )= sup L(u,λ)=L(u,λ ). Zfaktu,że(u,λ )jestpunktemsiodłowymfunkcjilagrange alwynikateż,że, L(u,λ ) L(u,λ ) dlau U 0,sk ad L(u,λ )= inf L(u,λ )=ψ(λ ). 48
Zatem L(u,λ )=ψ(λ ) ψ J χ(u )=L(u,λ ) (nierównośćψ J możnauzasadnićnastępuj aco: zfaktu,że (VI.14) dla(u,λ) U 0 Λ 0,wynika,że dlau U 0,ast ad Z(VI.14) wynika, że ψ(λ)= inf L(u,λ) L(u,λ) ψ = sup ψ(λ) sup L(u,λ)=χ(u) ψ inf χ(u)=j ). ψ(λ )=ψ =J =χ(u ), co oznacza, że spełniony jest warunek c) oraz u U, λ Λ. Jednocześnie pokazaliśmy,żezbiórpunktówsiodłowychfunkcjilagrange alnazbiorzeu 0 Λ 0 jestzawartywzbiorzeu Λ. Z powyższego twierdzenia wynikajanastępuj ace wnioski. Wniosek11 Nast epuj acewarunkis a równoważne: 1) istniejepunktsiodłowyfunkcjilagrange alnazbiorzeu 0 Λ 0 ) spełniones awarunkia),b),c)twierdzenia10 3) istniej apunktyu U 0,λ Λ 0 takie,że 4) zachodzi nierówność χ(u )=ψ(λ ) max inf L(u,λ)=min sup L(u,λ) Wniosek1 Jeśli (u,λ ) i(a,b ) s a punktami siodłowymi funkcji Lagrange a L nazbiorzeu 0 Λ 0,to(u,b )i(a,λ )s a także punktami siodłowymi tej funkcji na U 0 Λ 0. Pokażemy teraz, że zadanie dualne (dokładniej, pewne zadanie równoważne zadaniu dualnemu) do zadania programowania liniowego(kanonicznego, podstawowego i ogólnego) jest również zadaniem programowania liniowego. Rozważmy kanoniczne zadanie programowania liniowego postaci J(u)=hc,ui!min. u U = fu R n ; u 0,Au=bg, (VI.15) 49
gdziea R s n,b R s,c R n. Wtymprzypadku dla(u,λ) U 0 Λ 0, U 0 = fu R n ; u 0g, Λ 0 =R s, L(u,λ)=hc,ui+hλ,Au bi= c+a T λ,u hb,λi ψ(λ)= inf L(u,λ)= dlaλ Λ 0. St ad wynika, że zadanie dualne ψ(λ)!max. λ Λ 0 hb,λi ; c+a T λ 0 1 ; w przeciwnym razie można zapisać w następujacej, równoważnej postaci hb,λi!max. λ Λ=fλ R s ; c+a T λ 0g, (VI.16) czyli hb,λi!min. λ Λ=fλ R s ; c A T λ 0g Zatem zadanie dualne jest w tym przypadku zadaniem programowania liniowego w postaciogólnej(zezbioremi= ;). Pokażemy teraz, że zadanie dualne do powyższego zadania jest identyczne z zadaniem wyjściowym(vi.15). Otóż,funkcjaLagrange al 1 dlazadania(vi.16),okreslonana zbiorze Λ 0 U 0 =R s fu R n ; u 0g jest postaci Zatem L 1 (λ,u)=hb,λi+ u, c A T λ = hb Au,λi hc,ui= L(u,λ). hc,ui ; b Au=0 ψ 1 (u)= infl 1 (λ,u)= 1 ; b Au 6=0 dlau U 0. Awięczadaniedualne ψ1 (u)!max. u U 0 można zapisać w następujacej, równoważnej postaci hc,ui!max. u U = fu R n ; u U 0, b Au=0g, 50
czyli hc,ui!min. u U = fu R n ; u 0, Au=bg. Rozważmy teraz podstawowe zadanie programowania liniowego postaci J(u)=hc,ui!min. u U = fu R n ; u 0,Au bg, (VI.17) gdziea R m n,b R m,c R n. Wtymprzypadku dla(u,λ) U 0 Λ 0, U 0 = fu R n ; u 0g, Λ 0 = fλ R m ; λ 0g, L(u,λ)=hc,ui+hλ,Au bi= c+a T λ,u hb,λi ψ(λ)= inf L(u,λ)= hb,λi ; c+a T λ 0 1 ; w przeciwnym razie dlaλλ 0. Łatwowidać,żedualnezadaniedozadania(VI.17)jestpodstawowym zadaniem programowania liniowego postaci hb,λi!min. λ Λ=fλ R m ; λ 0, A T λ cg. Nietrudno także pokazać, że zadaniem dualnym do powyższego jest zadanie(vi.17). Na koniec rozważmy ogólne zadanie programowania liniowego postaci 8 < : J(u)=hc,ui!min. u U = fu=(u 1,...,u n ) R n ; u i 0, i I, Au b, Au=bg (VI.18) gdzie I f1,...,ng, A R m n, A R s n, b R m, b R s, c R n. W tym przypadku U 0 = fu=(u 1,...,u n ) R n ; u i 0, i Ig, dla(u,λ) U 0 Λ 0, Λ 0 = fλ=(µ,µ) R m R s ; µ 0g, L(u,λ)=hc,ui+hµ,Au bi+ µ,au b D = c+a T µ+a T µ,u E hb,µi b,µ ψ(λ)= inf L(u,λ)= ( hb,µi b,µ ; λ=(µ,µ) e Λ 1 ; λ=(µ,µ) e Λ 51
dlaλ=(µ,µ) Λ 0,gdzie eλ=fλ=(µ,µ) Λ 0 ; (c+a T µ+a T µ) i 0, i I, (c+a T µ+a T µ) i =0, i /Ig, eλ=λ 0 e Λ. Zatem zadanie dualne do zadania(vi.18) jest równoważne następujacemu ogólnemu zadaniu programowania liniowego 8 hb,µi+ b,µ!min. λ=(µ,µ) Λ=fλ=(µ,µ) R m R s ; µ 0, >< (c+a T µ+a T µ) i 0, i I, (c+a T µ+a T µ) i =0, i /Ig = fλ=(µ,µ) R m R s ; µ 0,[ A T j A T µ. (VI.19) ] i c i,i I, >: [ A T j A T ] i µ µ =c i,i /Ig Także i w tym przypadku zadanie dualne do zadania(vi.19) jest równoważne zadaniu wyjściowemu(vi.18). Z twierdzeń 9,10 wynikajanastępuj ace dwa twierdzenia. Twierdzenie13 Nato,abypunktu Ubyłrozwi azaniem zadania(vi.18) potrzeba iwystarcza,abyistniałpunktλ =(µ,µ )należ acy do zbioru Λ = fλ=(µ,µ) R m R s ; µ 0, (c+a T µ+a T µ) i 0, i I, (c+a T µ+a T µ) i =0, i /Ig, spełniajacy równość hc,u i= hb,µ i b,µ. µ (VI.0) Twierdzenie14 Nato,abypunktu Ubyłrozwi azaniem zadania(vi.18) potrzeba iwystarcza,abyistniałtakipunktλ =(µ,µ ) R m R s,żepara(u,λ )spełnia warunki u i 0, i I, Au b, Au =b, µ 0, (c+a T µ +A T µ ) i 0, i I, (c+a T µ +A T µ ) i =0, i /I µ i(au b) i =0,,...,m, u i (c+a T µ +A T µ ) i =0, i I. Ponadto można udowodnić następujace Twierdzenie 15 Zadania(VI.18) i(vi.19) majarozwi azania jednocześnie lub jednocześnie rozwiazań nie maj a, przy czym w pierwszym przypadku spełniona jest równość(vi.0)dladowolnejpary(u,λ )takiej,żeu jestrozwi azaniem zadania wyjściowego(vi.18),λ =(µ,µ )-rozwi azaniem zadania dualnego(vi.19). 5