• Non ci sono risultati.

Storicamente i problemi di costo minimo erano formulati come problemi LP (Linear Programming) ovvero nella seguente forma

min x c Tx (3.19) soggetta a Ax≥ b x≥ 0 (3.20)

Ci`o era dovuto al fatto che i problemi LP potevano essere risolti molto pi`u velocemente dei problemi di tipo QP (Quadratic Programming) in quan- to esisteva una maggiore esperienza (specialmente nei contesti industriali e commerciali) circa la relativa risoluzione, grazie alla disponibilit`a di software altamente affidabile e ben ottimizzato.

Con il tempo l’importanza di queste ragioni `e andata rapidamente decre- scendo in quanto sono stati fatti grandi passi nello sviluppo di algoritmi e programmi per la risoluzione di problemi di tipo QP, che presentano invece la forma seguente min x 1 2x THx + fTx (3.21) soggetta a Ainx 6 bin Aeqx= beq

Ma la ragione pi`u importante legata alla sempre maggiore utilizzazione di problemi QP nell’ambito del controllo predittivo, `e di natura concettuale. A tale proposito va fatto notare che le soluzioni dei problemi di tipo LP si trovano quasi sempre sull’intersezione di vincoli e occasionalmente su un sin- golo vincolo, mentre le soluzioni dei problemi QP possono essere distanti dai vincoli, su un singolo vincolo od in casi estremamente rari sull’intersezione di vincoli.

Allo scopo di analizzare le differenze tra problemi LP e QP viene riporta- ta la figura 3.3 nella quale viene analizzato un problema costo di minimo caratterizzato da due sole variabili di decisione: x1 e x2.

x1

x2 x2

x1 Increasing V

Figura 3.3: Contorni di costo e vincoli nel caso LP (sinistra), e QP (destra). Il punto nero rappresenta la soluzione ottima.

La linea spessa rappresenta i vincoli di diseguaglianza lineari mentre la regione limitata da queste stesse linee rappresenta la feasible region del pro- blema in analisi.

Le linee spezzate rappresentano invece le curve di livello relative ai costi: nel caso di problemi di tipo LP sono linee dritte (o iper-piani nel caso in cui il numero delle variabili di decisione sia maggiore di 3), mentre per i problemi di tipo QP sono costituite da ellissi (o iper-ellissoidi nel caso pi`u generale). Nei problemi LP il costo aumenta muovendosi nel verso della freccia, mentre nel caso dei problemi QP aumenta mano a mano che ci si allontana dal centro degli ellissi.

Come si pu`o vedere nella parte sinistra della figura, la soluzione ottimale di un problema LP deve sempre necessariamente giacere su almeno un vincolo. Inoltre la soluzione presenta un certo margine di robustezza rispetto alla fun- zione di costo: l’inclinazione dei contorni di costo, infatti, deve normalmente variare di una quantit`a consistente prima che la soluzione del problema possa mutare.

Nel momento in cui per`o la soluzione cambia, salta improvvisamente da un angolo all’altro della feasible region.

Da sottolineare inoltre il fatto che la soluzione ottima risulta molto sensibile ai vincoli e cambia nel momento in cui questi subiscono delle modifiche. La figura precedente nella parte destra mostra come la soluzione ottimale di

pletamente insensibile ad eventuali cambiamenti sui vincoli se si trova all’in- terno della feasible reagion, e la relativa posizione in questo caso dipende esclusivamente dai pesi su ciascuna variabile di decisione all’interno della funzione obiettivo.

Se invece la soluzione ottimale si trova sulla frontiera di questa regione, cio`e se alcuni vincoli risultano attivi, allora la sua posizione dipende sia dalla funzione di costo che dai vincoli.

Di seguito viene descritto un esempio per chiarire meglio le differenze che si hanno tra problemi QP e LP.

Si supponga che il punto di lavoro ottimale dell’impianto si trovi sull’inter- sezione di pi`u vincoli: se i vincoli sono conosciuti con un elevato grado di precisione, il modello risulta ragionevolmente accurato, e la vera cost func-

tion `e conosciuta solo approssimativamente, allora il comportamento robusto

della soluzione LP risulter`a appropriato. L’algoritmo di controllo predittivo in questo caso tender`a a mantenere l’impianto sul punto operativo ottimale malgrado sia presente un certo livello di incertezza sulla funzione di costo reale.

In pratica per non danneggiare l’impianto, si evita di farlo lavorare in condi- zioni estreme e dunque di portare il relativo punto di lavoro sulla frontiera della feasible region.

Di conseguenza i vincoli reali vengono di solito rimpiazzati da vincoli virtuali, che permettono qualche margine di sicurezza per le inevitabili violazioni di vincolo.

Tali violazioni cresceranno in relazione a disturbi inattesi, errori nel model- lo dell’impianto, errori nelle misure ed errori nelle specificazioni dei vincoli stessi.

Cos`ı in pratica la soluzione LP tenderebbe a mantenere l’impianto su un pun- to operativo fisso, ma che non con alta probabilit`a non costituisce l’ottimo reale.

In quest’ottica la soluzione del problema nella formulazione QP risulta deci- samente migliore.

Nella situazione appena descritta, infatti, la formulazione QP prover`a a man- tenere l’impianto su un punto operativo all’interno della feasible region, vi- cino al punto operativo ottimale.

Attualmente gli strumenti risolutivi dei problemi QP forniscono un elevato grado di flessibilit`a, potenzialemente applicabile on-line sull’impianto dagli operatori che vi lavorano, infatti:

· il punto operativo desiderato, vale a dire il centro degli ellissoidi di iso- costo, pu`o essere movimentato all’interno della feasible reagion agendo sui pesi della funzione di costo.

x1 x1

x2 x2

Figura 3.4: Uso di una formulazione QP per collocare il punto operativo desiderato all’interno della feasible region. Sinistra: deviazioni di x1 meno

costose di x2. Destra: deviazioni di x2 meno costose di x1

Da notare che nella formulazione LP ci`o pu`o essere fatto solo tramite la ridefinizione dei vincoli.

· i pesi nella funzione di costo possono essere modificati allo scopo di cam- biare il comportamento unconstrained dell’impianto. A tale proposito in figura 3.4 si mostra lo stesso punto operativo, nelle condizioni in cui una variazione di x2 sia pi`u costosa di un’analoga variazione di x1 e

viceversa.

· se i vincoli sono persistentemente attivi, come in figura 3.3, allora la po- sizione del punto operativo sulla frontiera della feasible reagion pu`o essere modificata tramite l’alterazione dei pesi.

La soluzione ottimale pu`o dunque essere spostata su ed in gi`u lungo la linea che rappresenta il vincolo.

In conclusione la formulazione QP ha il grosso vantaggio di fornire un com- portamento lineare a condizione che i vincoli siano inattivi o ne sia attivo un numero fisso.

Tutti gli strumenti di teoria dei controlli lineari possono dunque essere ap- plicati per analizzare il controllore. Ci`o non `e possibile nella formulazione

Capitolo 4

Sviluppo ed Analisi di Diverse

Formulazioni di Controllo

Predittivo

4.1

Introduzione

Nei seguenti paragrafi vengono analizzate nel dettaglio tre diverse tipologie di controllo predittivo

· MPC con i moduli per il Target Calculation e la Dynamic Optimization · MPC senza il modulo per il Target Calculation

· MPC con un unico modulo per il Target Calculation e la Dynamic Opti-

mization

Per ogni algoritmo MPC vengono innanzitutto formulati i relativi problemi di costo minimo, attraverso la definizione della relativa funzione obiettivo e dei vincoli.

Successivamente vengono riportati i passaggi mediante i quali si riesce a riformulare tali problemi nella forma di seguito riportata in modo tale da poter essere risolti mediante il comando Matlab quadprog.

min x 1 2x THx+ fTx (4.1) soggetta a Ainx 6 bin Aeqx= beq

Dove H e f identificano la funzione obiettivo da minimizzare sulla base della variabile di decisione x, mentre Ain, bin e Aeq, beq modellano rispettivamente

i vincoli di diseguaglianza e di uguaglianza.

Si noti inoltre che nel seguito, per semplicit`a di notazione, la stima dello stato e del disturbo al passo k, ovvero xk|k e dk|k, verranno indicati rispettivamente

con xk e dk.

Si noti che nel caso in cui non siano presenti vincoli il problema 4.3.1 pu`o essere risolto in forma chiusa attraverso nel modo seguente

4.2

MPC con Target Calculation e Dynamic

Documenti correlati