Ellipsoidimenetelmä Kokonaislukuoptimointi Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 1
Sisällys Ellipsoidimenetelmän geometrinen perusta ja menetelmän idea Formaali ellipsoidimenetelmä ja menetelmän algoritmi rajoitetulle tehtävälle Rajoitusten relaksointi Ellipsoidimenetelmän kompleksisuus Ellipsoidimenetelmä optimoinnissa Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 2
Ellipsoidimenetelmä lyhyesti Ellipsoidimenetelmällä voidaan selvittää onko polyhedraalijoukko epätyhjä (käypyysongelma). P={x R n Ax b} Yo. tiedon avulla voidaan ratkaista polynomisessa ajassa LP tehtävä, jolla on eksponentiaalinen määrä rajoitteita. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 3
Menetelmän geometrinen perusta Määritelmä: Vektorijoukkoa E R n muotoa E=E x, D ={x R n x z ' D 1 x z 1}, missä D on symmetrinen positiividefiniitti n n matriisi kutsutaan ellipsoidiksi keskipisteenä z R n. Määritelmä: Jos D on ei singulaarinen n n matriisi ja b R n, niin kuvausta S x =Dx b kutsutaan affiiniksi muunnokseksi. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 4
Olkoon L R n. Joukkoa S L ={y R n y =Dx b, x L} kutsutaan L:n kuvajoukoksi affiinilla muunnoksella S. Määritellään joukon L tilavuus Vol(L) kaavalla Vol L = x L d x. Propositio 1: Vol(S(L)) = det(d) Vol(L). Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 5
Ellipsoidimenetelmä Tavoite: selvittää, onko annettu polyhedraalijoukko P={x R n Ax b} epätyhjä Menetelmän idea: luodaan sarja x t keskeisiä ellipsejä E t siten, että P sisältyy jokaiseen näistä. Jos x t P niin P on epätyhjä ja algoritmin ajaminen lopetetaan. Jos x t P niin P:ssä on rajoitus, jota rikotaan, eli a' x t b, missä a on jokin matriisin A rivi ja b vastaava b:n alkio Jokaiselle x P pätee a' x b a' x a' x t P {x R n a' x a' x t }. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 6
Joukko P sisältyy siis ellipsoidin ja jonkin ellipsoidin keskipisteen kautta kulkevan puolitason leikkaukseen. Nyt voidaan löytää uusi ellipsoidi E t 1, johon P sisältyy ja jonka tilavuus on oleellisesti pienempi kuin E t :n. Toistamalla prosessia joko löydetään P:n sisältämä piste tai tuotetaan ellipsoidi, johon P kuuluu, mutta jonka tilavuus on hyvin pieni P tyhjä joukko. E t Esitetään seuraavaksi lause, jonka avulla E t 1 löydetään. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 7
Lause 1: Olkoon E=E z, D ellipsoidi R n :ssä ja olkoon a nollasta poikkeava vektori. Asetetaan D = z = z 1 n 1 n2 n 2 1 D 2 n 1 Da a' Da Daa' D a' Da, missä D on symmetrinen ja positiivisemidefiniitti matriisi ja siten E '=E z, D on ellipsoidi. Nyt pätee E H E ', missä H on puolitaso H={x R n a' x a' z} Vol E ' e 1/ 2 n 1 Vol E. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 8
Formaali ellipsoidimenetelmä Oletetaan, että tarkasteltavalle polyhedraalijoukolle P pätee Vol P v tai P= P on rajoitettu, eli E 0 =E x 0, r 2 I :Vol E 0 =V ja P E 0 Lisäksi oletetaan, että E 0, v ja V tunnetaan, sekä että laskutoimituksia voidaan tehdä mielivaltaisella tarkkuudella. Tehdyt oletukset eivät ole välttämättömiä (nähdään myöhemmin). Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 9
Syöte: Ellipsoidimenetelmän algoritmi Polyhedraalijoukon P määrittelevät parametrit A ja b. Luku v siten, että P on joko tyhjä tai Vol(P) > v. Pallo E 0 =E x 0, r 2 I siten, että Vol E 0 V ja P E 0. Ulostulo: piste x P jos P tai väite, että P=. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 10
Algoritmin kulku: Alustus: Olkoon t '=2 n 1 log V /v, E 0 =E x 0, r 2 I, D 0 =r 2 I,t=0. Iteroitava silmukka: (a) Jos t > t', lopeta, P= (b) Jos x t P, lopeta, P (c) Jos x t P, etsi rikottu rajoitusehto, eli i s.e. a' i x t b i. (d) Aseta H t ={x R n a' i x a' i x t }. Etsi ellipsoidi E t 1 =E x t 1, D t 1. (e) t := t + 1, goto (a). Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 11
Lause: Aiemmin esiteltyjen oletusten vallitessa ellipsoidimenetelmä joko tuottaa P:hen kuuluvan pisteen tai osoittaa, P on tyhjä joukko. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 12
Ellipsoidimenetelmän oletusten relaksointi Tarkastellaan ensin oletusta, että P on rajoitettu. Propositio 2: Olkoon kokonaislukualkioinen matriisi ja b R n. Merkitään U:lla itseisarvoltaan suurinta A:n tai b:n alkiota. Nyt Jokainen A R m n P={x R n Ax b} :n ekstreemipiste toteuttaa ehdon nu n x j nu n, j=1,...,n Jokainen standardimuotoisen polyhedraalijoukon P={x R n Ax b, x 0} ekstreemipiste toteuttaa ehdon mu m x j mu m, j=1,...,n Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 13
Seuraus 1: Jokaisen polyhedrin P kaikki ekstreemipisteet sijaitsevat rajoitetussa polyhedrissä P B ={x P x j nu n, j=1,...,n}. Seuraus 2: Jos A:n rivit muodostavat epätyhjä joss sijasta :hen. P B P B R n :n kannan, niin P on on epätyhjä algoritmia voidaan soveltaa P:n Huomautus: P B E 0,n nu 2n I =E 0 Vol E 0 2n n nu n2 =V. sekä Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 14
Tarkastellaan seuraavaksi oletusta, että P on joko tyhjä tai että Vol(P) > v. Propositio 3: Olkoon P, A, b ja U kuten propositiossa 2. Asetetaan = 1 n 1 U n 1 2 n 1 P ={x R n Ax b e}, missä e= 1,1,...,1 '. Jos P on tyhjä niin P on tyhjä. Jos P on epätyhjä, niin Vol P v. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 15
Propositio 4: Propositiossa 3 esiintyvä luku v voidaan muodostaa kirjoittamalla v=n n nu n2 n 1. Jos P ei toteuta ehtoa Vol(P) > v, voidaan tarkastella polyhedraalijoukkoa. P Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 16
Ellipsoidimenetelmän kompleksisuus Jos polyhedraalijoukko P toteuttaa ellipsoidimenetelmän ehdot, niin ellipsoidimentelmän vaatimien iteraatioiden yläraja on O(n log(v/v)). Voidaan valita V = 2n n nu n2, v=n n nu n2 n 1. iteraatioita maksimissaan O n 4 log nu. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 17
Mielivaltaisesta P täytyy ensin muodostaa ehdot toteuttava joukko P B,. Voidaan osoittaa, että tällöin iteraatioita vaaditaan enintään O n 6 log nu. Seuraus: Kokonaislukudatainen lineaarinen käypyysongelma voidaan ratkaista polynomiajassa! Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 18
Ellipsoidimenetelmä optimoinnissa Tarkastellaan LP tehtävää ja sen duaalia: min c ' x max b' p s.t. Ax b s.t. A 'p=c p 0 Vahvan duaalisuuden perusteella primaali ja duaalitehtävillä on olemassa ratkaisu, joss lineaarisella systeemillä b' p=c ' x, Ax b, A' p=c, p 0 on ratkaisu. Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 19
Merkitään Q:lla em. yhtälöiden määräämää polyhedriaalijoukkoa. Ellipsoidimenetelmän avulla voidaan ratkaista onko Q epätyhjä. Jos Q ei ole epätyhjä, niin menetelmä tuottaa pisteen x, p Q, joka on LP tehtävän ratkaisu. Seuraus: Kokonaislukudatainen lineaarinen optimointitehtävä voidaan ratkaista polynomiajassa! Sovelletun matematiikan lisensiaattiseminaari Kevät 2008 / 20