Környezeti rendszerek modellezése 11. előadás Optimalizáció Balogh Edina
jeljelentés f ’(x) f ’’(x) lokális minimum 0+ lokális maximum 0- globális minimum ?? globális maximum ?? lokális és globális szélsőértékek egy intervallumban Optimalizációs elvek 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: x 0 1.Jelöljünk ki egy új x i pontot, ahol (lehetőleg) f (x i ) ≤ f (x i-1 ) 2.Vizsgáljuk meg a leállási kritériumot: Ha teljesül, akkor előre a 3. pontbaHa teljesül, akkor előre a 3. pontba Ha nem, akkor vissza az 1. pontbaHa nem, akkor vissza az 1. pontba 3.Vége
Amire figyelni kell : A kezdőpont kijelölésétől függ a végeredményA 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őekAz egyes módszerek konvergencia tulajdonságai eltérőek A nem megfelelő leállási kritérium következménye :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„Direkt” vagy „derivált mentes” módszerek : csak f (x) kell „Gradiens alapú” módszerek : f ’(x) illetve f ’’(x) is 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) ?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 ? 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ésIntervallum felezés Gradiens alapú módszerek : Legmeredekebb ereszkedés módszereLegmeredekebb 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 (x 1 ) × f (x 2 ) < 0 Minimum : f (x 2 ) < f (x 1 ) és f (x 2 ) < f (x 3 ) Lokális optimalizáció
x0 x1x2x3 1.A középső pontok f (x) értékei alapján jelöljük ki az új pontot 2.Mégpedig a kisebb fv. értékű középső és a szélső pont közé 3.A túloldali szélső pont kiesik 4.Az új pont kijelölésénél az aranymetszés szabályai szerint osztjuk ketté az intervallumot G ≈ x2’ x0’x1’x3’ x2’ – x1’ = G · (x3 – x2) Lokális optimalizáció
Legmeredekebb ereszkedés („Steepest descent”) Csak deriválható függvények esetén alkalmazhatóCsak deriválható függvények esetén alkalmazható Számtalan módszer alapját adjaSzámtalan módszer alapját adja Valamelyik rokonát célszerű alkalmazniValamelyik rokonát célszerű alkalmazni Lokális optimalizáció
Gradiens függvényKezdőpont Lokális optimalizáció
Metszet a legnagyobb lejtés d = - g (x1, x2) irányában Az f (x1, x2) függvény értéke a metszet mentén az α lépés-nagyság függvényében Lokális optimalizáció
A legkisebb f (x1, x2)-t eredményező lépés után Ha a minimumot választottuk, ott az irány menti derivált 0, ezért a következő lépés merőleges lesz Lokális optimalizáció
Cikk-cakk a lokális minimumig Lokális optimalizáció
Lehetőségek Hibrid módszerek létrehozásaHibrid módszerek létrehozása Lendület ill. adaptivitás bevezetése a konvergencia gyorsításáraLendület ill. adaptivitás bevezetése a konvergencia gyorsítására Kezdeti pont intelligens kiválasztásaKezdeti pont intelligens kiválasztása Leállási feltételek fejlesztéseLeállási feltételek fejlesztése … Lokális optimalizáció
A megoldandó feladat általánosan: min f (x) A megoldást az x [ a, b ] R n „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: 1.Nem értékelhetjük ki mindet 2.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ó
[a 1,b 1 ] [a 2,b 2 ] Globális optimum 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! Globális optimalizáció Lokális szélsőértékek
problémás függvények : lokális optimalizáció nem használható Globális optimalizáció
Az intervallum módszer kiterjesztése X opt 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. 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. 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 „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. A módszer legfontosabb jellemzője a mutató számítási eljárás. m = f ( intervallum nagyság, m = f ( intervallum nagyság, fv. értékek ) Globális optimalizáció
X opt x xhxh Lehatárolás (C i ) egyenes vonalakkal 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. 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é. A büntető fv „visszatereli” a keresést a határok közé. Globális optimalizáció
Az utazó ügynök probléma 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. Hogyan fűzhetőek fel a meglátogatandó városok, hogy minimális legyen a megtett út? 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ó
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ő) Az evolúciós algoritmus menete leállási kritérium ? Globális optimalizáció
Szaporítás rekombinációval 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 Bináris kódolás (11, 6, 9) kromoszóma gén A B szakadási pont = génhatár 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. Ez is diszkretizálás! Globális optimalizá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áció (11, 6, 9) (11, 6, 13) mutáns bázis Globális optimalizáció
Kezdeti populáció5. generáció10. generáció Evolúciós algoritmus viselkedése 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 Globális optimalizáció