Kimppu-suodatus-menetelmä 2. toukokuuta 2016
Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla. Globaali konvergenssi saavutetaan suodattimien avulla. 1 Johdanto Kimppu-suodatus-menetelmällä pyritään ratkaisemaan minimointitehtäviä, joissa kohdefunktio ja rajoitukset ovat epäsileitä. Ratkaistava tehtävä on muotoa min f(x) (P ) s.t. c(x) 0 x X. Funktiot f ja c ovat konvekseja ja lokaalisti Lipschitz-jatkuvia. Funktiot voivat olla epäsileitä. Joukko X on rajoitettu ja polyhedraalinen. Jokaiselle pisteelle x (k) X voidaan määritellä f (k) = f(x (k) ) ja c (k) = c(x (k) ). Samoin voidaan määritellä tiettyyn pisteeseen x (k) X kuuluvat aligradientit g f (k) = f(x (k) ) ja a c (k) = c(x (k) ). Yleistetty gradientti eli alidifferentiaali määritellään f(x) = conv{g g = lim i f(x i ), x i x, f(x i )). Tämän tyyppistä tehtävää on yritetty ratkaista useilla eri menetelmillä, joista monet ovat olleet kimppumenetelmiä tai Newtonin menetelmään perustuvia menetelmiä. Kimppumenetelmissä funktioita f ja c on approksimoitu kimpulla tukevia hypertasoja. Ongelmana on ollut globaalin konvergenssin saavuttaminen. Jos optimin etsiminen aloitetaan läheltä ratkaisua, 1
konvergenssi on taattu. Jos ratkaisun haku aloitetaan kaukaa, ei konvergenssin saavuttaminen ole yhtä helppoa. Ennen suodatusmenetelmiä, ongelmaa pyrittiin ratkaisemaan sakkofunktion avulla. Sakkofunktiomenetelmän ajatuksena on yhdistää kohdefunktio ja rajoitukset yhdeksi funktioksi. Sakkofunktion käyttö johtaa kuitenkin usein laskennallisiin vaikeuksiin. Sakkoparametrin estimointi saattaa olla vaikeaa ja liian suuri sakkoparametri aiheuttaa ongelmia. Sakkofunktiomenetelmässä myöskään useampien rajoitusten lisääminen tehtävään ei ole helppoa. Sakkofunktion käyttö voidaan välttää ottamalla käyttöön suodatin, jonka avulla saavutetaan globaali konvergenssi. Suodatusmenetelmissä optimointitehtävästä tulee kaksitavoitteinen, pyritään minimoimaan sekä kohdefunktiota että rajoitefunktiota. Suodattimen avulla päätetään, hyväksytäänkö tietty kokeilupiste iteraatioon. 2 Optimaalisuusehdot Muotoillaan seuraavaksi Fritz-John-optimaalisuusehdot, joita tarvitaan kimppumenetelmässä tehtävän (P ) ratkaisemiseen. Lemma 2.1. Olkoon x tehtävän (P ) ratkaisu. Tästä seuraa, että joukko S = {s R n s = 1, s T g < 0, g f(x ) s T a < 0, a f(x ), jos c(x ) = 0} on tyhjä. Jos jokin piste toteuttaa joukon S = ehdot, on tämä piste epäsileä Fritz-John-piste. Jos piste x on optimaalinen, niin sallittuja ja aidosti laskevia suuntia ei ole olemassa. Jos piste x ei ole optimaalinen, saadaan laskeva suunta lineaarisesta optimointitehtävästä min η,s η s.t. η f(x) + s T g, g f(x) 0 c(x) + s T a, a c(x) x + s X, s = 1. 2
Tehtävässä saattaa olla ääretön määrä rajoituksia, joten sitä on usein hyvin hankalaa ratkaista. Kimppu-suodatus-menetelmää varten määritellään f(x) ja c(x) äärellisiksi. Näin tehtävä muuttuu äärelliseksi ja sitä voidaan hyödyntää tehtävän (P ) ratkaisemisessa. Kimppu-suodatus-menetelmässä tarkastellaan tilannetta, jossa koko alidifferentiaalia ei tunneta, mutta tietty osa siitä pystytään laskemaan kaikissa pisteissä. Menetelmässä ratkaistaan jono lineaarisia optimointitehtäviä, joissa alidifferentiaaleja f(x) ja c(x) approksimoidaan ɛ-aligradienttikimpulla. ɛ-aligradientti määritellään seuraavasti: ɛ f(x) = {g R n f(y) f(x) + g T (y x) ɛ, y R n } Nyt voidaan muotoilla Lemma 2.1 uudestaan käyttäen ɛ-aligradienttia. Lemma 2.2. Olkoon piste x tehtävän (P ) ratkaisu. Tästä seuraa, että joukko S ɛ = {s R n s = 1, s T g < 0, g ɛ f(x ) s T a < 0, a ɛ c(x ), jos c(x ) = 0} on tyhjä. 3 Menetelmä Kimppu-suodatusmenetelmässä epäsileille funktioille muodostetaan leikkaustasomalli pisteessä x (k) keräämällä yhteen lähellä olevien pisteiden aligradientteja. Esitellään seuraavaksi algoritmin etenemistä ja menetelmässä tarvittavat kimpun, suodattimen ja nolla-askeleen käsitteet. 3.1 Kimppu Kimppumenetelmissä approksimoidaan epäsileää, epälineaarista optimointiongelmaa, tässä tapauksessa tehtävää (P ) leikkaustasomallilla. Menetelmässä muodostetaan pistejono {z (i) }, joka koostuu yritepisteistä ja valituista pisteistä. Valitut pisteet muodostavat jonon {x (k) }. Mallin muodostuksessa 3
tarvitaan myös apupisteitä z (i). Leikkaustasomalli parantaa lineaarista ongelmaa min η,d LP (x (k) s.t. η f, j, ρ) k,i + d T g (i) η i B (i) f 0 c k,i + d T a (i) i B (j) f x (k) + d X, d ρ. Indeksi k kertoo, kuinka mones valittu piste on kyseessä ja j määrittelee kaikkien yritepisteiden indeksin, mukaanlukien valitut pisteet. Joukko B (i) f on aligradienttikimpun g (i) indeksijoukko ja joukko B c (j) on aligradienttikimpun a (i) indeksijoukko. Oletuksena on, että pisteiden x (k) aligradientit sisältyvät tehtävän LP kimppuihin. Funktiot f k,i ja c k,i ovat niin sanottuja siirrettyjä funktioita. Siirrettyjä funktioita käytettäessä yritepisteitä ei tarvitse säilyttää erikseen. Siirrettyjen funktioiden arvot voidaan laskea seuraavasti: f k,i = f (i) + g (i)t (x (k) z (i) ) f (k) ja c k,i = c (i) + a (i)t (x (k) z (i) ) c (k). Funktioiden arvot lasketaan aina uudestaan, kun otetaan parantava askel pisteestä. Tällöin yritepiste z (i) korvataan vanhalla pisteellä x (k) ja valittu piste x (k) uudella pisteellä x (k+1). Uusi yritepiste x + = x (k) +d saadaan aina, kun ratkaistaan tehtävä LP. 3.2 Suodatin Kimppu-suodatusmenetelmän seurvaavassa vaiheessa pitäisi päättää, mitä tehdään LP -ongelmasta saaduille pisteille. Tätä varten määritellään suodattimet. Niiden avulla voidaan päättää, hyväksytäänkö vai hylätäänkö saatu piste x +. Suodatin on lista pareja (h (j), f (j) ). Suodatinta iteraatiokierrokselle k merkitään F k. Suodattimessa yksikään pari ei saa dominoida toista, toisin sanoen h (j) < h (i) tai f (j) < f (i) i j, missä h (j) rikottiin. = h(c(x (j) )) = max{0, c(x (j) )} kertoo kuinka paljon rajoitteita 4
Nyt voidaan esitellä mahdolliset kolme tilannetta, joihin voidaan algoritmissa päätyä, kun tehtävälle LP on löydetty ratkaisu. 1. Ensimmäinen vaihtoehto on, että uudella yritepisteellä päästään lähemmäs tehtävän (P ) ratkaisua. Tällöin askelta aikaisemmasta pisteestä uuteen yritepisteeseen kutsutaan parantavaksi askeleeksi. Voidaan asettaa x (k+1) = x (k) + d ja z (j+1) = x (k) + d. Kimput B valitaan uudestaan ja suodatin päivitetään. Joissain tilanteissa kasvatetaan luottamusaluetta ρ. Indeksien j ja k arvoja kasvatetaan ja ratkaistaan uusi LP -ongelma pisteessä x (k+1). 2. Toinen vaihtoehto on, että saadulla askeleella ei päästä lähemmäs alkuperäisen tehtävän (P ) ratkaisua, mutta uudet leikkaustasot pisteessä x + muuttavat ongelmaa LP (x (k), j, ρ) merkittävästi. Tässä tilanteessa joudutaan ottamaan nolla-askel. Määritellään z (j+1) = x (k) + d, kasvatetaan indeksin j arvoa ja ratkaistaan uudestaan muokattu tehtävä LP (x (k), j, ρ). 3. Kolmannessa mahdollisessa tilanteessa saadulla askeleella ei päästä lähemmäs tehtävän (P ) ratkaisua, eivätkä saadut leikkaustasot merkittävästi muuta LP -ongelmaa. Tällöin piste x + hylätään, luottamusalueen ρ sädettä pienennetään ja ongelma LP (x (k), j, ρ) ratkaistaan uudestaan. Yleisesti suodattimien avulla hyväksytään vain ne pisteet, joissa suodatin jää suodattimen itsensä avulla määritellyn askelfunktion vasemmalle ja alapuolelle. Pisteet eivät saa olla liian lähellä suodatinta. Tämän vuoksi määritellään, että piste x + on suodattimeen sopiva, jos pari (h +, f + ) toteuttaa joko ehdon h + βh (j) tai ehdon f + f (j) γh +, missä 0<γ<β<1 ovat vakioita. Tälläkään valinnalla ei voida vielä estää sitä, ettei menetelmässä lähestyttäisi ei-optimaalisia rajapisteitä. Otetaan käyttöön muutamia käsitteitä rajoittamattomasta optimoinnista. Määritellään varsinainen vähennys f = f(x) f(x + d) ja ennustettu vähennys l = f(x) η. 5
Sallitun alueen lähellä olevien pisteiden x tulee toteuttaa riittävä vähennys f σ 1 l, jos l δh. Ehdon toteutuessa askelta kutsutaan f-tyypin askeleeksi ja muutoin h-tyypin askeleeksi. 3.3 Nolla-askel Määritellään aiemmin mainittu nolla-askel vielä tarkemmin. Nolla-askel jouduttiin ottamaan, jos tietyllä askeleella ei päästä lähemmäs ratkaisua, mutta LP -ongelma muuttuu uusien leikkaustasojen myötä tarpeeksi. Nolla-askelia ottamalla kootaan menetelmässä tarvittavat kimput. Nolla-askelta otettaessa tarkasteltava piste ei muutu, mutta kimppuun lisätään uutta tietoa aligradientista. Jotta nolla-askel voidaan ottaa, tulee hylätyn pisteen x + d toteuttaa joko ehto f(x + d) η + σ 2 l tai ehto c(x + d) βτ (k), missä 0<σ 2 <1 ja σ 1 + σ 2 1 ja τ (k) = min{h (j), j} > 0. 4 Yhteenveto Menetelmässä siis etsitään yritepisteitä ratkaisemalla apuongelmaa LP. Algoritmi koostuu kahdesta iteraatiosta. Sisemmässä iteraatiossa luottamusalueen ρ sädettä pienennetään niin kauan, että löydetään joko parantava askel tai nolla-askel. Ulommassa iteraatiossa pyritään pääsemään lähemmäs sallittua aluetta ja parantamaan tehtävää LP. Kimppu-suodatin-menetelmässä suodattimen avulla haluttiin erityisesti taata globaali konvergenssi. Onkin mahdollista todistaa, että jollakin iteraatiokierroksella k saadaan piste x (k), joka on optimaalinen Fritz-John-piste ja näin ollen sallittuja ja aidosti laskevia suuntia ei enää löydetä. Piste x on siis ratkaisu tehtävälle (P ). 6
Lähteet [1] R. Fletcher ja S. Leyffer: A bundle filter method for nonsmooth nonlinear optimization. 22. joulukuuta 1999 [2] R. Fletcher, S. Leyffer ja P. Toint: A Brief History of Filter Methods. 26. syyskuuta 2006 7