Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Clas Rydergren, ITN
TNK049 Optimeringslära
Föreläsning 10
Optimalitetsvillkor för icke-linjära problem
Icke-linjär optimering med bivillkor
Frank–Wolfe-metoden
Agenda
• Optimalitetsvillkor för icke-linjära problem
• Grafisk tolkning (kap 11.1)
• Nödvändiga och tillräckliga villkor för optimalitet (kap 11.3)
• Formulering av Karush–Kuhn–Tucker (KKT)-villkoren (kap 11.4)
• Icke-linjär målfunktion och linjära bivillkor
• Frank–Wolfe-metoden (kap 12.1)
2
Ascent- och descentriktning
• Betrakta
x
då
min
• I punkten är gradienten den riktning i vilken funktionen växer mest.
• Alla riktningar som avviker mindre än 90 º från gradienten är ascentriktningar.
• Detta kan tecknas: d är en ascentriktning till f i .
)(xf
0)( dxf Tx
x• I punkten är riktningen den riktning i vilken funktionen avtar mest.
• Alla riktningar som avviker mindre än 90 º från är descentriktningar.
• Detta kan tecknas: d är en descentriktning till f i .
)(xf
0)( dxf Tx
)(xf 1 ,)( ,...,mibxg ii
)(xf
3
Exempel: Ej optimum
Tillåtet område här!
)(1 xg
)(2 xg
)(3 xg
)(1 xg)(3 xg
)(xf
xHär gäller:
−𝛻𝑓 𝑥 ∙ 𝑑 > 0
Det finns alltså en
tillåten descent-
riktning till 𝑓 i 𝑥 .
Då kan inte 𝑥 vara
optimum till min-
problemet.
d
1 ,)( då ),(min ,...,mibxgxf ii
4
Exempel: Optimum
Tillåtet område här! )(1 xg
)(2 xg
)(3 xg
)(1 xg)(3 xg
)(xf
x
1 ,)( då ),(min ,...,mibxgxf ii
Här gäller:
Om −𝛻𝑓 𝑥 ∙ 𝑑 > 0
så är 𝑑 en otillåten
riktning.
Det finns alltså ingen
tillåten descent-
riktning till 𝑓 i 𝑥 .
Då är 𝑥 optimum till
min-problemet.
5
Formell definition
En kon som spänns upp av vektorerna ℎ1 och ℎ2 består av alla vektorer
som kan skrivas som en icke-negativ linjärkombination av ℎ1 och ℎ2.
Detta kan tecknas som: 𝐶 = 𝑦 𝑦 = 𝛼1ℎ1 + 𝛼2ℎ2; 𝛼1, 𝛼2 > 0
1h
2h
yEtt nödvändigt krav för att x ska
vara optimum (i ett min-problem)
är att −𝛻𝑓 𝑥 ligger i den kon, som
definieras av normalerna till de
aktiva bivillkoren. Och så måste komplementaritet
gälla, så att dualvariablerna
vi = 0 i de bivillkor som inte är
aktiva.
Dessutom måste x vara tillåtet
med avseende på alla bivillkor.
6
Karush–Kuhn–Tucker (KKT)-villkoren (för optimalitet i ett icke-linjärt problem)
m
i ii xgvxf1
)()(
mivi ,...,1 ,0
mibxg ii ,...,1 ,)(
mixgbv iii ,...,1 ,0)(
Karush–Kuhn–Tucker (KKT)-villkoren till detta problem är:
”Dual tillåtenhet”
”Primal tillåtenhet”
”Komplementaritet”
1 ,)( då ),(min ,...,mibxgxf ii
7
Tillräckliga och nödvändiga villkor (för optimalitet i ett icke-linjärt problem)
SATS 11.3
SATS 11.2
• uppfyller KKT-villkoren.
• Problemet är konvext.
vx, • är ett lokalt och globalt
optimum.
x
• är ett lokalt optimum.
• ”Vissa regularitetskrav”.
x • Det finns ett , sådant att
uppfyller KKT-villkoren.
vv
vx,
Tillräckliga villkor för optimalitet.
Nödvändiga villkor för optimalitet.
,...,m ibxgxf ii 1 ,)( då ),(min
8
Formulering av KKT-villkor
• Se upp med tecknen på dualvariablerna!
• Skriv på normalform!
― Då ska dualvariablerna vara icke-negativa.
― Icke-normal form icke-positiv dualvariabel.
― Likhet Dualvariabel utan tecken-krav.
Boken blandar ihop normalform och standardform i kap 11.4.
då
min )(xf 1 ,)( ,...,mibxg ii då
max )(xf 1 ,)( ,...,mibxg ii
Exempel!
9
Metoder för icke-linjär optimering med bivillkor
• Karush–Kuhn–Tucker-villkoren kan användas för
att verifiera optimalitet hos en optimum-kandidat.
• De utgör dock ingen metod att finna 𝑥∗.
• I den här kursen ska vi titta på en sådan metod:
Frank–Wolfe:
konvex målfunktion
linjära bivillkor
• Frank–Wolfe används bl a i trafikplanering.
(Lab Trafikinformatik, KTS 4.)
specialfall där LP-problemet blir ”billigaste väg”.
*?
xx
10
Sökmetoder i jämförelse
Steg
Allmänt
Utan bivillkor (icke-linjärt)
Linjära bivillkor (icke-linjärt) Frank–Wolfe
0 Utgå från en tillåten lösning, x
Valfri punkt (allt tillåtet)
Utgå från en tillåten lösning, x
1 Bestäm tillåten och förbättrande sökriktning
Se på gradient (Brantaste lutning)/ Hessian (Newton)
Linjärapproximera målfunktionen. Lös LP-problem. Få uppskattning
2 Bestäm steglängd
Linjesökning Linjesökning mellan punkt och LP-optimum
3 Uppdatera x och upprepa
Uppdatera punkt, till steg 1
Uppdatera x, få uppskattning. Gå till steg 1
11
Frank–Wolfe-metodens idé
• Ickelinjär målfunktion, linjära bivillkor
• Approximera målfunktion
Linjära bivillkor! Om linjär målfunktion:
• Simplexmetoden kan användas
Approximation första ordnings Taylor-utveckling:
• 𝑓 𝑥 ≈ 𝑓 𝑥 𝑘 + 𝛻𝑓 𝑥 𝑘 𝑇𝑥 − 𝑥(𝑘)
• Stäng in målfunktionsvärde mellan gränser
Varje tillåten lösning ger en pessimistisk uppskattning
Varje linjärt optimum ger en optimistisk uppskattning
12
Frank–Wolfe-metoden: Typproblem
• Varje tillåten lösning ger en pessimistisk uppskattning (min-problem: UBD)
• Varje linjärt optimum ger en optimistisk uppskattning (min-problem: LBD)
• Optimum ligger i:
)(min xf
0
då
x
bAx
UBDxfLBD )( *
)(xf
x
z
Tillåtet område
)(kx*x
*
LPx
)( )(kxf)( *xf)( *
LPxz
)()()( )(** k
LP xfxfxz
13
Frank–Wolfe-metoden (för min-problem)
0) Börja i en tillåten punkt 𝑥 0 .
• Vid behov använd simplex’ fas 1.
• Sätt: 𝑘 = 0, 𝐿𝐵𝐷 = −∞ , 𝑈𝐵𝐷 = 𝑓 𝑥(0)
1) Taylorutveckla 𝑓(𝑥) i 𝑥 𝑘 : z 𝑥 =
𝑓 𝑥 𝑘 + ∇𝑓 𝑥 𝑘 𝑇𝑥 − 𝑥(𝑘)
2) Lös LP-problemet:
där 𝑧0 = 𝑓 𝑥 𝑘 − 𝛻𝑓 𝑥 𝑘 𝑇𝑥(𝑘).
• Låt 𝑦(𝑘) = 𝑥𝐿𝑃∗ vara optimallösning.
• Uppdatera 𝐿𝐵𝐷 = max 𝐿𝐵𝐷, 𝑧 𝑦(𝑘) .
3) Kontrollera avbrottskriterium
• Avbryt om 𝑈𝐵𝐷 − 𝐿𝐵𝐷 < 𝜀.
4) Definiera sökriktning
• 𝑑(𝑘) = 𝑦(𝑘) −𝑥(𝑘) • Sätt: 𝑥 𝑘+1 = 𝑥 𝑘 +𝑡 ∙ 𝑑 𝑘
5) Utför linjesökning mellan 𝑥 𝑘 och 𝑦 𝑘 :
𝑡(𝑘) = argmin𝑡≥0
𝑓 𝑥 𝑘 + 𝑡 ∙ 𝑑(𝑘)
6) Beräkna ny punkt
• 𝑥(𝑘+1) = 𝑥(𝑘) +𝑡 ∙ 𝑑(𝑘)
• 𝑓 𝑥 𝑘+1 ger en pessimistisk uppskattning av 𝑓(𝑥∗).
• Uppdatera 𝑈𝐵𝐷 = 𝑓 𝑥(𝑘+1) .
7) Kontrollera avbrottskriterium
• Samma kriterium som i steg 3.
8) Uppdatera, 𝑘 = 𝑘 + 1
• Gå till steg 1.
0
)( )()(min(LP) zxxfxz Tk
,0
,då
x
bAx
14
Frank–Wolfe-metoden: Exempel
21
2
2
2
1 24164
)(min
xxxx
xf
0,
2
6då
21
21
21
xx
xx
xx
-1 0 1 2 3 4 5 6 7-1
0
1
2
3
4
5
6
7
Tillåtet område
x 1
x 2
15
Fler kurser i optimeringslära
16
• TNK047 Optimering och systemanalys
6 hp, HT2, obligatorisk för KTS3
Heltalsproblem, analys av beslutsproblem med flermålsoptimering, spelteori och lokaliseringsmodeller. Modellering och modellanalys.
• TNK104 Tillämpad optimering I
6 hp, valbar för KTS4/KTS5
Kombinatoriska problem, heuristiker, lokalsökning, tabusökning. Programmering och inlämningsuppgifter.
• TNK105 Tillämpad optimering II
6 hp, valbar för KTS4/KTS5 (kräver TNK104 som förkunskap)
En större projektuppgift med implementering av optimerande metoder och heuristiker.
• Optimering (och programvaran AMPL) dyker även upp som moment i flera andra kurser, bl a kandidatarbetet (obligatoriskt för KTS3).
• Dessutom finns kurser hos MAI/Optimeringslära i Linköping.
Inför Lektion 10
Uppgift 12.5:
• Frank–Wolfe-metoden.
• Rita! Lös LP-problemet grafiskt.
• Rita in i figuren vad som händer.
Tid för självräkning:
• Gamla uppgifter?
• Frågor från datorlektion 2?
17
Tentamen
18
• Tentamen består av 7 uppgifter, 3 p per uppgift, 10 p för godkänt.
• Uppgifterna kommer i den ordning de passar in i lektionsplanen, och
är alltså inte ordnade efter svårighetsgrad.
• I några fall består uppgiften av deluppgifter. Dessa kan lösas
oberoende av varandra. Klarar man inte a)-uppgiften kan man alltså
ändå försöka med b)-uppgiften etc.
• Läroboken (men inte övningsboken) får tas med vid tentamenstillfällen. Det
är en lämplig strategi att använda denna som en ”formelsamling”.
• Tentamina från 2011 innehåller 1–2 frågor om heltalsproblem (formulering
av heltalsproblem, Gomorys plansnittningsmetod, Land–Doig–Daikins
trädsökningsmetod). Detta moment har nu utgått ur kursen sidan 2012, och
man kan bortse från dessa uppgifter vid tentamensläsningen.
www.liu.se