Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Clas Rydergren, ITN
TNK049 Optimeringslära
Föreläsning 3
Problemklassificering
Global/lokal optimalitet · Konvexitet
Generella sökmetoder
Agenda
2
• Problemklassificering (kap 1.4, 2.1–2.3)
• Lokalt/globalt optimum och konvexitet (kap 2.4)
• Kort om konvexa funktioner (kap 9.3)
• Generella sökmetoder (kap 2.5)
Vad är ett linjärprogrammeringsproblem?
• Betrakta det allmänna optimeringsproblemet (P):
• För att (P) ska vara linjärt kräver vi att:
• 𝑥 är en 𝑛-dimensionell reell variabel, dvs 𝑥 ∈ ℝ𝑛.
• Målfunktionen 𝑓:ℝ𝑛 → ℝ är linjär, dvs kan skrivas som en
parametervektor skalärt med 𝑥 plus en konstantterm,
matematiskt uttryckt: ∃ 𝑐 ∈ ℝ𝑛, 𝑐0 ∈ ℝ: 𝑓 𝑥 = 𝑐𝑇𝑥 + 𝑐0.
• Alla bivillkorsfunktionerna är också linjära, dvs ∃ 𝑎𝑖 ∈ ℝ𝑛,𝑎𝑖0 ∈ ℝ: 𝑔𝑖 𝑥 = 𝑎𝑖
𝑇𝑥 + 𝑎𝑖0, ∀𝑖.
mibxg
xf
ii 1,)( då
)(min
3
Linjärt problem (linear problem)
x 1
x 2
max f(x) = 2 x1 + x2
då 2 x1 + 2 x2 ≤ 9
x2 ≤ 2
x1, x2 ≥ 0
mibxg
xf
ii 1,)( då
)(min
Om 𝑓(𝑥) och 𝑔𝑖 𝑥 , ∀𝑖 är linjära funktioner får vi ett linjärt problem.
4
Icke-linjärt problem (non-linear problem)
x 2
max f(x) = sin(2x1) + sin(x2) + x1 + x2
då 2 x1 + 2 x2 ≤ 9
x2 ≤ 2
x1, x2 ≥ 0
x 1
mibxg
xf
ii 1,)( då
)(min
Om minst en av funktionerna 𝑓(𝑥) eller 𝑔𝑖 𝑥 , är icke-linjär får vi ett icke-linjärt problem.
5
Diskret problem (integer problem)
mibxg
xf
ii 1,)( då
)(min
Om dessutom 𝑥 är diskret (t ex heltal), får vi ett diskret problem.
x 1
x 2
max f(x) = 2 x1 + x2
då 2 x1 + 2 x2 ≤ 9
x2 ≤ 2
x1, x2 ≥ 0, heltal
6
Typer av lösningar
min f(x)
då x X
• Om X = , saknas lösning till problemet (problem is infeasible).
• Om f ∞ på X, har problemet obegränsad lösning
(unbounded solution) och f* = ∞.
• Om det finns x1, x2 X, där x1 ≠ x2, sådana att f(x1) = f(x2) = f*,
har problemet alternativa optima (alternative optima).
• Om f(x*) < f(x) för alla x X, sådana att x ≠ x*, har problemet
unikt optimum (unique optimum) (i x*).
7
Unik lösning
Xx
xf
då
)(min
för alla
xfxf *
*, xxXx
8
Lösning saknas
XOm
*fdå sägs
Xx
xf
då
)(min
9
Obegränsad lösning
XOm f på
*f
Xx
xf
då
)(min
sägs
10
Alternativa optima
Xx
xf
då
)(min 2121 ,, xxXxx Om olika
)()(* 21 xfxff så att
11
Karaktär på bivillkor
Aktiva villkor
Redundant villkor
12
Lokala och globala optima
𝑥 är ett lokalt optimum (min) om 𝑓(𝑥 ) ≤ 𝑓(𝑥) för alla 𝑥 ∈ 𝑁 𝑥 ⊆ 𝑋, där 𝑁 𝑥 uttrycker en ”närhet” till 𝑥 .
𝑥 är ett globalt optimum (min) om 𝑓(𝑥 ) ≤ 𝑓(𝑥) för alla 𝑥 ∈ 𝑋.
Ett globalt optimum är alltid ett lokalt optimum!
Xx
xf
då
)(min
13
Konvexitet
Xx
xf
då
)(min
• Problemet är konvext (min-problem) om:
– Målfunktionen är konvex på 𝑋.
– Mängden tillåtna lösningar, 𝑋, är konvex.
• Problemet är konvext (max-problem) om:
– Målfunktionen är konkav på 𝑋.
– Mängden tillåtna lösningar, 𝑋, är konvex (!).
• I ett konvext problem är varje lokalt optimum också
ett globalt optimum.
14
Konvexa funktioner
• Konvex om
• Varje rät linje mellan två
punkter på
funktionskurvan, ligger på
eller ovanför kurvan
• Ej konvex om
• Någon rät linje mellan
några punkter på
funktionskurvan, ligger
under kurvan Exempel!
15
Om konvexa funktioner
Hessianen 𝐻(𝑥) till funktionen 𝑓(𝑥) kan användas
för att avgöra konvexitet.
𝐻(𝑥) positivt definit ↔ 𝑓(𝑥) konvex
Olika tekniker att bestämma om 𝐻(𝑥) är positivt definit.
– Karaktäristiska ekvationen.
– Alla underdeterminanter.
– …
Viktig sats: Summan av konvexa funktioner är en konvex funktion.
Mer om konvexa funktioner kommer på Fö9 (icke-linjära problem).
16
Konvex mängd
• Konvex om – Varje rät linje mellan två
punkter i mängden, ligger i mängden
• Ej konvex om – Någon rät linje mellan några
punkter på mängden, går utanför mängden
Viktig sats:
Skärningen av konvexa
mängder utgör en konvex
mängd. Exempel!
Observera!
Det finns inga
”konkava mängder”
och följaktligen inte
heller några ”konkava
problem”.
17
Mer om konvexitet
• Konvext problem ”lätt” att hitta
optimum. Varför?
• Ibland är det svårt att avgöra om
ett problem är konvext:
─ Även skärningen av icke-
konvexa mängder kan vara en
konvex mängd.
─ En funktion kan vara varken
konvex eller konkav, men den
del av funktionen som gäller
för det tillåtna området kan
vara konvex.
─ …
18
Exempel på konvext problem
19
Exempel på icke-konvexa problem.
20
Generell sökmetod
Steg 0 Initiering: Börja i en tillåten startpunkt, 𝑥(0).
Sätt iterationsräknaren 𝑘 = 0.
Steg 1 Sökriktning: Bestäm tillåten och förbättrande
sökriktning, 𝑑(𝑘).
Steg 2 Avbrottskriterium: Kontrollera avbrottskriterium.
Saknas tillåten och förbättrande sökriktning är vi i
(ett lokalt) optimum.
Steg 3 Steglängdsbestämning (linjesökning):
Bestäm steglängd, 𝑡𝑘.
Steg 4 Ny punkt: Beräkna den nya punkten,
𝑥(𝑘+1) = 𝑥(𝑘) + 𝑡𝑘 ⋅ 𝑑(𝑘).
Steg 5 Uppdatering: Sätt 𝑘 = 𝑘 + 1 och gå till Steg 1.
21
Datorlab 1 och Miniprojekt 1
• Börja med Datorlab 1; ni har all teori som behövs för att
göra detta!
• Allmänna instruktioner för Miniprojekt 1 finns på
kurshemsidan.
• Scenarier för Miniprojekt 1 distribueras till respektive grupp
inom kort.
Inför Lektion 2
Uppgift 1.1 (a och c)
• Linjära respektive icke-linjära funktioner.
Uppgift 1.2 (a och c)
• Kontinuerliga och diskreta mängder.
Uppgift 2.2
• Rita det tillåtna området i ett LP-problem.
• Lösa problemet grafiskt och identifiera den optimala lösningen.
www.liu.se