OPTIMOINNIN PERUSTEET. Keijo Ruotsalainen



Samankaltaiset tiedostot
Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

Luento 8: Epälineaarinen optimointi

Taustatietoja ja perusteita

Luento 9: Yhtälörajoitukset optimoinnissa

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Matematiikka B2 - Avoin yliopisto

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

12. Hessen matriisi. Ääriarvoteoriaa

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Insinöörimatematiikka D

Luento 8: Epälineaarinen optimointi

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Tyyppi metalli puu lasi työ I II III

Yleiset lineaarimuunnokset

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

2 Konveksisuus ja ratkaisun olemassaolo

Matemaattinen Analyysi / kertaus

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Matematiikka B2 - TUDI

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Matematiikan tukikurssi

Konjugaattigradienttimenetelmä

b 1. b m ) + ( 2b Ax) + (b b)

TEKNILLINEN TIEDEKUNTA, MATEMATIIKAN JAOS

2.5. Matriisin avaruudet ja tunnusluvut

2 Osittaisderivaattojen sovelluksia

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

FUNKTIONAALIANALYYSIN PERUSKURSSI Johdanto

Este- ja sakkofunktiomenetelmät

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Lineaarinen yhtälöryhmä

1 Lineaariavaruus eli Vektoriavaruus

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

1 Matriisit ja lineaariset yhtälöryhmät

1 Euklidiset avaruudet R n

(1.1) Ae j = a k,j e k.

Insinöörimatematiikka D

1 Rajoittamaton optimointi

Insinöörimatematiikka D

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-C1340 Lineaarialgebra ja

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

802320A LINEAARIALGEBRA OSA I

Insinöörimatematiikka D

Lineaarisen ohjelman määritelmä. Joonas Vanninen

Insinöörimatematiikka D

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi

Talousmatematiikan perusteet: Luento 15. Rajoitettu optimointi Lagrangen menetelmä Lagrangen kerroin ja varjohinta

HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina klo

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio

Mat Lineaarinen ohjelmointi

6. Luennon sisältö. Lineaarisen optimoinnin duaaliteoriaa

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

Sisätuloavaruudet. 4. lokakuuta 2006

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

Ennakkotehtävän ratkaisu

Liittomatriisi. Liittomatriisi. Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä. 1) i+j det A ij.

Kanta ja Kannan-vaihto

Matikkapaja keskiviikkoisin klo Lineaarialgebra (muut ko) p. 1/210

Avaruuden R n aliavaruus

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Osoita, että täsmälleen yksi vektoriavaruuden ehto ei ole voimassa.

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

802118P Lineaarialgebra I (4 op)

Matematiikan tukikurssi

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Numeeriset menetelmät

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

JYVÄSKYLÄN YLIOPISTO. 3. Luennon sisältö

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Lineaarialgebra (muut ko)

HILBERTIN AVARUUDET S MIKAEL LINDSTRÖM KEVÄÄN 2010 ANALYYSI 3 -LUENTOJEN PERUSTEELLA TOIMITTANEET TOMI ALASTE JA LAURI BERKOVITS

(0 desimaalia, 2 merkitsevää numeroa).

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Lineaarialgebra ja differentiaaliyhtälöt Harjoitus 4 / Ratkaisut

1 Ominaisarvot ja ominaisvektorit

6 MATRIISIN DIAGONALISOINTI

Ominaisarvo ja ominaisvektori

Ortogonaalisen kannan etsiminen

Lineaarinen optimointitehtävä

Ratkaisuehdotukset LH 7 / vko 47

Kuvaus. Määritelmä. LM2, Kesä /160

Luento 9: Newtonin iteraation sovellus: optimointiongelma

Mat Lineaarinen ohjelmointi

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

6. OMINAISARVOT JA DIAGONALISOINTI

JAKSO 2 KANTA JA KOORDINAATIT

Transkriptio:

OPTIMOINNIN PERUSTEET Keijo Ruotsalainen 23. marraskuuta 2009

2 Johdanto Kurssin tavoitteena on tutustuttaa tavallisimpiin optimointi-algoritmeihin ja niiden käyttöön sovellutuksissa. Kurssimateriaali jakaantuu neljään eri osaan. Alussa lyhyesti kerrataan matriisialgebrasta tarvittavia peruskäsitteitä. Toisessa osassa keskitytään lineaarisen optimoinnin menetelmiin, joista tarkemmin analysoidaan Simplexalgoritmia, Karmarkarin menetelmää. Menetelmiä sovelletaan tavallisimpiin operaatiotutkimuksen ongelmiin, kuten kuljetusongelman ja tuotannon allokointiongelman ratkaisemiseen. Kolmannessa osassa tarkastellaan epälineaarisen optimoinnin perusalgoritmeja. Aluksi ongelmat ovat rajoittamattomia, ts. sanoen funktion minimiä haetaan koko vektoriavaruudesta. Tavoitteena on tutkia konjugaattigradienttimenetelmien käyttöä epälineaaristen ongelmien ratkaisemiseen. Jos rajoitejoukko on vektoriavaruuden aito osajoukko, sovelletaan epälineaarisen optimointiongelman ratkaisemiseen sakkofunktiomenetelmiä. Viimeisessä luvussa perehdytään diskreetin optimoinnin (kokonaislukuoptimoinnin) menetelmiin. Lähinnä tarkastellaan kauppamatkustajan ongelman ratkaisumenetelmiä, kuin myös sovelletaan kombinatorisen optimoinnin menetelmiä peliteoriaan ja sen sovellutuksiin.

Sisältö Matemaattiset perusteet 5. Vektoriavaruus.......................... 5.2 Matriiseista............................ 8 2 Lineaarinen optimointi 2. Standardimuotoinen ongelma.................. 2.2 Olemassaolo............................ 2 2.3 Simplex-algoritmi......................... 3 2.3. Kärkipisteen vaihto.................... 3 2.3.2 Simplex-taulukko..................... 6 2.4 Kaksivaiheinen Simplex-algoritmi................ 8 2.5 Antisyklitekniikat......................... 2 2.6 Duaalisuus............................. 23 2.6. Kuhn-Tuckerin ehdot................... 23 2.6.2 Duaali-simplex-algoritmi................. 25 2.7 Karmarkarin menetelmä..................... 26 2.7. Johdatteleva esimerkki.................. 27 2.7.2 Karmarkarin skaalausalgoritmi.............. 30 3

4 SISÄLTÖ

Luku Matemaattiset perusteet. Vektoriavaruus Vektoriavaruuden määritelmä Vektoriavaruus R n koostuu alkioista x = joita jatkossa kutsutaan vektoreiksi. Joukkoon määritellään vektoriavaruuden struktuuri määrittelemällä laskutoimitukset vektorisumma ja luvulla kertominen: Kaikille u R n, v R n ja λ R u + v = λ u = x x 2. x n, u + v u 2 + v 2. u n + v n λu λu 2 (.).. (.2) λu n Edellä määritellyt laskutoimitukset ovat siten suljettuja R n :ssä. Lisäksi joukon R n alkiot varustettuna em. laskutoimituksilla toteuttavat seuraavat vektoriavaruuden aksiomat: 5

6 LUKU. MATEMAATTISET PERUSTEET Propositio.. Vektoreiden yhteenlasku on kommutatiivinen: u + v = v + u; 2. On olemassa nollavektori O siten, että u + O = u, 0 O = 0. ; 0 3. Summa on assosiatiivinen: u + ( v + w) = ( u + v) + w; 4. Jokaiselle vektorille on olemassa vastavektori u siten, että 5. λ(µ u) = (λµ) u; 6. (λ + µ) u = λ u + µ u; 7. λ( u + v) = λ u + λ v; u + ( u) = O; 8. On olemassa kertolaskun neutraalialkio R: u = u. Kanta ja dimensio Vektori u on vektoreiden { v,..., v k } lineaarikombinaatio, jos on olemassa luvut λ,..., λ k siten, että u = λ v + λ 2 v 2 + + λ k v k. Määritelmä.. Vektorit { v,..., v k } ovat lineaarisesti riippumattomia jos ja vain jos yhtälön λ v + λ 2 v 2 + + λ k v k = O ainoa ratkaisu on triviaaliratkaisu: λ = λ 2 = = λ k = 0. 2. Vektorit { v,..., v k } ovat lineaarisesti riippuvia jos ja vain jos yhtälöllä on nollasta eroavia ratkaisuja. λ v + λ 2 v 2 + + λ k v k = O

.. VEKTORIAVARUUS 7 Kahden vektorin tapauksessa lineaarisesti riippuvat vektoreiden sanotaan olevan yhdensuuntaisia: u v On olemassa λ R : u = λ v. Propositio 2. Vektorit { v,..., v k } ovat lineaarisesti riippuvia jos ja vain jos eräs vektoreista v j voidaan lausua muiden lineaarikombinaationa, ts. Propositio 3. Olkoon u = v j = [ ux u y k i = i j ] µ i v i. ja v = [ vx v y ] kaksi R 2 :n vektoria. Vektorit ovat lineaarisesti riippumattomia, jos ja vain jos determinantti u x v x = u xv y u y v x 0. u y v y Määritelmä 2. Vektorit { a,..., a p } muodostavat vektoriavaruuden V kannan, jos ne ovat lineaarisesti riippumattomia; ne virittävät vektoriavaruuden V. Tällöin p = dim(v ) on vektoriavaruuden dimensio. Propositio 4. Olkoon joukko { v,..., v n } vektoriavaruuden R n lineaarisesti riippumattomia vektoreita. Tällöin jokaiselle vektorille u R n on olemassa yksikäsitteisesti luvut λ i R n, i =, 2,..., n siten, että u = n λ i v i. i= Tällöin sanotaan, että vektorit muodostavat vektoriavaruuden kannan. Vektoriavaruuden luonnollinen kanta: 0 e = 0., e 2 = 0 0. 0,, e n = 0. 0.

8 LUKU. MATEMAATTISET PERUSTEET.2 Matriiseista Matriisi on m n:n luvun järjestetty kaavio, joka tavallisesti esitetään sarakevektoreidensa avulla: A = [ a a 2 a n ], missä jokainen sarakevektori on R m :n alkio; a j = Olkoon B {,..., n} joku annettu indeksijoukko, ja N = {,..., n}\b sen komplementti. Tällöin merkitään matriisia A lyhyesti a j a 2j. a mj. A = [ A B A N ], missä matriisin A B sarakevektorit vastaavat indeksijoukon B sarakkeita matriisissa A. Matriisien laskutoimitukset Summa: A + B = [ a ij + b ij ] ; Skalaarilla kertominen: ka = [ ka ij ] ; Matriisitulo: Matriisin ja vektorin tulo AB = [ n l= a ilb lj ]. x x 2 Ax = [ ] a a 2 a n. = missä x j R ja jokainen sarakevektori a j R m. Matriisin A transponoitu matriisi x n A T = [ a T ij], a T ij = a ji. n x j a j, Matriisin A käänteismatriisi A : AA = A A = I. Käänteismatriisi voi olla vain neliömatriisilla, so. m = n. j=

.2. MATRIISEISTA 9 Matriisin aste Matriisin aste Rank(A) on sen kuva-avaruuden dimensio, so. R(A) = {y R m x R m : Ax = y} Rank(A) = dim(r(a)). Tällöin matriisissa A on Rank(A) lineaarisesti riippumatonta sarakevektoria (ja rivivektoria), ja aina Rank(A) + sarakevektoria ovat lineaarisesti riippuvia. Oletetaan jatkossa, että matriisissa A m n. Sanotaan, että m n- matriisi A on täysiasteinen. jos Rank(A) = m. Tällöin on indeksijoukko B siten, että matriisin A B sarakevektorit muodostavat R m :n kannan. Lisäksi tällöin A:n kuva-avaruus R(A) = R m. Indeksijoukkoa B kutsutaan silloin kantaindeksijoukoksi, ja indeksijoukkoa N ei-kantaindeksijoukoksi. Matriisin ydin N(A) = {x R n Ax = 0}. Lause. Neliömatriiseille (m = n) seuraavat ehdot ovat yhtäpitäviä: (i) Käänteismatriisi on olemassa; (ii) Rank(A) = m; (iii) N(A) = {0}; (iv) Yhtälöryhmällä Ax = b on yksikäsitteinen ratkaisu kaikilla b R n ; (v) det A 0. Matriisin definiittisyys definiitti, jos neliömuoto Symmetrinen matriisi (A T = A) on postiivisesti x T Ax > 0, x 0. Vastaavasti, matriisi on negatiivisesti definiitti, jos neliömuoto on aidosti negatiivinen kaikilla nollasta eroaville vektoreille. Symmetrinen matriisi on positiivisesti semidefiniitti (negatiivisesti semidefiniitti), jos neliömuoto x T Ax 0 (x T Ax 0). Muussa tapauksessa se on indefiniitti.

0 LUKU. MATEMAATTISET PERUSTEET Ortogonaalinen matriisi: Matriisi Q on ortogonaalinen, jos Q T Q = QQ T = I. Koska symmetrinen matriisi on diagonalisoituva, niin on olemassa ortogonaalinen matriisi Q siten, että Q T AQ = Λ = diag{λ,, λ n }. Tällöin on ilmeistä, että matriisi A on positiivisesti definiitti, jos ja vain jos sen ominaisarvot ovat positiivisia.

Luku 2 Lineaarinen optimointi 2. Standardimuotoinen ongelma Standardimuotoinen lineaarinen optimointiongelma on min Ax = b x 0 v T x, missä (m n)-matriisin A aste on Rank(A) = m < n, vektori b R m, ja v R n on ns. kustannusvektori. Kaikki epäyhtälömuotoiset rajoitteet voidaan palauttaa yhtälömuotoisiksi lisäämällä pelivaramuuttujia, tai vähentämällä ylijäämämuuttujia. Oletetaan, että rajoitevektori b 0. Jos rajoitteet (tai osarajoitteista) on annettu muodossa Ax b, niin lisätään vasemmalle puolelle "pelivaravektori"z R m + siten, että rajoitteet voidaan kirjoittaa muodossa Tällöin ekvivalentti LP-ongelma on min Ax + z = b x, z 0 Ax + z = b. Vastaavasti jos rajoitteet ovat muotoa Ax b, (v T x + 0 T z).

2 LUKU 2. LINEAARINEN OPTIMOINTI niin vähennetään vasemmalta puolelta "ylijäämämuuttujat"z 0 siten, että rajoitteet saadaan muotoon Ax z = b. 2.2 Olemassaolo Osoitetaan aluksi. Lause 2. Jos optimointiongelmalla on ratkaisu, niin ainakin yksi kärkipisteistä on myös optimaalinen ratkaisu. Tod.: Oletetaan, että x U = {x 0 Ax = b} on optimaalinen ratkaisu, ts. v T x v T z, z U. Määritellään indeksijoukko I {,..., n} siten, että j I x j > 0. Jos indeksijoukko I =, niin x = 0 ja se on ilmeisesti rajoitejoukon kärkipiste. Joten voidaan olettaa, että I. Jos indeksijoukkoa I vastaavat matriisin A sarakevektorit {a j ; j I} ovat lineaarisesti riippumattomia, niin tarvittaessa indeksijoukkoa voidaan täydentää sopivilla indekseillä i, i 2,..., i p siten, että B = I {i, i 2,..., i p } on kantaindeksijoukko. Tällöin optimaalinen ratkaisu x on kärkipiste, ns. optimaalinen kärkipiste. Oletetaan, että indeksijoukkoa I = {i, i 2,..., i r } vastaavat matriisin A sarakevektorit ovat lineaarisesti riippuvia. Ilmeisesti indeksijoukon kertaluku card(i) = r > m. Koska x ei ole kärkipiste, niin on olemassa vektori w R n siten, että max j=,...,n w j > 0 w j = 0, j I j I w ja j = Aw = 0. Tällöin pisteille x + θw on voimassa ehdot: A(x + θw) = b { xj + θw (x + θw) j = j, jos x j > 0 0, jos x j = 0

2.3. SIMPLEX-ALGORITMI 3 Silloin on olemassa luvut θ 0 ja θ siten, että < θ 0 = max{ x j w j ; j I, w j > 0} < 0 0 < θ = min{ x j w j ; j I, w j < 0} Tällöin piste x + θw U, θ [θ 0, θ ]. Koska kaikille θ [θ 0, θ ] v T (x + θw) = v T x + θv T w v T x, niin välttämättä v T w = 0. Näin ollen kaikki pisteet x + θw ovat optimaalisia ratkaisuja. Koska ainakin yksi koordinaateista x j + θ 0 w j = 0 luvun θ 0 määritelmän nojalla, pisteen x + θ 0 w indeksijoukon I = {j; x j + θ 0 w j > 0} kertaluku on aidosti pienempi kuin indeksijoukon I. Jos indeksijoukkoa I vastaavat matriisin sarakevektorit eivät ole lineaarisesti riippumattomia, niin toistetaan edellistä nollakoordinaattien lisäysalgoritmia kunnes sarakevektorit ovat lineaarisesti riippumattomia ja optimaalinen kärkipiste on löytynyt. 2.3 Simplex-algoritmi 2.3. Kärkipisteen vaihto Ennenkuin tarkastellaan kärkipisteen vaihtoalgoritmia, niin palautetaan mieleen kärkipisteen määritelmä. Piste x U on kärkipiste, jos seuraavat ehdot ovat voimassa:. On olemassa kantaindeksijoukko B = {i, i 2,..., i m } siten, että matriisin A sarakevektorit {a i ; i B} ovat lineaarisesti riippumattomat; 2. Kantamuuttujat ratkaisevat yksikäsitteisesti yhtälön x i a i = b; i B 3. { xi 0, i B x i = 0, i B. Jos kärkipisteellä x on täsmälleen m positiivista koordinaattia, niin sanotaan, että se on säännöllinen kärkipiste (ei-degeneroitunut). Tällöin kantaindeksijoukko on yksikäsitteisesti määrätty. Jos positiivisten koordinaattien lukumäärä on pienempi kuin m, niin kantaindeksijoukko ei ole yksikäsitteisesti

4 LUKU 2. LINEAARINEN OPTIMOINTI määrätty. Kärkipistettä sanotaan tällöin degeneroituneeksi. Degeneroituneen kärkipisteen vaihdossa tulee olla erityisen huolellinen. Jos kärkipisteen vaihtoalgoritmia ei suunnittele kunnolla, voidaan päätyä sykliseen kärkipisteiden vaihtoon, eikä optimaalista kärkipistettä löydy. Oletetaan seuraavaksi, että x on lineaarisen optimointiongelman eräs kärkipiste (ei välttämättä optimaalinen). Kärkipisteen vaihdossa vaihdetaan yksi sarakevektoreista {a j ; j B} sarakevektoriin a k, k B. Olkoon indeksi j B ja a j sitä vastaava matriisin A sarakevektori. Koska matriisi A B = [a i a i2 a im ] on säännöllinen, niin on olemassa luvut β i, i B siten, että a j = i B β i a i. Toisaalta kaikille θ R i B(x i θβ i )a i + θa j = i B x i a i = b. Tämän nojalla piste z(θ) = [z i (θ)], jonka koordinaatit määritellään asettamalla z i (θ) = x i θβ i, i B z j (θ) = θ z i (θ) = 0, i B {j}, sisältyvät rajoitejoukkoon U, mikäli θ > 0. Määritellään indeksi j B (jos vain mahdollista) asettamalla θ j = min{ x i β i i B, β i > 0}. Tällöin piste z(θ j ) on uusi kärkipiste. Kustannusfunktionaalin f(x) = v T x arvo pisteessä z(θ) on v T z(θ) = i B (x i θβ i )v i + θv j = v T x + θ[v j i B β i v i ]. Näin ollen funktion arvo pienenee, jos θ j > 0 v j β i v i < 0 i B

2.3. SIMPLEX-ALGORITMI 5 Edellisen kohdan perusteella kärkipisteen vaihdossa on huomioitava seuraavien lukujen merkit: missä j B. v j i B β iv i max β i θ j = min{ x i β i ; i B, β i > 0}, Propositio 5. Jos v j i B β iv i 0 kaikille j / B, niin kärkipiste x U on optimaalinen. Tod.: Edellä nähtiin, että funktion v T z(θ) arvo suurenee kaikille j B, jos θ > 0. Jos θ < 0, niin z(θ) U. Näin ollen kärkipiste x on optimaalinen. Propositio 6. Jos jollekin indeksille j B β = A B a j 0 ja v j β i v i < 0, i B niin LP-ongelmalla ei ole äärellistä minimiä: min x U vt x =. Tod.: Jos β 0, niin piste z(θ) U, θ 0. Lisäksi lim θ vt z(θ) = v T x + θ(v j β i v i ) =. i B Propositio 7. Jos on olemassa j B siten, että v j i B β i v i < 0 θ j = min{ x i β i ; i B, β i > 0} > 0, niin uudessa kärkipisteessä z, joka määritellään asettamalla kuten yllä x i θ j β i, i B z i = θ j, i = j 0, muulloin, funktion arvo on pienempi kuin kärkipisteessä x.

6 LUKU 2. LINEAARINEN OPTIMOINTI Tod.: Ilmeisesti z(θ j ) on todellakin kärkipiste. Kuten edellä v T z(θ j ) = i B (x i θ j β i )v i + θ j v j = v T x + θ j [v j i B β i v i ] < v T x. Huomautus. Jos kaikille indekseille j B, joille v j i B β iv i < 0, θ j = min{ x i β i ; i B, β i > 0} = 0, niin kärkipiste ei muutu ainoastaan kantamuuttujat. Tällöin kärkipiste x on degeneroitunut. Palaamme sääntöön, joka toimii tässä tapauksessa, myöhemmin. 2.3.2 Simplex-taulukko Tarkastellaan standardimuotoista LP-ongelmaa min Ax = b x 0 v T x. Olkoon piste x Simplex-algoritmin aloituskärkipiste. Määritellään kantaindeksijoukko B = {i,..., i m } ja ei-kantaindeksijoukko N = {,..., n}\b. Määritellään matriisit A B = [a i a im ], A N = [a j ; j N]. Tällöin kärkipisteen x kantamuuttujat ratkaisevat yksikäsitteisesti yhtälöryhmän A B x B = b ja x N = 0. Määritellään kantamuuttujia ja ei-kantamuuttujia vastaavat vektorit v B ja v N. Kärkipisteen vaihdossa on laskettava luvut β i jokaiselle ei-kantaindeksille. Tämä suoritetaan helpoimmin matriisimuodossa: A B B N = A N B N = A B A N = [β ij ]. Tämän jälkeen redusoidut kustannukset ovat v N B T Nv B. Vektorin koordinaatit ovat juuri luvut v j β i v i, joiden avulla ratkaistaan, onko kärkipiste optimaalinen vai ei.

2.3. SIMPLEX-ALGORITMI 7 Simplex-algoritmi. Muodosta aloitustaulukko: 0 0 0 0 0 0 0 0 0....... 0 0 0 0 0 0 0 0 β β 2 β 3 β,n m β 2 β 22 β 23 β 2,n m β 3 β 32 β 33 β 3,n m....... β m β m2 β m3 β m,n m (v N BN T v B) T x i x i2 x i3. x im 2. Jos redusoidut kustannukset ei-negatiivisia, niin optimaalinen kärkipiste on löytynyt; muussa tapauksessa jatka. 3. Valitse aakkosjärjestyksessä ensimmäinen negatiivisin redusoitua kustannusta vastaava indeksi j. Ko. indeksi on ns. saapuva kantaindeksi Jos ko. indeksiä vastaava matriisin B N sarakevektori negatiivinen, niin äärellistä minimiä ei ole. muussa tapauksessa laske θ k = x i k β kj = min{ x i l β lj ; β lj > 0}. Jos minimi saavutetaan useimmalla indeksin arvolla, niin valitse aakkosjärjestyksessä ensimmäinen. Ko. indeksi i k on poistuva kantaindeksi. 4. Suorita Simplex-taulukossa Gaussin eliminaatio-askel pivot-alkiona β kj, missä matriisin B N j:s sarakevektori muokataan R n+ :n kantavektoriksi 0. 0. 0 k:s rivi.

8 LUKU 2. LINEAARINEN OPTIMOINTI 2.4 Kaksivaiheinen Simplex-algoritmi Usein aloituskärkipisteen löytäminen on varsin ongelmallista. Tämä ongelma voidaan ratkaista muodostamalla sopiva LP-ongelma, jonka ratkaisuna on eräs rajoitejoukon kärkipisteistä. Tarkastellaan perusmuotoista optimointiongelmaa: min Ax = b x 0 v T x, missä A R m n on täysiasteinen matriisi, so. Rank(A) = m < n. Poikkeuksena aikaisempaan oletetaan lisäksi, että b 0. Tämä voidaan järjestää aina kertomalla rivi :llä, jossa b i < 0. Muodostetaan seuraava optimointiongelma: min x Ũ n+m i=n+ Rajoitejoukkona Ũ on niiden x Rn+m + joukko, joille à x = [A I m m ] x i. x. x n x n+. x n+m = b. Jos tämän ongelman optimaalinen ratkaisu on sellainen, että koordinaatit x n+ = = x n+m = 0, niin piste x = [x x 2 x n ] on alkuperäisen ongelman eräs kärkipiste, sillä sen koordinaatit ovat ei-negatiivisia, ja siinä on korkeintaan m kappaletta nollasta eroavia koordinaatteja. Jos taas ongelman optimaalinen ratkaisu on sellainen, jossa x n+i 0, niin alkuperäisen optimointiongelman rajoitejoukko on tyhjä. Aloitusvaiheen ongelman alotuskärkipiste on [0 b], ts. kantamuuttujiksi valitaan B = {n +, n + 2,..., n + m} ja ei-kantamuuttujiksi koordinaatit N = {,..., n}. Aloituskärkipisteessä redusoidut kustannukset lasketaan kuten normaalisti: r N = ṽ T N ṽ T BI A = [ ] [ a a n ].

2.4. KAKSIVAIHEINEN SIMPLEX-ALGORITMI 9 Toisessa vaiheessa ratkaistaan alkuperäinen optimointiongelma aloituskärkipisteenä ensimmäisessäs vaiheessa määrätyn ongelman ratkaisu. Esimerkki. Ratkaise lineaarinen optimointiongelma, kun kustannusvektori v T = [ 0 0 0 0 0 ] ja rajoitematriisi on 0 0 0 0 4 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0, b = 2 3 3 0 0 0 0 0 3 Ratk. -vaihe: Alla olevan aloitustaulukon viimeinen sarake on vektori b ja viimeinen rivi sisältää redusoidut kustannukset: 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 3 3 2 0 0 0 0 0 27 2 Aloitustaulukossa Pivot-alkio on a 22 =. Suoritetaan Gaussin eliminaatio: 7 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 5 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 4 0 2 2 0 3 0 0 0 2 0 0 0 0 7 0 0 0 2 2 2 2 4 0 9 0 0 0 0 0 0 2 2 2 2 4 0 0 0 0 5 0 0 2 2 2 2 4 0 0 0 0 3 0 0 2 2 2 2 4 0 0 0 0 0 0 0 0 0 3 0 0 0 0 2 0 0 0 5

20 LUKU 2. LINEAARINEN OPTIMOINTI 0 0 0 0 7 0 0 0 2 2 2 2 4 0 9 0 0 0 0 0 0 2 2 2 2 4 0 0 0 0 5 0 0 2 2 2 2 4 0 0 0 0 3 0 0 2 2 2 2 4 0 0 0 0 0 0 0 0 0 3 0 0 3 3 0 0 0 0 5 2 2 2 2 4 0 0 0 0 7 0 0 0 2 2 2 2 4 0 9 0 0 0 0 0 0 2 2 2 2 4 0 0 0 0 5 0 0 2 2 2 2 4 0 0 0 0 3 0 0 2 2 2 2 4 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 3 0 0 0 0 7 0 0 0 2 2 2 2 4 0 9 0 0 0 0 0 0 2 2 2 2 4 0 0 0 0 5 0 0 2 2 2 2 4 0 0 0 0 3 0 0 2 2 2 2 4 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 Koska redusoidut kustannukset ovat ei-negatiiviset (viimeinen rivi edellisessä matriisissa), on. vaiheen optimaalinen taulukko löydetty, ja aloituskärkipisteeksi saadaan x = [ 7 4 9 4 0 0 5 4 3 4 3 ]. Aloitustaulukon kantamuuttujat ovat B = {, 2, 5, 6,, 7} ja ei-kantamuuttujat N = {3, 4}. Tällöin redusoidut kustannukset ovat r T N = v T N v T BA B A N = [ 0 0 ] [ 0 0 0 ] 2 2 2 2 = [ 0 ] 0. 2 2 0 Joten aloitustaulukko on jo optimaalinen taulukko, ja aloituskärkipiste optimaalinen piste. 2 2

2.5. ANTISYKLITEKNIIKAT 2 2.5 Antisyklitekniikat Tarkastellaan seuraavaa lineaarista optimointiongelmaa: min 2x 3 2x 4 + 8x 5 + 2x 6, x U missä rajoitematriisi ja rajoitevektori ovat [ ] 0 7 3 7 2 A =, b = 0 2 3 [ ] 0. 0 Valitsemalla kantamuuttujiksi x, x 2 ja loput muuttujat ovat ei-kantamuuttujia. Tällöin aloitustaulukon redusoidut kustannukset ovat suoraan kustannusvektorin koordinaatit. Aloitustaulukko on tällöin 0 7 3 7 2 0 0 2 3 0. 0 0 2 2 8 2 0 Aloitustaulukon viimeinen sarake on rajoitevektori ja kustannukset ko. kärkipisteessä (origo), alin rivi redusoidut kustannukset. Mikä valitaan tässä tapauksessa Pivot-alkioksi? Sovelletaan seuraavaa Pivot-strategiaa: valitaan yhtä negatiivisista redusoiduista kustannuksista vasemmalla puolella oleva, ja sarakkeelta ylimpänä oleva alkio. Tällöin ko. tapauksessa Pivot-alkioksi valitaan toiselta riviltä P = 2 (saapuvaksi kantamuuttujaksi valitaan x 4 ja poistuvaksi x ). Gaussin eliminaatioaskeleen jälkeen taulukoksi saadaan 7 0 7 3 0 2 2 2 2 0 3 0 2 2 2 2 0 0 5 0 7 2 0 7 3 0 3 0 2 0 8 2 0 0 2 2 0 7 3 7 0 0 2 2 2 2 0 0 2 2 2 2 5 0 0 0 7 3 7 2 0 0 2 3 0 0 2 2 8 2 0 0 0

22 LUKU 2. LINEAARINEN OPTIMOINTI 0 7 3 7 0 2 2 2 2 3 0 0 2 2 2 2 0 5 0 0 0 7 3 7 2 0 0 2 3 0 0 0 2 2 8 2 0 Eli päädyttiin aloitustaulukkoon. Ilmeisesti valittu yksinkertainen Pivot-strategia ei toimi. Pivot-strategian valinta Oikean pivot-strategian valitsemiseksi määritellään vektoreiden joukkoon järjestys ns. aakkosellinen järjestys (lexikograafinen järjestys). Määritelmä 3. Vektori u R m on aakkoselliseti positiivinen (u 0), jos u 0; Ensimmäinen nollasta eroava alkio on positiivinen. Vastaavasti sanotaan, että vektori v on aakkosellisesti suurempi kuin u, jos v u on aakkosellisesti positiivinen. Merkintä: v u. Käyttämällä seuraavaa Pivot-alkion valintaa voidaan osoittaa, että Simplexalgoritmi suppenee äärellisen askelmäärän jälkeen kohti optimaalista ratkaisua, tai voidaan päätellä, ettei äärellsitä ratkaisua ole olemassa. Pivot-strategia: Pivot-sarakkeen valinta (saapuvan kantamuuttujan valinta): Valitse l N siten, että r l = min j N r j. Pivot-rivin valinta (poistuva kantamuuttuja): Valitse i {,..., m} siten, että β ik [x i, β i, ] { β jk [x j, β j, ], j =,..., m, β jk > 0}.

2.6. DUAALISUUS 23 2.6 Duaalisuus 2.6. Kuhn-Tuckerin ehdot Tavallisesti standardimuotoista LP-tehtävää min Ax = b x 0 c T x, kutsutaan primaalitehtäväksi. Sitä vastaa duaalitehtävä, jolla on selvä tulkinta reaalimaailmassa, ja jonka avulla voidaan muodostaa ns. duaalisimplex-algoritmi LP-ongelman ratkaisemiseksi. Muodostetaan primaaliongelmalle Lagrangen funktionaali L(x, u) = c T x u T (Ax b). Vektorin u kertoimia sanotaan Lagrangen kertoimiksi. Tällä tavalla voidaan poistaa optimointiongelmasta rajoite-ehdot. Sidottujen ääriarvojen ongelmaan palataan kurssilla myöhemmin hieman yleisemmässä muodossa. Joka tapauksessa nyt lineaarinen optimointiongelma voidaan esittää satulapisteongelmana: min Ax = b x 0 c T x = min x 0 max u R m ct x u T (Ax b) = max u R m min x 0 ct x u T (Ax b) = max u R m min x 0 [(ct u T A)x + u T b]. Jos vektorilla c T u T A on yksikin negatiivinen komponentti, niin ja tällöin max u R m A T u c min x 0 (ct u T A)x = Jos taas vektori on ei-negatiivinen, ts. [min x 0 (ct u T A)x] =. c T u T A 0, niin min x 0 (ct u T A)x = 0

24 LUKU 2. LINEAARINEN OPTIMOINTI ja siten Edellisten nojalla min[(c T u T A)x + u T b] = u T b x R n + Huomaa, että max min u R m x R n + (c T u T A)x + u T b = max c T u T A 0 c T u T A 0 c A T u 0. Näin ollen primaaliongelmaa vastaa duaalitehtävä max A T u c u T b. Itse asiassa ylä olevassa tarkastelussa tuli osoitettua u T b. Lause 3. Jos x R n + ja u R m ovat primaali- ja duualitehtävän ratkaisut, niin c T x = u T b. Edelleen edellisen päättelyn nojalla kaikille primaali- ja duaaliongelman käyville ratkaisuille x ja u (eivät välttämättä optimaalisia): Tämän nojalla on voimassa c T x u T b. Lause 4 (Kuhn-Tucker). Olkoon x R n ja u R m primaali- ja duaaliongelman käypiä ratkaisuja (rajoitejoukon alkioita). Pisteet ovat optimaalisia, jos ja vain jos c T x = u T b. Jos primaaliongelman optimaalinen ratkaisu tunnetaan, niin duaaliongelman optimaalinen ratkaisu saadaan seuraavasta lauseesta: Lause 5. Olkoon x primaaliongelman optimaalinen ratkaisu, A B kantamatriisi ja A N ei-kantamatriisi. Tällöin vektori vastaava u T = c T BA B u = (AT B) c B on duaaliongelman optimaalinen ratkaisu. Lisäksi redusoitujen kustannusten vektori on r N = c T N u T A N.

2.6. DUAALISUUS 25 2.6.2 Duaali-simplex-algoritmi Määritelmä 4. Kantamuuttujia B vastaava kantamatriisi A B on duaalikäypä, jos redusoidut kustannukset r N = c T N c T BA B A N 0. Tällöin sanotaan, että duaalikäypä ratkaisu. [ xb 0 ] = [ A B b 0 ] Edellisen kappaleen nojalla pätee Lause 6. Jos A B on käypä ja duaalikäypä kantamatriisi, niin piste [ ] [ xb A B = b ] 0 0 on primaaliongelman optimaalinen kärkipiste. Tämän lauseen nojalla on voimassa seuraava Duaali-Simplex-algoritmi:. Valitse duaalikäypä kanta A B ja muodosta aloitustaulukko. 2. Jos A B on käypä kantamatriisi, niin STOP; x B = A B b, u B = (A B )T c B ovat optimaalisia ratkaisuja primaali- ja duaaliongelmalle. 3. Muutoin valitse indeksi i p siten, että x ip < 0. Sääntö: Muuttuja on p:s kantamuuttuja. x ip = min x j <0 x j. 4. Tutki matriisin A B A N = [β p,j ] p =,..., m j N p:s rivi: Jos alkiot ovat ei-negatiivisia, niin äärellistä ratkaisua ei ole;

26 LUKU 2. LINEAARINEN OPTIMOINTI Muutoin valitse ei-kantamuuttuja x s, s N siten, että r s = min β { r j }, p,s β p,j <0 β p,j missä r j on redusoitujen kustannusten r N j:s koordinaatti, ja on matriisin A B A N p:s rivi. [β p, β p,in m ] 5. Suorita Gaussin eliminaatio Simplex-taulukolle pivot-alkiona ja palaa kohtaan 2. Duaali-simplex-algoritmin soveltaminen normaalin Simplex-algoritmin rinnalla helpottaa LP-ongelman ratkaisua. Nyt ei tarvitse huolehtia, onko valittu kantaratkaisu käypä tai ei. Jos kärkipiste x B on käypä voidaan käyttää tavallista Simplex-algoritmia. Jos taas kärkipiste ei ole käypä, niin sovelletaan duaalisimplex-algoritmia. Kummassakin tapauksessa aloitustaulukon muodostaminen tapahtuu samalla tavalla. Simplex-algoritmissa pysytellään raajoitejoukossa, kun taas duaalisimplexissä pysytellään alueen ulkopuolella. Vasta viimeisellä iteraatiolla työnnytään rajoitejoukkoon, jolloin myös optimaalinen kärkipiste löytyy. β p,s 2.7 Karmarkarin menetelmä Tarkastellaan kuten edellä standardimuotoista LP-ongelmaa min Ax = b x 0 v T x, missä (m n)-matriisin A aste on Rank(A) = m < n, vektori b R m, ja v R n on ns. kustannusvektori. Klee ja Minty osoittivat 60-luvulla, että on olemassa LP-ongelmia, joiden ratkaisemiseen Simplex-algoritmin aikavaste on eksponentiaalinen. Esimerkit ovat kylläkin akateemisia, ja käytännössä tällaisia ongelmia ei ole esiintynyt. Näistä esimerkeistä alkoi ns. polynomiaalisten algoritmien kuumeinen kehittely. Eräs näistä algoritmeista on Karmarkarin menetelmä. Tyypillistä näille menetelmille on, että ne ovat ns. sisäpistemenetelmiä.

2.7. KARMARKARIN MENETELMÄ 27 2.7. Johdatteleva esimerkki Tarkastellaan optimointiongelmaa min x + x 2 + x 3 = x, x 2, x 3 0 x 2 + x 3. Alkuperäisessä Karmarkarin käsittelevässä artikkelissa hän tarkasteli lineaarista optimointiongelmaa Hän teki seuraavat oletukset: min x U n c T x = 0; min c T x. x U n Rajoitejoukko on affiinin tason U = {x Ax = b} ja (n-)-ulotteisen simpleksin n n = {x 0 x j = } leikkausjoukko. Kyseisessä esimerkissä optimaalinen ratkaisu c T x = 0 saavutetaan kärkipisteessä x = 0. 0 j= Aloituspiste Kolmion 2 painopiste valitaan x (0) = 3 3 3 algoritmin aloituspisteeksi. Hakusuunta Kustannusfunktion arvot kasvavat ja vähenevät voimakkaimmin gradienttivektorin suuntaan. Siksi kustannukset pienenevät vektorin v = (c T x) = c

28 LUKU 2. LINEAARINEN OPTIMOINTI suuntaisesti. Mutta tähän suuntaan liikuttaessa ei välttämättä pysytä kolmion tasolla. Siksi projisoidaan gradienttivektori tasolle: 0 a = c + et c e e = + 2 2 3 =. 2 3 3 3 Vektorin a suuntainen yksikkövektori on a (0) = 2 6 6 6. Askelpituus Kolmion sisään piirretyn ympyrän säde on r 0 = 6. Kolmion ja ympyrän sivuamispisteessä määrätty normaali voi olla vektorin a suuntainen. Näin ollen edetessä hakusuuntaan säteen verran voidaan päätyä rajoitejoukon reunalle. Siksi mahdollinen reunalle meno estetään kertomalla parametrilla 0 α. Valitaan parametriksi α =. Karmarkar käytti 2 parametrin arvoa α =. 4 Uusi approksimaatio on x () = x (0) + αr 0 a (0) = Projektiivinen transformaatio Määritellään diagonaalimatriisi 0 0 D = diag(x () 2 ) = 0 0. 4 0 0 4 Kuvataan simpleksi itselleen projektiivisella transformaatiolla Käänteistransformaatio on T (x) = T (z) = D x e T D x. D z e T D z. Projektiivinen kuvaus kuvaa pisteen x () simpleksin painopisteeksi. 2 4 4.

2.7. KARMARKARIN MENETELMÄ 29 Yleinen iteraatioaskel Samalla kertaa muunnetaan kustannusfunktiota. Uusi kustannusfunktio on nyt (D c) T z, jonka minimiä haetaan edelleen simpleksissä 2. Vektorin c () = D c projektio tasolle 2 on c () et c () e 2 = 4 a. Näin ollen hakusuunta on sama kuin edellisessä iteraatiossa: a () = a (0) = 2. 6 Askelpituutena käytetään samaa kuin edellä: Käänteisprojektiolla 3. iteraatio Määritellään z (2) = x (0) + αr 0 a () = x (). x (2) = T (z (2) ) = D x () e T D x () = D 2 = diag(x (2) ). Projisoidaan vektori D 2 c tasolle 2 : a (2) = 2 6 6 6 Askelpituus kuten edellisillä iteraatioilla:. z (3) = x (0) + αr 0 a () = x (). Käänteisprojektiolla saadaan uusi approksimaatio: x (3) = T (z (3) ) = D 2x () e T D 2 x = () 2 3 6 6 4 5 0 0..

30 LUKU 2. LINEAARINEN OPTIMOINTI 4. iteraatio x (4) = D 3x () e T D 3 x = () 8 9 8 8. 2.7.2 Karmarkarin skaalausalgoritmi Oletetaan, että x U = {x 0 Ax = b} on rajoitejoukon sisäpiste, ts. sillä on n+m nollasta eroavaa koordinaattia, ja kaikille yksikkövektoreille e N(A) = {w R n Aw = 0} : x + ϵe U kaikille riittävän pienille ϵ > 0. Karmarkarin menetelmässä pyritään etsimään vastausta kahteen perustavaan kysymykseen: Mihin suuntaan pisteestä x on lähdettävä? Kuinka suuri on askelpituus? Ylimalkainen vastaus kysymyksiin on: Suunta, johon kustannusfunktio v T x vähenee voimakkaimmin. Pysähdy lähelle rajoitejoukon reunaa. Funktio kasvaa voimakkaimmin gradientin suuntaan. Näin ollen hakusuunta on v = (v T x). Toisaalta uusi piste y on edelleen kuuluttava rajoitejoukkoon U. Pisteiden erotus ratkaisee homogeenisen yhtälön A(y x) = 0. Projisoidaan vektori v matriisin A ytimeen projektio-operaattorilla P = I A T (AA T ) A. Lemma. Vektorin v projektio P v N(A). Tod.: Lemma 2. v T P v 0. A(P v) = Av AA T (AA T ) Av = Av Av = 0.

2.7. KARMARKARIN MENETELMÄ 3 Tod.: Jaetaan vektori v kahteen ortogonaaliseen komponenttiin v = P v + P v = P v + A T (AA T ) Av. Nimittäin Näin ollen (P v) T P v = v T A T (AA T ) Av v T A T (AA T ) AA T (AA T ) Av = v T A T (AA T ) Av v T A T (AA T ) Av = 0. v T P v = [P v + P v] T P v = (P v) T P v = P v 2 0. Lemma 3. Funktion v T x arvot pienenevät vektorin P v suuntaan. Tod.: Edellisen lemman nojalla kaikilla α > 0 v T (x αp v) = v T x αv T P v v T x. Askelpituuden α maksimiarvo on x i α 0 = min. (P v) i (P v) i Tällä askelpituudella päädytään rajoitejoukon reunalle. Karmarkarin perusidea: Ei mennä aivan käyvän alueen reunalle asti; vaan y = x ϵα 0 P v, missä 0 < ϵ <. Suoritetaan tämän jälkeen ongelman uudelleen skaalaus. Karmarkarin skaalausalgoritmi. Aloituspiste a U n siten, että a i > 0, i =,..., n. 2. Diagonaalimatriisi: D = diag(a). 3. Skaalausvaiheessa muodostetaan uusi kustannusvektori: c = Dc. Tällöin samalla suoritetaan muuttujan vaihto: x = D x. Tällöin aloituspiste on z = D (x) = [ ] T.

32 LUKU 2. LINEAARINEN OPTIMOINTI 4. Uusi muuttuja toteuttaa rajoiteyhtälön ADx = b. 5. Lasketaan vektorin c projektio rajoitejoukkoon: d = c DA T (ADD T A T ) ADc. 6. Askelpituus: r 0 = min. d i >0 d i 7. Optimointiongelman approksimaatio missä 0 < α <. 8. Määritellään vektori y = z αr 0 d, v = (ADD T A T ) ADc. Tämän avulla voidaan määritellä katkaisukriteerio; [c A T v] T y < ϵ missä ϵ on haluttu toleranssi optimaalisuudesta. Tällöin alkuperäisen ongelman ratkaisu on x opt = Dy. Muussa tapauksessa palataan alkuun. Huomautuksia Pisteessä y = z td, t > 0 funktion arvo on pienempi kuin pisteessä z: c T y = c T z tc T d = c T z t c 2 (ADc) T [AD(AD T )] ADc < c T z, sillä [AD(AD) T ] on positiivisesti definiitti. Piste y = z td on rajoitejoukon alkio: ADy = ADz tad(c (AD) T [AD(AD) T ] ADc) = Aa t(adc ADc) = b.

2.7. KARMARKARIN MENETELMÄ 33 Jos t r 0 = min{ d i d i > 0}, niin pisteessä y = z td on ainakin yksi koordinaatti nolla tai negatiivinen. Tästä syystä askelpituus kerrotaan parametrilla 0 < ϵ <, jotta pysyttäisiin sisäpisteessä. Algoritmin suppenemistarkasteluja varten määritellään potentiaalifunktio f(x) = n i= ln( ct x x i ). Lause 7 (Karmarkar). Toinen seuraavista vaihtoehdoista on toteutuu:. c T (Dy) = 0; 2. f(dy) f(a) δ, missä δ riippuu vakiosta α.

34 LUKU 2. LINEAARINEN OPTIMOINTI

Luku 3 Epälineaarisen optimoinnin menetelmät 3. Optimaalisuuskriteerio 3.. Lokaali ääriarvokohta Ongelma: min f(x). x R n Määritelmä 5. Piste x on lokaali minimikohta, jos on olemassa ϵ > 0 siten, että f(x) f(x), x {x R n x x < ϵ}. Vastaavasti, piste x on lokaali maksimikohta, jos on olemassa ϵ > 0 siten, että f(x) f(x), x {x R n x x < ϵ}. Piste x on satulapiste, jos x = [z + z ] siten, että funktiolla g(x + ) = f(x +, z ) on lokaali maksimikohta pisteessä z +, ja funktiolla h(x ) = f(z +, x ) on lokaali minimikohta pisteessä z. Palautetaan mieliin, mitä tarkoitetaan funktion differentioituvuudella, sillä jatkossa oletamme, että tarkasteltavat funktiot ovat ainakin kahdesti jatkuvasti differentioituvia määrittelyjoukossaan. Lähtökohtaisesti oletamme, että funktion f(x) määrittelyjoukko on koko R n. 35

36 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Funktio f(x) on differentioituva pisteessä x, mikäli riittävän pienessä x:n ϵ-säteisessä pallossa B(x; ϵ) on voimassa: f(z) = f(x) + f(x) T (z x) + z x α(x; z x), z B(x; ϵ) missä z x on vektorin euklidinen normi, ja α(x; z x) o, kun z x. Mikäli f(x) on differentioituva jokaisessa pisteessä x C, missä C on funktion määrittelyjoukko, niin sanotaan lyhyesti, että funktio differentioituva. Mikäli funktion gradienttikuvaus x f(x) on jatkuva, niin funktio on jatkuvasti differentioituva. Edelleen funktio f(x) on kahdesti differentioituva pisteessä x, jos on ϵ- säteinen pallo B(x; ϵ) siten, että f(z) = f(x) + f(x) T (z x) + 2 (z x)t H f (x)(z x) + z x 2 α(x; z x), missä α(x; z x) 0, kun z x. Edellä H f (x) on funktion f Hessin matriisi pisteessä x: 2 f H f (x) = [ ] i,j=,...,n. x i x j Funktio on kahdesti jatkuvsti differentioituva joukossa C, jos se on kahdesti differentioituva jokaisessa pisteessä x C ja kuvaus x H f (x) on jatkuva. Ääriarvokohdat Tarkastellaan aluksi funktion lokaaleja ääriarvokohtia, kun funktio f(x) on kaksi kertaa jatkuvasti differentioituva: f C 2 (R n ). Lause 8. Lokaalissa ääriarvokohdassa funktion gradientti häviää: f(x) = Tällöin Taylorin kehitelmän nojalla f x f x 2. f x n = 0. f(x) = f(x) f(x) = 2 (x x)t 2 (ζ)(x x), Näin ollen ääriarvokohdan laatu on sidoksissa neliömuodon Q(x) = x T H f (ζ)x

3.. OPTIMAALISUUSKRITEERIO 37 ominaisuuksiin. Jos z on lokaali minimikohta (maksimikohta), niin välttämättä neliömuodon on oltava positiivinen (negatiivinen) pisteen z ympäristössä. Vastaavasti jos piste z on lokaali ääriarvokohta, ts. gradientin nollakohta, niin se on lokaali minimikohta (maksimikohta), mikäli Hessin matriisi on positiivisesti (negatiivisesti) definiitti. Tarkkaan ottaen on voimassa seuraava Lause 9. Olkoon f : R n R C 2 -funktio. Piste z on funktion f lokaali minimikohta, jos ja vain jos funktion Hessin matriisi on positiivisesti semidefiniitti. Lause 0. Olkoon z funktion f(x) stationaarinen piste ja funktion Hessin matriisi positiivisesti definiitti. Tällöin z on eristetty lokaali minimikohta. Analogiset väittämät voidaan todistaa lokaalille maksimikohdalle. 3..2 Konveksi optimointi Reaaliarvoinen vektorimuuttujan funktio f on konveksi, jos kaikille x, y R n : f(tx + ( t)y) tf(x) + ( t)f(y), 0 t. Yhden muuttujan konvekseille funktioille on seuraava ominaisuus voimassa [?]: Lause. Olkoon f(x) kahdesti jatkuvasti differentioituva avoimella välillä (a, b). Tällöin funktio f(x) on konveksi, jos ja vain jos f (x) 0 kaikilla x (a, b). Todistus. Oletetaan, että f (x) on ei-negatiivinen. Tällöin f (x) on kasvava funktio. Tällöin kaikille a < x < y < b ja z = ( t)x + ty, 0 < t < : f(z) f(x) = f(y) f(z) = z x y z f (η) dη f (z)(z x) f (η) dη f (z)(y z). Koska z x = t(y x) ja y z = ( t)(y x), niin saadaan epäyhtälöt f(z) f(x) + tf (z)(y x) f(z) f(y) ( t)f (z)(y x). Kertomalla ylempi yhtälö luvulla t ja alempi luvulla t ja laskemalla ne yhteen saadaan f(z) ( t)f(x) + t(f(y).

38 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Siis funktio f(x) on konveksi. Oletetaan sitten kääntäen, että f(x) on konveksi. Jos nyt f (η) olisi aidosti negatiivinen jossain pisteessä, niin toisen derivaatan jatkuvuuden nojalla f (x) olisi negatiivinen jollain välillä (a, b ). Tällöin tällä välillä f (x) olisi aidosti vähenevä ja silloin f(z) f(x) = f(y) f(z) = z x y z f (η) dη > f (z)(z x) = tf (z)(y x) f (η) dη < f (z)(y z) = ( t)f (z)(y x). Tällöin saataisiin voimaan aito epäyhtälö f(( t)x + ty) > ( t)f(x) + tf(y), mikä on vastoin konveksisuus oletusta. Lause 2. Olkoon f(x) kahdesti jatkuvasti differentioituva R n :ssä. Tällöin funktio on konveksi, jos ja vain jos Hessin matriisi H f (x) on positiivisesti semidefiniitti. Todistus. Funktio on konveksi, jos ja vain jos sen rajoittuma jokaiselle suoralle l : x = z +td, t R on konveksi, missä d R n on mielivaltainen suunta. Funktion rajoittuma suoralle l määrittelee yhden muuttujan reaaliarvoisen funktion ϕ(t). Funktio ϕ(t) on konveksi jos ja vain jos ϕ (t) 0. Toisaalta ϕ (t) = d T H f (x)d. Konveksin optimoinnin peruslause on Lause 3. Olkoon funktio f : R n R konveksi ja koersiivinen, ts. lim f(x) =. x Tällöin funktiolla on olemassa globaali minimikohta x min : f(x min ) f(x), x R n. Lisäksi, jos f(x) on aidosti konveksi, niin minimikohta on yksikäsitteinen.

3.. OPTIMAALISUUSKRITEERIO 39 3..3 Yhtälörajoitteiset optimointiongelmat: Lagrangen kertojat Tarkastellaan seuraavanlaista optimointiongelmaa min f(x), x S missä rajoitejoukon määrittelee yhtälörajoitteet: S = {x R n : h j (x) = 0, j =,..., l}. Jatkossa oletetaan, että rajoitefunktiot h j (x) ovat jatkuvasti differentioituvia. Välttämätön ehto Olkoon sitten x S ko. minimointiongelman ratkaisu, so. lokaali minimikohta. Rajoiteyhtälö h j (x) = 0 määrittelee jatkuvasti differentioituvan (n-)-ulotteisen pinnan S j avaruuteen R n. Pinnan normaali pisteessä x on funktion h j (x) gradientti h j (x). Silloin pinnan tangenttitason T x määrittelee yhtälö x T x : (x x) T h j (x) = 0. Oletetaan jatkossa, että vektorit { h (x,..., h l (x)} ovat lineaarisesti riippumattomia. Sallitut suunnat D ovat vektorit d R n, joille d T h j (x) = 0, j =,..., l. Eli siirryttäessä pinnan tangenttitason suuntaan infinitesimaalisen matkan pysytään edelleen likipitäen ko. pinnalla. Toisaalta voidaan määritellä minimoivien suuntien joukko F = {d : f(x) T d < 0}. Koska x S on lokaali minimikohta, niin kaikilla d D : f(x) T d 0. Eli samanaikaisesti ei ole voimassa ehtoja n d T f(x) < 0, d T [ α j h j (x)] = 0. α j R j= Oletetaan, että vektorit f(x), h (x),..., h l (x) ovat lineaarisesti riippumattomia, ts sanoen ei ole olemassa lukuja λ j siten, että n f(x) = λ j h j (x). j= Koska vektorit d T x = D ja { h j (x)} j=,...,l virittävät R n :n, niin on olemassa nollasta eroava vektori d D ja luvut λ j siten, että n f(x) = d + λ j h j (x). j=

40 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Tällöin on voimassa d T f(x) = d t d d T [ n λ j h j (x)] = d 2 < 0. j= Toisin sanoen on olemassa vektori y D siten, että f(x) T y < 0 vastoin oletusta, että kaikilla d D : f(x) t y 0. Näin ollen ainoaksi vaihtoehdoksi jää vaihtoehto: On olemassa luvut λ j, joista ainakin yksi on nollasta eroava siten, että f(x) = n λ j h j (x). j= Näin olemme todistaneet ns. Lagrangen kertojien menetelmän sidotulle ääriarvotehtävälle. Lause 4. Olkoon x optimointiongelman min f(x), x S missä S = {x R n : h j (x) = 0, j =,..., l}, lokaali minimikohta. Silloin on olemassa Lagrangen kertojat λ j R, j =,..., l siten,että f(x) = l λ j h j (x). j= 3..4 Epäyhtälörajoitteet Tarkastellaan seuraavaksi epäyhtälörajoitteisia optimointiongelmia: min g (x) 0 g 2 (x) 0. g m (x) 0 f(x), missä oletetaan jatkossa, että funktiot ovat jatkuvasti differentioituvia, tarvittaessa kahdesti. Tarvitsemme välttämättömine ehtojen todistamista varten seuraavaa lemmaa:

3.. OPTIMAALISUUSKRITEERIO 4 Lemma 4 (Gordan). Olkoon A m n-matriisi. Silloin vain toisella seuraavista systeemeista on ratkaisu: Systeemi Ax < 0, jollain x R n Systeemi 2 A T y = 0, y 0. jollain y 0 Tehdään seuraavat olettamukset: Piste x S = {x : g i (x) 0, i =,..., m} on minimointiongelman lokaali minimikohta. Aktiivirajoitteiden joukko I = {i =,..., m g i (x) = 0}. Numeroimalla funktiot g i uudelleen voidaan olettaa, että I = {, 2, 3,..., k}. Vektorit { g i (x)} i=,...,k ovat lineaarisesti riippumattomia. Rajoitefunktiot g i (x) ovat aidosti konvekseja pisteessä x. Edellä olevien oletusten ollessa voimassa pätee: Lause 5. On olemassa ei-negatiiviset luvut µ i, i =,..., k siten, että f(x) + k µ i g i (x) = 0. i= Todistus. Olkoon vektorijoukko D = {d : d T g i (x) < 0} sallittujen suuntien joukko (perustele!!). Koska x on lokaaliminimi, niin kaikille d D on voimassa: f(x) T d 0. Toisin sanoen; ei ole ole olemassa vektoria d R n siten, että samanaikaisesti f(x) T d < 0 ja g i (x) T d < 0, i =,..., k. Määritellään matriisi A, jonka rivivektoreina ovat vektorit f(x), g (x),..., g k (x): Nyt edellisen nojalla systeemillä A T = [ f(x), g (x),..., g k (x)]. Ad < 0 ei ole ratkaisua. Tällöin Gordanin lemman nojalla on ole massa nollasta eroava vektori λ R k+ siten, että A T λ = 0, λ 0.

42 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Näin ollen on luvut λ i 0, i =,..., k +, siten, että λ 0 f(x) + k λ j g i (x) = 0. i= Luku λ 0 0, sillä muussa tapauksessa olis voimassa k λ j g i (x) = 0. i= Mikä on vastoin ko. vektoreiden lineaarisesti riippumattomuus oletusta. Valitaan luvuiksi µ i = λ i λ 0 ja väite seuraa. 3..5 Karush-Kuhn-Tucker-ehdot Tarkastellaan lopuksi yleistä minimointitehtävää min f(x), x S missä rajoitejoukko S määritellään seuraavilla epäyhtälö- ja yhtälörajoitteilla: g i (x) 0, i =,..., m h j (x) = 0, j =,..., l. Olkoon kuten aikaisemmin x minimointiongelman ratkaisu. Edelleen oletetaan, että tarkasteltavat funktiot ovat ainakin jatkuvasti differentioituvia. Tällöin on voimassa seuraava Karush-Kuhn-Tucker-ehdot [?],[?]: Lause 6. Kuten aikaisemmin indeksijoukko I = {, 2,..., k} vastaa pisteessä x olevia aktiivisia epäyhtälörajoitteita, ja oletamme, että vektorit { g (x),..., g k (x), h (x),..., h l (x)} ovat lineaarisesti riippumattomia. Tällöin on olemassa vektorit µ R m, λ R l siten, että f(x) + k µ i g i (x) + i= l λ j h j (x) = 0 (3.) j= µ i g i (x) = 0, µ i 0, g i (x) 0, i =,..., m (3.2)

3.. OPTIMAALISUUSKRITEERIO 43 Todistus. Aluksi osoitetaan, että ei ole olemassa vektoria d siten, että samanaikaisesti olisi voimassa f(x) T d < 0, g (x) T d < 0, i =,..., k, h j (x) T d = 0, j =,..., l. Jos tällainen vektori y olisi olemassa, niin projisoidaan suoran x + ty pisteet lokaalisti pisteen ympäristöstä pinnalle S h = {x : h j (x) = 0, j =,..., l}. Määritellään käyrä ξ(τ) differentiaaliyhtälöllä dξ(τ) dτ = P (τ)y, ξ(0) = x, missä P (τ) on projektiomatriisi matriisin h (ξ(τ)) T h 2 (ξ(τ)) T B(τ) =. h l (ξ(τ)) T nolla-avaruuteen Ker(B) = {x : B(τ)x = 0}. Projektiomatriisi P (τ) = I B(τ) T [B(τ)B(τ) T ] B(τ) on τ:n suhteen jatkuva, sillä matriisi B(τ) on täysiasteinen ja funktiot h j ovat jatkuvasti differentioituvia. Näin ollen eo. differentiaaliyhtälöllä on yksikäsitteinen ratkaisu ja ξ(τ) x, kun τ 0 +. Osoitetaan seuraavaksi, että piste ξ(τ) on rajoitejoukossa ja f(ξ(τ)) < f(x), kun τ on riittävän pieni. Tällöin päädytään ristiriitaan, sillä x on lokaali minimikohta. Derivoinnin ketjusäännön nojalla d dτ g i(ξ(τ)) = g i (ξ(τ)) T P (τ)y, i =,..., k. Toisaalta, koska P (0)y = y ja g i (x) T y < 0, niin d dτ g i(ξ(0)) = g i (x) T y < 0, i =,..., k. Näin ollen riittävän pienille τ:n arvoille g i (ξ(τ)) < 0, i =,..., k. Eiaktiivisille rajoitteille pelkästään jatkuvuuden nojalla g i (ξ(τ)) < 0, foralli = k +,..., m. Väliarvolauseen nojalla on olemassa ς (0, τ) siten, että h j (ξ(τ)) = h j (ξ(0)) + τ d dτ h j(ξ(ς)) = τ d dτ h j(ξ(ς)).

44 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Ketjusäännön nojalla toisaalta d dτ h j(ξ(ς)) = h j (ξ(ς)) T P (ς)y. Konstruktion perusteella P (ς)y on matriisin B(ς) nolla-avaruudessa, joten väistämättä, kunhan τ on riittävän pieni, h dτ j(ξ(ς)) = 0. d Vastaavasti, ketjusäännön ja sen nojalla, että ξ(0) = x, saadaan d dτ f(ξ(0)) = f(x)t y < 0. Koska f(x) on jatkuvasti differentioituva, niin riittävän pienillä τ:n arvoilla f(ξ(τ)) < f(x), mikä on vastoin oletusta. Näin ensimmäinen väite on todistettu. Määritellään matriisit A ja B siten, että matriisin A rivivektoreina ovat vektorit f(x), g (),..., g k (x), ja B kuten edellä. Lauseen alkuosan nojalla siis ei ole vektoria d siten, että samanaikaisesti Ad < 0, Bd = 0. Tarkastellaan seuraavia joukkoja C = {(z, z 2 ) : z = Ad, z 2 = Bd} ja C 2 = {(z, z 2 ) : z < 0, z 2 = 0}. Nyt kyseiset joukot ovat konvekseja, epätyhjiä ja edellisen nojalla S S2 =. Tällöin separaatiolauseen nojalla on olemassa hypertaso siten, että se erottaa joukot S ja S 2. Toisin sanoen on olemassa nollasta eroava vektori p T = [p T, p T 2 ] siten, että p T Ad + p T 2 Bd p T z + p T 2 z 2, d R n, (z, z 2 ) S 2. Valitaan z 2 = 0 ja annetaan vektorin z yhden komponentin kerrallaan lähestyä. Tällöin, jotta eo. epäyhtälö olisi voimassa, on oltava, että p 0. Toisaalta valitsemalla z = z 2 = 0 saadaan epäyhtälö (p T A + p T 2 B)d 0, d. Asettamalla d = (A T p + B T p 2 ) saadaan A T p + B T p 2 2 0, eli A T p + B T p 2 = 0. Siis, on olemassa vektori p T = [p T, p T 2 ] 0 siten, että p 0 ja k l p,0 f(x) + p,i g i (x) + + p 2,j h j (x) = 0. i= Koska oletettiin, että vektorit j= { g (x),..., g k (x), h (x),..., h l (x)} ovat lineaarisesti riippumattomia, niin p,0 > 0. Jakamalla edellinen yhtälö luvulla p,0 saadaan väite.

3.. OPTIMAALISUUSKRITEERIO 45 3..6 Riittävät ehdot Vaikka piste x toteuttaa KKT-ehdot, niin se ei välttämättä ole lokaali minimikohta. Mutta jos oletetaan, että funktio f(x) ja rajoitejoukko S on konveksi, niin KKT-ehdot toteuttava piste on globaali minimikohta. Huomatkaa, että globaaleja minimikohtia voi olla useampia; mutta minimiarvo on sama. Lause 7. Olkoon funktiot f(x) ja g (x) konvekseja ja x toteuttaa KKTehdot. Tällöin voidaan määritellä indeksijoukot J = {j : λ j > 0} ja K = {j : λ j < 0}. Jos funktiot h j (x), j J, ja h j (x), j K, ovat konvekseja, niin on x optimointiongelman globaali minimikohta.

46 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT 3.2 Duaalisuus 3.2. Lagrangen duaaliongelma Primaaliongelma P Minimoi rajoittein f(x) g i (x) 0, i =,..., m h j (x) = 0, i =,..., l x R n Duaaliongelma D Maksimoi θ(µ, λ) rajoittein µ R m, µ 0, λ R l missä θ(µ, λ) = inf f(x) + m µ i g i (x) + x R n i= j= l λ j h j (x). Geometrinen tulkinta Tarkastellaan yksinkertaisuuden ja havainnollisuuden vuoksi vain yhtä epäyhtälörajoitetta, ts. optimointiongelma on Määritellään (y, z))-tasossa joukko min f(x). g(x) 0 G = {(y, z) R 2 : y = g(x), z = f(x)}. Tällöin minimointiongelma on yhtäpitävä seuraavan ongelman kanssa: min y 0 (y, z) G z. Siis etsitään joukosta G pistettä (y, z), jolle y 0 ja z on mahdollisimman pieni. Olkoon tämä piste (y, z). Duaalifunktiolle voidaan tulkita seuraavasti. Kiinteälle u 0 suoritetaan osaoptimointi θ(u) = min f(x) + ug(x) = min z + uy. x X (y,z) G

3.2. DUAALISUUS 47 Etsitään siis suoraa z + uy = a, joka sivuaa rajoitejoukkoa G alapuolelta siten, että vakio a on mahdollisimman pieni. Kyseisen suoran kulmakerroin on u 0, l. laskeva suora. Suora leikkaa z-akselin pisteessä a = θ(u). Duaaliongelma: Etsi suoran z = uy+a kulmakerroin siten, että se sivuaa alhaalta joukkoa G ja a = θ(u) on maksimaalinen. Jos u on optimaalinen kulmakerroin, niin (konveksissa tapaauksessa) z = θ(u) = f(x). z G={(y,z): y=g(x), z=f(x)} (0,z) (0,a) y z+uy=a 3.2.2 Duaalisuuslauseet Lause 8 (Heikkko duaalisuus). Olkoon x primaaliongelman käypä ratkaisu, so. x X, g(x) 0, h(x) = 0, ja (u, v) R m + R m duaaliongelman käypä ratkaisu. Tällöin on voimassa f(x) θ(u, v). Todistus. Duaalifunktion määritelmän nojalla θ(u, v) = inf y X [f(y) + ut g(y) + v T h(y)] f(x) + u T g(x) + v T h(x). Koska g(x) 0 ja u 0, niin u T g(x) 0. Lisäksi h(x) = 0. Näin ollen f(x) θ(u, v). Korollaari. Primaali- ja duaaliongelmille on aina voimassa: inf x S f(x) sup θ(u, v). u 0 Korollaari 2. Jos pisteelle x S ja (u, v) R m + R m on voimassa f(x) = θ(u, v), niin x on primaaliongelman ja (u, v) duaaliongelman optimaaliset ratkaisut.

48 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT Dualiteettikuilu Heikon duaalisuuden nojalla (korollaari ) primaaliongelman optimi on aina suurempi tai yhtä suuri kuin duaaliongelman maksimi. Korollaarin 2 nojalla nämä voivat olla jopa yhtä suuria. Aina näin ei ole ao. kuvassa on tilanne, jossa duaaliongelman maksimi ei saavuta primaaliongelman minimiä. Tällöin optimiratkaisuilla on dualiteettikuilu f(x) θ(u, v) > 0. z G z=f(x) a } dualiteettikuilu y max z+uy=a u>0 Vahva duaalisuus Nyt kuitenkin konveksille optimointiongelmalle dualiteettikuilua ei esiinny. Oletetaan jatkossa, että Perusoletus : Funktiot f(x), g(x) ovat konvekseja, h(x) = Ax b ja X = R n (tai R n +). Tällöin rajoitejoukko S on konveksijoukko. Lemma 5. Olkoon α(x) : R n R, g : R n R m jatkuvasti differentioituvia ja h(x) = Ax b R l. Jos systeemillä ei ole ratkaisua, niin systeemillä α(x) < 0, g(x) 0, Ax b = 0 (3.3) u 0 α(x) + u T g(x) + v T [Ax b] 0 (u 0, u) 0 (3.4) (u 0, u, v) 0

3.2. DUAALISUUS 49 on ratkaisu. Kääntäen; Jos systeemillä (3.4) on ratkaisu siten, että u 0 > 0, niin systeemillä (3.3) ei ole ratkaisua. Todistus. Todistus sivuutetaan tässä vaiheessa. Lause 9. Oletetaan lisäksi, että matriisi A on täysiasteinen. Jos on olemassa x X siten, että niin silloin inf g(x) 0 h(x) = 0 x X g(x) < 0, Ax b = 0, f(x) = sup u 0 v R l Lisäksi, jos primaaliongelman infimum on äärellinen, niin sup u 0 v R l Jos f(x) = inf x S f(x), niin u T g(x) = 0. θ(u, v) = θ(u, v). Todistus. Määritellään γ = inf x S f(x). Silloin systeemillä f(x) γ < 0, g(x) 0, Ax b = 0 θ(u, v). (3.5) ei ole ratkaisua. Edellisen lemman nojalla on olemassa (u 0, u, v) 0, (u 0, u) 0 siten, että u 0 (f(x) γ) + u T g(x) + v T [Ax b] 0, x X. (3.6) Osoitetaan ensin, että u 0 0. Oletetaan, että u 0 = 0. Tällöin oletuksen nojalla g(x) < 0, Ax b = 0. Lisäksi epäyhtälön (3.6) mukaan on voimassa 0 u T g(x) 0 u = 0. Siten kaikille x X on voimassa: v T [Ax b] 0. Oletuksen nojalla on olemassa x X siten, että Ax b = v. Näin ollen on voimassa 0 v 2, l. v = 0, mikä on vastoin oletusta. Siis välttämättä u 0 > 0. Jakamalla epäyhtälö ([?]) u 0 :lla saadaan, että Heikon duaalisuuden nojalla θ(u, v) = inf x X f(x) + ug (x) + v T [Ax b] γ. γ θ(u, v).

50 LUKU 3. EPÄLINEAARISEN OPTIMOINNIN MENETELMÄT 3.2.3 Satulapistekriteerio Primaaliongelman Lagrange n funktio on L(x, u, v) = f(x) + u T g(x) + v T h(x). Piste (x, u, v) X R l + R m on satulapiste, jos kaikille x X, u R l +, v R m : L(x, u, v) L(x, u, v) L(x, u, v). Lause 20. Piste (x, u, v) X R l + R m on satulapiste, jos ja vain jos. L(x, u, v) = min x L(x, u, v); 2. g(x) 0, Ax b = 0; 3. u T g(x) = 0. Näin ollen piste (x, u, v) on satulapiste, jos ja vain jos x toteuttaa KKTehdot Lagrangen kertojilla u 0 ja v. 3.2.4 Duaalifunktion ominaisuuksia Yhdistetään rajoitefunktiot yhdeksi vektoriarvoiseksi funktioksi p(x) = [g(x), h(x)] T. Tällöin duaalifunktio voidaan kirjoittaa muodossa θ(w) = inf x X f(x) + mathbfwt p(x). Lause 2. Duaalifunktio θ(w) on konkaavi. Oletetaan, että osaoptimointiongelmalla on yksikäsitteinen ratkaisu. Tämä on voimassa, jos joku funktioista f(x) tai g(x) on aidosti konveksi. Tällöin on voimassa Lause 22. Duaalifunktio on differentioituva ja sen gradientti on missä f(ˆx) = min x [f(x) + w T p(x)]. θ(w) = p(ˆx),