Oppgave1: SIF5/757 Optimeringsteori, 5 timer Ingen hjelpemidler. (a) Forklar hva som menes med en konveks funksjon, og argumentér for at alle minima til en konveks funksjon på en konveks mengde er globale og samlet i en konveks mengde. (b) Finn alle minima til funksjonen f(x; y) = x + y yx y + x + 5. (c) Skisser hvordan en kan utnytte resultatet i (a) og (b) til å nne alle løsningene av min f(x); Axb der f(x) = f(x; y) er funksjonen i (b), A R m, b R m, og vi vet at minst en av løsningene i (b) tilfredsstiller Ax b. Oppgave (a) Skriv opp iterasjonsformelen for steepest descent anvendt på problemet min x fx t Qx b t xg; der Q er positiv de nitt. Vis at hvis vi starter i et punkt x der gradienten g tilfeldigvis er parallell med en egenvektor v til Q, vil metoden konvergere på én iterasjon. (b) Forklar kort loso en bak metoder basert på en trust region. Oppgave (a) Skriv opp Kuhn-Tuckers teorem. Hvordan forenkles teoremet når føringene er lineære? Sett opp Kuhn-Tuckers ligninger for problemet min c t x; Ax = b; x; når en bruker som Lagrangemultiplikatorer for likhetsføringene og s som Lagrangemultiplikatorer for ulikhetsføringene. Vis også at det duale problemet leder til de samme ligningene. (b) Bestem minimumsverdien av når max bt ; A t c; 5x 1 + x + x + x x 1 + + x + x = 1; x 1 + x + + x = 1; x 1 ; x ; x ; x :
(Vink: Løs det duale problemet gra sk) Oppgave (a) Funksjonalen er de nert på mengden J(y) = f( _y(t) + a) + by(t)gdt D = fy C [; T ]; y() = g: Vis at J er strikt konveks. Angi også Eulerligningen med randkrav i og T for problemet min J(y): yd (b) En løper er i stand til å produsere en skyvkraft mot underlaget, men på grunn av indre energitap i kroppen, er skyvkraften en ikke-lineær funksjon av e ekten, W (t). Vi skal anta at u _ W 1=, der u er skyvkraft pr. kilo kroppsmasse. Løperen ønsker å løpe opp en jevnt skrånende bakke med helning og lengde L på en viss tid T med minst mulig energiforbruk. Løperens hastighet, y(t), er gitt av Newtons lov _y(t) = u(t) g ; der g = g sin. Vi ønsker dermed å minimere R T I tillegg er y() = og J(y) = u (t)dt = y(t)dt = L: W (t)dt, dvs. ( _y(t) + g ) dt: Vis, ved hjelp av resultatet i (a) at den entydige løsningen av problemet er gitt ved y(t) = L T + g L t T T + g t : (Vink: Sett opp ligningene og vis at denne løsningen passer) Oppgave 5 En annen løper skal krysse et att, åpent område fra (x 1 ; ) til (x ; ); x 1 < x, på kortest mulig tid. Det er stri vind, slik at løpshastigheten hans, v, er sterkt avhengig av løpsretningen. (a) Vis at hvis han løper slik at y er en entydig funksjon av x mellom x 1 og x, leder dette til der min Z x x 1 F (y (x))dx; p 1 + y F (y ) = ; v(y ) y(x 1 ) = y(x ) = :
Finn løsningen når F (z) er forskjellig fra for alle z. (b) Hvordan blir løsningene hvis det blåser så kraftig at det ikke er mulig å løpe mer enn 5 opp mot vinden? Anta at vinden blåser i negativ x-retning, at F (z) > for jzj > 1, og at F (z ) = F ( z ) =.
SIF5/757 Optimeringsteori, Våren Løsning med kommentarer Oppgave 1: (a) Alle argumentene står i N&W. En funksjon de nert på en konveks mengde, f :! R, er konveks hvis for alle x 1, x og alle, 1, f(x 1 + (1 )x ) f(x 1 ) + (1 )f(x ): Vi må strengt tatt forutsette at det ns minima. Anta at x 1 er et minimum i som ikke er globalt, og at f(x ) er mindre enn f(x 1 ). Siden f er konveks, nner vi for alle, < < 1, f(x 1 + (1 )x ) f(x 1 ) + (1 )f(x ) < f(x 1 ) + (1 )f(x 1 ) = f(x 1 ): Dette betyr at f avtar når vi går ut fra x 1 i retning x, noe som er i strid med antakelsen om at x 1 var et minimum. Hvis x 1 og x er to ulike globale minima, må f(x 1 ) = f(x ); og funksjonen må være konstant på forbindelseslinja mellom x 1 og x. Mengden av globale minima er følgelig konveks (og består av kun ett punkt hvis f er strikt konveks). (b) Gradienten til f(x) er og Hessmatrisen er rf = F = x y + y x med egenverdier og. Gradienten er null langs linja y = x + 1; og siden rf eksisterer for alle (x; y), må alle minima ligge på denne linja. En ser lett at f(x; x + 1) =, og følgelig vil mengden av minima være Funksjonen er dessuten konveks. Det er også mulig å argumentere ut fra at ; ; = f(x; y); y = x + 1g: f(x; y) = x + y yx y + x + 5 = (x y) + (x y) + 5 siden z + z + 5 har et entydig minimum for z = 1: (c) Mengden = f(x; y); Ax bg er et snitt mellom halvplan og følgelig selv konveks. Siden vi vet at \ 6= ;, vil løsningsmengden bestå av en (og bare en) bit av linja y = x + 1. Vi kan derfor føre inn y = x + 1 i ulikhetene og får enkle éndimensjonale ulikheter på formen a i x b i ; i = 1; ; m. Det er nå lett å nne et intervall av x-er som passer i alle ulikhetene, og tilslutt biten av linja y = x + 1. Oppgave
(a) Formelen er utledet i N&W. Gradienten i punktet x k er g k = Qx k k i formelen x k+1 = x k k g k ved å forlange at gk+1g t k = (Q(x k k g k ) b) t g k = : Dette gir k = gk t g k=(gk t Qg k) og b, og vi bestemmer x k+1 = x k gk t g k gk t Qg g k ; k = ; 1; k Anta at g = v. Da blir etter formelen ovenfor x 1 = x v; og følgelig g 1 = Q(x 1 ) b = Q(x v) b = g v = : Dermed blir x 1 = x, siden løsningen nettopp er gitt av Qx = b, og Q er ikke-singulær. (b) Metoden er iterativ der en for hver iterasjon lager en kvadratisk tilnærmelse av funksjonen rundt eksisterende løsning, x k ; m(p) = f k + rf t kp + 1 pt Bp: Matrisen B er en approksimasjon til Hessmatrisen. Problemet min m(p) løses (tilnærmet) på en trust region, for eksempel fp; jjpjj g: Størrelsen på styres av anslått og virkelig minskning av funksjonen, = f(x k + p k ) f k : m(p k ) f k Hvis er i nærheten av 1, tillates å øke. Hvis blir for liten, indikerer dette at området er for stort, og minskes. Oppgave (a) Vi betrakter problemet Kuhn-Tuckers teorem: min f(x) c i (x) ; i I; c i (x) = ; i E: Hvis x er et minimumspunkt for problemet og gradientene til de aktive føringene er lineært uavhengige i x, ns en vektor av Lagrangemultiplikatorer slik at rf(x ) = X i rc i (x ); ia(x ) i c i (x ) = ; i ; i I: Indeksene for de aktive føringene er A(x ) = f i ; c i (x ) = ; i I [ Eg. (Merk at en kan si at i = for alle ikke-aktive føringer, og det er naturligvis underforstått at føringene holder i x ).
Hvis føringene er lineære, c i (x) = a t ix+b i, er det ikke nødvendig å anta lineær uavhengighet (LICQ). I problemet min c t x; Ax = b; x er gradienten til f lik c, gradientene til (de m radene i) Ax b er A T, og gradientene til de n betingelsene x i enhetsmatrisen I av dimensjon n n. I et eventuelt minimumspunkt x blir dermed KT-ligningene c = A t + s; s i x i = ; s i ; i = 1; ; n; (1) Ax = b; x: Det duale problemet er karakterisert ved at det har de samme KT-ligningene. Vi sjekker dette for det oppgitte problemet etter å ha skrevet det om til min ( b) t ; c A t : Gradienten til objektfunksjonen er b og gradienten til føringen A. Med x som Lagrangemultiplikator blir KT-ligningene b = Ax; x i (c A t ) i = ; x i : Hvis vi setter s = c A t, får vi nettopp ligningene i (1). (b) Siden vi kun skal nne verdien på objektfunksjonen og ikke x-ene, er det nok å løse det duale problemet som er oppgitt under punkt (a): 6 1 1 1 1 1 max( 1 + ); 7 1 5 6 Løsningen nnes enklest gra sk som vist på guren. Vi ser at 1 = 1= og =, og maksimum av 1 + blir følgelig.5. Dette er også løsningen for det opprinnelige problemet (dualitetsteoremet). Merk forøvrig at hvis en ikke kjenner til dualitetsteoremet, er det nå enkelt å løse ut resten av de ukjente i KT-ligningene: s = c A t = 6 5 1 7 5 6 1 1 1 1 1 7 5 5 1 7 5 : 1= = 6 1 7 5 :
λ λ 1 Figure 1: Ulikhetene er indikert med linjer og mulig område med gråtone. Konturlinjene for objektfunksjonen er stiplede linjer, og løsningen ligger som vi ser i punktet (1=; ). Siden s i x i = ; i = 1; ; ; blir bare x og x 6=. Fra Ax = b nner vi da x 1 = ; x = 1=; x = ; x = 1=; og tilslutt 5x 1 + x + x + x = 7=, som forventet. Oppgave (a) Integranden i funksjonalen er på formen f(y; z) = (z + a) + by. Denne funksjonen er sterkt konveks siden f(y + v; z + w) f(y; z) = (z + a)w + w + bv @f @y v + @f @z w = bv + (z + a)w; og likhet krever w =. Dette impliserer at J er strikt konveks. Funksjonene i den oppgitte mengden har ingen fast verdi for t = T. Her er det derfor nødvendig å føre inn en naturlig randbetingelse f y (y(t ); y (T )) = (y (T ) + a) =. Husk at dette ser en fra kravet om at J(y; v) =, siden J(y; v) = @f @y v + @f @y v dt = Eulerligningen og randkravene blir (b) @f @y v T y b = ; y() = ; y (T ) + a = : d @f dt @y @f v(t)dt. @y
Vi skal minimere under føringen J(y) = G(y) = ( _y(t) + g ) dt y(t)dt = L og startbetingelsen y() =. Her setter vi opp Lagrangefunksjonalen L(y; ) = J(y) + G(y) = f( _y(t) + g ) + ygdt; og gjenkjenner problemet fra (a). Hvis vi nner en løsning av den tilhørende Eulerligningen, og vi er i stand til å tilfredsstille føringen, har vi funnet en entydig løsning av problemet (Lagrangefunksjonalen er strikt konveks i følge (a)). Eulerligningen og randkrav blir Vi ser at generell løsning vil være på formen og kan derfor håpe på at y = ; y() = ; y (T ) + g = y(t) = t + At + B; = T L T + g : Det er lett å se at oppgitt løsning da tilfredsstiller både Eulerligningen og randkravene. Videre er L T + g L t T T + g t dt = L: Oppgave 5 (a) Eulerligningen for funksjonalen blir dvs. d dx F y = ; d F dy y = : Siden vi kunne anta d F dy 6=, må følgelig y = : Løsningen blir det rette linjestykket mellom (x 1 ; ) og (x ; ), uansett fra hvilken vei vinden blåser. (b) Argumentet bryter sammen hvis F ikke er de nert for alle z. Hvis det er umulig å løpe mer enn 5 opp mot vinden, må en nødvendigvis løpe ut til siden. Et tilsvarende problem er naturligvis velkjent for alle seilere og windsurfere! Det som teller er å bevege seg i en
retning som gjør at en vinner mest mulig meter i x-retning på kortest mulig tid. Dette kan om ønskelig formuleres Z x min F (y (x))dx; x 1 der p 1 + y F (y ) = ; v(y ) y(x 1 ) = ; y(x ) fri: Så lenge en holder seg til retninger som er løpbare, er F 6=, og løsningen av Eulerligningen fremdeles ei rett linje. Randkravet ved x blir p! d 1 + y = : dy v(y ) Dette kunne en ellers ha tenkt seg til uten videre, siden det intuitivt må nnes en optimal retning å løpe i, og anvendt tid for en rett vei nettopp er gitt ved T = S v = (x x 1 ) p 1 + y : v Veien blir y = a(x x 1 ); der a er løsningen av p 1 + a v(a) = z : Siden det var oppgitt at F (z ) = F ( z ) =, er det nærliggende å tenke seg at en løper ut til siden i optimal retning til x = (x 1 + x )=. Deretter snur en og løper, med samme vinkel i forhold til vinden, fram til x. Hvis en ikke bruker tid på å snu og akselerere, er det naturligvis uendelig mange sikk-sakk-veier som alle gir samme anvendte tid. Teoretisk behøver ikke problemet ha noen løsning. Hvis v øker raskt nok når jy j! 1; p kan det tenkes at d dy 1 + y =v(y ) aldri blir null. Hvis også p 1 + y =v(y )! ; kan en komme fra x 1 til x på så kort tid som en ønsker! I praksis vil, som i alle fall windsurfere kjenner til, vendingene kunne ta en viss tid (!), og det er følgelig ønskelig med så få som mulig.