Porovnání jednoduchých metod optimalizace fuzzy regulátoru


Šatánek, Josef

Ing., Katedra automatizační techniky a řízení, VŠB-TU Ostrava, ul. 17. listopadu 15, Ostrava-Poruba,
josef.satanek@vsb.cz

1. Úvod

V současné době jsou kladeny vysoké nároky na kvalitu řízení. Proto používáme moderní modernější přístupy řešení systémů řízení. Řízení s využitím fuzzy přístupu je nová progresivní metoda pro řízení technologických procesů, tam kde selhávají stávající metody.

Ačkoliv jsou fuzzy regulátory robustnější než klasické regulátory typu PID, ne vždy poskytují uspokojivé výsledky. Proto se snažíme navrhnout jejich optimalizaci.

Tento příspěvek popisuje jednoduché nediferenciální metody optimalizace, porovnává je a popisuje jejich přednosti a nevýhody.

2. Optimalizační program v prostředí MATLAB

Pro optimalizaci byl navrhnut optimalizační program v prostředí MATLAB. Při jeho návrhu byl kladen důraz na jednoduchost, snadnou ovladatelnost a možnost dalšího rozšíření.

Obr. 1. Základní okno

V horní části okna zadáváme parametry soustavy, program umožňuje zadávat lineární soustavu s nelinearitou omezení akční veličiny. Potom můžeme zvolit metodu optimalizace. Máme k dispozici tyto metody:

Ve střední části okna zadáváme parametry fuzzy regulátoru a to rozložení fuzzy hodnot, vyšetřovanou oblast, popřípadě startovní bod a velikost kroku. V dolní části se nachází parametry grafu a tlačítka.

3. Parametry fuzzy regulátoru

Optimalizujeme fuzzy regulátor typu PI, který má nadefinovány tři fuzzy proměnné:

U každé fuzzy proměnné jsou nadefinovány tři fuzzy hodnoty:

Pro defuzzyfikaci jsme použili Sugenovu metodu. Strukturu fuzzy regulátoru, rozložení bodů zlomu a bázi pravidel v tabulkové formě můžeme vidět na následujícím obrázku.
Báze pravidel

Obr. 2. Struktura fuzzy regulátoru

4. Optimalizace

Budeme používat následující způsob optimalizace, do regulačního obvodu vstupuje jako žádaná veličina obdélníkový periodický signál. Blok optimalizace zpracovává výstupní veličinu a vyhodnocuje optimalitu podle kritéria ITAE a podle zvolené optimalizační metody volí parametry fuzzy regulátoru.

Vzhledem k tomu, že optimalizační program bude v budoucnosti nasazen pro optimalizaci parametrů fuzzy regulátoru při řízení reálné soustavy, museli jsme se vyhnout diferenciálním metodám. Při návrhu metod jsem se snažili, aby použité metody byly co nejednodušší.

Předmětem optimalizace bude optimální nalezení bodů zlomu A, B a C.

Obr. 3. Schéma optimalizace

4.1. Metody optimalizace

Metoda skenování

Tato metoda není vhodná pro vlastní optimalizaci, ale spíše pro průzkum plochy. Princip této metody si nejlépe vysvětlíme na dvourozměrné verzi, viz obr. 4. Prostorovou plochu rozdělíme na n x n bodů, v těchto bodech určíme velikost kritéria a vyhodnotíme minimum. Tato metoda nám nejlépe ukáže počet minim na dané ploše a přibližnou velikost globálního minima, jeho polohu a tvar závislosti kritéria na parametrech regulátoru. Umožní vykreslit celou plochu a tak můžeme získat představu, jak daná plocha vypadá.

Obr. 4. Metoda skenování

Gaussova - Seidelova metoda

Někdy je nazývána metodou záměny proměnných. Je podrobně popsána v [Kusyn 1986].Vychází z klasických metod hledání minima funkcí. Postup je následující:

  1. Uděláme řez plochy ve vodorovném směru.
  2. Určíme minimum v našem případě metodou půlení intervalu (Bolzanovou metodou) nebo metodou zlatého řezu.
  3. Otočíme se v tomto bodě o 90 a vyšetřujeme minimum svislého řezu.
  4. Po nalezení minima celý postup opakujeme, až najdeme minimum s námi zadanou přesností.

Velkou předností této metody je velká přesnost a garance přesnosti minima. Nevýhodou této metody je to, že na ploše musí být pouze jedno minimum, a to u složitějších fuzzy regulátorů nemůžeme zaručit. Proto je dobré při první optimalizaci provést průzkum metodou skenování.


Obr. 5. Gaussova - Seidelova metoda

Metoda stochastického hledání

Tato metoda využívá stochastických procesů k nalezení minima. Je popsána v [Richter 1988]. Skládá z těchto kroků:

  1. Načteme startovací bod X0, maximální krok h, počet kroků N, dimenzi n a spočítáme f(X0).
  2. Určíme vektor = ( 1, 2,... n), kde i jsou náhodná čísla z intervalu <-1,1> a dosadíme xnový = x starý + h*
  3. Spočítáme f(xnový). Jestliže je f(xnový) < f(xstarý), dosadíme za xstarý = xnový, f(xstarý) = f(xnový).
  4. Dosadíme k = k + 1. Pokud je k = N ukončíme optimalizaci, pokud není vrátíme se na krok 2.

Obr. 6. Metoda stochastického hledání

Tato metoda je sice pomalá, ale má přednost v tom, že je odolná proti poruchám. Je vhodná především pro vícerozměrovou optimalizaci

Metoda souřadnicového hledání

Metodu si nejlépe vysvětlíme na dvourozměrném případě. Je podrobně popsána v [Richter 1988]. Algoritmus metody se skládá z následujících kroků:

  1. Načteme startovací bod X0, který má souřadnice [x1,x2], krok h, přesnost a maximální počet kroků N.
  2. Najdeme bod X1, pro který má souřadnice [x1 + h, x2]. Porovnáme hodnoty funkce v bodech X1 a X0.
  3. Pokud je f(X0) > f(X1), bodu X0 přiřadíme souřadnice X1 a otočíme se o 90 stupňů. Jinak se otočíme o 180 stupňů a změníme směr hledání z kladného na záporný, spočítáme funkci v novém bodě X1. Potom porovnáme hodnoty funkcí v obou bodech. Souřadnicím bodu X0 přiřadíme bod o nižší funkční hodnotě. Bod 3 opakujeme N krát.
  4. Výsledkem je souřadnice a funkční hodnota minima.

Obr 7. Metoda souřadnicového vyhledávání

5. Volba regulované soustavy

Jako regulovanou soustavu zvolíme soustavu s přenosem:

(1)

Zavedeme nelinearitu omezení na vstupu soustavy v intervalu <0, 10>.

6. Optimalizace fuzzy regulátoru

Nejprve provedeme průzkum metodou skenování.

C

0.5

10.375

20.25

30.125

40

B

A=0.3

0.1

0.7658

0.1939

0.2916

0.3918

0.369

0.575

2.0343

0.0652

0.0727

0.1125

0.1398

1.05

2.3325

0.1254

0.061

0.0996

0.0848

1.525

2.444

0.1583

0.0335

0.0769

0.0975

2

2.5033

0.1798

0.0352

0.0736

0.1074

B

A=1.225

0.1

1.0494

0.528

0.9983

1.1759

1.2567

0.575

1.9519

0.0194

0.0333

0.0672

0.1167

1.05

2.2907

0.189

0.0179

0.0143

0.061

1.525

2.4244

0.3986

0.0893

0.0269

0.015

2

2.4972

0.5346

0.1676

0.0715

0.0308

B

A=2.15

0.1

1.8894

0.6205

1.7074

2.2485

2.5495

0.575

1.4854

0.0174

0.0702

0.0843

0.1497

1.05

1.7724

0.1913

0.0163

0.0257

0.0351

1.525

1.8578

0.4905

0.0659

0.0165

0.0152

2

1.9076

0.7733

0.1657

0.0448

0.0178

B

A=3.075

0.1

2.3465

0.6404

2.2669

3.3911

4.1644

0.575

1.2124

0.0242

0.1162

0.1077

0.1813

1.05

1.4218

0.1995

0.0162

0.0416

0.0513

1.525

1.4878

0.5391

0.0574

0.0157

0.0223

2

1.5267

0.897

0.1602

0.038

0.016

B

A=4

0.1

2.627

0.5741

2.6806

4.4434

5.9282

0.575

1.1316

0.0393

0.169

0.1385

0.2047

1.05

1.2644

0.2186

0.022

0.062

0.072

1.525

1.3461

0.5687

0.0574

0.0159

0.0313

2

1.3984

0.9808

0.1679

0.0343

0.0155

Vidíme, že hodnota minima u všech submatic je přibližně stejná a to asi kolem 0,015. Minimum u jednotlivých submatic je ve tvaru údolí o stejné hloubce, jak je patrno na obr.8. Tak můžeme trojrozměrnou optimalizaci převést na dvourozměrnou. Nyní si vybereme hodnoty parametru C = 10, 20, 15 a budeme optimalizovat v rovině parametrů A a B.

Obr. 8. Vrstevnicové grafy submatic v MS Excel

Parametry metod
Metoda SkenováníOblast
A<0.3,4>, B<0.1,2>
Matice
20 x 20
Gaussova - SeidelovaOblast
A<0.3,4>, B<0.1,2>
Přesnost
A = 0.01,B = 0.01
Souřadnicového vyhledáváníStartovací bod
A = 1, B = 1
Krok
KrokA = 0.05 KrokB = 0.02
Stochastického vyhledáváníStartovací bod
A = 1, B = 1
Maximální krok
KrokA = 0.2, KrokB = 0.1

Optimalizace při C = 10
Metoda
Bod A
Bod B
Kritérium ITAE
Skenování0.494 0.40.0127
Gaussova - Seidelova1.85 0.5580.0175
Souřadnicového vyhledávání2.0 0.540.0166
Stochastického vyhledávání0. 335 0.3750.0119

Optimalizace při C = 20
Metoda
Bod A
Bod B
Kritérium ITAE
Skenování0.884 0.80.0120
Gaussova - Seidelova0.836 0.8310.0125
Souřadnicového vyhledávání0.7 0.780.0114
Stochastického vyhledávání0.731 0.75370.0114

Optimalizace při C = 40
Metoda
Bod A
Bod B
Kritérium ITAE
Skenování1.468 1.50.0116
Gaussova - Seidelova1.356 1.8310.0125
Souřadnicového vyhledávání1.25 1.450.0121
Stochastického vyhledávání1.536 1.5710.0113

Obr.10. Přechodové charakteristiky při optimálním nastavení

Zhodnocení metod

Metoda skenování

Tato metoda se ukázala vhodná nejen pro předběžný průzkum, ale i pro vlastní optimalizaci. Mezi její velké přednosti patří, že nám poskytuje tvar plochy kritéria, tvar okolí minima a počet minim. Poskytuje nám komplexní přehled o ploše kritéria. Výsledky metody lze použít ke grafickému zpracování.

Gaussova - Seidelova metoda

Patří mezi často používané metody. Tato metoda, nám garantuje přesnost minima. Vzhledem k tomu, že v našem případě byl tvar minima silně atypický, docházelo při volbě nepříznivých intervalů k selhání metody. Proto bychom tuto metodu doporučili pouze v kombinaci s metodou skenování.

Metoda souřadnicového vyhledávání

Velkou předností této metody je, že garantuje přesnost minima, není citlivá na poruchy, při selhání je schopna pokračovat v optimalizaci. Ukázalo se že patří mezi dobré metody, ale je vhodná pouze pro optimalizaci nižších rozměrů.

Metoda stochastického vyhledávání

Tato metoda, ačkoliv vychází ze stochastických principů se ukázala jako nejlepší. Je velmi jednoduchá, velmi dobře se programuje. Své přednosti nejlépe ukazuje na vícerozměrové optimalizaci. Její nevýhoda spočívá, že negarantuje přesnost minima, proto je vhodné provádět co nejvíce kroků, další nevýhodou je fakt, že při opakovaném provedení optimalizace se stejnými parametry můžeme dojít k různým výsledkům

7. Závěr

V tomto příspěvku byl provedena optimalizace soustavy s nelinearitou. Byl popsán program pro optimalizaci v prostředí MATLAB, možnosti jeho použití a možnosti zdokonalení. Dále byl proveden rozbor optimalizačních metod zhodnoceno jejich použití a popsány jejich vlastnosti, byly porovnány mezi sebou a vyhodnoceny. V závěru práce byly vykresleny optimální průběhy.

8. Literatura

DRIANKOV, D. 1996. An Introduction to Fuzzy control. Berlin: Springer-Verlag, 1996.

KAHLERT, J. 1995. Fuzzy Control fr Ingeneure. Wiesbaden: Vieweg, 1995.

KAHLERT, J. 1995. Fuzzy Logik und Fuzzy Control. Wiesbaden: Vieweg, 1995.

KUSYN, J., VÍTEČEK, A. &AMP; SMUTNÝ, L. 1986 Teorie řízení (statická optimalizace). Ostrava: Skripta VŠB - TU, 1986.

RICHTER, C. 1988. Optimierungsverfahren und BASIC Programme. Berlin: akademie - Verlag, 1988.

ŠATÁNEK, J. 1996. Využití fuzzy algoritmů při řízení technologických procesů. In Sborník semináře XIX. ASŘ'96. Ostrava: 1996.

VYSOKÝ, P. 1995. Fuzzy řízení. Praha: Vydavatelství ČVUT, 1995.