Duaalisuus kokonaislukuoptimoinnissa Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki
Sisältö Duaalisuus binäärisissä optimointitehtävissä Lagrangen duaalisuus Lagrangen duaalien geometria ja ratkaiseminen Yhteenveto
Duaalisuus binäärisissä tehtävissä Perustehtävä Z IP = max c x (4.1) ehdolla: Ax = b, x {0,1} n. Lisäehto: Ax = 0, x 0 x = 0. (4.1*) (Jos lisäehto ei toteudu, niin tehtävä voidaan muuttaa muotoon, jossa se toteutuu lisäämällä uudet muuttujat ja ehdot: x i + x i+n = 1, i = 1,, n)
Duaalisuus binäärisissä tehtävissä Uusi lineaarinen tehtävä R 2^n :ssä: Z LP1 = max S N ( j S c j )w S (4.2) ehdoilla: ( j S A j -b)w S = 0, S N, S N w S = 1, w S 0. (Huom! N = {1,, n}. Komponentit w S R, missä S N muodostavat vektorin w R 2^n, koska N:llä 2 n kpl osajoukkoja S N)
Duaalisuus binäärisissä tehtävissä Jokaista osajoukkoa S N vastaa vektori x: x j = 1, kun j S, x j = 0, kun j S. Em. vektorille x pätee: c x = ( j S c j ), Ax - b = ( j S A j - b).
Duaalisuus binäärisissä tehtävissä Lause 4.1 Z IP = Z LP1
Duaalisuus binäärisissä tehtävissä Lineaarinen muunnos y S = T:S T w T. (4.3) Uusi lineaarinen optimointitehtävä R 2^n :ssä: Z LP2 = max j N c j y {j} (4.4) ehdoilla: ( j S A j - b)y S + j S A j y S {j} = 0, S N, ( j N A j - b)y N = 0, y S 0, S N, S, y = 1.
Duaalisuus binäärisissä tehtävissä Lause 4.2 Jos lisäehto (4.1*) on voimassa, eli vektori 0 on tehtävän Ax = 0, x 0 ainoa käypä ratkaisu, niin pätee: Z LP1 = Z LP2
Duaalisuus binäärisissä tehtävissä Muuttuja y = 1 on vakio, joten se voidaan poistaa tehtävästä. Uusi muotoilu tehtävälle (4.4) on siten: Z = max LP2 j N c j y {j} (4.8) ehdoilla: j N A j y {j} = b, ( j S A j - b)y S + j S A j y S {j} = 0, S, N, ( j N A j - b)y N = 0, y S 0, S N, S.
Duaalisuus binäärisissä tehtävissä Edellämainitulla tehtävällä (4.8) on lineaarinen duaalitehtävä (kanoninen LPduaali): Minimoi u b (4.9) ehdoilla: u {j} (A j - b) + u A j c j, j N, u S( j S A j -b)+ j S u S\{j} A j 0, S N, S 2.
Duaalisuus binäärisissä tehtävissä Lause 4.3 (Binäärioptimoinnin duaalisuus) Oletetaan, että lisäehto (LE) on voimassa. Tällöin pätee: (a) (Heikko duaalisuus): Jos x on käypä ratkaisu ongelmalle (4.1) ja u on käypä ratkaisu ongelmalle (4.9), niin c x u b. (b) (Vahva duaalisuus): Jos alkuperäisellä tehtävällä (4.1) on optimaalinen ratkaisu, niin myös duaalitehtävällä (4.9) on ja vastaavat optimikustannukset ovat samat.
Duaalisuus binäärisissä tehtävissä Lause 4.4 (Komplementaarinen slackness) Olkoot x ja u perustehtävän (4.1) ja sen duaalin (4.9) käypiä ratkaisuja. Tällöin x ja u ovat optimaalisia ratkaisuja jos ja vain jos: (u {j} (A j - b) + u A j -c j )x j = 0, j N, (4.10) (u S( j S A j -b)+ j S u S\{j} A j ) j S x j = 0, S N, S 2.
Duaalisuus binäärisissä tehtävissä Perustehtävä epäyhtälöehdolla: Z IP = max c x (4.12) ehdolla: Ax b, x {0,1} 2n. (Tässä oletettu, että ylimääräiset muuttujat ja ehdot (x i + x i+n = 1, i=1,, n) sisällytetty epäyhtälöön Ax b muodossa x i + x i+n 1)
Duaalisuus binäärisissä tehtävissä HUOM! Seuraavat tulokset täysin analogisia alussa esitetystä tehtävästä (4.1) johdetuille Lineaarinen tehtävä saa muodon: Z LP1 = max S N ( j S c j )w S (4.13) ehdoilla: ( j S A j -b)w S 0, S N, S N w S = 1, w S 0. (vrt. 4.2)
Duaalisuus binäärisissä tehtävissä Lineaarinen muunnos y S = T:S T w T antaa: Z LP2 = max j N c j y {j} (4.14) ehdoilla: ( j S A j -b)y S + j S A j y S {j} 0, S N, ( j N A j -b)y N = 0, y S 0, S N, S, y = 1. (vrt. 4.4)
Duaalisuus binäärisissä tehtävissä Lausetta 4.2 vastaava tulos antaa: Z IP = Z LP1 = Z LP2
Duaalisuus binäärisissä tehtävissä LP-tehtävän (4.14) (kanoninen ) LPduaalitehtävä on: Z D = min u b (4.15) ehdoilla: u {j} (A j - b) + u A j c j, j N, u S( j S A j -b)+ j S u S\{j} A j 0, S N, S 2, u S 0, S N. (vrt. 4.9) (Tälle on olemassa lauseita (4.3) ja (4.4) vastaavat tulokset)
Duaalisuus binäärisissä tehtävissä Propositio 4.1 Tehtävällä (4.15) on eksponentiaalinen määrä muuttujia ja ehtoja, mutta sille voidaan muodostaa sitä approksimoivien tehtävien jono, jolle pätee: Z IP = Z D = Z n Z n-1 Z 1 Z 0 = Z LP.
Lagrangen duaalisuus Olkoon annettu tehtävä: Z IP = min c x (4.23) ehdoilla: Ax b, Dx d, x Z n, missä A, D, b, c, d sisältävät vain kokonaislukuja.
Lagrangen duaalisuus Olkoon F (4.23):n jälkimmäiseen ehtoon liittyvä joukko F = {x Z n Dx d}. Otetaan käyttöön duaaliset muuttujat λ 1, λ 2,, λ m, (λ j R, λ j 0) jokaista ehtoa (Ax) j b j kohti. Yhdessä nämä muodostavat vektorin λ := {λ 1, λ 2,, λ m } R m, λ 0.
Lagrangen duaalisuus Saadaan tehtävä: Z(λ) = min c x + λ (b - Ax) (4.24) ehdolla: x F
Lagrangen duaalisuus Propositio 4.4 (a) Jos tehtävällä (4.23) on optimaalinen ratkaisu, niin Z(λ) Z IP, λ 0. (b) Funktio Z(λ) on konkaavi.
Lagrangen duaalisuus Saadaan tehtävä: Z D = max Z(λ) (4.25) ehdolla: λ 0.
Lagrangen duaalisuus Lause 4.8 (Heikko duaalisuus) Z D Z IP.
Lagrangen duaalisuus Lause 4.9 (4.25):n optimiarvo Z D on yhtä suuri kuin seuraavan lineaarisen tehtävän optimiarvo: Minimoi c x ehdoilla: Ax b, x conv(f).
Lagrangen duaalisuus Olkoon nyt (4.23):lla seuraava relaksaatio: Z LP = min c x ehdoilla: Ax b, Dx d, missä siis x R n.
Lagrangen duaalisuus Tällöin pätee epäyhtälöketju: Z LP Z D Z IP. (Seuraa lauseista (4.8) ja (4.9))
Lagrangen duaalisuus Esimerkki 4.3 Z IP = min 3x 1 x 2 ehdoilla: x 1 x 2-1, -x 1 + 2x 2 5, 3x 1 + 2x 2 3, 6x 1 + x 2 15, x 1, x 2 Z;x 1, x 2 0.
Lagrangen duaalisuus Esimerkki 4.3 Relaksoidaan ensimmäinen epäyhtälö: x 1 x 2-1. Muut ehdot muodostavat joukon F: F = {(1,0), (2,0), (1,1), (2,1), (0,2), (1,2), (2,2), (1,3), (2,3) }. Saadaan funktio Z(λ), λ 0: Z(λ) = min (x1, x2) F (3x 1 -x 2 + λ(-1 - x 1 + x 2 ))
Lagrangen duaalisuus Esimerkki 4.3 Tässä tapauksessa on Z(λ) pienin seuraavista funktioista: 3-2λ, 6-3λ, 2-λ, 5-2λ, -2+λ, 1, 4-λ, λ, 3, jotka vastaavat joukon F yhdeksää pistettä Saadaan: Z(λ) = -2+λ, kun 0 λ 5/3 3-2λ, kun 5/3 λ 3 6-3λ, kun 3 λ. (Nähdään, että Z(λ) todellakin paloittain lineaarinen ja konkaavi)
Lagrangen duaalisuus Esimerkki 4.3 Funktion Z(λ) maksimi Z D = max λ 0 Z(λ) = -1/3 saavutetaan kohdassa λ = 5/3.
Lagrangen duaalisuus Esimerkki 4.3 Toisaalta, voidaan tutkia alkuperäisen tehtävän lineaarista relaksaatiota: Z LP = min 3x 1 x 2 ehdoilla: x 1 x 2-1, -x 1 + 2x 2 5, 3x 1 + 2x 2 3, 6x 1 + x 2 15, x 1, x 2 R;x 1, x 2 0. Tällä on ratkaisu Z LP = -3/5 (saadaan esim. simplexillä) Alkuperäisen tehtävän ratkaisu on Z IP = 1. (löydetään esim. B&B:llä tai tutkimalla kaikki vaihtoehdot)
Lagrangen duaalisuus Esimerkki 4.3 Epäyhtälöketju: Z LP Z D Z IP toteutuu nyt arvoilla -3/5-1/3 1.
Lagrangen duaalisuus Esimerkki 4.4 (a) Minimoitavalla funktiolla 3x 1 x 2 päti: Z LP < Z D < Z IP. (b) Minimoitavalla funktiolla -x 1 + x 2 pätisi: Z LP < Z D = Z IP. (c) Minimoitavalla funktiolla -x 1 x 2 pätisi: Z LP = Z D = Z IP.
Lagrangen duaalisuus Seurauslause 4.1 (a) Z IP = Z D kaikilla kustannusvektoreilla c, jos ja vain jos: conv(f {x Ax b}) = conv(f) {x Ax b}. (b) Z LP = Z D kaikilla kustannusvektoreilla c, jos ja vain jos: conv(f) = {x Dx d}.
Lagrangen duaalien geometria ja ratkaiseminen Propositio 4.5 Funktio f: R n Ron konkaavi jos ja vain jos jokaiselle x * R n on olemassa vektori s siten, että: f(x) f(x * ) + s (x - x * ) kaikilla x R n
Lagrangen duaalien geometria ja ratkaiseminen Määritelmä 4.3 Olkoon f: R n Rkonkaavi. Vektoria s, jolle pätee: f(x) f(x * ) + s (x - x * ) kaikilla x R n, kutsutaan f:n aligradientiksi kohdassa x *. Kaikkien f:n aligradienttien joukkoa kohdassa x * merkitään f(x * ) ja kutsutaan f:n alidifferentiaaliksi kohdassa x *. (Huom. Jos f derivoituva kohdassa x *, niin f(x * ) = { f(x * ) })
Lagrangen duaalien geometria ja ratkaiseminen Propositio 4.6 Olkoon f: R n Rkonkaavi. Tällöin vektori x * R n maksimoi funktion f R n :ssä, jos ja vain jos 0 f(x * ).
Lagrangen duaalien geometria ja ratkaiseminen Olkoon K indeksijoukko, joka vastaa conv(f):n kärkipisteitä. (Merkitään tällöin k:nnetta kärkipistettä x k ). Määritellään f k = b - Ax k h k = c x k. Tällöin Z(λ) = min k K (h k + f kλ), (Huom: em. esitysmuodosta selvästi nähdään, että Z(λ) on paloittain lineaarinen.)
Lagrangen duaalien geometria ja ratkaiseminen Propositio 4.7 Olkoot Z(λ) = min k K (h k + f kλ) ja E(λ) = {k K Z(λ) = h k + f kλ}. Tällöin kaikille λ * 0 pätee: (a) Kaikille k E(λ * ), f k on funktion Z(.) aligradientti kohdassa λ *. (b) f(λ * ) = conv({f k k E(λ * )}). (ts. s on Z(.):n aligradientti, jos ja vain jos s on vektorien f k, k E(λ * ) konveksi kombinaatio.)
Lagrangen duaalien geometria ja ratkaiseminen Algoritmi 4.1 Syöte: Ei-differentiotuva konkaavi funktio Z(λ). Tuloste: Z(λ):n maksimoiva λ:n arvo ehdolla λ 0. Algoritmi: 1. Valitse alkuarvo λ 1 0; aseta t = 1. 2. Tarkista kuuluuko 0-vektori Z(λ t ):hen. Jos kuuluu, niin tällöin λ t on optimaalinen ja algoritmi pysähtyy. Muussa tapauksessa valitse jokin funktion Z(λ t ) aligradientti s t. 3. Aseta λ j t+1 = max {λ jt + θ t s jt, 0}, missä θ t on positiivinen askelparametri. Kasvata t:tä (t t+1) ja palaa kohtaan 2.
Lagrangen duaalien geometria ja ratkaiseminen Huomio 1 Käytännössä vektoriksi s t valitaan jotakin conv(f):n kärkipistettä k vastaava aligradientti f k.
Lagrangen duaalien geometria ja ratkaiseminen Huomio 2 Seuraavat ehdot takaavat algoritmin (4.1) suppenemisen kohti minimiä: t=1... θ t = ja lim t θ t = 0. Tällainen funktio on esimerkiksi: θ t =1/t. Käytännössä sillä laskettaessa suppeneminen on usein hidasta ja siksi suositaan toisentyyppisiä funktioita kuten: θ t = θ 0 α t tai θ t = f[ẑ D -Z(λ t )]/ / s t 2, missä 0 < f < 2 ja Ẑ D on optimiarvon Z D estimaatti)
Lagrangen duaalien geometria ja ratkaiseminen Huomio 3 Käytännössä kriteeri 0 Z(λ t ) saavutetaan harvoin. Usein algoritmi (4.1) pysäytetään, kun jokin ennalta-asetettu maksimimäärä iteraatioita on suoritettu.
Lagrangen duaalien geometria ja ratkaiseminen Esimerkki 4.6 Sovelletaan aligradienttimenetelmää esimerkkiin (4.3) Z(λ) = min{3-2λ, 6-3λ, 2-λ, 5-2λ, -2+λ, 1, 4- λ, λ, 3} F = {(1,0), (2,0), (1,1), (2,1), (0,2), (1,2), (2,2), (1,3), (2,3) }. Olkoot θ t = 0.8 t ja λ 1 = 5
Lagrangen duaalien geometria ja ratkaiseminen Esimerkki 4.6 Aligradienttimenetelmän kymmenen ensimmäistä iteraatioaskelta t 1 2 3 4 5 6 7 8 9 10 λ t 5,00 2,60 1,32 1,83 1,01 1,34 1,60 1,81 1,48 1,61 s t -3-2 1-2 1 1 1-2 1 1 Z(λ) t -9,00-2,20-0,68-0,66-0,99-0,66-0,40-0,62-0,52-0,39
Yhteenveto Binääriselle optimointitehtävälle on löydettävissä lineaarinen duaalitehtävä, jolle pätee vahva duaalisuus Eksponentiaalinen määrä termejä, mutta voidaan käyttää approksimaatioita Kokonaislukutehtävälle voidaan muodostaa vaihtoehtoisia Lagrangen duaaleja Yleensä pätee vain heikko duaalisuus Ratkaisuja voidaan hakea aligradienttimentelmällä