NMPC algoritmus využívající populační optimalizační metody

V rámci projektu NewControl byl v prostředí MATLAB Simulink vyvinut software realizující algoritmus NMPC synchronního motoru s permanentními magnety využívající populační optimalizační metody. Jejich principem je populace agentů pohybujících se v prostoru možných řešení na základě předem definované strategie. Právě chování této skupiny agentů je možné vypočítat paralelně.
Navržený algoritmus pracuje ve čtyřech oddělených fázích:

  •     Inicializace – Pomocí pseudonáhodného generátoru čísel je rozmístěno 2^p agentů rovnoměrně po definičním oboru. Poloha agenta představuje přírůstky statorového napětí v daných predikčních krocích.
  •     Predikce – vyhodnocení modelu. Na základě polohy agenta je vyhodnoceno chování modelu.
  •     Vyčíslení účelové funkce – pomocí vah je kladen důraz na regulování daných veličin.
  •     Pohyb agentů – zde je vykonána strategie pohybu. V navrženém algoritmu jsou všichni agenti přitahování k tomu s nejnižší hodnotou účelové funkce. K tomu je potřeba takového agenta nelézt. Zde je opět využit paralelismus.

Využitím takového přístupu je razantně snížen počet nutných sekvenčních porovnání z
2^p-1 na p. Kroky 2) – 4) jsou prováděny iterativně. Počet iterací byl pevně stanoven na základě experimentálního zjištění, kdy Karushovy-Kuhnovy-Tuckerovy podmínky stanovují optimum s dostatečnou přesností.
Prediktivní algoritmus potřebuje pro své správné fungování co nejpřesnější model. Parametry soustavy však nejsou stálé a mohou se v závislosti na chování okolí a soustavy měnit.
Proto byl prediktivní regulátor rozšířen o blok adaptability běžící mimo optimalizační algoritmus. Neovlivňuje tak rychlost výpočtu a zvyšuje přesnost. Neovlivňuje však nijak váhy v účelové funkci, pouze model samotný.