50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski...
Transcript of 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski...
1
Optimizacija in evolucijsko računanje
• Kaj je optimizacija?
• Evolucijsko računanje in genetski algoritmi
• Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji
• Primer: Minimiziranje energetskih stroškov s časovnim razporejanjem opravil
Kaj je optimizacija?
• Postopek iskanja najboljše med več možnimi rešitvami nekega problema
• Zelo širok spekter nalog, od tehnično-operativnih do upravljalskih
• Za reševanje potrebno definirati problem in izbrati ustrezno metodo
2
Elementi optimizacijskega problema
• Množica možnih rešitev (njena definicija včasih vsebuje tudi omejitve, ki morajo veljati, da so rešitve dopustne)
• Kriterijska (stroškovna, namenska) funkcija, s katero vrednotimo rešitve
• Zahteva, ki jo je potrebno izpolniti, npr. poiskati najboljšo rešitev, poiskati zadosti dobro rešitev, poiskati dopustno rešitev ipd.
Optimiranje in odločanje
Značilnost postopka Optimiranje Odlo čanje
Število možnih rešitev veliko majhno
Poudarek pri reševanju preiskovanje, vrednotenje
gradnja modela, razlaga
Način vrednotenja rešitev izračun presoja
Narava informacij eksaktne “mehke”
Vloga računalnika izvedba podpora
Nivo izvedbe tehnično-operativni upravljalski
Merljivost učinkov enostavna zahtevna, pogosto nemogoča
3
Optimizacijski problem
• Dano:
– množica možnih rešitev problema
– omejitve, ki veljajo za rešitve
– kriterijska (stroškovna, namenska) funkcija, s katero vrednotimo rešitve
• Iščemo:
– dopustno rešitev z najvišjo vrednostjo kriterijskefunkcije (oz. najmanjšimi stroški)
Zakaj je optimizacija (lahko) zahtevna?
• Število možnih rešitev je lahko zelo veliko.
• Delež dopustnih rešitev je lahko zelo majhen.
• Vrednotenje rešitev je lahko časovno zahtevno, drago, nevarno, …
• Problem je lahko nezvezen, nelinearen, multimodalen, …
• Obstaja lahko več kriterijev.
• Kriteriji si lahko nasprotujejo.
• Problem se lahko s časom spreminja (je dinamičen).
• …
4
Kaj je evolucijsko računanje?
• Področje računalništva, ki se ukvarja z razvojem in uporabo preiskovalnih in optimizacijskih algoritmov, ki posnemajo principe biološke evolucije
• Ideja: računalniško simulirana evolucija kot metoda reševanja problemov
• Analogija:
Biološka evolucija Reševanje problema
Osebki Možne rešitve
Uspešnost Kakovost rešitev
Okolje Problem
Razvrstitev področja
NeuralNetworks
EvolutionaryProgramming
EvolutionStrategies
GeneticAlgorithms
GeneticProgramming
EvolutionaryAlgorithms
FuzzySystems
COMPUTATIONALINTELLIGENCE
orSOFT COMPUTING
5
Evolucijski cikel
Križanje
MutacijaPopulacija
Potomci
StaršiSelekcija
Zamenjava
1. (Naključno) tvori začetno množico rešitev.
2. Ovrednoti rešitve.
3. Kot rezultat privzemi najboljšo rešitev.
4. Verjetnostno izberi podmnožico dobrih rešitev.
5. Tvori nove rešitve z variacijo obstoječih rešitev.
6. Ovrednoti nove rešitve.
7. Če je dobljena boljša rešitev, jo privzemi za rezultat.
8. Če je opravljenih zadosti iteracij, vrni rezultat in končaj,
sicer se vrni na korak 4.
1. (Naključno) tvori začetno množico rešitev.
2. Ovrednoti rešitve.
3. Kot rezultat privzemi najboljšo rešitev.
4. Verjetnostno izberi podmnožico dobrih rešitev.
5. Tvori nove rešitve z variacijo obstoječih rešitev.
6. Ovrednoti nove rešitve.
7. Če je dobljena boljša rešitev, jo privzemi za rezultat.
8. Če je opravljenih zadosti iteracij, vrni rezultat in končaj,
sicer se vrni na korak 4.
Evolucijski algoritem
1. (Naključno) tvori začetno množico rešitev
2. Ovrednoti rešitve.
3. Kot rezultat privzemi najboljšo rešitev
4. V
5. Tvori nove rešitve z variacijo obstoječih rešitev
6. Ovrednoti nove rešitve.
7. Če je dobljena boljša rešitev
8. Če je opravljenih zadosti iteracij, vrni rezultat in končaj,
sicer se vrni na korak 4.
6
Evolucijski algoritem
Terminologija
• Populacija: množica obravnavanih možnih rešitev
• Osebki, kromosomi: elementi populacije, možne rešitve
• Funkcija uspešnosti: (angl. fitness function), ciljna (stroškovna) funkcija, s katero vrednotimo rešitve
• Generacije: iterativni koraki v izvajanju algoritma
• Selekcija: implementacija načela preživetja najuspešnejših v populaciji
• Variacijski (genetski) operatorji: križanje, mutacija
7
Predstavitev možnih rešitev
• Odvisna od problema
• Primer: optimizacija 10 numeričnih spremenljivk, predstavitev v obliki vektorja realnih števil
• Druge možnosti: dvojiški nizi, permutacije, tabele, drevesne strukture itd.
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
Selekcija
• Multipliciranje rešitev glede na njihovo uspešnost: uspešnejša kot je rešitev, večja je verjetnost, da bo prispevala potomce v naslednjo generacijo
• Učinek: preživetje najuspešnejših (angl. survival of thefittest), t.j. dobre rešitve se množijo, slabe odmirajo
• Različne implementacije, primer: turnirska selekcija
8
Kombiniranje rešitev: križanje
Starša: x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
y1 y2 y3 y4 y5 y6 y7 y8 y9 y10
x1 x2 x3 y4 y5 x6 x7 y8 y9 y10
y1 y2 y3 x4 x5 y6 y7 x8 x9 x10
• Naključna izbira dveh „staršev“
• Naključna izbira mest križanja, izmenjava podnizov
Potomca:
Mutacija
• Naključne spremembe vrednosti na naključno izbranih mestih v rešitvah
• Pomen: tvorjenje kombinacij vrednosti, ki niso prisotne v populaciji
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
x1 x2 x3 x4* x5 x6 x7 x8 x9 x10
9
1,8
1,9
2,0
2,1
2,2
2,3
2,4
2,5
0 50 100 150 200 250 300 350 400
Cos
t
Evaluations
Run 1
Run 2
Run 3
Run 4
Run 5
Average
Algoritem je stohastičen
Značilnosti evolucijskih algoritmov
• Stohastični
• Populacijski
• Lahko jih ustavimo kadarkoli (angl. any-time algorithms)
10
Razvoj in uporaba evolucijskega algoritma za izbrani problem
• Predstavitev (kodiranje) možnih rešitev
• Funkcija uspešnosti
• Posebni operatorji (če so potrebni)
• Uglaševanje parametrov algoritma: velikost populacije, število generacij, verjetnosti operatorjev
• Vrednotenje rezultatov
Področja uporabe
Biofizika Proizvodni procesi Energetika
11
Prednosti evolucijskih algoritmov
• Splošnost in široka uporabnost
• Zahtevajo le vrednotenje rešitev, ne pa tudi dodatnih informacij o njih in posebnih lastnosti prostora rešitev
• Zaradi populacijskega načina preiskovanja dajejo alternativne rešitve
• Omogočajo vključevanje drugih metod (hibridizacijo)
• Možno jih je paralelizirati
• Uspešno rešuje zahtevne praktične probleme
Slabosti evolucijskih algoritmov
• Suboptimalna metodologija (brez zagotovila o optimalnosti rešitev)
• Računska zahtevnost
• Potrebno uglaševanje parametrov algoritma (velikost populacije, število korakov, verjetnosti operatorjev)
12
Sklep
• Optimiranje je pomemben element načrtovanja sistemov in naprav, vodenja procesov itd.
• Reševanje realnih optimizacijskih problemov ni trivialno (formulacija problema, poznavanje metodologije, iterativno reševanje, vrednotenje rezultatov)
• Stohastično optimiranje je pogosto edini možni pristop
• Evolucijski algoritmi so uveljavljena stohastična optimizacijska metoda
Literatura
• Učbenik:A. E. Eiben, J. E. Smith: Introduction to Evolutionary Computing, Springer-Verlag, Berlin, 2003
• Spletna stran:The Hitch-Hiker's Guide to Evolutionary Computationhttp://www.aip.de/~ast/EvolCompFAQ/