TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.139 Optimointioppi Kimmo Berg 7. harjoitus - ratkaisut 1. Oletetaan aluksi, että epäyhtälöt eivät ole aktiivisia p i > 0. Tässä tapauksess KKTehdot ovat: f p i = log p i + 1 h 1 p i = 1 h 2 p i = x KKT: log p i + 1 + v 1 + v 2 x i = 0, i = 1,...,n. i 2. p i = exp( v 1 1 v 2 x i ) = exp((λ 1) + µx i ), i = 1,..., n, missä λ = v 1, µ = v 2. Huomataan, että todellakin p i > 0 ja epäyhtälörajoitukset eivät siten ole aktiivisia. λ ja µ tulee valita s.e. molemmat yhtälörajoitukset toteutuvat. min 1 2 xt Hx + d T x s.e Ax b, missä H on p.s.d. ja symmetrinen. Tehtävän duaalin kohdefunktio: θ(u) = inf x E n{1 2 xt Hx + d T x + u T (Ax b) }. = f(x,u) Haetaan nyt f:n suurin alaraja. Koska f on konveksi ja x rajoittamaton, suurin alaraja löytyy nyt gradientin nollakohdasta: josta saadaan, että ehdolla x f(x,u) = Hx + d + A T u = 0 (1) x T Hx + d T x + u T Ax = 0, saavutetaan infimum. Siten duaali voidaan kirjoittaa muodossa max x,u 1 2 xt Hx + d T x + u T (Ax b) s.e. x T Hx + d T x + u T Ax = 0 u 0. Mikäli oletetaan, että H on p.d., niin H 1, jolloin yhtälöstä 1 saadaan, että x = H 1 (d + A T u). 1
Siten sijoitetaan duaalin kohdefunktioon ensin välttämätön ehto ja sitten x θ(u) = 1 2 xt Hx u T b = 1 2 ut AH 1 A T u + u T ( AH 1 d b) 1 2 dt H 1 d, merkitään D = AH 1 A T ja c = AH 1 d b, jolloin θ(u) = 1 2 ut Du + c T u 1 2 dt H 1 d, vakio eli duaalitehtävä voidaan kirjoittaa muodossa max 1 2 ut Du + c T u s.e. u 0. Saatiin siis neliöllinen tehtävä, jossa on varsin yksinkertaiset rajoitteet. 3. Merkitään seuraavaa: j N:llä virtapiirin kytkentäsolmuja (i, j) A:lla virtapiirin johtimia x ij on johtimella (i, j) solmusta i solmuun j kulkeva virta R ij on johtimen (i, j) resistanssi t ij on johtimella (i, j) olevan virtalähteen jännite 1R 2 ijx 2 ij on johtimella kulkevan virran energia t ij x ij on virtalähteen tuottama teho Kirchhoffin laki sanoo, että kuhunkin virtapiirin solmuun j tulee saman verran virtaa kuin siitä lähtee (virran säilymislaki). Tästä tulee rajoite-ehto x ij = x ji. {j (i,j) A} {j (j,i) A} Tehtävän kohdefunktio puolestaan antaa virtapiirin energian, joka fysikaalisessa systeemissä minimoituu. Nyt duaalin kohdefunktio on (valitaan X = {x x 0}) θ(v) = inf { x 0 (i,j) A( 1 2 R ijx 2 ij t ijx ij ) + [v i ( i N {j (i,j) A} x ij Sievennetään hieman lauseketta [v i ( x ij ji )] = i N {j (i,j) A} {j (j,i) A}x [ v i x ij i N {j (i,j) A} = v i x ij 2 {j (i,j) A} i N = (i,j) A = (i,j A) v i x ij (j,i) A (v i x ij v j x ij ). {j (j,i) A} {j (j,i) A} x ji )]}. v i x ji ] {j (j,i) A} i N v i x ji v i x ji
Siten saamme, että θ(v) = inf x 0 { (i,j) A 1 2 R ijx 2 ij t ijx ij + (v i v j )x ij } = inf { 1 x 0 2 R ijx 2 ij (t ij v i + v j )x ij }. (i,j) A Infimum saavutetaan gradientin nollakohdassa: R ij x ij (t ij + v j v i ) = 0, (2) josta saadaan, että x ij = t ij + v j v i R ij. Duaalin tulkinta: Yhtälöstä 2 saadaan, että R ij x ij t ij = v i v j, jonka vasen puoli tarkoittaa fysikaalisesti johtimen (i, j) jännitettä, jolloin myös v i + v j on johtimen jännite ja siten v i on kytkentäkohdan i potentiaali. Fysiikassa yhtälöä 2 kutsutaan Ohmin laiksi. 4. Duaali: max θ(v), v missä θ(v) = inf x X {f(x) + v T (Ax b) }. =φ(x,v) Konkaavisuus: θ(λv 1 + (1 λ)v 2 ) = inf {f(x) + (λv 1 + (1 λ)v 2 ) T (Ax b)}, missä 0 λ 1 x X = inf {f(x) + x X λvt 1 (Ax b) + (1 λ)v2 T (Ax b)} eli θ on konkaavi. inf {λf(x) + x X λvt 1 (Ax b)} + inf {(1 λ)f(x) + (1 x X λ)vt 2 (Ax b)} = λ inf {f(x) + x X vt 1 (Ax b)} +(1 λ) inf {f(x) + x X vt 2 (Ax b)} = λθ(v 1 ) + (1 λ)θ(v 2 ), Paloittain lineaarisuus: Nyt selvästi φ(x,v) = f(x) + v T (Ax b) on konkaavi x:n suhteen, koska se on summa kahdesta konkaavista termistä: f on konkaavi ja v T (Ax b) on lineaarinen (konkaavi ja konveksi). Tällöin φ on erityisesti myös jatkuva, jolloin se savuttaa ääriarvonsa kompaktissa polyhedraalijoukossa X. 3
Koska X on polyhedraalijoukko, saavuttaa φ konkaavina funktiona miniminsä jossain X:n ekstreemipisteessä ŷ i, i = 1,...,m, (teoreema 3.4.7, konveksin funktion maksimointi), joten θ(v) = min{φ(ŷ 1,v),..., φ(ŷ m,v)}. φ(ŷ i,v):t ovat lineaarisia funktioita v:n suhteen. Koska θ(v) poimii pienimmän näistä lineaarisista funktioista se on paloittain lineaarinen. Aligradientit: Merkitään I:llä niiden indeksien joukkoa, jotka minimoivat φ(ŷ i,v):n. Oppikirjan teoreema 6.3.7. sanoo, että ξ on θ:n aligradientti v:ssä, joss ξ H({Ay b y arg min {f(x) + x X vt (Ax b)}}) = H({Aŷ i b i I}), missä H() tarkoittaa argumenttijoukkonsa konveksia kuorta. Tulos on intuitiivinen, koska θ on paloittain lineaarinen. Tällöin kohdissa, joissa se on derivoituva, θ(v) = Aŷ i b (I = {i}). Derivaatan epäjatkuvuuskohdissa minimoiva ekstreemipiste ŷ i ei ole yksikäsitteinen ja tällöin aligradientit saadaan Aŷ i b:iden (i I) konveksina kombinaationa; vertaa laskuharjoitus 4, tehtävä 3. Edellä todettiin, että y on jokin X:n ekstreemipisteistä. Siten ξ = A i I λ i ŷ i b, missä i I λ i = 1 ja ŷ i :t ovat X:n ekstreemipisteitä. Kasvusuunnat: Määritelmän 6.3.9 mukaan d on θ:n kasvusuunta, jos Tästä saadaan, että d T ξ > 0 ξ θ:n aligradientti. d T (A i I λ i ŷ i b) = d T A i I λ i ŷ i d T b > 0, eli d T A i I λ i ŷ i > d T b. Nopeimman kasvun suunta: Oppikirjan teoreeman 6.3.11. mukaan nopeimman kasvun suunta on sellainen aligradientti, jolla on pienin euklidinen normi. Siten nopeimman kasvun suunta d = A i I λ iŷ i b saadaan ratkaisemalla tehtävä min λ i,i I s.e. A i I λ iŷ i b 2 i I λ i = 1. 4
5. Kokonaislukutehtävän ratkaisu on x = (0, 1, 1) ja f = 17. Muodostetaan duaali valitsemalla X = {x R 3 : x j {0, 1}, j = 1, 2, 3} ja g(x) = 7 x 1 3x 2 5x 3. Duaalifunktio on siten (piirrä kuva) θ(u) = min 3x 1 + 7x 2 + 10x 3 + u(7 x 1 3x 2 5x 3 ) x X = 7u + min (3 u)x 1 + min (7 3u)x 2 + min x 1 {0,1} x 2 {0,1} = 7u, u 2 2u + 10, 2 u 7/3 u + 17, 7/3 u 3 2u + 20, u 3. x 3 {0,1} (10 5u)x 3 Duaalifunktio ei ole siis differentioituva pisteissä u {2, 7/3, 3}. Duaalin ratkaisu on ū = 7/3 ja θ = 14 2 < 17. Tehtävässä on siis duaaliaukko ja duaalin ratkaiseminen ei auta määrittämään alkuperäisen tehtävän ratkaisua (muuta kuin antamalla 3 alarajan optimille). Huomaa kuitenkin että x X(ū) = arg min x X f(x) + ūg(x) = {(0, 0, 1), (0, 1, 1) }. Yleisesti X(ū):ssa ei välttämättä ole x:aa tai edes käypää pistettä primaalille. 6. Merkitään seuraavaa: x Primaalin ratkaisu, eli se minimoi f(x):n käyvässä joukossa S = {x g(x) 0,h(x) = 0,x X}. ū, v ovat duaalin ratkaisuja, eli ne ratkaisevat tehtävän max u 0,v {θ(u,v) = inf x X φ(x,u,v)}, missä φ(x,u,v) = f(x) + u T g(x) + v T h(x) x minimoi φ(x, ū, v):n x X:ssä. i) Oletetaan, että x on käypä Primaalille Näytetään siis, että myös x ratkaisee Primaalin, eli f( x) = f( x). Nyt f( x) + ū T g( x) =0 + v T h( x) f( x) =0 =minf +ū T g( x) + v T h( x) =0 0 (3) {}}{ f( x) + ū T g( x) f( x), (4) 0 0 missä ū T g( x) = 0 seuraa teoreemasta 6.25 ( x:n käypyys+ū, v optimaalisia duaalille ū T g( x) = 0). Vähennetään epäyhtälöketjusta 3-4 f( x), jolloin nähdään, että 0 ū T g( x) 0. Siten ū T g( x) = 0, joka voidaan sijoittaa takaisin epäyhtälöön 3, jolloin f( x) f( x) f( x), joten f( x) = f( x) ja siten myös x minimoi f:n. 5
ii) Oletetaan, että x ei ole käypä. Nyt max u 0,v θ(u,v) = θ(ū, v) = inf{φ(x,ū, v)} = φ( x,ū, v) = f( x) + ū T g( x) + v T h( x) f( x) + u T g( x) + v T h( x). Rajankäynnissä päästään äärettömyyteen, koska x ei-käypä, jolloin jokin h i 0 tai g j > 0 ja valitsemalla s.e. v i ± tai u i voidaan lausekkeen arvoa kasvattaa rajatta. Tällöin Primaalilla ei ole käypää ratkaisua. Tämä seuraa siitä, että jos käypä ratkaisu olisi olemassa infimum-operaattori poimisi käyvän x:n. 6