440 likes | 627 Views
Základy genetických algoritmov a možnosti ich aplikácie v praxi habilitačná pednáška Ing. Ivan Sekaj, PhD Katedra automatizovaných systémov riadenia, E-mail: ivan.sekaj @ stuba.sk. Obsah prednášky. analógia genetických algoritmov s biologickou evolúciou základy genetických algoritmov
E N D
Základy genetických algoritmov a možnosti ich aplikáciev praxihabilitačná pednáškaIng. Ivan Sekaj, PhDKatedra automatizovaných systémov riadenia,E-mail: ivan.sekaj@stuba.sk
Obsah prednášky • analógia genetických algoritmov s biologickou evolúciou • základy genetických algoritmov • stručný náčrt možností aplikácie genetických algoritmov v praxi
Vplyvy prostredia, boj o prežitie, konkurenčný boj o potravu, zápas o partnerov kríženie, mutácia úspešnosť vymieranie rodičia potomkovia populácia
Reprezentanti evolučných výpočtových techník (EVT) • Evolučné stratégie (numerické úlohy) • Evolučné programovanie • Genetické algoritmy • Genetické programovanie (evolúcia štruktúr, programov) • Diferenciálna evolúcia (numerické úlohy) • Umelý imunitný systém • iné (PSO, Kolónie mravcov, Kultúrne algoritmy, HSO, ... , umelý život)
Príklad jednoduchého genetického algoritmu„hádanie 5-ciferného čísla“(1 2 3 4 5)
5 9 2 0 14 2 6 6 38 7 3 9 55 8 5 6 01 7 8 7 10 1 9 0 96 3 0 1 22 7 5 6 1 4 2 6 6 3 4 2 0 1 2 6 3 0 1 2 6 3 6 6 3 8 7 3 9 5 8 7 3 9 0 5 8 5 6 0 5 8 5 6 5 4 2 6 6 3 4 2 6 6 3 1 7 8 7 1 1 7 8 7 1 4 2 0 1 26 3 6 6 38 7 3 9 85 8 5 6 54 2 6 0 31 7 8 7 1 01201000 8 C0 0 8 7 3 9 5 4 2 6 6 3 C1 Algoritmus: nová skupina= 2 najlepšie jedince + modif( pracovná skupina)pracovná skupina = 3 najlepšie jedince + 3 náhodné jedince
5 9 2 0 14 2 6 6 38 7 3 9 55 8 5 6 01 7 8 7 10 1 9 0 96 3 0 1 22 7 5 6 1 01201000 4 2 6 6 3 4 2 0 1 2 6 3 0 1 2 6 3 6 6 3 8 7 3 9 5 8 7 3 9 0 8 5 8 5 6 0 5 8 5 6 5 4 2 6 6 3 4 2 6 6 1 0 1 7 8 7 1 1 7 8 6 3 8 7 3 9 5 4 2 6 6 3 4 2 0 1 26 3 6 6 38 7 3 9 85 8 5 6 54 2 6 0 11 7 8 6 3 4 2 0 1 24 2 6 6 31 7 8 6 38 7 3 9 88 7 3 9 54 2 6 0 1 C0 21101111 4 2 0 6 34 2 8 1 21 7 3 9 88 7 8 6 08 7 3 0 14 2 6 4 5 C1
8 7 3 9 54 2 6 6 34 2 0 6 34 2 8 1 21 7 3 9 8 8 7 8 6 0 8 7 3 0 14 2 6 4 5 21112013 1 2 6 4 54 7 3 9 84 2 0 6 08 7 1 6 38 7 3 9 58 7 8 6 0 1 7 3 9 84 2 6 4 54 2 0 6 38 7 8 6 08 7 8 6 08 7 3 9 5 C2 32411020 4 2 6 4 58 7 3 9 51 2 6 4 54 7 3 9 84 2 0 6 08 7 1 6 38 7 3 9 58 7 8 6 0 4 2 0 6 54 2 6 4 00 2 7 9 58 7 6 4 58 7 6 4 51 2 8 6 0 4 2 0 6 04 2 6 4 54 2 6 4 58 7 3 9 58 7 8 6 01 2 6 4 5 C3
1 2 6 4 54 2 6 4 54 2 0 6 54 2 6 4 00 2 7 9 5 8 7 6 4 5 8 7 6 4 51 2 8 6 0 43222222 1 2 6 4 84 2 8 6 01 2 7 9 50 2 6 4 58 7 6 6 54 2 3 4 5 1 2 8 6 04 2 6 4 51 2 6 4 50 2 7 9 58 7 6 4 54 2 0 6 5 C4 43313314 1 2 6 4 54 2 6 4 51 2 6 4 8 4 2 8 6 0 1 2 7 9 5 0 2 6 4 5 8 7 6 6 5 4 2 3 4 5 8 7 6 3 04 2 8 6 5 4 9 6 4 51 2 6 4 51 2 3 4 54 2 7 9 5 8 7 6 6 54 2 8 6 0 4 2 6 4 5 1 2 6 4 5 1 2 7 9 5 4 2 3 4 5 C5
Základné objekty GA Reťazec (chromozóm) • skupina prvkov optimalizovaného objektu, ktorá ovplyvňuje jeho vlastnosti (obsahuje jeho informačný obsah) • cieľom je nájsť optimálne hodnoty prvkov reťazca R = {5 4 1 7 2} R = {v1 v2 … vn}počet kusov vyrobených výrobkov R = {p1 p2 p3 ... pn}hodnoty parametrov technického zariadenia R = {o1o2 … on}poradie technologických operácií,poradie prejdených miest
Populácia Množina reťazcov (bežne medzi 20 - 100)
Účelová funkcia Je to miera úspešnosti každého reťazca (každého potenciálneho riešenia), ktorá sa minimalizuje / maximalizuje(„fitness“). Je definovaná používateľom. Predstavuje jadro optimalizovaného problému.
Základné genetické operácie v GA • kríženie • mutácia • výber
Kríženie 1 2 3 4 5 6 7 1 2 3 4 5 2 1 7 6 5 4 3 2 1 7 6 5 4 3 6 7 potomkovské reťazce rodičovské reťazce
. . . Kríženie v celej populácii
Mutácia 1 2 3 4 5 6 7 1 2 3 4 5 6 7 7
Mutácia v rámci populácie Pravdepodobnosť mutácie jedného génu v rámci celej populácie je zvyčajne od 0.1 – 10%
1 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 7.2 5.03 1999 0.001 7.2 17.5 1999 0.001 O2HCO2SZnFe H2SO4 O2HCO2SSi Fe H2SO4 Mutácie rôznych typov reťazcov
Výber Úlohou výberu je: • vybrať potrebný počet reťazcov (rodičov),ktoré budú modifikované pomocou genetických operácií, • vybrať reťazce, ktoré sa nezmenené dostanú do novej generácie. Existuje viacero typov výberu. Pri výbere platí: úspešnejšie reťazce majú väčšiu pravdepodobnosť byť vybrané než menej úspešné.
roztočiť a h ukazovatele výberu b c g d e f • výber podľa úspešnosti • náhodný výber • turnajový výber • rovnomerný ruletový výber : iné metódy výberu ...
Ano n Inicializácia počiat. popul. Najlepší jedinec poslednej populácie Vyhodnotenie fitness Koniec ? Štart Nie Riešenie Nová populácia Výber n-b n-b b Kríženie Mutácie 1 generácia výpočtu Genetický algoritmus
Schwefelova funkciaglobálny extrém: x*i=420.96; f(x*)= –n.418,98; i=1,2,...,20
Rozdiely genetických algoritmov oproti bežným optimalizačným prístupom • sú schopné vyviaznuť z okolia lokálneho extrému a približovať sa ku globálnemu extrému • uskutočňujú paralelné prehľadávanie vo viacerých smeroch súčasne • nevyžadujú pomocné informácie o vývoji riešenia, ako je napr. gradient účelovej funkcie a pod. • vyžadujú len možnosť vyhodnotiť účelovú funkciu v ľubovoľnom bode prehľadávaného priestoru – počítačový model optimalizovaného objektu
intenzívne využívajú stochastické procesy • sú schopné riešiť optimalizačné problémy s desiatkami až stovkami premenných • sú pomerne jednoducho aplikovateľné na široké spektrum optimalizačných problémov • patria k časovo resp. výpočtovo náročnejším riešeniam
Poznámky 1. Existujú rôzne modifikácie a rozšíreniagenetických operácií aj typov GA, ktoré môžu (výrazne) urýchliť konvergenciu algoritmu k optimálnemu riešeniu a tým skrátiť čas riešenia. - modifikácie operácií a schém GA- paralelné GA- adaptívne GA- riešenie úloh s ohraničeniami- multikriteriálna optimalizácia ... 2. Špecifické aplikácie často vyžadujú špecifické (jednoúčelové) úpravy GA prispôsobené na mieru danej aplikácie.
Model optimalizovaného objektu(vyčíslenie účelovej funkcie - výpočet, simulácia, program, ...) Model evolúcie(genetický algoritmus) Riešenie praktických problémov pomocou genetických algoritmov riešenie
zisk=250x5+315x6+300x7+400x8+350x9+910x10 S1 1600 S2 1200 800 S3 maximum polotovar predaj Komplet x1 x7 ~ 300Sk V1 +V2 x2 x6 ~ 315Sk V2 K : 3V1+V3+2V4 x3 x8 ~ 400Sk V3 +2V2 x4 x9 ~ 350Sk V4 x10 ~ 950Sk x5 ~ 250Sk V5 x1+4x2+2x3+3x4+x5 <= 1600 x2=x1+2x3+x6 4x1+x2+2x3+x4+3x5 <= 1200 x1=x7+3x10 x1+4x2+2x3+5x4+2x5 <= 800 x3=x8+x10 x5 <= 100 x4=x9+2x10 x10 >= 20 Optimalizácia výrobného sortimentu
5 1 6 8 v58 3 7 4 v12 2 Logistické úlohy • minimalizácia prepravných nákladov • optimalizácia vyťaženosti dopravných prostriedkov • ohraničenia prepravných kapacít, skladov ...
prekladisko kontajnerov vlak Žeriav A Žeriav B Optimalizácia manipulačného procesu Cieľ: preložiť kontajnery z vlaku na určené miesta na prekladisku, aby sa minimalizovali prepravné náklady (dráha) a/alebo čas
Konštrukčné úlohyNávrh tvaru vačky otáčavého stroja Reťazec: tvar a rozmery vačky zakódované pomocou parametrov B-spline funkcie Účelová funkcia: simulácia a vyhodnotenie dynamických a statických mechanických a tepelných vlastností časti stroja
Up6=? Up3=? Up1=? Up5=? Up2=? Up4=? Optimalizácia ustáleného stavu napätí v ES SR (TRN) S – činné straty, N – počet vedení, M – počet uzlov siete
Počet výpočtov ustáleného stavu ES SR (fitness) počas riešenia GA: 500 . 30 = 15 000 (počet generácií x veľkosť populácie) Zníženie strát oproti skutočnému stavu o 2,42 %
u y e w regulátor proces + - Návrh / optimalizácia parametrov regulačného obvodu Reťazec:r =[ p1, p2, … , pi, … , pn ] r = [P,I,D]
minimalizácia plochy y w 2. Vyčíslenie kriteriálnej funkcie Skok žiadanej hodnoty regulovanej veličiny Externá porucha 1.simulácia Fitness:
Návrh regulačných obvodov pomocou GA • zložité, rozvetvené regulačné obvody s mnohými optimalizovanými parametrami (desiatky, stovky), • nelinearity, obmedzenia, šum, … , • robustnosť, • fuzzy systémy, umelé neurónové siete...
Praktické aplikácie GA • Všeobecné optimalizačné a výpočtové úlohy • Ekonomické optimalizačné problémy • Plánovanie výroby • Logistické úlohy • Konštrukčné úlohy (strojárstvo, stavebníctvo, elektrotechnika, ...) • Regulačné obvody, riadenie, robotika • Energetika • Návrh elektronických obvodov a IO, automatizované generovanie programov(„genetické programovanie“) • Iné ...
Význam použitia GA 1. Riešenie ťažkých optimalizačných problémov ( ktoré niekedy ani nie sú inak riešitelné) ako: • mnohorozmerné, nelineárne, multimodálne, nekonvexné … funkcie, • neanalytické úlohy, • kombinatorické úlohy, • grafovo orientované úlohy, • úlohy s mnohými ohraničeniami, • multikriteriálne úlohy... 2. Univerzálna optimalizačná metóda so širokým uplatnením – môže nahradiť mnoho rôznych, úzko špecializovaných optimalizačných prístupov.