TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 3 Problemklassificering Global/lokal optimalitet Konvexitet Generella sökmetoder
Agenda 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) 2
Vad är ett linjärprogrammeringsproblem? Betrakta det allmänna optimeringsproblemet (P): min f ( x) då g i ( x) b, i i 1 m För att (P) ska vara linjärt kräver vi att: x är en n-dimensionell reell variabel, dvs x R n. Målfunktionen f: R n R är linjär, dvs kan skrivas som en parametervektor skalärt med x plus en konstantterm, matematiskt uttryckt: c R n, c 0 R: f x = c T x + c 0. Alla bivillkorsfunktionerna är också linjära, dvs a i R n, a i0 R: g i x = a i T x + a i0, i. 3
Linjärt problem (linear problem) x 2 min f ( x) då g i ( x) b, i i 1 m Om f(x) och g i x, i är linjära funktioner får vi ett linjärt problem. max f(x) = 2 x 1 + x 2 då 2 x 1 + 2 x 2 9 x 2 2 x 1 x 1, x 2 0 4
Icke-linjärt problem (non-linear problem) min f ( x) då g i ( x) b, i i 1 m x 2 Om minst en av funktionerna f(x) eller g i x, är ickelinjär får vi ett ickelinjärt problem. max f(x) = sin(2x 1 ) + sin(x 2 ) + x 1 + x 2 då 2 x 1 + 2 x 2 9 x 2 2 x 1 x 1, x 2 0 5
Diskret problem (integer problem) x 2 min f ( x) då g i ( x) b, i i 1 m Om dessutom x är diskret (t ex heltal), får vi ett diskret problem. max f(x) = 2 x 1 + x 2 då 2 x 1 + 2 x 2 9 x 2 2 x 1 x 1, x 2 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 x 1, x 2 X, där x 1 x 2, sådana att f(x 1 ) = f(x 2 ) = 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 min f ( x) då x X f x* f x för alla x X, x x* 8
Lösning saknas min f ( x) då x X Om X då sägs f * 9
Obegränsad lösning min f ( x) då x X Om f sägs på f * X 10
då x X Alternativa optima min f ( x) Om olika x1, x2 X, x1 x2 så att f * f ( x1 ) f ( x2) 11
Karaktär på bivillkor Aktiva villkor Redundant villkor 12
Lokala och globala optima min då x ( x) x är ett lokalt optimum (min) om f(x) f(x) för alla x N x X, där N x uttrycker en närhet till x. x är ett globalt optimum (min) om f(x) f(x) för alla x X. Ett globalt optimum är alltid ett lokalt optimum! f X 13
Konvexitet min f ( x) då x X Problemet är konvext (min-problem) om: Målfunktionen är konvex på X. Mängden tillåtna lösningar, X, är konvex. Problemet är konvext (max-problem) om: Målfunktionen är konkav på X. Mängden tillåtna lösningar, X, är konvex (!). I ett konvext problem är varje lokalt optimum också ett globalt optimum. 14
Konvex om Konvexa funktioner 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 H(x) till funktionen f(x) kan användas för att avgöra konvexitet. H(x) positivt definit f(x) konvex Olika tekniker att bestämma om H(x) ä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 om Varje rät linje mellan två punkter i mängden, ligger i mängden Konvex mängd Observera! Det finns inga konkava mängder och följaktligen inte heller några konkava problem. 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! 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 ickekonvexa 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
19 Exempel på konvext problem
20 Exempel på icke-konvexa problem.
Generell sökmetod Steg 0 Initiering: Börja i en tillåten startpunkt, x (0). Sätt iterationsräknaren k = 0. Steg 1 Steg 2 Steg 3 Steg 4 Sökriktning: Bestäm tillåten och förbättrande sökriktning, d (k). Avbrottskriterium: Kontrollera avbrottskriterium. Saknas tillåten och förbättrande sökriktning är vi i (ett lokalt) optimum. Steglängdsbestämning (linjesökning): Bestäm steglängd, t k. Ny punkt: Beräkna den nya punkten, x (k+1) = x (k) + t k d (k). Steg 5 Uppdatering: Sätt k = k + 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.
Uppgift 1.1 (a och c) Inför Lektion 2 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