Partner sekcie:
  • SCHELL

Návrh regulácie pomocou genetických algoritmov

image 80730 25 v1

Prínos genetického algoritmu je nesmierny, no optimalizácia pomocou jeho využitia je v praxi stále veľmi zriedkavá. Súčasný európsky štandard prevádzky budov v sebe zahŕňa mnoho zložitých technických zariadení, ktoré je nevyhnutné riadiť. Pre potreby riadenia TZB sa prevzali mnohé princípy a metodiky z priemyselnej automatizácie, no oproti výrobnej automatizácii, ktorej prioritou je kvalita alebo kvantita výsledného, neživého produktu (objektívne merateľná), je pri automatizácii budov koncovým meradlom najmä (subjektívny) komfort užívateľov.

Prísne ergonomické a hygienické požiadavky umelého prostredia v rámci budov priniesli nové výzvy nielen pre procesnú úroveň riadenia, ale aj pre samotný riadiaci systém. Vznikli často protichodné požiadavky (napríklad urýchlenie dynamiky vyhriatia priestorov pomocou vyšších teplôt vykurovacích plôch znižuje komfort – asymetrické tep. sálanie atď.), takže procesná úroveň si už nevystačila s „klasickou“ metodikou návrhu regulácie. Riadenie budov tak ponúka široké možnosti zavedenia nových prístupov. Genetický algoritmus (GA) je heuristický postup, ktorý sa snaží aplikáciou princípov evolučnej biológie nájsť riešenie zložitých optimalizačných alebo prehľadávacích problémov. Genetické algoritmy, resp. všetky postupy patriace medzi tzv. evolučné algoritmy, používajú techniky napodobňujúce evolučné procesy známe z biológie – dedičnosť, mutácia, prirodzený výber a kríženie [1].

Princípom práce genetického algoritmu je postupná tvorba rôznych riešení daného problému. Pri riešení sa uchováva tzv. populácia, ktorej každý jedinec predstavuje jedno riešenie daného problému. Ako populácia prebieha evolúciou, riešenia sa zlepšujú. Riešenie je reprezentované binárnymi číslami (reťazcami núl a jednotiek) alebo inou formou (strom, pole, matice…). Typicky je na začiatku GA (v prvej generácii) populácia zložená z úplne náhodných členov. Pri prechode do novej generácie sa pre každého jedinca vypočíta tzv. úspešnosť (fitness), ktorá vyjadruje kvalitu riešenia reprezentovaného týmto jedincom. Podľa tejto kvality sa rôznymi spôsobmi (stochastický, náhodný…) vyberajú jedinci, ktorí sú modifikovaní (pomocou mutácie a kríženia), čím vznikne nová populácia. Tento postup sa iteratívne opakuje, čím sa kvalita riešenia v populácii postupne vylepšuje. Algoritmus sa obvykle zastaví pri dosiahnutí požadovanej kvality riešenia, prípadne po určenom čase.

Obr. 1 Bloková schéma genetického algoritmu

Obr. 1 Bloková schéma genetického algoritmu

Návrh parametrov regulátora pomocou GA

Na jednoduchom príklade ilustrujeme návrh parametrov regulátora pre jednoduchý spätnoväzobný regulačný obvod na účely riadenia vykurovacieho procesu budovy (regulácia sa realizuje pomocou regulačných ventilov v rámci vykurovacích telies). Na začiatku genetického algoritmu volíme počet parametrov, ktoré potrebujeme nájsť. V našom prípade hľadáme len dva parametre, hodnoty P a I, PI regulátora.

Pozn.: Vykurovanie je zrejme najpomalší systém v rámci budovy, preto na riadenie stačí PI regulátor. Rýchlosť ovládania akčného člena (regulačný ventil prietoku) je zanedbateľná v porovnaní s dynamikou vykurovania.

Obr. 2 Priebeh regulovanej veličiny – opis charakteristiky regulácie (periodický priebeh s preregulovaním)

Obr. 2 Priebeh regulovanej veličiny – opis charakteristiky regulácie (periodický priebeh s preregulovaním)

V ďalšom kroku volíme intervaly jednotlivých parametrov – génov, ktoré bude GA „prehľadávať“. Stanovíme, že parameter P môže byť len v rozsahu <0; 20> a parameter I v rozsahu <0; 5>.
Následne je nevyhnutné zvoliť účelovú – kriteriálnu – funkciu. Účelová funkcia určuje kvalitu regulácie. Práve v tomto ponímaní má GA oproti klasickým metódam (klasické metódy návrhu PID regulátora – Ziegler-Nichols, Naslin, optimálny modul a pod.) definujúcim parametre regulátora veľkú výhodu. V rámci GA sa môžeme súčasne zamerať na viacero špecifických charakteristík. Do účelovej funkcie môžeme zahrnúť súčasne viac parametrov podľa toho, aký priebeh želanej hodnoty si prajeme. Môžeme zvoliť účelovú funkciu ako viaczložkovú. V našom ilustračnom príklade sa sústredíme na čas regulácie, preregulovanie a trvalú regulačnú odchýlku. Genetický algoritmus nájde optimálne hodnoty PI regulátora s minimálnou trvalou regulačnou odchýlkou, bez preregulovania, pričom regulačný proces bude najrýchlejší (najkratší čas regulácie).

Obr. 3 Priebeh evolúcie riešenia

Obr. 3 Priebeh evolúcie riešenia

Nevyhnutným krokom GA je voľba veľkosti populácie. Keďže hľadáme len dva parametre, postačí nám populácia s veľkosťou piatich jedincov, ktorí sú v rámci prvej generácie vygenerovaní náhodne [(1,2; 0,3), (7,3; 1) , (4,2; 0,03) , (9,4; 2,0) , (0,3; 0,1)]. Každý jedinec z populácie predstavuje jedno riešenie, pre ktoré sa „spustí“ simulácia, t. j. vznikne päť priebehov regulácie. Pri každom z nich sa vyhodnotí čas regulácie, trvalá reg. odchýlka a preregulovanie. Najlepší jedinec postupuje do ďalšej generácie bezo zmeny (elitarizmus). Pracovná populácia zvyšných štyroch jedincov vznikne podľa nami zvoleného výberu (napríklad z populácie prvej generácie vyberieme náhodne štyroch jedincov) a budú v nej aplikované mutácie a kríženie.

Vznikne nová populácia, ktorá predstavuje novú generáciu. Jedinci novej generácie reprezentujú nové riešenia, pre ktoré sa znovu spustí simulácia regulácie a vyhodnotia sa analogicky zodpovedajúce parametre. Genetické operácie (mutácie a kríženie) niektoré riešenia zhoršili, no niektoré zlepšili. Najlepší jedinec druhej generácie postupuje bezo zmeny do ďalšej generácie, vznikne nová populácia ďalšej generácie s mutovanými a skríženými jedincami. Iteratívne sa tento proces opakuje, pričom v priebehu evolúcie sa riešenie stále zlepšuje. Konečné riešenie reprezentuje najlepší jedinec v poslednej generácii. Ukončenie GA má viac alternatív – či už na základe dosiahnutia predpísaného počtu generácií, dosiahnutia požadovanej kvality riadenia, alebo stagnácie kvality riešenia a pod.

Obr. 4 Štruktúra regulačného prvku pre špecifický nelineárny systém

Obr. 4 Štruktúra regulačného prvku pre špecifický nelineárny systém

Návrh štruktúry regulátora pomocou GA

Pri zložitejších systémoch, pri ktorých si nevystačíme s PID regulátormi (výrazne nelineárne systémy a pod.), sme pomocou GA schopní nájsť štruktúru aj parametre samotného regulátora. Na regulátor sa spočiatku pozeráme ako na čiernu skrinku. Predpíšeme si počet a typy jednotlivých blokov, z ktorých sa môže regulátor skladať (napr. blok zosilnenia, integrácie, derivácie, násobenia, obmedzenia atď.) Jedinec GA tak bude obsahovať viacero parametrov (génov), reprezentujúcich informácie o prepojení konštrukčných prvkov regulátora, ako aj hodnoty ich parametrov (zosilnenie, rýchlosť integrácie atď.). Na konci evolúcie GA tak vznikne optimálna štruktúra regulátora pre zvolený „komplikovaný“ systém – objekt riadenia. Takýmto spôsobom možno zachovať jednoduchosť riadenia (regulácia s jedným regulátorom – jednoduchá regulačná slučka) pomocou špecifickej štruktúry regulátora.

Obr. 5 3D model miestnosti vytvorený pomocou programu Catia V5

Obr. 5 3D model miestnosti vytvorený pomocou programu Catia V5

Konštrukčné úlohy vs. GA

GA je možné použiť aj pri riešení konštrukčných úloh [2]. Ako príklad uvedieme projektovanie vykurovania, pri ktorom je nevyhnutné nájsť optimálne rozmery a umiestnenie vykurovacích telies. Skúmaný objekt je štvorizbový rodinný dom. Model bol vytvorený v programe Catia V5, simulácia tepelných dejov prebiehala v programe Comsol Multiphysics, pričom práve táto simulácia tvorí východiskový bod pre genetický algoritmus, ktorý bol vytvorený v programe Matlab. Zložitosť modelu pritom závisí od želanej presnosti a od množstva uvažovaných faktorov, ktoré majú vplyv na sledovanú vlastnosť (veličinu).

Vykurovaciu sústavu zvoleného rodinného domu tvoria panelové radiátory, preto budeme genetickým algoritmom hľadať len konštrukčnú dĺžku a konštrukčnú výšku radiátorov a ich umiestnenie.
Kvalita riešenia sa posudzuje podľa homogenity teploty v izbe, t. j. je daná ako súčet absolútnych hodnôt rozdielu teplôt v meraných bodoch danej miestnosti a požadovanej teploty (tab. 1).
Vzhľadom na to, že hľadáme 21 parametrov, populáciu tvorí 60 jedincov. Ich výber do ďalšej generácie sa realizuje pomocou tzv. váhovaného ruletového kolesa, pri splnení elitarizmu. GA sa ukončí po dosiahnutí predpísaného počtu generácií – my sme zvolili 5 000.

Na príklade jednopodlažného domu sme demonštrovali možnosti, ktoré nám ponúka vzájomné prepojenie programov Matlab a Comsol Multiphysics. Pomocou genetického algoritmu sa našli optimálne rozmery a umiestnenie vykurovacích telies tak, aby boli splnené zadané podmienky, t. j. aby sa dosiahla predpísaná teplota pri dosiahnutí maximálnej tepelnej homogenity v miestnosti. Z výsledkov GA je zrejmé, že v porovnaní s projektovým návrhom vykurovacej sústavy sa na dosiahnutie lepšej tepelnej pohody zväčšili rozmery vykurovacích telies a ich teplota sa znížila. Keďže Comsol Multiphysics možno ľahko rozšíriť o ďalší aplikačný mód, môžeme v už vytvorenom projekte jednoducho sledovať aj iné fyzikálne veličiny (napríklad zmenu vlhkosti vzduchu, vznik tepelných prúdov a i.). Takto postavená úloha nám poskytuje cenné informácie (dáta) nielen na samotné riadenie teploty objektu, ale aj na posúdenie kvality riešení podľa rôznych hľadísk.

Obr. 6 Objekty reprezentujúce vykurovacie telesá (vľavo); miesta merania, v ktorých sa bude vyhodnocovať teplota (vpravo).

Obr. 6 Objekty reprezentujúce vykurovacie telesá (vľavo); miesta merania, v ktorých sa bude vyhodnocovať teplota (vpravo).

Optimalizačné úlohy

Genetický algoritmus je výborný optimalizačný nástroj. Vo všeobecnosti platí, že ak vieme optimalizovaný problém matematicky opísať, t. j. vieme vytvoriť jeho opis (model), vieme ho aj optimalizovať pomocou genetického algoritmu. Všetko, čo je riadené, by malo byť aj optimalizované. Pomocou GA tak dokážeme nájsť optimálne riešenie (nastavenie) všetkých podstatných systémov TZB – od tých najrýchlejších (elektromotorické a hydraulické systémy) až po tie najpomalšie (vykurovanie a klimatizácia). V rámci budovy je veľké množstvo miest na optimalizáciu. Ako príklad môžeme uviesť nájdenie optimálneho „tvaru“ signálu na rozbeh a dobeh elektromotora výťahu tak, aby bol jeho rozbeh a dobeh najkratší a pritom spôsoboval najmenšie preťaženie (zrýchlenie) kabíny výťahu, t. j. aby bol zaručený čo najvyšší komfort pre ľudí vo výťahu. GA bol v tomto prípade veľmi jednoduchý. Gén reprezentoval hodnotu signálu v danom čase. Vzorky signálu medzi nájdenými hodnotami GA sa aproximovali.

Obr. 7 Porovnanie tepelnej pohody (homogenita teploty): simulácia projektového vykurovacieho systému (vľavo), vykurovací systém navrhnutý genetickým algoritmom (vpravo)

Obr. 7 Porovnanie tepelnej pohody (homogenita teploty): simulácia projektového vykurovacieho systému (vľavo), vykurovací systém navrhnutý genetickým algoritmom (vpravo)

GA – zhodnotenie

Genetický algoritmus má ako univerzálny optimalizačný nástroj v rámci riadenia TZB široké uplatnenie. Jeho najväčšou výhodou je nájdenie optimálneho riešenia podľa zvoleného kritéria, pričom toto kritérium môže súčasne zahŕňať viac dôležitých charakteristík, čo pri iných metódach návrhu riadenia nie je možné. Pomocou genetického algoritmu tak ľahko nájdeme optimálne hodnoty setpointov (prevádzkových hodnôt – nastavení technológie). Nevýhodou GA je vysoká požiadavka na výpočtový výkon počítača, ako aj časová náročnosť. Kým pri jednoduchom probléme, ako je návrh regulátora či „tvarovača“ signálu, nájde GA optimálne riešenie v rozmedzí pár minút aj na priemernom PC, pri komplikovanejších problémoch, ako sú návrh štruktúry regulátora či konštrukčné úlohy, má GA vysoké časové aj výpočtové nároky. Úloha optimálneho umiestnenia a dimenzovania vykurovacích telies trvala na šesťjadrovej PC stanici tri týždne. Keďže sa však tento výpočet robí offline a dá sa povedať jedenkrát pre daný objekt, je tento čas v porovnaní s projekčnými prácami či výstavbou zanedbateľný.

Obr. 8 Tvar signálu „dobehu“ pri výťahu

Obr. 8 Tvar signálu „dobehu“ pri výťahu

Prínos GA je preto nesmierny – v oblasti komfortu, ale aj vo sfére úspor energie –, no optimalizácia pomocou jeho využitia je v praxi stále veľmi zriedkavá.

Literatúra

  1. SEKAJ, I.: Genetické algoritmy (3), použitie genetických algoritmov pri návrhu regulačných obvodov. In: AT&P Journal, roč. 9, č. 1 (2002), s. 58 – 59. http://www.posterus.sk/?p=3364.
  2. Števo, S.: Optimalizácia vykurovania podľa vonkajších teplotných podmienok. In: Technical Computing Prague 2009: 17th Annual Conference Proceedings. Prague, Czech Republic, 19. 11. 2009. Prague: Humusoft, Ltd., 2009. CD-Rom.
  3. Klaus, D.: Technika budov. Bratislava: JAGA Group, 2005.

Text: Ing. Stanislav Števo, PhD.
Obrázky: autor
Autor sa venuje automatizácii budov a návrhom udržateľných stavieb.

Článok bol uverejnený v časopise TZB HAUSTECHNIK.