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.