![Page 1: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/1.jpg)
Riešenie praktických problémov pomocou bio-inšpirovaných výpočtových metód
(BIOM) v MATLABe
Ivan Sekaj
Fakulta elektrotechniky a informatiky, Slovenská technická univerzita v Bratislave
E-mail: [email protected]
![Page 2: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/2.jpg)
Aké typy úloh vieme riešiť pomocou BIOM?
• optimalizácia
(minimalizácia / maximalizácia) • hľadanie riešení - prehľadávanie
priestoru potenciálnych riešení
2
![Page 3: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/3.jpg)
Maximalizácia • zisk • výkon • efektivita • ...
Mimimalizácia • spotreba, energia • čas • náklady • chyba • odchýlka od požadovaného stavu ...
3
![Page 4: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/4.jpg)
G50
Optimalizačná úloha sa dá transformovať na minimalizáciu/maximalizáciu
funkcie n-premenných X* = [x1,x2,…xn] = ? ; F(X*) = min(F(X)); (resp. max)
účelová funkcia, kriteriálna funkcia, „fitness“ 4
![Page 5: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/5.jpg)
G50
Lokálne maximum
Globálne maximum
Optimalizačná úloha
5
![Page 6: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/6.jpg)
Náš toolbox (genetic toolbox, Matlab) je minimalizačný. Lepšie riešenia sú tie, ktoré dosahujú nižšiu hodnoty účelovej funkcie. Prevedenie maximalizačnej úlohy na minimalizačnú:
xopt=max(F(x)) → xopt=min(-F(x))
6
![Page 7: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/7.jpg)
Klasifikácia optimalizačných metód
- exaktné (analytické)
- numerické (približné)
- deterministické - stochastické (metaheuristické) - konvenčné (ne-evolučné) - evolučné - iné bio-inšpirované
7
![Page 8: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/8.jpg)
Pomocou optimalizačného prístupu možno riešiť aj úlohy, ktoré nie sú v prvom ponímaní maximalizačné/minimalizačné úlohy. Prevedenie exaktnej úlohy - výpočet inverznej matice - na približnú minimalizačnú:
A-1 =? ; A*A-1=I A*A-1-I=0
X=? ; (A*X-I)→min
8
![Page 9: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/9.jpg)
Bio-inšpirované výpočtové metódy
evolučné / iné
9
![Page 10: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/10.jpg)
Motivácia vzniku evolučných algoritmov
(genetického algoritmu)
10
![Page 11: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/11.jpg)
Biologická evolúcia
1 bunka - baktéria 6000 miliárd buniek - človek 11
![Page 12: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/12.jpg)
Reprezentanti bio-inšpirovaných
prístupov
• Evolučné algoritmy
• ACO – kolónie mravcov
• PSO (kŕdľový alg.)
• Včelí algoritmus
• Kvetový algoritmus
(opelovací)
• Svetluškový algoritmus
• Kukučkový algoritmus
• Iné ...
12
![Page 13: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/13.jpg)
Reprezentanti evolučných algoritmov
• Evolučné stratégie
• Evolučné programovanie
• Genetické algoritmy
• Genetické programovanie
• Diferenciálna evolúcia
• Umelý imunitný systém
• Gramatická evolúcia
• iné ...
13
![Page 14: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/14.jpg)
Evolučný algoritmus
1. Inicializuj populáciu reťazcov
2. Vyhodnoť úspešnosť každého reťazca populácie
3. Vyber rodičov (úspešnejší majú väčšiu pravdepodobnosť byť vybraní)
4. Modifikácia rodičov = potomkovia (mutácia, kríženie)
5. Vytvor novú populáciu z potomkov a prežívajúcich jedincov
6. Skok na bod 2
14
![Page 15: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/15.jpg)
Riešenie problému pomocou EA
Model problému -
vyhodnotenie úspešnosti
(model, simulácia, výpočet, ...)
Model evolúcie
(EA, genetický algoritmus atď.)
(sub) optimálne riešenie
15
![Page 16: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/16.jpg)
G50
Optimalizácia funkcie n-premenných X* = [x1,x2,…xn] = ? ; F(X*) = min(F(X)); (resp. max)
Chromozóm = [x1,x2,…xn] potenciálne riešenie problému 16
![Page 17: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/17.jpg)
Populácia
Množina „vhodného počtu“ chromozómov (napr. 30-100)
Genetický algoritmus operuje nad populáciou
chromozómov.
17
![Page 18: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/18.jpg)
Kríženie chromozómov
1 2 3 4 5 6 7
7 6 5 4 3 2 1
1 2 3 4 5
6 7
2 1
7 6 5 4 3
rodičovské reťazce potomkovské reťazce
Príklad 1 18
![Page 19: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/19.jpg)
Mutácia chromozómu
1 2 3 4 5 6 7
1 2 3 4 5 6 7 7
Príklad 2 19
![Page 20: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/20.jpg)
b a
c
d e f
g
h
roztočiť
ukazovatele
výberu
Ruletový výber
Príklad 3 20
![Page 21: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/21.jpg)
N generácií výpočtu
Mutácie
Koniec
?
Nie
Ano Najlepší jedinec
poslednej populácie
Riešenie
Genetický algoritmus
Inicializácia
počiat. popul.
Štart
Vyhodnotenie
fitness
n
n-b
Výber Nová
populácia
b
Kríženie
n-b
Príklad 4 21
![Page 22: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/22.jpg)
2. Genetic toolbox - Mathworks 3. GA – iné zdroje, internet
22
Genetic toolbox - Matlab (ÚRK FEI STU Bratislava, 2000)
![Page 23: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/23.jpg)
Prehľad funkcií Genetic toolbox
among - medziľahlé kríženie
change - mutácia duplicitných reťazcov
crosgrp - kríženie medzi viacerými rodičmi
crossov - viacbodové kríženie dvoch rodičov
genrpop - vygenerovanie náhodnej reálnečíselnej populácie
invfit - doplnok účelovej funkcie
muta - aditívna mutácia
mutm - multiplikatívna mutácia
mutx - obyčajná mutácia
selbest - výber najlepších reťazcov
seldiv - výber podľa maximálnej diverzity
selrand - náhodný výber reťzcov
selsort - výber a zotriedenie reťazcov podľa úspešnosti
selsus - výber pomocou váhovaného ruletového kolesa
shake - náhodné premiešanie poradia reťazcov v populácii
swapgen - mutácia poradia génov v reťazci
swappart - vzájomná výmena poradia dvoch častí reťazcov
. . .
23
![Page 24: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/24.jpg)
selsus - výber jedincov pomocou váhovaného ruletového kolesa
Charakteristika:
Funkcia vyberie zo vstupnej populácie do výstupnej populácie určený počet
reťazcov pomocou výberu, ktorého ekvivalentom je otáčanie váhovaným
ruletovým kolesom. Váhované ruletové koleso je rozdelené na kruhové výseky, z
ktorých každý je priradený jednému reťazcu a jeho veľkosť je nepriamo úmerná
hodnote jeho účelovej funkcie (resp. priamo úmerná jeho úspešnosti).
Úspešnejšie reťazce majú väčšiu šancu byť vybrané.
Syntax:
Newpop=selsus(Oldpop,Objpop,Num);
Newpop - nová (výstupná) populácia
Oldpop - stará (vstupná) populácia
Objpop - vektor hodnôt účelovej funkcie starej populácie
Num – počet vybraných najúspešnejších reťazcov
24
![Page 25: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/25.jpg)
crossov - kríženie
Charakteristika:
Funkcia vytvorí novú populáciu reťazcov, ktorá vznikne skrížením všetkých
reťazcov starej populácie 1- až 4-bodovým krížením. Krížené sú všetky reťazce
(ak je ich párny počet). Výber párov je buď náhodný alebo sú vybrané susedné
reťazce v populácii podľa voľby parametra sel.
Syntax:
Newpop=crossov(Oldpop,num,sel)
Newpop - matica skríženej (výstupnej) populácie
Oldpop - pôvodná (vstupná) populácia
num - počet bodov kríženia (miest rozdelenia) od 1 do 4
sel - spôsob výberu dvojíc:
0 - náhodný
1 - susedné dvojice v populácii
25
![Page 26: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/26.jpg)
mutx - obyčajná mutácia
Charakteristika:
Funkcia zmutuje populáciu reťazcov s intenzitou úmernou parametru rate (z
rozsahu od 0 do 1). Mutovaných je len niekoľko génov v rámci celej populácie.
Mutované hodnoty sú zmenené na náhodné hodnoty z priestoru definovaného
ohraničeniami pomocou dvojriadkovej matice. Prvý riadok matice určuje dolné
ohraničenia jednotlivých génov reťazcov a druhý riadok ich horné ohraničenia.
Syntax:
Newpop=mutx(Oldpop,rate,Space)
Newpop - nová, zmutovaná populácia
Oldpop - stará populácia
Space - matica obmedzení, ktorej 1.riadok je vektor minimálnych a 2.
riadok je vektor maximálnych prípustných mutovaných hodnôt
rate - miera početnosti mutovania génov v populácii (od 0 do 1)
26
![Page 27: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/27.jpg)
Aplikácie BIOM v praxi
27
![Page 28: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/28.jpg)
Návrh regulačných obvodov
chromozóm = [p1,p2,…pn] pi – parametre regulátora
napr. PID regulátor: chromozóm = [P,I,D]
účelová funkcia: 28
![Page 29: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/29.jpg)
w
y Parametre/štruktúra regulátora =?
aby plocha bola minimalizána
Skok žiadanej
hodnoty
regulovanej
veličiny
Externá
porucha
1.Simulácia
(Simulink)
2
1
2
1
)()()(T
T
T
TIAE dttytwdtteJ
2. Vyčíslenie kriteriálnej funkcie
Príklad 5
![Page 30: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/30.jpg)
Min(JIAE) 2
1
2
1
)()()(T
T
T
TIAE dttytwdtteJ
Optimalizácia - GA
Matlab
Simulink
30
![Page 31: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/31.jpg)
Fz
1
ms
1
s
sm sm*
s1
s2
K2
K1
sm
GF
B
Fm Fm*
PID LC
vm
IRC LO
Polohový systém s PID regulátorom, lead kompenzátorom (LC),
Luenbergerovým pozorovateľom (LO), generátor sily (GF).
0
01
bz
azaLC
chromozóm:
ch={P,I,D,a1,a0,b0}
T
dtteteteFitness0
)()()(
α=1, β=0.5, =0
Návrh riadenia polohového systému s PID regulátorom, lead kompenzátorom a Luenbergerovým pozorovateľom
31
![Page 32: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/32.jpg)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-6
-4
-2
0
2
4
6
8x 10
-5
t [s]
erro
r [m
]
Position error
Pole Placement
GA
P I D a1 a2 B2
Pole-placement 4737.4 99220 75.3882 20 -19.8425 -0.8425
GA 45100 4.8020 780.2274 1.5315 -1.4123 -0.4219
P
o
s
i
t
i
o
n
32
![Page 33: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/33.jpg)
Návrh riadenia MIMO systému
33
![Page 34: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/34.jpg)
Fix (known) structure of the controller
Chromosome: ch = [ p1, p2, … , pi, … , pn ] PID controller : CPID(s) = P + I/s + Ds ch = [P,I,D] General linear controller : ch=[bn-1, … , a0]
+ -
w e u y
controller process
01
01
1
1
...
...
)(
)()(
asasa
bsbsb
sA
sBsC
n
n
n
n
Fix number of parameters - genes
1.Genetic Algorithms (GA) 2.Differential Evolution 3.PSO 4.Artificial Immune System 5.Evolutionary Strategies 6.other numerical optimisers ...
34
![Page 35: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/35.jpg)
Process Controller
structure ?
Unknown structure of the controller ( unknown number of parameters)
1.Genetic Programming 2.Cartesian Programming 3.Grammatical Evolution 4. ...?
35
![Page 36: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/36.jpg)
Evolúcia regulátora – Genetické programovanie
1
2
3
4
5
e
u1
Out1
Product
-1
Gain 22.5
Gain 1 z
1
Delay
1
In1
15.2
54321
14
010101023
KwDKwx
Regulátor v Simulinku - fenotyp Stavebné prvky
Stromová reprezentácia Tabulková reprezentácia - genotyp 36
![Page 37: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/37.jpg)
Controller design - Kartesian genetic programming
Individual coding:
[1 2 3 1.2 0.9 0.1 1 1 2 4 2 3 5 4 5 6 1 3 1 3 2]
bt 1 2 3 N
bg 1.
2
0.
9
0.
1
N
ic 1 1 2 4 2 M
oc 3 5 4 5 6 M
m
c
1 3 1 3 2 M
Building blocks
Inputs
Output
37
![Page 38: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/38.jpg)
Hydro-turbine controller obtained after evolution
38
![Page 39: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/39.jpg)
Optimalizácia trajektórie robotického ramena – príklad ( Robot ABB IRB 6400 )
http://www.youtube.com/watch?v=p2wCSyl_f6M
39
![Page 40: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/40.jpg)
Ďalšie kritériá
EPr,i - energia i-teho kĺbu na 1° rotácie
Presnosť polohovania
40
![Page 41: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/41.jpg)
TPr,i je čas pohybu i-teho kĺbu na 1° rotácie
41
![Page 42: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/42.jpg)
Evolučný hardvér (Evolvable Hardware)
42
![Page 43: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/43.jpg)
Evolúcia elektrických obvodov
43
![Page 44: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/44.jpg)
Vyhodnotenie fitness:
- simulačný softvér elt.
obvodov
- rekonfigurovatelné elt.
obvody
(číslicové/analógové,
logické obvody,
hradlové polia, polia
operač.zosil. atď...)
44
![Page 45: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/45.jpg)
Evolúcia logických obvodov
45
![Page 46: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/46.jpg)
Návrh (riadiaceho) programu – genetické programovanie
stromová reprezentácia jedinca
IfWF
Right
else
Move
IfXR
Right
else
Left
end
end
Right
next
Move
IfXR
Right
Left
46
![Page 47: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/47.jpg)
Výsledná trajektória robota IfWF
Right
IfXF
IfWL
IfWF
Left
else
IfWF
Move
Left
else
Move
end
Left
end
else
Move
Right
end
else
Move
... 47
![Page 48: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/48.jpg)
48
![Page 49: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/49.jpg)
Počeš výpočtov ustáleného stavu ES SR (fitnes)
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 % 49
![Page 50: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/50.jpg)
Konštrukčné úlohy
50
![Page 51: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/51.jpg)
Návrh tvaru vačky otáčavého stroja (GA)
Účelová funkcia: simulácia a
vyhodnotenie dynamických a
statických mechanických a tepelných
vlastností časti stroja
Reťazec: tvar a rozmery vačky
zakódované pomocou parametrov B-
spline funkcie
51
![Page 52: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/52.jpg)
Rôzne konštrukčné aplikácie
Mechanické konštrukcie
Návrh antény satelitu
52
![Page 53: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/53.jpg)
Spojenie EA s modelom na báze
metódy konečných prvkov (MKP)
(SW: Comsol, Ansys ...)
53
![Page 54: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/54.jpg)
Optimalizácia platne namáhanej silou (GA) (SW: ANSYS)
F
54
![Page 55: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/55.jpg)
Optimalizácia distribúcie teploty v byte
(SW: Comsol)
55
![Page 56: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/56.jpg)
Optimalizácia tvaru prekážky v potrubí
pretekanom tekutinou
56
![Page 57: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/57.jpg)
Populácia v 1. generácii výpočtu GA
57
![Page 58: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/58.jpg)
Populácia v 10. generácii výpočtu GA
58
![Page 59: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/59.jpg)
výsledok
Účelová funkcia reprezentuje mieru turbulencií v potrubí,
ktoré sa minimalizujú
59
![Page 60: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/60.jpg)
Aplikačné oblasti MKP
• elektromagnetické polia, elektrické, magnetické
polia
• sila, pružnosť, pevnosť, mechanické aplikácie
• šírenie tepla
• aerodynamika, hydrodynamika
• chémia ...
• riadenie v hore uvedených doménach
• a iné …
60
![Page 61: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/61.jpg)
Princíp riešenia v Matlabe/Comsole
Optimalizácia – evolučný
algoritmus (Matlab)
Vyhodnotenie účelovej
funkcie (Matlab)
Simulácia regulačného
obvodu (Matlab)
Model objektu - FEM
(Comsol Multiphysics)
Optimálne
riešenie
Špecifikom tohto prístupu je, že
nevyužíva zjednodušenú náhradu
riadeného objektu (napr. linearizovaný
model, atď.), ale uvažuje model so
všetkými jeho nelinearitami, okrajovými
podmienkami a ohraničeniami.
61
![Page 62: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/62.jpg)
Paralelizácia GA / BIOM
62
![Page 63: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/63.jpg)
Paralelný GA
• Riešenie prebieha v jednotlivých ostrovoch (subpopuláciách) istý čas
izolovane.
• Vo vhodných okamihoch nastáva výmena informácia medzi ostrovmi –
migrácia.
Pri migrácii sa jeden
alebo viac jedincov zo
zdrojovej subpopulácie
skopíruje a nahradí
iných jedincov v cieľovej
subpopulácii.
63
![Page 64: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/64.jpg)
Rôzne topológie paralel-GA
• Migrácie prebiehajú v smere šípok v definovaných okamihoch
• Okamihy migrácie a voľba a počet migrujúcich jedincov sú rôzne
• V jednotlivých ostrovoch môžu byť rovnaké/rôzne algoritmy a ich parametre (typ, selektívny tlak, diverzita)
a podobné ...
1 uzol = 1 subpopulácia
64
![Page 65: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/65.jpg)
Matlab - parallel computing
Parallel Computing Toolbox
• Umožňuje paralelizovať výpočty v Matlabe
• využívame 2 módy: 1) parfor - parallelný for cyklus 2) spmd – Single Program Multiple Data
Matlab Distributed Computing Server
• Lokálny režim paralelizácie: do 12 výpočtových uzlov (max. 12 jadier na 1 procesore – 1 PC). Dokáže rozdeliť úlohu v Matlabe na viac jadier na 1 PC bez inštalácie MDCS.
• Pokiaľ chceme využiť viac PC, je potrebné inštalovať MDCS
65
![Page 66: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/66.jpg)
Iné aplikačné domény BIOM
66
![Page 67: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/67.jpg)
Matematika • extremalizácia funkcií
• kombinatorika
• grafové úlohy
• regresná analýza
• teória hier, optimálne stratégie
• a veľa iného ...
67
![Page 68: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/68.jpg)
Ekonómia a finančníctvo
• optimalizácia výrobného sortimentu
• plánovanie výroby
• dopravné úlohy
• alokácia investícií
• optimalizácia finančných operácií
• a veľa iného ...
68
![Page 69: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/69.jpg)
Technika
• konštrukčné úlohy, stavby
• strojové učenie
• optim. chemických reakcií
• evolučný hardvér
• a veľa iného ...
69
![Page 70: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/70.jpg)
Informatika a komunikácia
• optim. spojenia v poč./telekom. sieti
• de / šifrovanie
• automatizované programovanie
• strojové učenie
• ...
• ?
70
![Page 71: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/71.jpg)
Umenie (Design)
• „evolúcia“ výtvarných diel
• evolúcia hudby
• ... ?
71
![Page 72: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/72.jpg)
Evolutionary Art … 72
![Page 73: Riešenie praktických problémov pomocou · bt 1 2 3 N bg 1. 2 0. 9 0. 1 N ic 1 1 2 4 2 M oc 3 5 4 5 6 M m c 1 3 1 3 2 M Building blocks Inputs Output 37 . Hydro-turbine controller](https://reader034.vdocuments.pub/reader034/viewer/2022051908/5ffccf7be2150f090d46ac6c/html5/thumbnails/73.jpg)
Zhrnutie - BIOM
• veľmi efektívne/výkonné metódy v porovnaní s bežnými optimalizačnými prístupmi
• širokospektrálne, univerzálne použiteľné • jednoduché použitie z hľadiska
používateľa – prenášajú ťažisko riešenia problému z človeka na počítač
73