280 likes | 440 Views
Környezeti rendszerek modellezése. 11. előadás Optimalizáció. Balogh Edina. Optimalizációs elvek. lokális és globális szélsőértékek egy intervallumban. Szélsőérték: a pont, amihez a legnagyobb/kisebb függvényérték tartozik a környezetében. explicit megoldások ? korlátok ?.
E N D
Környezeti rendszerek modellezése 11. előadás Optimalizáció Balogh Edina
Optimalizációs elvek lokális és globális szélsőértékek egy intervallumban Szélsőérték: a pont, amihez a legnagyobb/kisebb függvényérték tartozik a környezetében. explicit megoldások ? korlátok ?
Lokális optimalizáció • Feladat: f(x) lokális minimumának meghatározása • 0. Adott egy kezdeti pont: x0 • Jelöljünk ki egy új xi pontot, ahol (lehetőleg) f (xi ) ≤ f (xi-1 ) • Vizsgáljuk meg a leállási kritériumot: • Ha teljesül, akkor előre a 3. pontba • Ha nem, akkor vissza az 1. pontba • Vége
Lokális optimalizáció • Amire figyelni kell : • A kezdőpont kijelölésétől függ a végeredmény • (ha egyáltalán lesz) • Az egyes módszerek konvergencia tulajdonságai eltérőek • A nem megfelelő leállási kritérium következménye : • Rossz eredmény / végtelen számítás
Lokális optimalizáció • A módszerek csoportosítása: • „Direkt” vagy „derivált mentes” módszerek : csak f (x) kell • „Gradiens alapú” módszerek : f ’(x) illetve f ’’(x) is kell • A módszer kiválasztásánál felmerülő kérdések: • Deriválható-e egyáltalán f (x) ? • Mekkora f (x) kiszámításának a költsége ? • Mekkora f ’(x) kiszámításának a költsége ?
Lokális optimalizáció • Direkt módszerek : • Intervallum felezés • Gradiens alapú módszerek : • Legmeredekebb ereszkedés módszere
Lokális optimalizáció Intervallum felezés („Golden Section Search”) Rokon : Függvény zérushelyeinek keresése intervallum felezéssel Különbség : A minimum 2 helyett csak 3 ponttal képezhető le Zérushely : f (x1 ) × f (x2 ) < 0 Minimum : f (x2 ) < f (x1 ) és f (x2 ) < f (x3 )
Lokális optimalizáció • A középső pontok f (x) értékei alapján jelöljük ki az új pontot • Mégpedig a kisebb fv. értékű középső és a szélső pont közé • A túloldali szélső pont kiesik • Az új pont kijelölésénél az aranymetszés szabályai szerint osztjuk ketté az intervallumot x0 x1 x2 x3 x2’ – x1’ = G · (x3 – x2) G ≈ 0.381966 x0’ x1’ x3’ x2’
Lokális optimalizáció • Legmeredekebb ereszkedés („Steepest descent”) • Csak deriválható függvények esetén alkalmazható • Számtalan módszer alapját adja • Valamelyik rokonát célszerű alkalmazni
Lokális optimalizáció Gradiens függvény Kezdőpont
Lokális optimalizáció Az f (x1, x2) függvény értéke a metszet mentén az α lépés-nagyság függvényében Metszet a legnagyobb lejtés d = - g (x1, x2) irányában
Lokális optimalizáció Ha a minimumot választottuk, ott az irány menti derivált 0, ezért a következő lépés merőleges lesz A legkisebb f (x1, x2)-t eredményező lépés után
Lokális optimalizáció Cikk-cakk a lokális minimumig
Lokális optimalizáció • Lehetőségek • Hibrid módszerek létrehozása • Lendület ill. adaptivitás bevezetése a konvergencia gyorsítására • Kezdeti pont intelligens kiválasztása • Leállási feltételek fejlesztése • …
Globális optimalizáció A megoldandó feladat általánosan: minf (x) A megoldást az x [ a, b ] Rn „n” dimenziós téglán” keressük. Minden globális optimalizáció a következő sémán alapul: Elvégzendő feladatok : a. A keresési tartomány [ a, b ] feltérképezése, a jelölt pontok kiválasztása b. A jelölt pontok finomítása c. A kapott pontok értékelése, döntés a folytatásról. A keresési tartomány végtelen számú megoldást tartalmaz: Nem értékelhetjük ki mindet A fenti miatt sosem lehetünk biztosak benne, hogy a legjobbat találtuk meg. GYAKORI A PROBLÉMÁK DISZKRETIZÁLÁSA: csak véges számú megoldás lesz.
Globális optimalizáció Lokális szélsőértékek Következtetés: A globális szemlélet megoldásai nem „gradiens” jellegűek, vagyis nem szükségszerűen esnek egybe egy lokálisan is optimumnak tekinthető megoldással! [a2,b2] [a1,b1] Globális optimum
Globális optimalizáció problémás függvények : lokális optimalizáció nem használható
Globális optimalizáció Az intervallum módszer kiterjesztése • Az egyes intervallumok kapnak egy olyan mutatót, ami azt a valószínűséget fejezi ki, hogy a megoldás bennük van. • Mindig azt az intervallumot felezzük, aminél ez a mutató a legnagyobb. • A „bennragadást” azzal kerüljük el, hogy a nem optimális szűk intervallumok mutatója lecsökken, ezért egy másikra váltunk. • A módszer legfontosabb jellemzője a mutató számítási eljárás. • m = f ( intervallum nagyság, • fv. értékek ) Xopt
Globális optimalizáció Lehatárolás (Ci) egyenes vonalakkal Xopt • Az eredeti függvényhez egy távolság arányos büntető fv-t adunk hozzá, ha kilép a határok közül. • Az optimalizáció a valós és a büntető fv értékek összegére (F) vonatkozik. • A büntető fv „visszatereli” a keresést a határok közé. xh x
Globális optimalizáció Az utazó ügynök probléma Hogyan fűzhetőek fel a meglátogatandó városok, hogy minimális legyen a megtett út? Alap megoldás folyóval, de az ingyen keresztezhető. Ha a folyó keresztezése pénzbe kerül. Ha az ügynök csempész, a folyó keresztezése hasznot hoz.
Globális optimalizáció Kiterjesztés folytonos változókra Eddig csak diszkrét megoldásokról volt szó. Folytonos térben a “szomszédos” megoldás nem definiált. Minden ugyanúgy működik, csak a véletlenszerű szomszédos megoldás helyett egy olyan módszer kell, ami egy értelmes irányban kijelöli a következő pont (nem túl távoli) helyét. Erre a célra szinte bármelyik lokális optimalizációs eljárás egyetlen lépését használhatjuk fel.
Globális optimalizáció Evolúciós algoritmus • Megoldások halmaza = populáció • Egy megoldás (pont) = egyed • Új megoldások generálása = szaporítás/mutáció A populáció a saját „fitness fv”-ét maximalizálja az alkalmazkodás során, így az fitness fv az optimalizálandó fv -1 -szerese.
Globális optimalizáció Az evolúciós algoritmus menete • A kezdeti populációt véletlenszerűen szétszórjuk a vizsgált tartományon • Kiértékeljük az egyedek teljesítményét („fitness függvény”) • A jobbakat (nagy fitness érték)szaporítjuk, a rosszabbak elpusztulnak. • A „bennragadás” elkerülésére a mutáció szolgál (főleg a rosszabbaknál fordul elő) leállási kritérium ?
Globális optimalizáció Szaporítás rekombinációval Ez is diszkretizálás! A kódolás legfőbb szempontja : a rekombináció során értelmes eredmény jöjjön ki. Pl: A & B eredménye olyan legyen, ami a kettő között van. Egy változó több gén legyen, mert különben változatlanul öröklődik. kromoszóma Bináris kódolás (11, 6, 9) 1011 0110 1001 gén szakadási pont = génhatár 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 A 1 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 B • A szaporítás a két kiválasztott egyed génjeinek rekombinációjával történik. • Minden utód egy elpusztult egyed helyére kerül be, így a populáció létszáma állandó marad • A gének kódolására legelterjedtebb a bináris kódolás • A rekombináció során csak génhatáron törhet a kromoszóma
Globális optimalizáció Mutáció • A mutáció véletlenszerűen (kis valószínűséggel) bekövetkező változás a „bázisokban”. • A mutáció előfordulása a kisebb fitness fv-ű egyedek között gyakoribb. • A mutáció szolgál a „bennragadás” elkerülésére. mutáns bázis (11, 6, 9) 1011 0110 1001 (11, 6, 13) 1011 0110 1101
Globális optimalizáció Evolúciós algoritmus viselkedése Kezdeti populáció 5. generáció 10. generáció
Globális optimalizáció A populáció teljesítménye
Globális optimalizáció Az általános elvek megvalósulása • Keresési tartomány = a gének által kifejezhető tartomány • Térképezés = mutáció • A jelöltek finomítása = szaporítás • Nagy populáció : többszálú térképezés lassú számítás • Sok generáció : soklépéses optimalizáció lassú számítás Az algoritmus tuningolása