50 optimizacija in evolucijsko racunanje - dis.ijs.si · • evolucijsko ra čunanje in genetski...

12
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

Upload: others

Post on 27-Sep-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 2: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 3: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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).

• …

Page 4: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 5: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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.

Page 6: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 7: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 8: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 9: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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)

Page 10: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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

Page 11: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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)

Page 12: 50 Optimizacija in evolucijsko racunanje - dis.ijs.si · • Evolucijsko ra čunanje in genetski algoritmi • Primer uporabe: Optimizacija procesnih parametrov v metalurški proizvodnji

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/