• Non ci sono risultati.

2.2 Considerazioni generali sulla tecnologia MPC

2.3.6 Traiettorie ingressi e uscite

I controllori MPC industriali offrono quattro opzioni di base per specificare il comportamento futuro delle uscite:

set-point;

zone;

reference trajectory; funnel.

I quattro casi sono visualizzati in Figura 2.7. Le aree ombreggiate corrispon- dono ai termini eyk+j ed eu

k+j nell’equazione 2.17. Tutti i controllori offrono

l’opportunit`a di guidare le CV ad un determinato set-point, con deviazioni da entrambi i lati penalizzate all’interno della funzione obiettivo. Nella pratica questa tecnica `e molto aggressiva e pu`o generare ampie mosse sugli ingressi, a meno che il controllore non sia sintonizzato in un altro modo; questo fatto `e particolarmente importante quando il modello interno differisce abbastanza dal processo. A tal riguardo molti algoritmi MPC utilizzano i “move sup- pression factor”.

Tutti i controllori offrono anche la possibilit`a di controllare le CV all’interno di una zona (“zone”) definita dall’intervallo compreso fra il vincolo superiore e quello inferiore. Un modo di perfezionare questa tecnica `e quello di definire i vincoli superiore ed inferiore come vincoli “soft” (sono comunque possibili altri tipi di implementazione). L’algoritmo DMCplus, ad esempio, utilizza l’approssimazione set-point dei vincoli “soft” per perfezionare i limiti supe- riore ed inferiore della zona.

HIECON, PFC, SMOC, MVC, NOVA-NLC e AspenTarget offrono la pos- sibilit`a di specificare un percorso futuro per ogni CV chiamato “reference trajectory” (traiettoria di riferimento). Una curva del primo o del secondo ordine rappresenta la traiettoria che deve andare dal valore attuale della CV al valore di set-point, con una velocit`a di risposta determinata da una o pi`u costanti di tempo della traiettoria. Sono penalizzate tutte le deviazioni future

Figura 2.7: quattro modi diversi per specificare il comportamento futuro delle CV. Le aree ombreggiate rappresentano le violazioni pesate all’interno dell’ottimizzazione dinamica.

dalla traiettoria di riferimento. Nel caso in cui non venga definita nessuna costante di tempo, la traiettoria di riferimento `e riconvertita in un puro set- point; in questo caso il controllore sarebbe sensibile a mismatch a meno che non vengano intraprese altre strategie come l’utilizzo di “move suppression”. Un inconveniente di questa formulazione `e che penalizza l’uscita quando ac- cade di andare alla deriva molto rapidamente verso il set-point, come ac- cadrebbe in risposta ad un disturbo non misurato. Se comunque la CV si

muove rapidamente a causa di mismatch, la traiettoria di riferimento risulta molto efficace nel contenere gli errori della CV stessa. Matematicamente la traiettoria di riferimento pu`o essere interpretata come un filtro nell’azione feedback, simile al filtro per la robustezza del controllore raccomandato dal- la teoria IMC (Morari & Zafiriou 1989). In generale, all’aumentare della costante di tempo della traiettoria di riferimento, il controllore `e capace di tollerare mismatch sempre pi`u ampi.

2.3.7

Orizzonte delle uscite e parametrizzazione degli

ingressi

I controllori MPC industriali valutano il comportamento futuro delle CV generalmente su un set finito di intervalli di tempo che costituisce l’oriz- zonte di predizione (come si pu`o osservare nella parte alta della Figura 2.8). Questa formulazione `e utilizzata da tutti gli algoritmi citati all’interno del capitolo. Per tali controllori, la lunghezza dell’orizzonte di predizione P `e un parametro di tuning importante ed in genere `e scelto lungo abbastanza per far s``ı che tutte le MV si portino ai valori di stazionario.

Molti controllori MPC usano un “multiple point output horizon”, ovvero un orizzonte di predizione costituito da un set di punti; questo significa che la funzione obiettivo viene valutata su ogni punto nel futuro. PFC e As- penTarget permettono l’opzione di effettuare il calcolo considerando soltanto un sottoinsieme di tali punti chiamati punti di coincidenza; questo concetto `e illustrato nella parte bassa della Figura 2.8. Per ogni uscita pu`o essere definito un insieme di punti di coincidenza, e questo `e utile quando una CV risponde molto pi`u velocemente rispetto ad un’altra. La considerazione del- l’intero orizzonte di predizione pu`o essere selezionata come caso particolare. I controllori MPC industriali utilizzano tre metodi differenti per parametriz- zare i profili delle MV come illustrato in Figura2.9. Molti algoritmi calcolano una sequenza di azioni future che poi verranno distribuite su un orizzonte di controllo, come si vede nella parte alta della figura; la lunghezza dell’oriz- zonte di controllo M `e un altro importante parametro di tuning.

La pi`u comune parametrizzazione `e quella che calcola un set separato di ingressi per ogni tempo di campionamento sull’orizzonte di controllo. La prestazione migliora con l’aumentare di M, ovviamente al prezzo di calcoli computazionali aggiuntivi.

Per semplificare il calcolo, AspenTarget e RMPCT offrono la possibilit`a all’u- tente di specificare i punti sull’orizzonte di controllo dove le azioni delle MV non saranno calcolate; questo riduce abbastanza le dimensioni del problema di ottimizzazione con conseguenti possibili prestazioni scadenti.

Figura 2.8: opzioni per l’orizzonte di predizione. In alto l’orizzonte finito include P futuri punti mentre in basso `e utilizzato un sottointervallo del- l’orizzonte di predizione. Le aree ombreggiate rappresentano le violazioni penalizzate nell’ottimizzazione dinamica.

HIECON e MVC calcolano una sola azione degli ingressi nel futuro come si vede al centro della figura; questo semplifica notevolmente il calcolo degli algoritmi ed `e particolarmente utile nel caso dell’algoritmo HIECON dove ad ogni esecuzione del controllo vengono risolte due ottimizzazioni dinamiche separate. In ogni caso l’utilizzo di una singola azione di controllo implica un peggioramento della prestazione in anello chiuso che `e difficile da quantifi- care.

Il controllore PFC parametrizza il profilo degli ingressi futuri utilizzando un set di funzioni polinomiali. Una possibile soluzione `e illustrata nella parte bassa della figura. Questo permette di specificare un profilo degli ingressi pi`u o meno complesso su un ampio orizzonte di controllo (potenzialmente in- finito), utilizzando un set ristretto di parametri. Questo metodo pu`o essere vantaggioso nel controllo di sistemi non lineari perch´e scegliendo la famiglia delle funzioni di base si stabiliscono gi`a molte delle caratteristiche del profilo

Figura 2.9: opzioni per la parametrizzazione degli ingressi.

degli ingressi da calcolare; questo `e un modo di evitare profili con variazioni brusche.

2.3.8

Metodi numerici per la soluzione

Un aspetto sicuramente interessante per quanto riguarda gli algoritmi MPC industriali `e quello legato ai metodi di soluzione numerica utilizzati nel calcolo del controllo; in particolare si ponga l’attenzione sull’ottimizzazione dinami- ca, la quale assume la forma di una programmazione non lineare (eq.??). Per la tecnologia MPC lineare questo si riduce a un QP6.

L’algoritmo PFC con modelli lineari risolve questo QP nel modo pi`u semplice

risolutivo aumenta linearmente con M (Gabriele Pannochia & Wright 2006). I prodotti MPC non lineari ovviamente devono utilizzare delle tecniche riso- lutive pi`u potenti; generalmente sono basate su una sequenza di iterazioni in cui `e risolta una versione linearizzata del problema. I prodotti AspenTar- get utilizzano un algoritmo di Newton multi-step sviluppato da De Oliveira e Biegler (1995, 1994), chiamato QPKWIK, il quale ha il vantaggio che le soluzioni intermedie, anche se non ottimali, sono compatibili con i vincoli. `E da notare il fatto che AspenTarget usa lo stesso tipo di algoritmo QPKWIK per l’ottimizzazione locale di stazionario ed il calcolo dinamico delle MV. MVC e altri prodotti utilizzano un metodo generalizzato del gradiente ridot- to chiamato GRG2 sviluppato da Lasdon & Warren (1986).

Il controllore PFC, quando utilizzato con modelli non lineari, persegue un’ot- timizzazione non vincolata utilizzando un algoritmo ai minimi quadrati non lineare. La soluzione pu`o essere calcolata molto rapidamente, permettendo l’impiego del controllore in applicazioni che hanno tempi di campionamento molto bassi (ad esempio in ambito aeronautico).

2.4

Sommario delle applicazioni

Facendo riferimento all’articolo (Qin & Badgwell 2003b) (Tabelle 6 e 7), si pu`o notare che esse riassumono le applicazioni della tecnologia MPC lineare e non lineare dal 1999 ai primi del 2000. In totale esse riportano pi`u di 4600 applicazioni MPC, pi`u del doppio di quelle che erano state stimate nel 1997 (Qin & Badgwell, 1997), perci`o `e facile osservare che l’utilizzo di questa tecnologia di controllo `e aumentato molto rapidamente trovando impiego in molte aree applicative.

intorno al 67% di tutte le applicazioni classificate; in questo settore infatti, la tecnologia MPC ha un passato fatto di successi. Un numero significativo di applicazioni si trova nel settore petrolchimico e della chimica, nel trattamento del legno e della produzione della carta, nei processi alimentari, nell’industria aerospaziale e nel settore automobilistico.

La Tabella 6 evidenzia che AspenTech e Honeywell Hi-Spec sono altamente specializzati nella raffinazione e nel settore petrolchimico, con poche appli- cazioni nelle altre aree.

Adersa ed Invensys hanno una pi`u ampia esperienza con applicazioni in pro- cessi alimentari, industria mineraria-metallurgica, aerospaziale e automobilis- tica.

Nella parte bassa della Tabella 6 sono riportate le dimensioni del pi`u grande processo trattato dal MPC lineare nella forma (uscite)×(ingressi); i numeri evidenziano una filosofia di controllo completamente diversa tra le varie so- ciet`a di controllo. AspenTech preferisce risolvere anche i problemi dimensio- nalmente pi`u grandi con un singolo controllore, mentre gli altri preferiscono suddividere il problema complessivo in sottoprocessi significativi e trattare questi singolarmente.

Le applicazioni di MPC non lineare riportate in Tabella 7 sono distribuite pi`u equamente fra le varie aree applicative; settori con il pi`u alto numero di applicazioni MPC non lineari sono il chimico, quello polimerico, e quello di trattamento aria e gas. Si osserva inoltre che la dimensione delle appli- cazioni MPC non lineari intesa come (uscite)×(ingressi) `e abbastanza ridot- ta rispetto a quella del MPC lineare (questo presumibilmente a causa della complessit`a computazionale degli algoritmi MPC non lineari).

mo di controllo di tipo predittivo sviluppato in questo lavoro; in particolare saranno analizzati nel dettaglio i vari blocchi che compongono il controllore nonch´e i blocchi che costituiscono il pacchetto software nel suo complesso. Come si vedr`a pi`u avanti, il software `e stato sviluppato mediante una strut- tura modulare per dare la possibilit`a al progettista di apportare eventuali modifiche alle varie funzioni o di aggiungerne altre senza per questo dover cambiare l’architettura generale. Come si vede in Figura 3.1, il controllore MPC `e composto da quattro moduli principali:

- stimatore, che ha il compito di stimare gli stati e un termine correttivo da sommare all’uscita predetta (disturbo integrale);

- modulo di stazionario, il quale determina i valori ottimali di stazio- nario degli stati e degli ingressi;

- modulo dinamico, che calcola le azioni di controllo ottimali per

portare il sistema ai target indicati dal modulo di stazionario;

- predittore, il quale effettua la predizione degli stati secondo il modello aumentato e la predizione del disturbo integrale una volta calcolata l’azione di controllo ottimale da inviare al processo.

Il flusso di esecuzione dei vari moduli che compongono il software `e il seguente:

Figura 3.1: struttura modulare del controllore predittivo.

passo 1: al tempo k sono note le misure derivanti dall’impianto e la predizione degli stati e del disturbo integrale;

passo 2: lo stimatore calcola l’errore di predizione ed esegue la stima degli stati e del disturbo integrale;

passo 3: viene eseguito il modulo di ottimizzazione di stazionario che fornisce i target degli stati e degli ingressi;

passo 4: il modulo di ottimizzazione dinamica calcola l’azione di controllo ottimale da inviare all’impianto;

passo 5: il predittore esegue la predizione degli stati e del disturbo integrale che sar`a utilizzata al tempo (k + 1).

La notazione adottata in questo capitolo e nei successivi `e la seguente: n: numero degli stati del modello;

m: numero degli ingressi;

p: numero delle misure;

complesso.

3.2.1

Stimatore

Figura 3.2: rappresentazione schematica dello stimatore.

Analizzando la Figura3.2, lo stimatore `e cos``ı strutturato: dati in ingresso:

misure delle CV derivanti dall’impianto: yk;

– azione di controllo applicata all’impianto al tempo di campiona-

mento (k − 1): uk−1;

stima effettuata al tempo (k−1) degli stati e del disturbo integrale al tempo di campionamento k: ˆxk|k−1 e ˆdk|k−1;

– stima del termine correttivo ˆdk|k;

– stima degli stati ˆxk|k;

Il modello del processo utilizzato dal controllore `e un modello in variabili di stato, lineare, discreto e tempo-invariante:

xk+1 = Axk+ Buk (3.1a)

yk = Cxk (3.1b)

in cui xk ∈ Rn, uk∈ Rm, yk∈ Rp, A ∈ Rn×n, B ∈ Rn×m, C ∈ Rp×n.

Nelle ipotesi iniziali si assume che il sistema sia stabilizzabile e rivelabile. La stabilizzabilit`a di un sistema comporta la possibilit`a di portare gli stati, e quindi le uscite, asintoticamente a zero, partendo da un valore non nullo di questi mentre la rivelabilit`a implica la rintracciabilit`a degli stati del sistema che fanno tendere a zero l’errore di predizione e quindi la possibilit`a di far tendere il valore stimato dell’uscita al valore misurato.

Lo stimatore fornisce una stima degli stati e del disturbo integrale mediante le misure dell’impianto al fine di ottenere prestazioni del sistema prive di offset; il termine di disturbo corregge il valore originale degli stati del sistema per portare il valore stimato delle CV a coincidere con il valore misurato. Per stimare gli stati ed il disturbo integrale lo stimatore utilizza il seguente modello aumentato: · xk+1 dk+1 ¸ = · A Bd 0 I ¸ · xk dk ¸ + · B 0 ¸ uk (3.2a) ˆ yk = £ C Dd ¤· xk dk ¸ (3.2b) in cui dk ∈ Rnd, Bd∈ Rn×nd, Dd∈ Rp×nd.

Indicando con ek l’errore nella predizione dell’uscita al tempo k note (k − 1)

misure1

ek= yk− (C ˆxk|k−1+ Dddˆk|k−1) (3.3)

gli stati ed il disturbo integrale vengono stimati come segue: · ˆ xk|k ˆ dk|k ¸ = · ˆ xk|k−1 ˆ dk|k−1 ¸ + · Lx Ld ¸ ek (3.4)

in cui Lx ∈ Rn×p e Ld∈ Rnd×p sono le matrici dei guadagni del filtro, rispet-

tivamente, degli stati e del disturbo integrale. Le matrici dello stimatore Lx 1[C ˆx

k|k−1+ Dddˆk|k−1] rappresenta la predizione effettuata al tempo (k − 1) delle uscite

commerciale DMCplus (Lx= 0 ed Ld= I); una terza possibilit`a `e rappresen-

tata dalla scelta delle matrici Bd, Dd, Lx ed Ld come illustrato nell’articolo

“Combined Design of Disturbance Model and Observer for Offset-free Model Predictive Control” (Pannocchia & Bemporad 2006). Nel capitolo 5 sono messe a confronto le tre opzioni citate.

La predizione degli stati aumentati `e la seguente: · ˆ xk+1|k ˆ dk+1|k ¸ = · A Bd 0 I ¸ · ˆ xk|k ˆ dk|k ¸ + · B 0 ¸ uk (3.5)

3.2.2

Ottimizzazione di stato stazionario

L’obiettivo del modulo di stazionario `e quello di calcolare i target ottimali degli stati e degli ingressi per portare e/o mantenere le variabili misurate nei loro intervalli operativi ed in particolare le variabili controllate al valore di set-point.

Ottenuta la stima corrente del disturbo integrale ˆdk|k, il controllore MPC

calcola i valori dei target di stazionario us ed xs risolvendo un problema di

ottimo vincolato in cui la funzione obiettivo da minimizzare pu`o essere sia di tipo lineare che di tipo quadratico.

Come si osserva in Figura 3.3, il modulo che calcola i target `e cos``ı

strutturato:

2In letteratura `e disponibile molto materiale per quanto riguarda le condizioni di esistenza di uno stimatore stabile e di stabilit`a dello stimatore stesso.

3Se il sistema originale `e stabile in anello aperto.

4Per le dimensioni del disturbo integrale aggiuntivo `e interessante consultare l’articolo “Disturbance Models for Offset-free Model-Predictive Control”(Pannocchia & Rawlings 2003).

5Nel capitolo 5 viene visualizzata la scelta delle matrici B

Figura 3.3: modulo di ottimizzazione di stazionario.

dati in ingresso:

– stima del disturbo integrale: ˆdk|k;

– parametri di tuning (pesi, vincoli come discusso in seguito);

– set-point: ¯yc;

dati in uscita:

target degli stati: xs;

target degli ingressi: us.

Nell’analisi seguente si analizza in dettaglio la formulazione dei vincoli e l’impostazione della funzione obiettivo sia nel caso lineare che quadratico. Formulazione dei vincoli

I vincoli, nel loro insieme, sono suddivisi in vincoli di uguaglianza e vincoli

di disuguaglianza.

Vincoli lineari di uguaglianza:

– equazione di stato stazionario:

riferimento .

Vincoli lineari di disuguaglianza:

– vincoli “hard” sulle MV:

umin 6 us6 umax (3.9)

– vincoli sulle variazioni dei target rispetto al valore calcolato al

tempo di campionamento precedente11:

− ∆umin 6 (us− us,old) 6 ∆umax (3.10)

– vincoli “soft” sulle CV:

ymin− ηs6 (Cxs+ Dddˆk|k) 6 ymax+ ηs; (3.11) 6Il parametro n

c indica il numero delle CV controllate al set-point.

7Al tempo zero, il vettore che contiene i numeri delle CV da mantenere al set-point `e il vettore c mentre i rispettivi valori delle specifiche vengono definiti all’interno del vettore ycbar0. Mediante la struttura SET l’utente pu`o definire un numero arbitrario di cambi di set-point e tramite il campo c pu`o decidere di volta in volta quali CV mantenere al set- point; ogni volta che si presenta un cambio di set-point cos``ı come ad inizio simulazione la matrice Hy viene creata automaticamente dall’algoritmo di controllo.

8Nel file utente, all’interno del vettore man block possono essere inseriti i numeri delle MV da non utilizzare durante la fase di ottimizzazione.

9Il parametro n

b indica il numero delle MV bloccate al riferimento.

10Si precisa il fatto che il riferimento pu`o essere rappresentato dallo stesso vettore ad ogni tempo di campionamento (riferimento statico) oppure dal target delle MV calcolato al tempo di campionamento precedente (riferimento dinamico).

11Il valore calcolato al tempo di campionamento precedente `e rappresentato dal vettore

– violazioni dei vincoli sulle CV:

ηs > 0. (3.12)

dove ηs ∈ Rp.

Se il problema di ottimizzazione che prevede la presenza di tutti i vincoli fin qui esaminati risulta infeasible, viene eliminato il vincolo rappresentato dall’eq.3.8 lasciando al controllore tutti i gradi di libert`a disponibili.

Nel caso in cui il controllore non riesca a trovare una soluzione compati- bilmente con i vincoli presenti, nel caso di ottimizzazione di tipo lineare, il vincolo di uguaglianza rappresentato dall’eq.3.7 viene sostituito da quello seguente:

¯

yc= Hy[Cxs+ Dddˆk|k] − zs+ zs (3.13)

dove vengono presi in considerazione gli scostamenti (zs, zs) dei target delle

CV dai rispettivi set-point. Ai vincoli di disuguaglianza si aggiungono i seguenti:

zs≥ 0 (3.14)

zs≥ 0 (3.15)

in cui zs ∈ Rnc e zs ∈ Rnc.

Impostazione della funzione obiettivo di tipo lineare

Nell’ottimizzazione di tipo lineare il controllore minimizza la seguente fun- zione obiettivo:

Φ(xs, us, ηs) = rsTus+ qsTηs (3.16)

in cui rs ∈ Rm e qs∈ Rp.

In forma compatta il problema di ottimizzazione sar`a rappresentato dalla funzione obiettivo dell’eq.3.16 soggetta ai vincoli descritti dalle equazioni (3.6)-(3.12).

In questa formulazione vengono pesati gli scostamenti delle MV dai rispet- tivi valori di stazionario12 mediante i coefficienti del vettore r

s (costi) e le

eventuali violazioni dei vincoli da parte delle CV tramite quelli del vettore qs

(definiti attraverso gli “equal concern error” di stazionario). I parametri di tuning che l’utente deve definire inizialmente sono i costi delle MV ed i coef- ficienti di qs; mentre i costi di una certa MV possono essere sia positivi che 12Come si osserva nel problema 3.16, la minimizzazione lineare delle variazioni delle MV viene effettuata rispetto al valore di stazionario (poich´e us`e da intendersi in termini di variabili scostamento rispetto allo stazionario) e non rispetto al riferimento contenuto all’interno del vettore u∗

sempre la funzione obiettivo dell’eq.3.16ma soggetta ai vincoli descritti dalle eq.(3.6), (3.7), (3.9)-(3.12).

Se il problema risulta ancora infeasible viene modificato il vincolo sulle CV da mantenere al set-point (poich´e `e l’unico che genera infeasibility) e risolta la seguente funzione obiettivo all’interno della quale si minimizza lo scosta- mento superiore o inferiore (zs, zs) dei target delle CV dai rispettivi set-point

mediante i pesi ps(i) (rigorosamente positivi14):

Φ(xs, us, ηs, ¯zs, zs) = rTsus+ qsTηs+ pTszs+ pTszs (3.17)

La funzione obiettivo appena descritta `e soggetta ai vincoli descritti dalle seguenti equazioni: (3.6), (3.9)-(3.12), (3.13)-(3.15).

Impostazione della funzione obiettivo di tipo quadratico

All’interno del controllore sviluppato, l’ottimizzazione di stazionario di tipo quadratico prevede la minimizzazione della seguente funzione obiettivo:

Φ(xs, us, ηs) = 12[(us− u∗s)TRs(us− u∗s) + ηsTQsηs] (3.18)

in cui Rs ∈ Rm×m e Qs ∈ Rp×p sono matrici diagonali semidefinite positive.

Gli elementi della matrice Rs pesano gli scostamenti del target us dal riferi-

mento delle MV, u∗

s15, mentre la matrice Qs penalizza le eventuali violazioni

dei vincoli da parte delle CV.

13Lo stesso peso penalizza sia la violazione superiore che inferiore del vincolo. 14I coefficienti del vettore p

spesano lo scostamento dei target delle uscite dai rispettivi set-point; un valore relativamente elevato di un certo ps(i) sta a significare che per quella CV il valore di target ed il set-point devono differire di poco. Vale anche il viceversa.

15In questo caso la minimizzazione `e di tipo quadratico e le variazioni delle MV sono effettivamente minimizzate rispetto al riferimento specificato dall’utente.

Il problema di minimizzazione descritto dall’eq.3.18 `e soggetto ai vincoli (3.6)-(3.12).

Se il problema risulta infeasible, come accade nell’ottimizzazione di tipo lin- eare, viene rilasciato il vincolo di uguaglianza sulle MV (eq. 3.8) ed effettuata nuovamente la minimizzazione. Se il modulo di ottimizzazione non riesce a trovare una soluzione compatibilmente con i vincoli presenti significa che non pu`o essere mantenuto il vincolo di uguaglianza sulle CV da mantenere al set-point; il modulo proceder`a quindi alla minimizzazione della seguente funzione obiettivo:

Φ(xs, us, ηs) = 12[(us− u∗s)TRs(us− u∗s) + ηsTQsηs + zsTPszs] (3.19)

in cui Ps ∈ Rnc×nc`e una matrice diagonale semidefinita positiva i cui elementi

pesano gli scostamenti dei target delle CV dai rispettivi set-point; il vincolo dell’eq.3.7 viene sostituito con il seguente:

¯

yc = Hy(Cxs+ Dddˆk|k) + zs (3.20)

Si sottolinea il fatto che, a differenza di quanto accade nella minimizzazione

Documenti correlati