Podstawowy cel stosowania układów automatycznej regulacji jest zazwyczaj natury ekonomicznej [T08, T07]. Jest nim zwykle maksymalizacja zysku osiąganego z produkcji. Oczywiście, konieczne jest również uwzględnienie istniejących wymagań (norm, ograniczeń) związanych z jakością wytwarzanego produktu oraz innych kryteriów, np. dotyczących bezpieczeństwa pracy procesu oraz ochrony środowiska. Mając na uwadze tak postawione zadanie, warto wyróżnić trzy cele cząstkowe:
Uwzględniając podstawowy cel sterowania i wynikające z niego cele cząstkowe, naturalne jest wykorzystanie przedstawionej na rys. 27 warstwowej (hierarchicznej) struktury sterowania [T08, T07]. Jej cechą szczególną jest to, że każda warstwa pełni inną rolę, odpowiadającą kolejnym celom cząstkowym. Okres interwencji każdej warstwy jest również inny. Dekompozycja układu sterowania na warstwy znacznie upraszcza jego projektowanie, ponieważ można oddzielnie zdefiniować zadanie każdej z warstw. Ma to duże znaczenie wówczas, gdy procesy są złożone.
Zadaniem warstwy regulacji bezpośredniej jest zapewnienie bezpiecznej pracy procesu. Ma ona bezpośredni dostęp do procesu, zawiera układy zabezpieczeń oraz diagnostyki i detekcji uszkodzeń. Algorytmy regulacji stosowane w tej warstwie muszą być niezawodne. Dlatego też najczęściej stosuje się klasyczne algorytmy PID, rozmyte algorytmy PID, algorytmy PID o wzmocnieniu zależnym od punktu pracy (ang. gain scheduling), algorytm IMC oraz liniowe algorytmy regulacji predykcyjnej, zazwyczaj bez ograniczeń. Okres interwencji warstwy regulacji bezpośredniej jest najkrótszy ze wszystkich warstw, jest on rzędu sekund lub krótszy.
Zadaniem warstwy regulacji nadrzędnej jest regulacja kluczowych zmiennych procesu. Okres interwencji tej warstwy jest znacznie dłuższy niż okres interwencji warstwy regulacji bezpośredniej, jest on rzędu kilkudziesięciu sekund lub, co bardziej typowe, minut. W warstwie regulacji nadrzędnej stosuje się zazwyczaj algorytmy regulacji predykcyjnej, gdyż zapewniają one bardzo dobrą jakość regulacji, szczególnie procesów wielowymiarowych oraz pozwalają uwzględnić istniejące ograniczenia.
Warstwa optymalizacji punktu pracy danego procesu technologicznego (ang. Local Steady-State Optimisation, LSSO) ma na celu wyznaczanie optymalnych z ekonomicznego punktu widzenia (maksymalizacja zysku przy spełnieniu ograniczeń) wartości zadanych dla warstwy regulacji nadrzędnej. W optymalizacji wykorzystuje się statyczny model procesu, rzadko dynamiczny. Okres interwencji tej warstwy uzależniony jest od szybkości zmian zakłóceń, które wpływają na optymalny punkt pracy. Przy zakłóceniach wolnozmiennych typowy okres interwencji warstwy optymalizacji jest rzędu godzin.
Zadaniem warstwy zarządzania jest określenie warunków optymalizacji punktu pracy, tzn. zdefiniowanie minimalizowanej funkcji celu, jej parametrów oraz ograniczeń. Uwzględnia się przy tym warunki rynkowe, koszty surowców, ceny produktu, wymagania dotyczące jakości, normy i ograniczenie technologiczne oraz inne, np. związane z ochroną środowiska. Okres interwencji tej warstwy jest najdłuższy, rzędu dni. Modele wykorzystywane do zarządzania są typu statycznego, są one najbardziej ogólne spośród modeli stosowanych we wszystkich warstwach.
Biorąc pod uwagę potrzebę maksymalizacji zysku produkcji oraz uwzględniając ograniczenia, w warstwie optymalizacji punktu pracy rozwiązuje się zadanie $$\begin{align} &\min\limits_{u^{\mathrm {ss}}}\left\{J_{\mathrm{E}}=c_{\mathrm{u}}^{\mathrm{T}} u^{\mathrm{ss}}-c_{\mathrm{y}}^{\mathrm{T}} y^{\mathrm{ss}}\right\}\nonumber\\ &\text{przy ograniczeniach}\label{w_zad_opt_lsso0}\\ &u^{\min}\leq u^{\mathrm{ss}}\leq u^{\max}\nonumber\\ &y^{\min}\leq y^{\mathrm{ss}}\leq y^{\max}\nonumber\\ &y^{\mathrm{ss}}=f^{\mathrm{ss}}(u^{\mathrm{ss}},h^{\mathrm{ss}})\nonumber \end{align}$$ Koszty oznaczone są symbolami \(c_{\mathrm{u}}\) i \(c_{\mathrm{y}}\), oznaczenie „ss” odnosi się do stanu ustalonego (ang. steady state). W powyższym zadaniu optymalizacji, w celu uproszczenia, zastosowano twarde ograniczenia wyjściowe. W praktyce, analogicznie jak w ma to miejsce w algorytmach regulacji predykcyjnej, należy zastosować miękkie ograniczenia. Podczas optymalizacji wykorzystywany jest statyczny model procesu $$\begin{equation} y^{\mathrm{ss}}=f^{\mathrm{ss}}(u^{\mathrm{ss}},h^{\mathrm{ss}}) \label{w_modstat_niel} %\nonumber \end{equation}$$ gdzie \(h^{\mathrm{ss}}=h(k)\) oznacza pomiar (lub estymację) aktualnych zakłóceń. Wykorzystując model, zadanie optymalizacji \eqref{w_zad_opt_lsso0} można przedstawić w postaci $$\begin{align} &\min\limits_{u^{\mathrm {ss}}}\left\{J_{\mathrm{E}}=c_{\mathrm{u}}^{\mathrm{T}} u^{\mathrm{ss}}-c_{\mathrm{y}}^{\mathrm{T}} (f^{\mathrm{ss}}(u^{\mathrm{ss}},h^{\mathrm{ss}}))\right\}\nonumber\\ &\text{przy ograniczeniach}\label{w_zad_opt_lsso}\\ &u^{\min}\leq u^{\mathrm{ss}}\leq u^{\max}\nonumber\\ &y^{\min}\leq f^{\mathrm{ss}}(u^{\mathrm{ss}},h^{\mathrm{ss}})\leq y^{\max}\nonumber \end{align}$$ Wynikiem optymalizacji jest wektor \(u^{\mathrm{ss}}_{\mathrm{LSSO}}(k)\). Na jego podstawie, przy użyciu modelu statycznego, ze wzoru $$\begin{equation} y^{\mathrm{ss}}_{\mathrm{LSSO}}(k)=f^{\mathrm{ss}}(u^{\mathrm{ss}}_{\mathrm{LSSO}}(k),h^{\mathrm{ss}}) %\label{w_modstat_niel_ylsso} \nonumber \end{equation}$$ obliczany jest optymalny punkt pracy \(y^{\mathrm{ss}}_{\mathrm{LSSO}}(k)\), który jest przekazywany jako wektor wartości zadanych do algorytmu regulacji nadrzędnej (regulacji predykcyjnej).
Model statyczny \eqref{w_modstat_niel} jest zazwyczaj nieliniowy. Problem optymalizacji punktu pracy \eqref{w_zad_opt_lsso} jest więc nieliniowy. Zastosowanie bieżącej nieliniowej optymalizacji punktu pracy rodzi takie same problemy jak zastosowanie algorytmu NO: duża złożoność obliczeniowa, problem minimów lokalnych oraz brak gwarancji uzyskania rozwiązania w skończonym czasie.
Najprostszym rozwiązaniem jest zastosowanie liniowego algorytmu regulacji predykcyjnej (dzięki czemu otrzymuje się zadanie optymalizacji kwadratowej) oraz statycznego modelu liniowego w optymalizacji punktu pracy (dzięki czemu otrzymuje się proste do rozwiązania zadanie optymalizacji liniowej). Choć podejście takie może być zastosowane w praktyce, w przypadku istotnie nieliniowych procesów jakość modeli liniowych (dynamicznego i statycznego) jest zła, bazujące na nich algorytmy regulacji predykcyjnej i optymalizacji punktu pracy nie działają prawidłowo.
Praktycznym rozwiązaniem problemu jest zastosowanie jednego z suboptymalnych algorytmów regulacji predykcyjnej (bazującego na nieliniowym dynamicznym modelu procesu) i cykliczna linearyzacja modelu statycznego w celu uproszczenia zadania optymalizacji punktu pracy. Otrzymuje się wówczas warstwową strukturę sterowania z pomocniczą optymalizacją punktu pracy (ang. Adaptive Steady-State Target Optimisation, ASSTO) przedstawioną szczegółowo na rys. 28 (dla przykładu do regulacji wykorzystano algorytm NPL) [ŁMT08, ŁMT07a, T08, T07]. Pełny (bez żadnych uproszczeń) nieliniowy model statyczny stosowany jest w warstwie optymalizacji punktu pracy. Wymaga ona nieliniowej optymalizacji, ale jest stosowana rzadko. W każdej iteracji suboptymalnego algorytmu regulacji predykcyjnej następuje linearyzacja modelu dynamicznego, na potrzeby pomocniczej optymalizacji punktu pracy następuje linearyzacja modelu statycznego (jest to ten sam model, który stosuje się w nieliniowej optymalizacji punktu pracy).
Korzystając z rozwinięcia funkcji w szereg Taylora, przybliżenie liniowe nieliniowego modelu statycznego \eqref{w_modstat_niel} można przedstawić w postaci $$\begin{align} y^{\mathrm{ss}}&=\left. f^{\mathrm{ss}}(u^{\mathrm{ss}},h^{\mathrm{ss}})\right| _{\begin{array}{l} \scriptstyle u^{\mathrm{ss}}=u(k-1)\\[-1.22mm] \scriptstyle h^{\mathrm{ss}}=h(k) \end{array}}\! \! \!+\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1))\nonumber\\ &=f^{\mathrm{ss}}(u(k-1),h(k))+\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1)) \label{w_linearyzacja_ogolnie} %\nonumber \end{align}$$ przy czym aktualny punkt pracy określony jest najbardziej aktualnymi (dostępnymi) sygnałami \(u(k-1)\) oraz \(h(k)\).
Zadanie pomocniczej optymalizacji punktu pracy można zapisać jako liniowe zadanie optymalizacji $$\begin{align} &\begin{array}{l} \min\limits_{u^{\mathrm {ss}}}\Big\{J_{\mathrm{E}}=c_{\mathrm{u}}^{\mathrm{T}} u^{\mathrm{ss}}-c_{\mathrm{y}}^{\mathrm{T}} (f^{\mathrm{ss}}(u(k-1),h(k)) +\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1))\Big\}\nonumber \end{array}\\ &\text{przy ograniczeniach}\nonumber\\%\label{w_zad_opt_assto_miekkieogr}\\ &u^{\min}\leq u^{\mathrm{ss}}\leq u^{\max}\nonumber\\ &y^{\min}\leq f^{\mathrm{ss}}(u(k-1),h(k))+\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1))\leq y^{\max}\nonumber \end{align}$$ Wynikiem pomocniczej optymalizacji punktu pracy jest wektor \(u^{\mathrm{ss}}_{\mathrm{ASSTO}}(k)\). Na jego podstawie, przy użyciu zlinearyzowanego modelu statycznego, ze wzoru $$\begin{equation} y^{\mathrm{ss}}_{\mathrm{ASSTO}}(k)=f^{\mathrm{ss}}(u^{\mathrm{ss}}_{\mathrm{ASSTO}}(k),h(k))+\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}_{\mathrm{ASSTO}}(k)-u(k-1)) \nonumber %\label{w_assto_yasstok_uasstok} \end{equation}$$ obliczany jest optymalny punkt pracy \(y^{\mathrm{ss}}_{\mathrm{ASSTO}}(k)\), który jest przekazywany jako wektor wartości zadanej do algorytmu regulacji predykcyjnej.
W każdej iteracji rozwiązuje się liniowe zadanie optymalizacji (w pomocniczej optymalizacji punktu pracy) oraz zadanie optymalizacji kwadratowej (w regulacji predykcyjnej), optymalizacja nieliniowa stosowana jest rzadko w celu weryfikacji. W praktyce nieliniowa optymalizacja punktu pracy może zupełnie nie być wykorzystywana. Choć w opisie ograniczono się do algorytmu NPL, można zastosować dowolny suboptymalny algorytm regulacji predykcyjnej.
Struktura z pomocniczą optymalizacją punktu pracy może wykorzystywać różne modele (warunkiem jest różniczkowalność modelu), w tym różne struktury neuronowe. Opracowano implementację dla statycznego modelu neuronowego (sieć perceptronowa), neuronowego modelu Hammersteina i neuronowego modelu Wienera [Ł14a]. W pracy [Ł11a] omówiono zastosowanie rozważanej struktury do reaktora fermentacji (zastosowano neuronowy model Hammersteina), w pracy [Ł11b] omówiono jej zastosowanie do wielowymiarowego reaktora neutralizacji (zastosowano statyczny i dynamiczny model neuronowy typu perceptronowego).
Zastosowanie statycznych modeli neuronowych w optymalizacji punktu pracy wydaje się korzystne, analogicznie jak użycie dynamicznych modeli neuronowych w regulacji predykcyjnej. Poza oczywistymi zaletami (dokładność, umiarkowana liczba parametrów), statyczne modele neuronowe mogą być łatwo wykorzystane w warstwie optymalizacji punktu pracy, podczas gdy modele fizyczne są układami nieliniowych równań algebraicznych, które musiałyby być cyklicznie rozwiązywane.
Do regulacji wielu procesów stosuje się klasyczne algorytmy PID lub analityczne liniowe algorytmy regulacji predykcyjnej. Niestety, brak możliwości uwzględnienia ograniczeń (zarówno sygnałów wejściowych i wyjściowych procesu) jest ich główną wadą. W celu optymalizacji punktu pracy oraz zapewnienia spełnienia ograniczeń można wówczas zastosować strukturę sterowania z optymalizującym sterownikiem predykcyjnym (ang. predictive optimiser and constraint supervisor) [TŁM09]. Korzysta ona z istniejącego analitycznego algorytmu regulacji predykcyjnej (sterownika predykcyjnego). W omawianej strukturze można oczywiście zastosować najprostszy, liniowy algorytm regulacji predykcyjnej, algorytm IMC lub PID.
Szczegółowa postać omawianej struktury sterowania została przedstawiona na rys. 29. Struktura zawiera dwie części: blok optymalizacji kwadratowej punktu pracy oraz analityczny algorytm regulacji predykcyjnej. Statyczny, nieliniowy, model procesu jest linearyzowany w aktualnym punkcie pracy, analogicznie jak w strukturze z pomocniczą optymalizacją punktu pracy. Uzyskane przybliżenie liniowe jest stosowane podczas optymalizacji punktu pracy, co prowadzi do kwadratowego zadania optymalizacji (jeżeli uwzględnia się miękkie ograniczenia wyjściowe). Podczas optymalizacji uwzględnia się prawo regulacji analitycznego algorytmu regulacji predykcyjnej oraz wszystkie ograniczenia. Wyznaczony punkt pracy uwzględnia cel ekonomiczny oraz spełnia wszystkie ograniczenia. Wykorzystuje on dynamiczny (neuronowy) model procesu, który jest linearyzowany w aktualnym punkcie pracy. Z założenia rozważana struktura jest przeznaczona do usprawnienia pracy istniejących prostych systemów automatyki, w których nie ma warstwy nieliniowej optymalizacji.
Zadanie optymalizacji, rozwiązywane w omawianej strukturze sterowania z optymalizującym sterownikiem predykcyjnym, jest następujące $$\begin{align} &\begin{array}{l} \min\limits_{u^{\mathrm{ss}}}\Big\{J(k)=c_{\mathrm{u}}^{\mathrm{T}}u^{\mathrm{ss}}-c_{\mathrm{y}}^{\mathrm{T}} (f^{\mathrm{ss}}(u(k-1),h(k))\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1))\Big\}\nonumber \end{array}\\ &\text{przy ograniczeniach}\nonumber\\%\label{w9_zad_optsterpred}\\ &\boldsymbol{u}^{\min}\leq\boldsymbol{J}\boldsymbol{K}(k)(\boldsymbol{y}^{\mathrm{ss}}(k)-\boldsymbol{y}^{0}(k))+\boldsymbol{u}(k-1) \leq\boldsymbol{u}^{\max}\nonumber\\ &-\triangle\boldsymbol{u}^{\max}\leq\boldsymbol{K}(k)(\boldsymbol{y}^{\mathrm{ss}}(k)-\boldsymbol{y}^{0}(k))\leq\triangle\boldsymbol{u}^{\max}\nonumber\\ &\boldsymbol{y}^{\min}\leq\boldsymbol{G}(k)\boldsymbol{K}(k)(\boldsymbol{y}^{\mathrm{ss}}(k)-\boldsymbol{y}^{0}(k))+\boldsymbol{y}^{0}(k)\leq\boldsymbol{y}^{\max}\nonumber\\ &u^{\min}\leq u^{\mathrm{ss}}\leq u^{\max}\nonumber\\ &y^{\min}\leq f^{\mathrm{ss}}(u(k-1),h(k))+\boldsymbol{H}^{\mathrm{ss}}(k)(u^{\mathrm{ss}}-u(k-1))\leq y^{\max}\nonumber \end{align}$$ W minimalizowanej funkcji celu uwzględnia się człon ekonomiczny \(c_{\mathrm{u}}^{\mathrm{T}}u^{\mathrm{ss}}-c_{\mathrm{y}}^{\mathrm{T}}y^{\mathrm{ss}}\), taki sam jak w warstwie nieliniowej lub pomocniczej optymalizacji punktu pracy. Uwzględnia się również typowe dla algorytmu NPL ograniczenia przyszłych trajektorii sygnałów sterujących i wyjściowych, a także ograniczenia zadania optymalizacji punktu pracy \eqref{w_zad_opt_lsso}. Do optymalizacji punktu pracy stosowany jest statyczny model zlinearyzowany \eqref{w_linearyzacja_ogolnie}, w regulacji predykcyjnej stosuje się przybliżenie liniowe dynamicznego modelu nieliniowego. Podczas optymalizacji wykorzystuje się prawo regulacji analitycznego algorytmu regulacji predykcyjnej $$\begin{equation} \triangle \boldsymbol{u}(k)=\boldsymbol{K}(k)(\boldsymbol{y}^{\mathrm{ss}}(k)-\boldsymbol{y}^{0}(k)) %\label{w_sterpred_duk} \nonumber \end{equation}$$ Struktura sterowania z optymalizującym sterownikiem predykcyjnym może wykorzystywać różne modele statyczne, np. sieć neuronową typu perceptronowego, neuronowy model Hammersteina lub neuronowy model Wienera [Ł14a]. Zastosowanie omawianej struktury do reaktora neutralizacji omówiono w pracy [Ł09b], w optymalizacji punktu pracy i w regulacji zastosowano modele neuronowe typu perceptronowego (statyczny i dynamiczny).
Poprzednia strona: 6. Algorytmy regulacji predykcyjnej z aproksymacją neuronową | Następna strona: 8. Przykład 3: optymalizacja punktu pracy i regulacja predykcyjna reaktora fermentacji |