TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 9 Icke-linjär optimering · Konvexitet Metoder för problem utan bivillkor Optimalitetsvillkor för icke-linjära problem Icke-linjär programmering • Non-linear programming (NLP) ̶ Problem i kontinuerliga variabler. min f ( x ) då g i ( x ) b i , i = 1 K m Minst en av f (x), gi ( x), i är ickelinjär Förkortningen ILP står i engelsk litteratur oftast för ”Integer Linear Programming”, dvs linjära heltalsproblem. 2 ”Övertid” jämfört med ”stordrift” Som en del i en linjär produktionsplaneringsmodell, där vi vill minimera kostnaden, har vi en variabel 𝑥 som är förenad med kostnaden 𝑐. Jämför nu följande två fall: z d c e • Över en viss gräns 𝑥 = 𝑢 måste produktionen ske på övertid, dvs 𝑐 ersätts med 𝑑 > 𝑐, för alla 𝑥 > 𝑢. • Över en viss gräns 𝑥 = 𝑢 uppnår man stordrift i produktionen, dvs c ersätts med 𝑒 < 𝑐 för alla 𝑥 > 𝑢. x x=u Vilket av fallen är knepigast att hantera? Varför? 3 Olika typer av icke-linjär programmering • Ofta är samband inte linjära • Skalfördelar • Avstånd • Mekanik/konstruktion • Ingen universalalgoritm finns • Anpassa algoritm till problem • Ofta mycket svårlösta problem • Exempel klassificeringar • Med visavi utan bivillkor • Linjära visavi ickelinjära bivillkor • Konvext visavi icke-konvext problem 4 När man pratar om icke-linjära (nonlinear) problem brukar man normalt också förutsätta att det är problem i kontinuerliga variabler. Sökmetoder för icke-linjär programmering • Sökmetoder bygger oftast på att lösa förenklade/approximativa problem • Oftast hittar sökmetoder lokala optimum ̶ och ibland bara lokala stationära punkter • Konvexa problem enklare att hantera ̶ 5 Varje lokalt optimum är också ett globalt optimum. • Konvext problem Konvexitet – Minimera konvex funktion över konvext område • Alternativt maximera en konkav funktion över ett konvext område. • Konvexa funktioner – Summan av konvexa funktioner konvex funktion • Exempel: 𝑓 𝑥 = 𝑥 2 + 4𝑥 + 𝑒 𝑥 − 𝑥 – Om 𝑔(𝑥) är konvex, och ℎ(𝑦) är konvex och icke-avtagande, så måste 𝑓 𝑥 = ℎ 𝑔 𝑥 vara en konvex funktion. • Exempel: 𝑓 𝑥 = 𝑒 𝑥 2 +4𝑥−𝑥 −1 • Konvexa mängder – Konvex funktion begränsad uppåt är en konvex mängd • 𝑋 = 𝑥 𝑔𝑖 𝑥 ≤ 𝑏𝑖 , ∀𝑖 – Skärningen (snittet) av konvexa mängder är en konvex mängd • 𝑋 = 𝑋1 ∩ 𝑋2 ∩ ⋯ ∩ 𝑋𝑝 där 𝑋1 , 𝑋2 , … , 𝑋𝑝 är konvexa mängder. • Skärning av icke-konvexa mängder kan vara konvex mängd. 6 Undersöka konvexitet • Betrakta 𝑓(𝑥). • Inför Hessianen – Matris av partiella andraderivatorer • En funktion kan vara 2 f 2 x1 2 f H ( x) = x x 2 1 2 f xn x1 – Konvex • Strikt konvex – Konkav • Strikt konkav – Varken konvex eller konkav – (Både konvex och konkav) • 7 2 f x1x2 2 f 2 x2 K K K 2 f x1xn 2 f 2 xn – Man kan se Hessianen som en f Jacobian till gradient-funktionen. x1 – Hessianen tecknas ibland 𝛻 2 𝑓 𝑥 . f Inför gradienten f ( x) = x2 – Vektor av partiella f derivatorer: x n Konvexa funktioner • Beräkna Hessianens egenvärden, 𝜆 – Om 𝜆𝑖 > 0 ≥ 0 , ∀𝑖 är 𝐻(𝑥) positivt (semi-) definit, och då är 𝑓(𝑥) strikt konvex (konvex) • Studera ledande underdeterminanterna – Beteckna 2 f h1 ( x) = 2 x 1 2 f 2 x1 h2 ( x) = 2 f x2 x1 2 f x1x2 2 f 2 x2 h3 ( x) = K – Om det ℎ𝑖 > 0 ∀𝑖, är 𝐻(𝑥) positivt definit. Exempel! 8 ”Obegränsad optimering” ”Obegränsad” = utan bivillkor (kap 10) – – – Kallas ”unconstrained” på engelska. Mängden tillåtna lösningar är obegränsad. Max/Min till målfunktionen är normalt begränsade. ”Obegränsad” = oändlig – – – 9 Kallas ”unbounded” på engelska. Mängden tillåtna lösningar är begränsad eller obegränsad. Max eller min till funktionen saknas:𝑓 𝑥 → −∞ (för min), eller 𝑓 𝑥 → +∞ (för max) på mängden tillåtna lösningar. Optimalitet i optimeringsproblem utan bivillkor • Nödvändiga villkor – Om 𝑥 ∗ skall vara optimum till min 𝑓(𝑥), måste ∇𝑓(𝑥 ∗ ) = 0. • Tillräckliga villkor – Om ∇𝑓(𝑥 ∗ ) = 0 och 𝑓(𝑥) konvex är 𝑥 ∗ (globalt) optimum till min 𝑓(𝑥). x* • Begrepp – Descentriktning 𝑑 (𝑘) : ∇𝑓 𝑥 (𝑘) ∙𝑑 𝑘 * f ( x ) < 0. • Riktning i vilken funktionsvärdet minskar. – Ascentriktning 𝑑 (𝑘) : ∇𝑓 𝑥 (𝑘) ∙ 𝑑 𝑘 > 0. • Riktning i vilken funktionsvärdet ökar. 10 Descentriktningar Sökmetoder i jämförelse Steg 0 Utgå från en tillåten lösning, x Valfri punkt (allt tillåtet) 1 Bestäm tillåten och förbättrande sökriktning Bestäm steglängd Se på gradient (Brantaste lutning)/ Hessian (Newton) Linjesökning Uppdatera x och upprepa Uppdatera x och upprepa. 2 3 11 Allmänt Utan bivillkor (icke-linjärt) Brantaste lutning-metoden (Steepest descent method) 0) Börja i valfri punkt, 𝑥 (0) 3) Bestäm steglängd, 𝑡 (𝑘) – Sätt 𝑘 = 0 – Gör linjesökning • 𝑡 (𝑘) = arg min 𝑓 𝑥 1) Beräkna sökriktning 𝑡≥0 – Beräkna gradienten ∇𝑓 𝑥 (𝑘) – Sökriktning ges av • Maxproblem: 𝑑 (𝑘) = ∇𝑓 𝑥 (𝑘) • Minproblem: 𝑑 (𝑘) = −∇𝑓 𝑥 (𝑘) 2) Kontrollera avbrottskriterium – Avbryt om ∇𝑓 𝑥 (𝑘) < 𝜀0 • 𝑥 (𝑘) (tillräckligt nära) optimum. – Alternativa kriterier finns! 12 𝑘 + 𝑡 ∙ 𝑑 (𝑘) – Analytiskt om möjligt (Se även kap 10.4) 4) Beräkna ny punktsteglängd – 𝑥 (𝑘+1) = 𝑥 (𝑘) + 𝑡 (𝑘) ∙ 𝑑 (𝑘) 5) Sätt 𝑘 = 𝑘 + 1 och gå till 1 Newtons metod (Newton’s method) 0) Börja i valfri punkt, 𝑥 (0) – Sätt 𝑘 = 0 1) Beräkna sökriktning – Beräkna gradienten ∇𝑓 𝑥 (𝑘) – Beräkna hessianen 𝐻 𝑥 (𝑘) – Och dess invers 𝐻 −1 𝑥 (𝑘) – Sökriktning ges av • −𝐻−1 𝑥 (𝑘) ∇𝑓 𝑥 (𝑘) 2) Kontrollera avbrottskriterium < 𝜀0 • 𝑥 (𝑘) (tillräckligt nära) optimum. – Alternativa kriterier finns! 13 – 𝑡 (𝑘) ≡ 1 om Newtons metod – Linjesökning (se kap 10.4) ger Newtons modifierade metod. 4) Beräkna ny punktsteglängd – 𝑥 (𝑘+1) = 𝑥 (𝑘) + 𝑡 (𝑘) ∙ 𝑑 (𝑘) 5) Sätt 𝑘 = 𝑘 + 1 och gå till 1 för både max- och minproblem. – Avbryt om ∇𝑓 𝑥 (𝑘) 3) Bestäm steglängd, 𝑡 (𝑘) Modifierade Newton-metoder • Totala beräkningstiden viktigast • I varje iteration behövs en riktning och en steglängd. • Approximera för att hitta riktning • Om tidsbesparande • T ex approximera Hessianen • Ger Marquardts modifiering eller kvasi-Newton-metoder • Approximera för att hitta steglängd • 14 Om tidsbesparande kan man använda en inexakt (ickeanalytiskt) beräknad steglängd Linjesökning • Hur bestämmer man optimal steglängd? • Analytiskt (fungerar enbart i små fall eller fall med speciell struktur där den kan härledas fram). • Approximativt • Gyllene snitt • Intervall-halvering • Newton–Raphson • Armijos metod • Det är den totala beräkningstiden som är intressant! • Ibland tar det lång tid bara att evaluera 𝑓(𝑥) för olika 𝑥! 15 Optimalitetsvillkor för icke-linjära problem För optimeringsproblemet min 𝑓 𝑥 , då 𝑔𝑖 𝑥 ≥ 𝑏𝑖 , ∀𝑖 är 𝑥 lokalt optimum om Karush–Kuhn–Tucker-villkoren (KKT-villkoren) nedan är uppfyllda. • Dual tillåtenhet ̶ Målfunktionsgradienten ligger i den kon som bildas av de (bindande) bivillkorens normaler: ̶ 𝛻𝑓 𝑥 = ̶ 𝑣𝑖 ≥ 0, ∀𝑖 𝑖 𝑣𝑖 ∙ 𝛻𝑔𝑖 𝑥 • Primal tillåtenhet, 𝑔𝑖 𝑥 ≥ 𝑏𝑖 , ∀𝑖 • Komplementaritet, 𝑣𝑖 ∙ 𝑔𝑖 𝑥 − 𝑏𝑖 = 0, ∀𝑖 16 Grafisk tolkning av optimalitetsvillkoren min f ( x), då gi ( x) bi , i. g 3 ( x) g1 ( x) Tillåtet område här! x* g3 ( x ) * 17 g 2 ( x) g1 ( x ) * f ( x ) * Inför Lektion 9 Uppgift 9.6: • Kovexitet. • Dela upp målfunktionen i tre delar, utnyttja Sats 9.4. • Bivillkoren kan undersökas ett och ett, utnyttja Sats 9.2. Uppgift 10.5: • Ett konvext problem utan bivillkor. • Brantaste lutnings-metoden. • Newtons metod. 18 www.liu.se
© Copyright 2024