Flerdimensionell analys (FMA 430) Frank Wikström Föreläsning 12 Optimering på icke-kompakta områden, forts. Man kan använda andra tekniker än den vi tittade på igår: större genom att gå en kort bit i längs kurvan i v⃗:s riktning, och mostvarande om f⃗v′ < 0. Med andra ord är 0 = f⃗v′ = ∇ f (a, b) v⃗, Exempel Bestäm största och minsta värde (om de existerar) av f (x, y) = x 2 e −x−y på mängden D: x ≥ 0, 0 ≤ y ≤ 2. dvs ∇ f (a, b) måste vara vinkelrät mot tangentvektorn v. Men det är samma sak som att säga att ∇ f (a, b) måste vara en normalvektor till kurvan. Å andra sidan vet vi redan att ∇д(a, b) är en normalvektor till kurvan, så ∇ f (a, b) och ∇д(a, b) måste vara parallella: Lösning. Börja med att fixera x = a. Låt д(t) = f (a, t) = a 2 e −a−t som är avtagande i t. Eftersom vi bara är intresserade av 0 ≤ t ≤ 2, så ser vi att funktionen д har sitt största värde för t = 0, д(0) = a 2 e −a och sitt minsta värde för t = 2, д(2) = a 2 e −a−2 . Det är klart att f ≥ 0 på D och f (0, 0) = 0, så detta måste vara funktionens minsta värde. Vi fokuserar på det största värdet. Sätt h(a) = a 2 e −a ; denna funktion mäter allstå enligt ovan det största värdet av f på sträckan x = a, 0 ≤ y ≤ 2. Hur beror detta största värde av a? Vi undersöker funktionen h. Derivering ger h′ (a) = 2ae −a − a 2 e −a = a(2 − a)e −a . En teckentabell för derivatan av h visar att a h′ h 0 0 + ↗ 2 0 ⌢ ∇д(a, b) v⃗ (a, b) д(x, y) = c ∇ f (a, b) Ett nödvändigt villkor för att f ska ha ett största eller minsta värde längs kurvan i punkten (a, b) är alltså att ∇ f (a, b) = λ∇д(a, b) för något tal λ. Detta tal kallas Lagrangemultiplikator. För att hitta tänkbara max och min, så vill vi alltså lösa ekvationssystemet ⎧ ⎪ ⎪∇ f (x, y) = λ∇д(x, y) ⎨ ⎪ ⎪ ⎩ д(x, y) = c − ↘ Eftersom h(0) = 0, h(2) = 4e −2 och h(a) → 0 då a → ∞, så ser vi att f har ett största värde h(2) = 4e −2 som antas i punkten (2, 0). ◻ Det fösta villkoret kommer ur argumentet ovan; det andra ur att punkten (x, y) faktiskt ska ligga på kurvan. Vi löser några exempel för att illustrera teorin. Optimering med bivillkor Exempel Hitta största/minsta värde av funktionen f (x, y) = x 2 + y under bivillkoret x 2 + y 2 = 1. Ibland behöver man kunna optimera en funktion, där man dessutom har en begränsing på x och y, ofta handlar det om att (x, y) ska ligga på en given kurva eller yta. Vi har faktiskt redan stött på denna typ av problem i samband med ”vanlig” optimering. När vi letar efter största/minsta värde på randen av området, så är det faktiskt ett max/min-problem med bivillkor. Ett sätt att lösa detta är att göra som vi gjorde igår, dvs att parametrisera kurvan och reducera problemet till en max/min-problem i en variabel. Det finns ett annat sätt att angripa sådana problem med hjälp av så kallade Lagrangemultiplikatorer. Vi fokuserar på följande problem: Låt f (x, y) vara en funktion. Hitta det största och minsta värdet på f under bivillkoret д(x, y) = C. Vi ska alltså leta största och minsta värde av f längs en nivåkurva д = C. Om denna kurva är kompakt, så kan vi vara säkra på att funktionen f verkligen har ett största och minsta värde. Titta på nedanstående figur: Lösning. Här skulle vi förstås kunna parametrisera cirkeln och lösa problemet som ett envariabelproblem, men låt oss ändå se hur det blir med den ”nya” metoden. Vi kan ta д(x, y) = x 2 + y 2 (och c = 1). Enligt ovan, så vill vi lösa ekvationssystemet ⎧ ⎪ ⎪∇ f (x, y) = λ∇д(x, y) ⎨ ⎪ ⎪ ⎩ д(x, y) = c ⇔ ⎧ ⎪ 2x = 2λx ⎪ ⎪ ⎪ ⎪ ⎨1 = 2λy ⎪ ⎪ ⎪ 2 2 ⎪ ⎪ ⎩x + y = 1 (1) (2) (3) Ur (1) följer att λ = 1 eller x = 0. Vi delar upp i två fall. 2 Fall 1: λ√= 1. Ekvation (2) ger då y = 1/2 och√insättning i (3) ger √x = 3/4, dvs x = ± 3/2. Vi får två tänkbara punkter: ( 3/2, 1/2) och (− 3/2, 1/2). Fall 2: x = 0. Ekvation (3) ger då direkt y = ±1 och ytterligare två punkter av intresse: (0, 1) och (0, −1). Vi beräknar de fyra relevanta funktionsvärdena: √ f ( 3/2, 1/2) = 5/4 √ f (− 3/2, 1/2) = 5/4 v⃗ f (0, 1) = 1 (a, b) f (0, −1) = −1 д(x, y) = c Anta att vårt problem har en lösning i punkten p = (a, b), vi kan till exempel anta att f antar sitt största värde i punkten p. Låt v⃗ vara en tangentvektor till kurvan д = c. Eftersom vi antar att f har sitt största värde (längs kurvan) i punkten p, så måste f⃗v′ = 0. Varför? Om f⃗v′ > 0, så går det att göra funktionsvärdet av f Största värde blir alltså 5/4 (som antas i två punkter) och minsta värde −1. ◻ Metoden med Lagrangemultiplikatorer leder ofta till väldigt krångliga ekvationssystem. Ett knep som ofta förenklar beräkningarna är att utnyttja följande resultat (från linjär algebra, tänk efter!): ∇ f = λ∇д ⇔ det [ f x′ дx′ f y′ ] = 0. дy′ Vi kan alltså direkt eliminera λ ur ekvationnsystemet, och eftersom vi vanligen inte bryr oss om värdet på λ, så är det ingen fara skedd. Exempel Hitta största och minsta avstånd till origo från kurvan Lösning. Kurvan x 2 + x y + y 2 = 3 är en ellips, men vi är bara intresserade av den del av ellipsen som ligger i höger halvplan. Vi avvaktar med villkoret x ≥ 0 och hanterar problemet som ovan. Sätt д(x, y) = x 2 + x y + y 2 . Vi börjar med att beräkna gradienten av f respektive д: x 4 + x 2 y 2 + 2y 4 = 1. ∇ f = (1, 1) Lösning. Här måste vi införa vår egen funktion f . √ Observera att avståndet mellan punkten (x, y) och origo ges av r(x, y) = x 2 + y 2 , så egentligen vill vi hitta min och max av r, men rottecknet gör det onödigt krångligt att derivera. Vi väljer i stället f (x, y) = x 2 + y 2 . Observera att r och f antar sina största och minsta värden i samma punkter! (Varför?) Vi löser med hjälp av Lagrange metod: För det första har vi ∇д = (2x + y, x + 2y) Villkoret ∇ f = λ∇д kan med determinantknepet skriva som 1 det [ 2x + y 1 ]=0 x + 2y ⇔ y − x = 0. Vi vill alltså lösa ekvationssystemet ∇ f = (2x, 2y) ⎧ ⎪ ⎪y − x = 0 ⎨ 2 2 ⎪ ⎪ ⎩x + x y + y = 3. ∇д = (4x 3 + 2x y 2 , 2x 2 y + 8y 3 ) Villkoret ∇ f = λ∇д kan med knepet ovan skrivas om som 2x det [ 3 4x + 2x y 2 Eftersom y = x (ur den första ekvationen) så ger den andra ekvationen att 3y 2 = 3, dvs y = ±1. Vi får två intressanta punkter (1, 1) och (−1, −1), men den andra kan förkastas, eftersom den inte uppfyller att x ≥ 0. Vi beräknar funktionsvärdet i den enda kvarvarande punkten: 2y ]=0 2x 2 y + 8y 3 eller, efter utveckling av determinanten f (1, 1) = 2. 2 3 3 2 2x(2x y − 8y ) − 2y(4x + 2x y ) = 0 2 2 4x y(3y − x ) = 0. ⇔ Är detta största eller minsta värdet? Nu får vi inte glömma att bivillkoret i detta problem var en kurva med ”ändpunkter”. √ Ändpunkterna ges av x = 0, vilket insatt i kurvans ekvation ger y = ± 3 och vi måste beräkna funktionsvärdet även i dessa punkter: Vi hamnar alltså i ekvationssystemet ⎧ ⎪ ⎪4x y(3y 2 − x 2 ) = 0 ⎨ 4 2 2 4 ⎪ ⎪ ⎩x + x y + 2y = 1. √ f (0, Ur den första ekvationen ser vi att det finns tre möjligheter: x = 0, y = 0 eller x 2 = 3y 4 . √ Fall 1) x = 0. Den andra ekvationen ger då 2y 4 = 1, dvs y = ±1/ 4 2. Fall 2) y = 0. Den andra ekvationen ger x 4 = 1, dvs x = ±1. Fall 3) x 2 = 3y 2 . Den andra ekvationen ger 9y 4 + 3y 4 + 2y 4 = 1, dvs √ 4 y = ±1/ 14. √ Det återstår att beräkna r = x 2 + y 2 för de olika punkterna som vi hittat: √ √ 4 4 r(0, ±1/ 2) = 1/ 2 r(±1, 0) = 1 √ √ √ √ 4 4 4 r(± 3/ 14, ±1/ 14) = 2/ 14. √ √ Det största värdet blir 2/ 4 14 (eftersom 4 14 < 2) och det misnta värdet √ 1/ 4 2. ◻ I exemplen ovan har bivillkoret svarat mot en kompakt kurva. (Kontrollera!) Om bivillkoret inte är kompakt, så är det inte säkert att det finns något största och minsta värde utan det måste i så fall kontrolleras. (Ett par av övningsuppfigerna är av detta slag.) En ytterligare komplikation som kan inträffa är att kurvan д(x, y) = c har ”ändpunkter”. Exempel Vilka värden kan funktionen f (x, y) = x+y anta då x 2 +x y+y 2 = 3 och x ≥ 0? y 2 1 x 2 −2 −1 −2 √ 3) = 3 och √ √ f (0, − 3) = − 3. Slutligen jämför vi de tre tänkbara punkterna och kan dra slutsatsen att funktionens största värde √ √ blir 2 (i punkten (1, 1) och dess minsta värde blir − 3 (i punkten (0, − 3)). Eftersom funktionen f är kontinuerlig och kurvan är sammanhängande, så √garanterar satsen om mellanliggande värde att f ◻ antar alla värden mellan − 3 och 2. Se kursboken för ett par exempel som visar hur metoden fungerar för funktioner av fler än två variabler, och hur man kan göra om man har fler än ett bivillkor.