Luento 11: Rajoitusehdot. Ulkopistemenetelmät ja sisäpistemenetelmät Lagrangen välttämättömien ehtojen ratkaiseminen Newtonin menetelmällä Jos tehtävässä on vain yhtälörajoituksia, voidaan minimipistekandidaatteja etsiä ratkaisemalla tehtävän välttämättömät ehdot numeerisesti. Olkoon tehtävä: min f(x) s.t. g i (x) = 0, 1 i m missä x R n. Lagrangen välttämättömät ehdot ovat: f(x) + m λ i g i (x) = 0 (1) g(x) = 0 (2) missä g := [g 1,...,g m ] T. Yhteensä n+m yhtälöä, joista tuntemattomat x 1,...,x n, λ 1,...,λ m voidaan ratkaista. Yhtälöt (1) ja (2) muodostavat epälineaarisen yhtälöryhmän, jonka kirjoitamme lyhyesti muodossa: F(x, λ) = 0, (3) missä F : R n R m R n R m ja 0 on R n+m :n nollavektori. F:n komponentit ovat siis (1):n ja (2):n n+m yhtälöä. Voimme nyt kirjoittaa Newtonin menetelmän yhtälön (3) ratkaisemiseksi; vastaa 1-dimensioista Newtonin menetelmää, ks. luento 10, sivu 5. Olkoon Jx,λ F (x, λ) F:n Jacobin matriisi pisteessä (x, λ); derivointi sekä x:n että λ:n suhteen. Kysymyksessä on (n + m) (n + m) matriisi. Oletetaan, että käänteismatriisi on olemassa; merkitään [ Jx,λ F (x, λ)] 1. Newtonin menetelmä yhtälön (3) ratkaisemiseksi on: [ xk+1 λ k+1 ] = [ xk λ k ] [ Jx,λ F (x k, λ k ) ] 1 F(xk, λ k ) [ J F x,λ (x k, λ k ) ] 1 :lle voidaan lisäksi käyttää samantapaista sekanttipäivitystä kuin käytettiin H(x k ) 1 :lle; ks. sivu 7, luento 10. Sekanttiehto on tässä tapauksessa: 1
B 1 k [ ] xk x k 1 = F(x λ k λ k, λ k ) F(x k 1, λ k 1 ) k 1 Sakkofunktiomenetelmä eli ulkopistemenetelmä Sakko- ja estefunktiomenetelmissä (penalty and barrier function methods) rajoitusehtoja sisältävä optimointitehtävä muutetaan rajoitusehtoja sisältämättömäksi tehtäväksi, jossa kohdefunktioon on lisätty sopivalla sakkoparametrilla painotettuna rajoitusehdon rikkomisesta tuleva kustannus. Sakko- ja estefunktiomenetelmät, varsinkin logaritminen estefunktio, ovat osoittautuneet erinomaisiksi menetelmiksi ratkottaessa erittäin suuria, muuttujia n. 10 000 - useita miljoonia, esimerkiksi lineaarisia optimointitehtäviä. Sakkofunktiomenetelmässä optimipistettä lähestytään iteratiivisesti käyvän alueen ulkopuolelta ja estefunktiomenetelmässä taas käyvän alueen sisäpuolelta. Tästä nimitykset ulko- ja sisäpistemenetelmä. Olkoon tehtävässä aluksi 1 rajoitus. Sakkofunktiomenetelmässä korvataan min f(x) min x h(x) = 0 f(x) + µh 2 (x) min f(x) min x f(x) + µ[max0, g(x)}] 2 g(x) 0 missä µ on riittävän suuri luku, sakkoparametri. Huomaa: [max0, g(x)}] 2 on derivoituva funktio, jos g on, ja [max0, g(x)}] on jatkuva, jos g on; tätäkin voisi käyttää sakkofunktiona. Olkoon tehtävässä rajoitukset Tällöin sopiva sakkofunktio on g i (x) 0, 1 i m ; h i (x) = 0, 1 i l missä φ(y) := α(x) := φ(g i (x)) + 0, y 0 > 0, y > 0 l ψ(h i (x)), ψ(y) := 0, y = 0 > 0, y 0 2
Voidaan esimerkiksi valita φ(y) = [max0, y}] p ; ψ(y) = y p, p 1. Sakkotehtävänä on siis min f(x) + µ α(x), x X missä X on tehtävän määrittelyjoukko. Esimerkiksi X = R n, tai X voi sisältää rajoitusehtoja, joita ei ole sisällytetty sakkofunktioon; esim. X = x R n 0 x L}. Esimerkki Tehtävän minimi on x = 2, ja min x s.t. x + 2 0 x R α(x) := [max0, g(x)}] 2 = 0, x 2 ( x + 2) 2, x < 2 Tehtävän min f(x) + µ α(x) ratkaisu on x(µ) := 2 1/2µ, joka x, kun x R µ. Esimerkki min x 2 1 + x 2 2 s.t. x 1 + x 2 1 = 0 (x 1, x 2 ) R 2 Tehtävän minimipiste on x = ( 1 2, 1 2 ) ja f(x) = 1 2. Tehtävän min x 2 1 + x 2 2 + µ (x 1 + x 2 1) 2 välttämättömät ehdot ovat: x 1 + µ (x 1 + x 2 1) = 0 x 2 + µ (x 1 + x 2 1) = 0 Ratkaisu on x 1 (µ) = x 2 (µ) = µ/(2µ+1) = 1/(2+1/µ), joka 1 2, kun µ. Merkitään θ(µ) := f(x(µ)) + µ α(x(µ)), missä x(µ) ratkaisee sakkotehtävän parametrilla µ. Oletetaan, että pisteet x(µ), µ 0, kuuluvat R n :n kompaktiin osajoukkoon. Lause Olkoot f ja α jatkuvia funktioita X R. Tällöin min f(x) g(x) 0, h(x) = 0, x X} = lim µ θ(µ). 3
Lisäksi x(µ) x ja µ α(x(µ)) 0, kun µ. Sakkofunktiomenetelmä 0. Valitaan x 1 X, ɛ > 0, µ 1 > 0, β > 1, k = 1, go to 1. 1. Ratkaistaan min x X f(x)+µ k α(x) aloituspisteenä x k. Olkoon minimi x k+1, go to 2. 2. µ k α(x k+1 ) < ɛ stop; muuten µ k+1 = βµ k, k k + 1, go to 1. Liite alkaa Eksaktit sakkofunktiot Edellä alkuperäisen tehtävän optimi saavutetaan, kun µ. Laskenta voi vaikeutua suurilla µ:n arvoilla, ja viivahausta seuraavilla pienillä askelpituuksilla. Ns. eksakteilla sakkofunktioilla optimi saavutetaan äärellisellä µ:n arvolla. Tällaisia ovat itseisarvosakkofunktio F E (x) := f(x) + µ [ max0, g i (x)} + l h i (x) ] ja ns. täydennetty (augmented) Lagrangen funktio L(x,v) := f(x)+ v i h i (x)+µ l h 2 i(x)+ termejä epäyhtälörajoituksille; v i on Lagrangen kertoimen arvio, jota laskun kuluessa sopivasti päivitetään. Liite päättyy Estefunktiomenetelmä eli sisäpistemenetelmä Olkoon tehtävä min f(x) s.t. g(x) 0 x X missä g = [g 1,..., g m ] T. Tässä X = R n, tai X = x R n x 0} ja X voi lisäksi sisältää esimerkiksi tehtävän yhtälörajoitukset. Olkoon x tehtävän ratkaisu. Merkitään G := x R n g(x) < 0}, ja oletetaan, että G. 4
Alla oleva lause vaatii lisäksi oletuksen: x:n ympäristössä on piste x s.e. x G. On huomattava, että yleensä x on G:n reunapiste. Olkoon B : G R estefunktio: B jatkuva, B(x) 0 G:ssä, ja B(x), kun x G:n reunaa. Esimerkkejä sopivista B:istä: B(x) := m 1 g i (x) ; B(x) := ln [ g i (x)] Tutkitaan estefunktiotehtävää min f(x) + µ B(x) s.t. x X G Lause Olkoon yo. tehtävän ratkaisu annetulla µ > 0, x(µ). Oletetaan, että pisteet x(µ) kuuluvat X G:n kompaktiin osajoukkoon. Tällöin x(µ) x ; f(x(µ)) + µ B(x(µ)) f(x), kun µ 0 +. Estefunktiomenetelmä 0. Valitaan x 1 S, ɛ > 0, µ 1 > 0, β (0, 1), k = 1. 1. min x S f(x) + µ k B(x); aloituspiste x k. Olkoon ratkaisu x k+1 2. µ k B(x k+1 ) < ɛ stop. Jos ei µ k+1 = βµ k, k k + 1, go to 1. Primal-Dual Path-Following Algorithm for LP: Sisäpistemenetelmä LP:lle Lineaarinen optimointitehtävä standardimuodossa: min c T x s.t. Ax = b x 0 Olkoon x 0 tehtävän ratkaisu. Tällöin on olemassa Lagrangen kertoimet u ja v s.e. Ax b = 0 (4a) A T v + u c = 0 (4b) u T x = 0, u 0 (4c) 5
Toisaalta, jos systeemillä (4) on ratkaisu (x, u, v) s.e. x 0 ja u 0, toteutuvat tehtävän KKT-ehdot, sillä (4c):n lisäksi u i x i = 0 i. Kyseessä on tällöin myös LP:n ratkaisu, sillä KKT-ehdot ovat tässä tapauksessa myös riittävät. Tutkitaan sitten estefunktiotehtävää min c T x µ n j=1 ln x j s.t. Ax = b x R n, x > 0 Tämän KKT-ehdot ovat : x > 0 ja v s.e. Ax b = 0 A T v = c µ [1/x 1,...,1/x n ] T (5) Merkitään u := µ [1/x 1,..., 1/x n ] T. Tällöin (5):stä saadaan systeemi: Ax b = 0 (6a) A T v + u c = 0 (6b) u µ [1/x 1,...,1/x n ] T = 0 (6c) Otetaan (6c):n pistetulo x:n kanssa, jolloin saadaan u T x = nµ. Mutta koska nµ 0, kun µ 0 +, saadaan, että (6):n ratkaisu lähenee LP-tehtävän ratkaisua, kun µ 0 +. LP-tehtävä voidaan siis ratkoa estefunktiomenetelmällä, missä estefunktiotehtävän ratkaisu annetulla µ > 0 saadaan yhtälöistä (6) esimerkiksi Newtonin menetelmällä ja sekanttipäivityksellä. Lause Oletetaan, että yhtälöillä (6a) ja (6b) on olemassa ratkaisu x 0 > 0, u 0 > 0, v 0. Tällöin (6a) - (6c):llä on annetulla µ > 0 täsmälleen yksi ratkaisu W(µ) := (x(µ), u(µ), v(µ)). Lisäksi W(µ) (x, u, v) ; u T (µ)x(µ) 0, kun µ 0 +. Esimerkki Kvadraattisen ohjelmoinnin tehtävä (quadratic programming problem) min 1 2 xt Qx + c T x s.t. Ax = b x 0 voidaan ratkoa saman tyyppisellä sisäpistealgoritmilla. 6
Liite alkaa Toistettu kvadraattinen optimointi (Sequential Quadratic Programming = SQP) min f(x) s.t. g i (x) 0 ; 1 i m h i (x) = 0 ; 1 i l Huomaa Jos yllä on vain yhtälörajoituksia, voidaan KKT-ehtoihin soveltaa suoraan Newtonin menetelmää sekanttiapproksimaatiolla tuntemattomien x ja v ratkaisemiseksi. Parempi tapa on käyttää suoraan ao. SQP:tä tällöinkin. Menetelmässä epälineaarisen tehtävän Lagrangen funktiota L(x,u,v) = f(x) + u T g(x) + v T h(x) arvioidaan iteratiivisesti kvadraattisella mallilla. Ideana on muodostaa jono kvadraattisia tehtäviä s.e. x k,u k,v k alkuperäisen tehtävän ratkaisua, kun k. Askeleella k ratkaistaan suunnanhakutehtävä 1 Q P (x k,u k,v k ) : min d R n 2 dt B k d + f(x k ) T d g i (x k ) + g i (x k ) T d 0, 1 i m, h i (x k ) + h i (x k ) T d = 0, 1 i l, missä B k on DFP-arvio Lagrangen funktion Hessen matriisille pisteessä x k ; sijoita DFP-päivityskaavaan y k 1 := x k x k 1, s k 1 := L(x k,u k,v k ) L(x k 1,u k,v k ). Jos d k ratkaisee Q P (x k,u k,v k ):n Lagrangen kertoimilla u k+1,v k+1, ja jos d k = 0 x k,u k+1,v k+1 on alkuperäisen tehtävän KKT-piste. Muuten x k+1 = x k + α k d k, missä α k minimoi itseisarvosakkofunktion F E, suunnassa d k, so. α k ratkaisee min F E(x k + α k d k ); α 0 F E määritelty edellisessä liitteessä. SQP lienee käytännössä merkittävin epälineaaristen tehtävien ratkaisumenetelmä. Melkein kaikki ohjelmistot sisältävät jonkin SQP-toteutuksen; mm. Matlabin Optimization Toolboxissa ainoa menetelmä rajoitetuille tehtäville. Liite päättyy 7