24
Clas Rydergren, ITN TNK049 Optimeringslära Föreläsning 3 Problemklassificering Global/lokal optimalitet Konvexitet Generella sökmetoder

PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Clas Rydergren, ITN

TNK049 Optimeringslära

Föreläsning 3

Problemklassificering

Global/lokal optimalitet · Konvexitet

Generella sökmetoder

Page 2: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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)

Page 3: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 4: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 5: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 6: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 7: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 8: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Unik lösning

Xx

xf

)(min

för alla

xfxf *

*, xxXx

8

Page 9: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Lösning saknas

XOm

*fdå sägs

Xx

xf

)(min

9

Page 10: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Obegränsad lösning

XOm f på

*f

Xx

xf

)(min

sägs

10

Page 11: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Alternativa optima

Xx

xf

)(min 2121 ,, xxXxx Om olika

)()(* 21 xfxff så att

11

Page 12: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Karaktär på bivillkor

Aktiva villkor

Redundant villkor

12

Page 13: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

)(min

13

Page 14: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Konvexitet

Xx

xf

)(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

Page 15: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 16: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 17: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 18: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 19: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Exempel på konvext problem

19

Page 20: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

Exempel på icke-konvexa problem.

20

Page 21: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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

Page 22: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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.

Page 23: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

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.

Page 24: PPTmall LiU 2008 svenskwebstaff.itn.liu.se/~clary35/KURSER/TNK049/fo/Fo3.pdf Title PPTmall LiU 2008 svensk Author LiU ER Created Date 10/9/2013 9:25:41 AM

www.liu.se