You are on page 1of 113

Curso

CONTROL PREDICTIVO BASADO


EN MODELO CON RESTRICCIONES EN MODELO CON RESTRICCIONES
Dr Diego Feroldi Dr. Diego Feroldi
feroldi@cifasis-conicet.gov.ar
Universidad Nacional de Rosario
1
Presentacin del curso Presentacindelcurso
I t d i l C t l P di ti b d IntroduccinalControlPredictivobasadoen
Modelo
Formulacin bsica de un Control Predictivo FormulacinbsicadeunControlPredictivo
basadoenModelo(MPC)
Solucin de MPC SolucindeMPC
Otrasformulaciones
E t bilid d t l d MPC EstabilidadencontroladoresMPC
AjustedecontroladoresMPC
d d Casosdeestudio
Perspectivas
2
Bibliografa Bsica BibliografaBsica
J M M i j ki P di ti C t l ith C t i t J.M.Maciejowski,PredictiveControlwithConstraints,
Pearsoneducation,2002.
E Camacho C Bordons Model predictive control Springer E.Camacho,C.Bordons, Modelpredictivecontrol ,Springer
Verlag,2004.
C Bordons Control Predictivo: metodologa tecnologa y C.Bordons,ControlPredictivo:metodologa,tecnologay
nuevasperspectivas,ICursodeEspecializacinen
Automtica,Almera,2000.
A.Bemporad,M.Morari,N.L.Ricker,ModelPredictive
ControlToolbox3:GettingStartedGuide,TheMathWorks,
Inc., 2009. Inc.,2009.
A.Bemporad,M.Morari,N.L.Ricker,ModelPredictive
ControlToolbox3:UsersGuide,TheMathWorks,Inc.,2009. , , ,
3
DefinicindeModel Predictive Control
(MPC)
l i d l Es un algoritmo de control que computa una
secuencia temporal discreta de las variables
i l d f t l bj ti d ti i manipuladas a futuro con el objetivo de optimizar
el comportamiento de la planta o proceso a
controlar controlar.
Fue concebido para dar solucin al control de p
plantas qumicas y plantas de potencia aunque
actualmente puede encontrarse en diversas reas: p
metalrgica, automotriz, procesamiento de pulpa y
papel, alimentos, robtica, etc.
4
El Control Predictivo es un campo muy amplio de ElControlPredictivoesuncampomuyampliode
mtodosdecontroldesarrolladosentornoaciertas
ideas comunes: ideascomunes:
Uso explcito de un modelo para predecir la salida Usoexplcitodeunmodelo parapredecirlasalida
delprocesoenfuturosinstantesdetiempo
(horizonte). (horizonte).
Clculodelassealesdecontrolminimizandouna
cierta funcin objetivo ciertafuncinobjetivo.
Estrategiadeslizante:encadainstanteelhorizonte
sevadesplazandohaciaelfuturo.
5
Expectativasyposibilidadestcnicas
6
C.Bordons,ControlPredictivo:metodologa,tecnologaynuevasperspectivas,
2000
Algunas Soluciones Industriales de AlgunasSolucionesIndustrialesde
ControlPredictivo
OPTIMIZEIT(ABB)
DMCplus (ASPENTECH)
INCAfor BATCH(IPCOS)
BRAINWAVE(ANDRITZ)
7
Introduccin Introduccin
P MPC? Por que MPC?
Multivariable
Minimiza costos
Maximiza el rendimiento Maximiza el rendimiento
Tiene en cuenta las limitaciones fsicas en los
actuadores actuadores
Permite la operacin cerca de las restricciones
P i t t i d t d Posee intrnsecamente compensacin de retardo
Es muy til cuando se conocen las futuras
referencias referencias
8
Desventajas Desventajas
Costo computacional (Sin embargo, si la tasa de
actualizacin de los movimientos de control es
relativamente baja, entonces hay suficiente tiempo para e a a e e baja, e o ces ay su c e e e po pa a
realizar los clculos on-line)
Conocer el modelo
9
Idea bsica Idea bsica
Optimizador
Planta
Entradas Salidas Referencias
r(t) u(t) y(t)
Medidas
( ) ( ) y( )
CONTROL: Control complejo con
restricciones de plantas multivariable restricciones de plantas multivariable.
PREDICTIVO: La optimizacin se basa en
la evolucin predicha a futura de la planta la evolucin predicha a futura de la planta.
MODELO: Se necesita un modelo de la
planta para predecir el comportamiento a planta para predecir el comportamiento a
futuro de la planta.
10
AnalogadelMPCconlaconduccindeunautomvil
Elconductorsabecualessu
trayectoriadeseadaparaun N y p
horizontefinitoN.
Teniendoencuentalas
caractersticasdelauto(modelo
mentaldelauto)decideque
i d i d t l
t t+N
secuenciadeaccionesdecontrol
realizar(acelerar,frenary
maniobrar) para seguir la trayectoria
t t
maniobrar)paraseguirlatrayectoria
deseada.
Slolaprimeraaccindecontrol S o a p e a acc de co t o
estomada.
Elprocedimientoserepiteenel
11
p p
instantesiguiente.
Filosofa del Horizonte Deslizante
(Receding Horizon) (Receding Horizon)
En cada instante t se resuelve un problema de p
control ptimo sobre un horizonte finito futuro N:
Se minimiza f(|y-r|, |u|)
Sujeto a restricciones:
max min
y y y
max min
max min
u u u
u u u


Solo se aplica el primer movimiento de control u*(t)
Luego se obtienen nuevas medidas de la planta y Luego, se obtienen nuevas medidas de la planta y
se repite la optimizacin en t+1
Optimizacin On Line Realimentacin Optimizacin On-Line Realimentacin
12
IdeaBsicadelMPC
) (
) | ( k t y
) | ( k t r
) (t s
) | ( k t y
f
) (t y
H
p
Entrada
k
k+H
p Tiempo
Tiempo
k
k+H
p
H
m
k+H
m
13
Tiempo
k
k H
p
k H
m
Ejemplo:
Horizontede
controlM=4
Horizontede
prediccinP=9
14
Funcin objetivo generalizada Funcinobjetivogeneralizada
( ) ( ) ( ) ( ) [ ] ( ) ( ) [ ]
2 2
1 |

2
+ + + + =

j t u j j t r t j t y j N N N J
N N
u
( ) ( ) ( ) ( ) [ ] ( ) ( ) [ ]
1
2 1
1 | , ,
1
+ + + + =

= =
j t u j j t r t j t y j N N N J
N j j
u

Esfuerzo de control Seguimiento de referencias Esfuerzodecontrol Seguimientodereferencias
s(t)
r
1
(t+k)
r
2
(t+k)
y(t)
t
15
t
Pasado Futuro
Importante!
i k
k y
+ en ocurrir que lo de
prediccin una tenemos solo en que significa

notacin La
( ) ( )
i k +

. en ocurrir que lo de
( ) ( ) k i k y i k y + +

general en tanto, lo Por


16
Construyendoelmodelo:tiposdeentradasysalidas
Perturbaciones
medidas
Pl t
Variables
manipuladas
medidas
Salidas de
Entradas
Planta
manipuladas
no medidas
Salidas de
la planta
de la
planta
Perturbaciones
no medidas
Ejemplo:

V i bl i l d d l
Reactorqumico
Ai Ai
T C ,
Variablemanipulada: temperaturadel
refrigerante,Tc
Perturbacinmedida: Temperaturadeentrada,T
Ai
C
T
T
A
C
p ,
Ai
Perturbacinnomedida: Concentracinde
entrada,C
Ai
17
T
Salidamedida: Temperaturadelproducto,T
Salidanomedida: Concentracindesalida,C
A
Buenos Modelos para MPC Buenos Modelos para MPC
Buena descripcin de la planta para
capturar las dinmicas ms
significativas
Suficientemente simple para poder
realizar la optimizacin On-Line realizar la optimizacin On-Line
18
Posibles Modelos para MPC Posibles Modelos para MPC
Lineales
Respuesta al escaln/impulso
Espacio de estados/funcin transferencia
No lineales No lineales
Modelo de primeros principios
Mltiples modelos lineales Mltiples modelos lineales
Redes neuronales
Modelos ARX, ARMAX, NARMAX
Robustos
Modelo lineal + descripcin de incertidumbre
Hb id (E d di i ) Hbridos (Estados discretos y continuos)
Mixed Logical Dynamical Systems
Piecewise Affine Systems Piecewise Affine Systems
19
ModelosusandoToolboxes deMATLAB
Latoolbox deMATLABrequierequeelmodelosea
li l i i t l ti (LTI) S d linealeinvarianteeneltiempo(LTI).Sepuede
definirunmodeloconestascaratersticas dela
siguientes maneras: siguientesmaneras:
Crear una funcin transferencia espacio de Crearunafuncintransferencia,espaciode
estadoomodelodeceros/polos/ganancia:
ControlSystem Toolboxsoftware y
Apartirdelaplanta:Identification Toolbox
software software
Linealizando unmodelo:Simulink model
20
Resolucin del MPC con un punto de
i id i i i t d t l coincidencia y un movimiento de control
( ) ( ) ( ) ( ) k k u H S k H k y k H k y + + = +

( ) ( ) ( ) ( )
( ) ( )
P P f P
donde
k k u H S k H k y k H k y + + = +
:
( ) ( )
( )
P P
H H S
k u k k u k k u =
en escaln la respuesta la es
) 1 (

( )
( ) ( )
P P
k k k k
queremos
H H S

:
en escaln la respuesta la es
( ) ( )
P P
entonces
k H k r k H k y + = +
:

( )
( ) ( )
( )
P P
H S
k H k y k H k r
k k u
+ +
=

( )
P
H S
21
22
J.M.Maciejowski,PredictiveControlwithConstraints,Pearsoneducation,2002
ss
3
2
y
r(k+2|k)=2.487
y(k+1)=2 2864 2 y(k+1)=2.2864
k-2 k-1 k k+1 k+2
3 6 0 Tiempo (seg)
0 3
u
(k|k)=(k+1|k)=0.4432
0.3
u
23
k-2 k-1 k k+1 k+2
Tiempo (seg)
24
25
Resolucin del MPC con varios puntos de
coincidencia y un movimiento de control
P P P
c
, , , : ia coincidenc de Puntos
2 1
K
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
k k u P S k P k y k P k r
f

1 1 1
+ + = +
( ) ( ) ( ) ( ) k k u P S k P k y k P k r
f

2 2 2
+ + = +
M
( ) ( ) ( ) ( ) k k u P S k P k y k P k r
c c f c

+ + = +
26
Solucin con mnimos cuadrados para
el caso con un movimiento de control
d fi S
( )
( )
( )
( )
( )
( )
P S k P k y k P k r

: define Se
1 1 1
)
( ) ( ) ( )
f
P S
S
k P k y
y
k P k r

+
=

+
=

2 2 2
M M
)
M
( ) ( ) ( )
c c c
P S k P k y k P k r

+
: entonces

)
( ) ( )
f
y S k k u = \
: entonces
)
27
Solucin con mnimos cuadrados para el
caso con varios movimientos de control
( ) ( )
( ) ( ) ( ) ( ) 1

1 |


+ +
+ + = +
k k u P S k k u P S
k P k y k P k y
i i
i f i
( )
( ) ( ) 1

1 + + + + k H k u H P S
u u i
L
+ =
f
u y y
( ) ( ) ( ) ( ) 1

con \ + = = k u k k u k u
f
y y u
Si las restricciones de desigualdad son lineales,
entonces se puede aplicar Programacin
28
Cuadrtica (Quadratic Programming).
: donde
( )
( )
( )
( )

+
+
1

2
1
k k u
k k u
k P k y
k P k y
( )
( )
( )
( )

+
+
=

+
+
=
1
1

2
u c
k H k u
k k u
k P k y
k P k y
M M
u y
( ) ( ) ( )
( ) ( ) ( )



0 0 0 0 1 1
1 1
S P S P S L L L
( ) ( ) ( )
( ) ( ) ( )

=
1 1
0 0 1 1
2 2
H P S P S P S
S P S P S
M M M M M M M M M M
L L L L L

( ) ( ) ( )

+ 1 1
u c c c
H P S P S P S L L L L L L L
29
Que pasa si el modelo no es exacto? Que pasa si el modelo no es exacto?
Solucin: modelar como perturbacin p
Asumir que el error se debe a una perturbacin: q p
( ) ( ) ( ) 1

= k k y k y k d
Asumir que la misma perturbacin se mantiene:
( ) ( )
f
k d y 1 y u = \
Introduce Feedback!
30
Se puede demostrar que acta como un Se puede demostrar que acta como un
integrador discreto en el tiempo.
Req i ito Q e l pl nt el modelo e n Requisito: Que la planta y el modelo sean
asintticamente estables.
Tambin puede ser aplicado a plantas
marginalmente estable.
Si el modelo es inestable, necesita ser
estabilizado estabilizado.
Se puede lograr realineando el modelo
l lid d l l t i t d con las salidas de la planta, i.e. tomando
las salidas de la planta como condiciones
i i i l d l d l iniciales del modelo.
31
Realinear basado en datos

= =
+ =
n
i
n
i
i m i m
i k u b i k y a k y
1 1
inestable) modelo ( ) ( ) ( ) (
( ) ( ) ( ) ( )

= =
+ + + + = +
n
i
n
i
i p i
i k u b k k u b i k y a k k y
1 2
1
1 1 1
( ) ( ) ( )

=
+ + + = +
n
n
i
p i
i k y a k k y a k k y
2
1
2 1 2
( ) ( ) ( )
M

=
+ + + +
n
i
i
i k u b k k u b k k u b
3
2 1
2 1
M
La clave es usar datos de la salida medidos siempre que sea
posible.
Problema: se pierde el seguimiento de consigna sin
error:1y
m
-y
p
0 porque ahora el modelo tiene no solo como
t d (k) i t bi (K)
32
entradas a u(k) sino tambin a y
p
(K)
Historia Historia
Richalet etalen1978:Model Predictive Heuristic
Control
Cutler and Ramaker en 1980: Dynamic Matrix Cutler andRamaker en1980:Dynamic Matrix
Control(DMC)
Martin Sanchez en 1976: primer patente (Adaptive MartinSanchez en1976:primerpatente(Adaptive
Predictive Control)
P i 1963 Kl i 1970 K P Propoi en1963,Kleinmanen1970,KwonyPearson
en1975,Rouhani yMehra en1982:publicaciones
id i il conideassimilares
33
Terminologa Terminologa
ModelPredictiveControl(MPC) ( )
ModelBasedPredictive Control(MBPC)
D i M t i C t l (DMC) Dynamic Matrix Control(DMC)
ExtendedPredictionSelfAdaptiveControl(EPSAC)
Generalised Predictive Control(GPC)
Model Algorithmic Control (MAC) Model Algorithmic Control(MAC)
Predictive Functional Control(PFC)
Quadratic Dynamic Matrix Control(QDMC)
Sequential Open Loop Optimization (SOLO) SequentialOpenLoopOptimization(SOLO)
34
Estructura Jerrquica EstructuraJerrquica
Optimizacindelsetpoint Optimizacindelsetpoint
C l P di i C l P di i ControlPredictivo ControlPredictivo
dd Actuadores Actuadores
35
FormulacinbsicadeMPC
Modelodelaplanta
) ( ) ( ) 1 ( k B k A k
) ( ) (
) ( ) ( ) 1 (
y
k x C k y
k Bu k Ax k x
=
+ = +
) ( ) (
z
y
k x C k z =
estado de vector
n
x
entradas
l
u
s controlada salidas
medidas salidas
z
y
m
m
z
y


36
s controlada salidas z
Secuencia de acciones Secuenciadeacciones
1. Obtenermedidasy(k)
2. Computar las secuencia de entradas de la 2. Computar las secuencia deentradas dela
planta u(k+i|k) i=0,, H
u
-1
3 A li (k|k) l l 3. Aplicar u(k|k) alaplanta
Notar: Nohaytransferencia directa desde u toy
( t i D) (matriz D).
37
38
Casosinperturbacinymedicindeestados

+ + + = +
+ = +
|k) (k u B |k) (k x A |k) (k x
(k|k) u B Ax(k) |k) (k x
1

+ + + =
+ + + = +
|k) (k u B ABu(k|k) x(k) A
|k) (k u B |k) (k x A |k) (k x
1

1 1 2
2
M

+ + + = + |k) - H (k u B |k) - H (k x A |k) H (k x


p p p
1

1

M

+ + + + =

|k) - H (k u B . . . (k|k) u B A x(k) A
p
H H
p p
1

1
( )

+ = + k k x C k k z
z
| 1

) | 1 (
y
( )

+ = + k k x C k k z
z
| 2

) | 2 (
M
39
( )

+ = + k H k x C k H k z
p z p
|

) | (
M
Enformamatricial
B

M
M
M
- H
i
H
B A
B
A
A
|k) (k x
u

1
1
M
M M
H
i
i
i
H
H
u
u
) u(k
B A
B A
x(k)
A
A
|k) H (k x
|k) H (k x
u
u
u
+

+ +
+

=
=
+
1
1

0
0
1
4 4 4 4 4 4 3 4 4 4 4 4 4 2 1
M
M M
H
i
i
H
B A
A
Hp|k) (k x
p
p


=
1
0
L
L
pasado
B AB
B

+ 0
0
M
L
M O M
H
i
i
u(k|k)
B B A
B AB
u


=
0
1
0
M M M
L
u
H H H
H
i
i
i
|k) - H u(k B AB B A
u

=
=
1
1
0
0
40
4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 4 4 2 1
L
futuro
H H
i
i
H
i
i
B A B A
u p p

= 0
1
0
y

+ ) | 1 (
0 0
0 0
) | 1 (
y
k k x
C
C
k k z
z
z
M
L
L
M

+ ) | (
0 0
) | ( k H k x
C
C
k H k z
p
z
z
p
M
L
M M M
M
41
Casoconperturbacinconstante
1Suposicin: lasalidacontroladaylasalida
did l i ( ) medidasonlamisma.
) | (

) 1 | (

) ( k k d k k y k y + =
( ) y z =
2 S i i l b i
) | (

) 1 | (

) | ( ) | ( ) (
k k d k k x C
y y
y
+ =
2Suposicin:laperturbacinpermanece
constantealolargodelhorizontedeprediccin
) | (

) | (

) | (

) | ( k i k d k i k x C k i k y k i k z
y
+ + + = + = +
) | (

) | (

: donde
k k d k i k d = +
42
) | ( ) | ( k k d k i k d +
Entonces,loquesedebehacerelinstantek eslo
siguiente:
1. Medirlasalidadelaplantaactualy(k). y( )
2. Estimarlaperturbacincomoladiferenciaentre
lasalidaactualylasalidaestimada.
3. Usarestaestimacinparapredecirlassalidasa
lolargodelhorizontedeprediccin.
Nota:
( ) ( ) cuando aun |

I C k i k x k i k y
y
= + + ( ) ( )
.

estimar para observador un necesita se general En x


y
43
Usando un observador Usandounobservador
( )
( )
( )
( )

+
) (
0 1
k u
B k x A k x
( ) ( )
[ ]
( )
( )

+
) (
) (
0 0 1
y
k d
k x
I C k y
k d I k d
( )
( )
[ ]
( )

+

) ( ) (
1 | 0 1
x x
k y
L
k u
B k k x
I C
L A k x
k d
( )
[ ]
( )
( ) ( ) ( ) + =

+
1 | |

pero
) ( ) (
0 1 |

0 1

y
d
y
d
k y k k x C k k d
k y
L
k u
k k d
I C
L I k d
( ) ( )

=
= +
0
L
L
L entonces
|

| 1

y
x
I
k k d k k d
[ ]

0
0
0
0
y
L
d
y
d
x
C
A
I C
L
L
I
A
I
44


0
0
y
d
C
L I
) (k u
) (k x ) (k y
B
) (k u
) (k x ) (k y
C
1
z
+
+
A
PLANTA
+
L
( ) 1 | k k
+ -
B C
1
z
( ) 1 | k k x
( ) 1 | k k y
+
+
A
OBSERVADOR
45
( )
[ ]
( )



+ 1 |

0 1
L B k k x L A k x( )
( )
[ ]
( )
( )

+
+
) ( ) (
0 1 |

1 |
0
0
1

1
d
x
y
d
x
k y
L
L
k u
B
k k d
k k x
I C
L
L
I
A
k d
k x
( ) ( ) ( ) + = 1 |

pero
y
k y k k x C k k d
( ) ( ) = + |

| 1

y
k k d k k d

0 L
L
entonces
x

=
y
L
L
d
x
I
[ ]

0
0
0
0

y
y
d
x
C
A
I C
L
L
I
A
46


0
0
y
d
C
L I
i ifi l l d l b d Esto significa que lospolos delobservador seencuentran en
lossiguientes sitios (matriz triangular):
Polos delaplanta (nohayproblema si laplanta es estable)
Cero:seobtiene estimacin deadbeat
Conclusiones:
Sepueden usar diferentes ganancias deobservador conel
mismo modelo de perturbacin mismo modelo deperturbacin.
Sepuede usar elmismo enfoque conotros modelos de
perturbacin.
Almomento depredecir,reemplazar por
) (k x ) | (

k k x
47
Funcin de costo cuadrtica Funcindecostocuadrtica
H H
u P
1
2 2
Q
i|k) (k u i|k) k i|k) - r( (k z V (k)
T
i
i R
H i
i Q
u P
w
= + + + + =

= =
: Notacin
0

2
0
2
) (
2
) (
H H
x Q x x
T
Q
=
1 U l t t d t l d C i
: ajuste de Parmetros
: Notacin
H i i|k) (k H
Hu Hp H
H H
P
w w
+

=
0

C t l d H i t
. Prediccin de Horizonte
1. e Usualment costo. de ventana la de Comienzo
R(i)
Q(i)
H i i|k) (k u H
u u

= +
control de s movimiento los de n Penalizaci 0
salida. de error del n Penalizaci 0
para 0 Control. de Horizonte
i) u(k i|k) (k u
R(i)
+ +

:
control. de s movimiento los de n Penalizaci 0
! Importante
48
i) u(k i|k) (k u + + : ! Importante
Control Predictivo con Restricciones ControlPredictivoconRestricciones
En la prctica todos los procesos estn sujetos a Enlaprcticatodoslosprocesosestnsujetosa
restricciones.
Losactuadores tienenuncampolimitadodeaccin p
(lmitesfsicos).
Existenlmitesdeseguridad:presionesotemperaturas g p p
mximas.
Requerimientostecnolgicos:mantenervariables,por
l d d ejemplotemperaturas,enunrangodeterminado.
Necesidaddetrabajarcercadelasrestriccionespara
t l fi i i aumentarlaeficiencia.
Limitacionesdecalidad delproductoonormativa
medioambiental medioambiental.
49
En una Estrategia convencional las restricciones EnunaEstrategiaconvencionallasrestricciones
enlavariablemanipuladasepueden
implementarsaturandolasalidadelcontrolador.
Lasrestriccionesdelavariablecontroladano
puedenabordarseyseintentaevitartrabajando p y j
alejadosdeloslmites.
EnelControlPredictivosinrestriccionessila
sealdecontrolcalculadaviolalarestriccin,se
satura(lassealesfuturasnisiquierasetienenen
) S i d l d l i cuenta).Sepierdeelcarcterdecontrolptimo
Laviolacindeloslmitesdelasvariables
controladaspuedesercostosoypeligroso:daos
enequiposyprdidasenlaproduccin
50
ElMPC eslanicametodologacapazdeincorporarlas g p p
restriccionesdeformasistemticaenlafasedediseodel
controlador.
H l t i i f i d l Hayqueexpresarlasrestriccionesenfuncindelas
variablessobrelasquesepuedeactuar.
En los actuadores son bsicamente amplitud y velocidad de Enlosactuadoressonbsicamenteamplitud yvelocidadde
cambio(slewrate).Tambinsepuedenevitarzonas
muertasperoelproblemaesmuchomscomplejo.
EnlasCVs,principalmenteenlaamplitud,perosepueden
conseguirotroscomportamientos:
A lit d i i ( id d) Amplitudmximaymnima(seguridad)
Banda:obligaraunperfildefuncionamiento
Comportamientomontono.Puedeevitarkickback p
Evitarrespuestainicialinversa(sistemasfasenomnima)
Evitarsobreoscilacin
51
Las variables manipuladas siempre se pueden Lasvariablesmanipuladassiempresepueden
mantenerrestringidasrecortandolasalida
l l d l l d calculadaporelcontrolador.
Las restricciones en la salida deben Lasrestriccionesenlasalidadeben
controlarseyaqueestnafectadasporla
di i d l dinmicadelproceso.
No considerar restricciones en la salida puede Noconsiderarrestriccionesenlasalidapuede
darlugarareduccinenbeneficiosycausar
d i daosaequiposopersonas.
52
Restricciones con desigualdades lineales Restriccionescondesigualdadeslineales
) vec( ) |k) - H (k u (k|k) u F vec(
) vec( ) |k), - H (k u . , (k|k), . . u E vec(
u
0 1 1

0 1 1

+
+
) vec( ) |k), H (k z . . , Hw|k), . (k z G vec(
) vec( ) |k), H (k u . , (k|k), . . u F vec(
p
u
0 1
0 1 1
+ +
+
Lasrestriccionespuedenformularseenlassiguientes
variables:
Movimientoenlasentradas
Magnituddelasentradas
Salidascontroladasoestados
53
MPCconrestricciones leydecontrolno
lineal:
MPCtrabajaenmodolinealcuandolaplanta
opera lejos de las restricciones operalejosdelasrestricciones
MPCtrabajaenmodonolinealcuandolaplanta
seacercaalasrestricciones
Ejemplo: control de temperatura en un motor Ejemplo:controldetemperaturaenunmotor
54
Algoritmos de resolucin Algoritmosderesolucin
MODELO
FUNCIN
COSTE
RESTRICCIONES SOLUCIN
Lineal Cuadrtica Ninguna Explcita
Lineal Cuadrtica Lineales QP Lineal Cuadrtica Lineales QP
Lineal Norma1 Lineales LP
55
Control Predictivo con restricciones ControlPredictivoconrestricciones
Lafuncin QUADPROGresuelve elproblema de
programacin cuadrtica: p g


b A
b AX
f
T T
1
i


= +
ub X lb
b A t s X f HX X
eq eq
T T
X
.
2
1
min
Lafuncin QPDANTZ resuelve elproblema de
programcin cuadrtica convexa usando el algoritmo programcin cuadrtica convexa usando elalgoritmo
deDantzigWolfe.
56
Relajacin de las restricciones
Esgravequeelproblemadeoptimizacinresulteno
Relajacindelasrestricciones
g q p p
factible.
Posiblescausas:
Ocurreunagranperturbacininesperada
El modelo de planta difiere demasiado Elmodelodeplantadifieredemasiado
Soluciones:
Mantener la misma entrada que en el paso Mantenerlamismaentradaqueenelpaso
anterior.
Aplicar (k+2|k) computada en el paso anterior Aplicar (k+2|k) computadaenelpasoanterior.
Estrategiasdegestinderestricciones.
R l j l i i Relajarlasrestricciones.
57
Las restricciones de entrada normalmente no se Lasrestriccionesdeentradanormalmentenose
relajan.
Unamaneradirectaderelajarrestriccioneses
agregarvariablesdenominadas variablesdeholgura
(slackvariables).
Son no nulas solo si la restriccin es violada Sonnonulassolosilarestriccinesviolada.
Sonseveramentepenalizadasenlafuncincostode p
maneraqueeloptimizadortratedehacerlanulasies
posible.
58
Relajacin de las restricciones Relajacindelasrestricciones
1
min
2
+ +
T T
s.t.
2
,

+


0


negativo no escalar un es
que dimensin misma la con negativo no un vector es


nes restriccio sin Problema : 0 =
fuertes nes restriccio con Problema :
Continua siendo un problema QP pero con un
59
ContinuasiendounproblemaQPperoconun
mayornmerodevariables
( )
target
2
target
) 0 ( ) 0 ( ) 0 ( ) 0 (

u u
W
u u
J
T
M M M M ( )
target
2
target
) 0 ( ) 0 (
) 1 ( ) 1 ( ) 1 ( ) 1 (
,




=
u u
p u p u
W
p u p u
z J
u
M M M M
2
) 1 (
) 0 (
) 1 (
) 0 (

+

p u
u
W
p u
u
T
u
M M
2 2
) (
) 1 (
) (
) 1 (
) (
) 1 (
) (
) 1 (

+
p r
r
p y
y
W
p r
r
p y
y
y
T
M M M M
) ( ) ( ) ( ) (

p r p y p r p y

) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 1 (
max max min min
V y y V y
y y

M M M

) 0 ( ) 0 (
) ( ) (
) 0 (
) (
) 0 ( ) 0 (
) ( ) (
max max
max max
min min
min min
V u
p V p y
u
p y
V u
p V p y
t s
y
y
y
y

M
M
M
M
M
M



) 0 ( ) 0 (
) 1 ( ) 1 (
) 0 (
) 1 (
) 0 ( ) 0 (
) 1 ( ) 1 (
. .
max max
max max
min min
min min
V u
p V p u
u
p u
V u
p V p u
t s
y
y
y
y

M
M
M
M
M
M
60

) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 1 (
max max min min
p V p u p u p V p u
y y

M M M
E bilid d MPC EstabilidadenMPC
l i ? Realmenteimporta?
Sisediseaelcontroladorofflinelaestabilidad
i l d l l d bl nominaldellazocerradonoesunproblema.
Esfcilchequearelsistemadiseadoesestable
asumiendo que el modelo es correcto asumiendoqueelmodeloescorrecto.
Estabilidadenlazocerradoesproblemticasisehace
un rediseo online unrediseoon line.
Controlpredictivoimplicarealimentacin.
Aun cuando la performance de la planta se optimiza a Auncuandolaperformancedelaplantaseoptimizaa
lolargodeunhorizonte,cadaoptimizacinnotiene
encuentaloqueocurreluego.
61
EstabilidadenMPC
Restriccionesterminalesaseguranestabilidad
l l di i l d bi S i d
( )
t f i l i i i d
) ( ), ( ) 1 (
planta la para predictivo r controlado un obtiene se que Suponiendo
= + k u k x f k x
( ) ) | 1 (

), | (

) (
costo funcin la o minimizand
+ + =

k i k u k i k x l k V
H
P
( )
0 ) | (

nterminal restricci la a sujeto


e decrecient es y 0 y 0 si solo 0 ) , ( y 0 ) , ( donde
1
+
= = =

=
k H k x
l u x u x l u x l
i
problema el que siempre estable es 0 0 equilibrio de punto el Entonces
) 0 , 0 ( 0 : equlibrio de punto un es 0 , 0 que Asumimos
0 ) | ( n terminal restricci la a sujeto
= =
= = =
= +
u x
f u x
k H k x
P
Lyapunov de funciones usando demostrar puede Se
paso. cada en resuelve se y factible sea
problema el que siempre estable es 0 , 0 equilibrio de punto el Entonces = = u x
62
Lyapunov. de funciones usando demostrar puede Se
EstabilidadenMPC
Horizonteinfinito
S d i bl h i Sepuedeaproximaraunproblemaconhorizonte
finitoconrestriccinterminal.
Horizontesinfinitosdanestabilidad.
k k+1 k+Hp k+1+Hp
Tiempo
63
k k+1
Tiempo
Como disear el controlador MPC ComodisearelcontroladorMPC
1. Programarelcontroladorusandofunciones
deMATLAB(ejemplo:basicmpc.m) ( j p p )
2. DisearelcontroladorusandolaModel
P di ti C t l T lb MATLAB Predictive ControlToolbox paraMATLAB
3. Usando funciones especficas de la Toolbox 3. UsandofuncionesespecficasdelaToolbox
Uso deobjetos tipo MPC
64
Objetos tipo MPC ObjetostipoMPC
Existen tres tipos de objetos MPC:
1. MPC Controller Object j
2. MPC Simulation Option Object
3. MPC State Object
65
ObjetostipoMPC j p
Todos los parmetros que definen la ley de control MPC
(horizonte de prediccin, pesos, restricciones, etc. ) estn
almacenados en un MPC controller object, los cuales se
constr en en dos etapas construyen en dos etapas:
1. Construccin
Ts =1;
MPCobj =mpc(CSTR,Ts);
2. Initializacin
66
Obj t ti MPC ObjetostipoMPC
Elobjeto tipo mpcsimopt contiene opciones varias para la
simulacin deuncontrolador MPCconelcomando sim:
Si O ti i t( bj) SimOptions=mpcsimopt(mpcobj)
UsarSET/GET paracambiarlaopciones.
Elobjeto tipo mpcstate contiene elestado delcontrolador
MPC: MPC:
mpcstate(mpcobj)
67
Estructura MPC EstructuraMPC
(MATLABToolbox)
68
Ajuste de parmetros en MPC AjustedeparmetrosenMPC
Pesos
Horizontes Horizontes
Modelodeperturbacinydinmicadel
observador
T t i d f i Trayectoriadereferencia
69
EJEMPLO:
Continuous StirredTank Reactor(CSTR.m)
+ B A
dx
Ai
C



+ =
+ =
T
Du Cx y
Bx Ax
dt
C
T
C

=
0 0 1 0
, , : donde
b b
C
T
y
C
T
u
T
C
x
A
A
C
A
i
T
A
C

=
0 0
0 0
,
0 1
1 0
, ,
22 21
12 11
22 21
12 11
D C
b b
b b
B
a a
a a
A
A [ 0 0285 0 0014 CSTR I tN {'T ' C A i'} CSTR t i l (CSTR A=[0.02850.0014
0.03710.1476];
B=[0.08500.0238
0 0802 0 4462];
CSTR.InputName ={'T_c',C_A_i'};
CSTR.OutputName ={'T','C_A'};
CSTR.StateName ={'C_A','T'};
CSTR InputGroup MV = 1;
CSTR=setmpcsignals(CSTR,
'UD',2,'UO',2)
0.08020.4462];
C=[01
10];
D = zeros(2 2);
CSTR.InputGroup.MV=1;
CSTR.InputGroup.UD =2;
CSTR.OutputGroup.MO=1;
CSTR OutputGroup UO = 2;
70
D=zeros(2,2);
CSTR=ss(A,B,C,D);
CSTR.OutputGroup.UO =2;
CSTR
DiseandoelMPCusandolaToolbox de
diseo(mpctool)
71
1.5
2
2.5
Plant Outputs
0
0.5
1
T
0
-3
-2
-1
0
C
A
0 5 10 15 20 25 30
-5
-4
-3
Time (sec)
10
15
Plant Inputs
0
5
T
c
1
0
0.5
1
C
A
i
72
0 5 10 15 20 25 30
-1
-0.5
Time (sec)
EjemplodeBlockingconcuatromovimientos
de control decontrol
Unblockesununoomsperodosdemuestreosucesivosduranteloscualesla
variable manipulada permanece constante variablemanipuladapermanececonstante.
Lablockdurationeslacantidaddeperodosdemuestreoencadablock.
Enelejemploes2,2,2,3(lasumatienequeserigualaP). j p , , , ( q g )
73
Modelo usado por la Toolbox para la estimacin ModelousadoporlaToolbox paralaestimacin
deestados
74
Plantasnolineales
U d l MPC C ll Bl k UsodelMPCController Block
75
DiseandoelMPCusandofunciones
Ts = 1;
MPCobj = mpc(CSTR, Ts);
Creacindelobjetocontrolador
get(MPCobj)
M i l dV i bl (MV) [1 1 ] ManipulatedVariables (MV): [1x1 struct]
OutputVariables (OV): [1x2 struct]
DisturbanceVariables (DV): [1x1 struct]
Weights (W) [1 1 st ct]
Viendoyalterandolas
propiedadesdelobjeto
controlador
Weights (W): [1x1 struct]
Model: [1x1 struct]
Ts: 1
Optimizer: [1x1 struct]
controlador
Optimizer: [1x1 struct]
PredictionHorizon (P): 10
ControlHorizon: 2
History: [2e+003 7 21 20 18 20 1] History: [2e+003 7 21 20 18 20.1]
Notes: {}
UserData: []
ObjName.PropName = value;
76
Simulacioneslineales
[y,t,u]=sim(MPCobj,T,r);
plot(t,y);
MPCopts =mpcsimopt;
MPCopts.Constraints ='off';
sim(MPCobj,T,r,MPCopts)
Si l i li l Simulacionesnolineales
Silaplantaesunmodelonolinealensimulink,sedebelinealizar el
modelo y disear un controlador para el modelo lineal modeloydisearuncontroladorparaelmodelolineal.
77
Ot F l i OtrasFormulaciones
Perturbacionesmedidas:feedforward
Generalized Predictive Control(GPC)
Dynamic Matrix Control(DMC)
Predictive Functional Control(PFC)
Formulacincontinuaeneltiempo
78
df d EstructuraFeedforward
Perturbacin
medida
) (k d
Controlador Planta
) (k d
m

+
-
+
+
+
) (z P
d
) (k r ) (k y ) (k u
) (

) (

1
1
z P z P
d

Setpoint
-
+ + +
) (
1
z P ) (
2
z P
) (z C
) (k r ) (k y ) (k u
79
Modelo de la planta con perturbacin medida Modelodelaplantaconperturbacinmedida
) ( ) ( ) | (

) | 1 (

k d B k Bu k k x A k k x + + +
) | (

) | (

) ( ) ( ) | ( ) | 1 (
k k x C k k y
k d B k Bu k k x A k k x
y
m d

=
+ + = +
) | (

) | ( k k x C k k z
z

=
( )? |

predecir Como k i k d
m
+
Usualmente suponemos que permanece constante Usualmentesuponemosquepermanececonstante
Siesposiblehacerunamejorsuposicin
80
D i M i C l (DMC) Dynamic Matrix Control(DMC)
El DMC l l l d i l ElDMC usa larespuesta alescaln para determinar la
denominada MatrizDinmicaG.
Esta matriz seinterpreta como unmodelo delproceso.
Lasalida predicha puede serexpresada como
y=Gu +f ,
donde donde
y es elvectortemporaldesalidas predichas
u es lasecuencia deacciones decontrolafuturo
f es elvectorderespuesta libre.
81
LaMatriz Dinmica G seconstruye apartir delos y p
coeficientes g
i
obtenidos apartir delarespuesta al
escaln conhorizonte deprediccin h
p
yhorizonte de p
p
y
controlh
m
:
h
p S
a
l
i
d
a

1
0
0 0
g g
g
L
L
g
2
g
hp
g
4
g
3
p

=
1 1
1 2
0
m m
h h
ij
g g g
g g
G
L
M O M M
L
g
1
g
2

+ 1 1
m p p p
h h h h
g g g L
M O M M
t
1
t
4
t
3
t
2
t
hp
t
0
E
n
t
r
a
d
a
82
E
( ) ( ) ( ) k f k k u g k k y + + = + 1 |

| 1

1
( ) ( ) ( )
( ) ( ) ( ) ( ) k f k k u g k k u g k k y
k f k k u g k k y
+ + + + = +
+ + +
2 | 1

| 2

1 | | 1
1 2
1
M
( ) ( ) ( ) ( )
p m h h h p
h k f k h k u g k k u g k h k y
m p p
+ + + + + = +
+
|

1
L
M
83
Elobjetivo delcontrolador DMC es minimizar unfuncin j
costo J(k)
) ( min k J
u
donde lafuncin costo J(k) sedefinecomo
( ) [ ] ( ) [ ] | | ) (
1
y k j k y R y k j k y k J
P
r
h
j
T
r
+ + + =

=
[ ] [ ] ) | ( ) | (
0
k j k u Q k j k u
m
h
j
T
+ + +

=
y

R es una matriz para compensar los diferentes rango de valores


( ) ( ) ( ) k j k u k j k u k j k u | 1 | | + + = +
R es una matriz para compensar losdiferentes rango devalores
delas salidas delproceso
Q es una matriz que permite penalizar elesfuerzo decontrol.
84
Elvectordecontrolresulta
( )
donde R yQ sonmatricesexpandidas enelcaso multivariableapartir delas
matricesoriginales:
( ) e R G Q RG G u
T T
1
+ =
g

= L
L
L
L
2
1
2
1
0
0
; 0
0
Q
Q
Q R
R
R

O M M O M M
2 2
; Q Q
e es elvectordeerrores futuros alolargodelhorizonte deprediccin:
p r r p r
k h k y y k k y y k y y e ), | 1 ( , ), | 1 ( ), ( [
1 1
1 1 1 1
L + + =
T
p r r p r
p r r p r
k h k y y k k y y k y y ] ), | 1 ( , ), | 1 ( ), (
2 2
1 1
2 2 2 2
1 1 1 1
L L + +
donde es lai_th salida delaplanta medida enelinstante presente k. ) (k y
i
p
85
DMCsinrestriccionesSolucinexplcita
Ejemplo:PEMFuelCell System j p y
D.Feroldi etal./Journal ofPower Sources 169(2007)205212
86

P di i F i l C l (PFC) Predictive Functional Control(PFC)
Lamotivacineslograrungrananchodebanda
Hacenfasismsenlavelocidadqueenlas q
restricciones
Es importante el seguimiento de setpoint Esimportanteelseguimientodesetpoint
Caractersticas:
Pequeonmerodepuntosdecoincidencia
Trayectoriadereferenciaparadefinirlaperformance
Funciones bsicasparatrayectoriasdecontrolfuturas
87
Funcionesbsicas
Escalonesconretardo
Polinomiosdebajoorden
( ) ( ) ( ) ( ) ( )
c
c
i k u i k u i k u k u k i k u + + + + = + L
2
2 1 0
|

Escaln
( ) ( ) ( ) ( ) ( )
c 2 1 0
k Tiempo
Rampa
k Tiempo k Tiempo
Parbola
88
k Tiempo
Emplea el concepto de puntos de coincidencia Empleaelconceptodepuntosdecoincidencia
parafacilitarlosclculos:lasalidapredichayla
referencia deben coincidir en dichos puntos referenciadebencoincidirendichospuntos.
Noserequiereunmodelodiscretoenel
tiempo.
Solo se necesitan conocer los valores de la Solosenecesitanconocerlosvaloresdela
respuestaalescalnenlospuntosde
i id i coincidencia.
Se podra trabajar completamente en tiempo Sepodratrabajarcompletamenteentiempo
continuo.
89
Unpuntodecoincidencia:p = m
Consignaconstante
Consigna
d
e

) ( H n+
p
T
r
a
y
e
c
t
o
r
i
a

d
e
r
e
f
e
r
e
n
c
i
a
i
c
h
a
) (n
p
S
a
l
i
d
a

p
r
e
d
i
c
h
Salida del
Proceso (y
p
)
m
Salida del modelo
Horizonte de coincidencia
n+H
1
n+H
2
n+H n
Salida del
modelo (y
m
)
90
Horizonte de prediccin
Futuro Pasado
( ) ( ) ( ) con ) ( ) (
s
T
T
H
p
H
e n y n c n H n


= = = +
( ) ( ) ( ) ( ) ( )( ) 1
y
H H
H
m p

=
( ) ( ) ( ) ( ) ( )( )
( )( ) ( ) ( )
resulta do Reemplazan
1
H
H H
n n n H n n p = = + =
( )( ) ( ) ( )
( )( ) ( )
resulta o Resolviend
1 ) ( ) (
m m
H
p
n y H n y n y n c + =
( )( ) ( )
( ) 1
1 ) ( 1 ) (
) (
H
m m
H
m m
H
p
a K
a n y n y C(n)
n MV

+
=

. con
m
s
T
T
m
e a

=
91
Formulacin continua en el tiempo Formulacincontinuaeneltiempo
: costo Funcin
) | (

) | (

) ( ) (
2 2
2
1
2
1
d t u d t y t r t V

+ + + + =

) ( ) ( ) ( ) ( ) | ( y

: salida de Prediccin
) (
2
t y t y t y t y t
n
n

+ + + + = + L
& & &
: entrada la de acin Parametriz
) (
!
) (
! 2
) ( ) ( ) | ( y t y
n
t y t y t y t + + + + = + L
) (
!
) (
! 2
) ( ) ( ) | (

) (
2
t u
m
t u t u t u t u
m
n

+ + + + = + L
& & &
m juegaunpapelsimilaralhorizontedecontrol
92
j g p p
Control Predictivo Generalizado ControlPredictivoGeneralizado
FuepropuestoporClarkeetal.en1987.
Se ha empleado con xito en numerosas Sehaempleadoconxitoennumerosas
aplicacionesindustriales
Tienemuchasideasencomnconotros
controladores predictivos. controladorespredictivos.
Escapazdeproporcionarunasolucinexplcitaen
ausenciaderestricciones.
93
Formulacin del Formulacindel
ControlPredictivoGeneralizado(GPC)
) ( ) ( ) 1 ( ) ( ) ( ) (
1 1 1
C B A
d
UnprocesoSISOpuedeserdescritosdelasiguienteforma:
si
) ( ) ( ) 1 ( ) ( ) ( ) (
1 1 1

+ =

t e z C t u z B z t y z A
d
) (
1 ) (
2
2
1
1 0
1
2
2
1
1
1

+ + + + =
+ + + + =


z b z b z b b z B
z a z a z a z A
nb
nb
na
na
L
L
sistema del muerto tiempo el es donde
1 ) (
2
2
1
1
1
0

+ + + + =

d
z c z c z c z C
nc
nc
nb
L
1 C tomar podemos d simplicida Por
sistema. del muerto tiempo el es donded
94
1. C tomar podemos d simplicida Por =
ElobjetivodelalgoritmoGPCconsisteenaplicaruna j g p
secuenciadesealesdecontrolqueminimiceuna
funcindecostedelaforma:
( ) [ ]

+ + + =
N
u
j t w k j t y j N N N J
2
2 1
) ( |

) ( ) , , (
2

[ ]

=
+ +
u
N
N j
j t u j
2
) 1 ( ) (
1

= j 1
95
Prediccionesptimas
( ) + = + +
+ + 1 1
) ( ) ( | 1

ptimas es prediccion las de conjunto El


t y F t u G t d t y
d d
( )
( ) + + = + +
+ + +
+ +
+ +
2 2
1 1
) ( ) 1 ( | 2

) ( ) ( | 1
t y F t u G t d t y
t y F t u G t d t y
d d
d d
M
( ) + + = + +
+ +
t i i l f it d
) ( ) 1 ( |

t y F N t u G t N d t y
N d N d
M
+ + =
1 1 1
) (
como matricial forma en escrito ser puede
z u ) G'(z )y(t) F(z Gu y
- -

+ +
0
0 0 ) ( ) 1 | 1 (

donde
g t u d t y L

+
=

+ +
=
0 1
0 ) 1 ( ) 1 | 2 (
g g
G
t u
u
d t y
y
M O M M
L
M M
96

+ +
0 2 1
) 1 ( ) 1 | (
g g g N t u N d t y
N N
L
( )
( )
g z G z
d

+
) (
0
1
1
( ) z g g z G z
z G
d


=

+
) (
) ( '
1
1 0
1
2
2
1
M
( )
z F
z g z g g z G z
N
N N d
N


+
) (
) (
1
) 1 (
1
1
1 0
1
L
z F
z F
z F
d
d

=

+
+
) (
) (
) (
1
2
1
1
M
f
z F
N d


+
d d d l l i l i l d d Al
) (
1
M
f : en agrupar pueden se pasado del solo terminos ltimos los depender Al
f Gu y + =
Similar al caso DMC pero la respuesta libre es distinta
97
SimilaralcasoDMC perolarespuestalibreesdistinta
Obtencindelaleydecontrol y
( ) ( ) u u w f Gu w f Gu J
T
T
+ + + =
donde

[ ] N d t w d t w d t w w
T
+ + + + + + = ) ( ) 2 ( ) 1 (
donde
L
f bu Hu u J
T
+ + =
0
2
1
Al mismo resultado se puede
( ) I G G H
T
+ = 2
con
2

Almismoresultadosepuede
llegarcalculandoGapartirdelos
coeficientes de la respuesta ante
( )
( )
( ) ( ) w f w f f
G w f b
T
T
=
=
0
2
coeficientesdelarespuestaante
escaln.
( ) ( ) w f w f f
0
: resulta control de ley La
98
T
b H u
1
=
ControlPredictivobasadoenModeloNoLineal
(NMPC)
h l li l Muchosprocesossonaltamentenolineales
Necesidaddeoperarendiferentespuntosde p p
operacin
Procesos donde no hay un estado estacionario Procesosdondenohayunestadoestacionario
NecesidaddeimplementarNMPC p
Necesidaddemodelosnolineales
99
Las aplicaciones que requieren NMPC puedes LasaplicacionesquerequierenNMPC puedes
serdivididasendosgrandescategoras:
Problemas de control regulador donde el Problemasdecontrolreguladordondeel
procesoesaltamentenolinealyocurren
frecuentes perturbaciones (control de pH frecuentesperturbaciones(controldepH,
etc.).
Problemasdeservocontroldondeelpuntode
operacin cambia frecuentemente y la planta operacincambiafrecuentementeylaplanta
tienedinmicasaltamentenolineales
(manufactura de polmeros, sntesis de (manufacturadepolmeros,sntesisde
amonaco,etc.).
100
An Overview ofNonlinear Model Predictive ControlApplications,2000 pp ,
S.Qin,A.Badgwell
101
El desarrollo de un modelo no lineal puede ser Eldesarrollodeunmodelonolinealpuedeser
bastantecomplejo
Diferentestiposdemodelosnolineales:
Modelodeprimerosprincipios p p p
Mltiplesmodeloslineales
Modelos Hammerstein Wiener ModelosHammersteinWiener
ModelosdeVolterra
ModeloARXnolineal
Modelosdifusos
Modelosconredesneuronales
102
El uso de modelos no lineales cambia el problema Elusodemodelosnolinealescambiaelproblema
deoptimizacin:
MPC: Programacin cuadrtica convexa MPC: Programacincuadrticaconvexa
NMPC: Problemanolinealnoconvexo.
En NMPC no hay garanta de que pueda encontrarse EnNMPC nohaygarantadequepuedaencontrarse
unptimoglobal.
La manera general de resolver este problema Lamanerageneralderesolveresteproblema
consisteenlosiguiente:
1 Uso de un modelo no lineal completo de la planta 1. Usodeunmodelonolinealcompletodelaplanta
paraelcmputodelaprediccin.
2. Uso de eficientes algoritmos de optimizacin no 2. Usodeeficientesalgoritmosdeoptimizacinno
linealcapacesdemanejargrannmerodevariables
yrestricciones.
103
Optimizacin
Elproblemadeoptimizacinpuedeserexpresadodelasiguiente
manera:
) ( i X f
sujetoa
) ( min X f
n
X
e i
e i
m m i X G
m i X G
+ =
= =
,..., 1 0 ) (
,..., 1 0 ) (
donde
X eselvectordelosparmetrosdediseo(lasvariables
i l d )
u l
X X X
manipuladasenMPC)
f(X) eslafuncinobjetivoquedevuelveunvalorescalar
G(X) eselvectorconlasrestriccionesigualdadesydesigualdades ( ) g y g
evaluadasenX
104
Silafuncinobjetivoylasrestriccionessonfunciones j y
linealesdelavariabledediseo,elproblemaseconoce
comodeProgramacinLineal(LP).
ProgramacinCuadrtica(QP)serefierealamaximizacin
ominimizacindefuncionesobjetivoscuadrticas
linealmente restringidas. linealmenterestringidas.
LosproblemasdeLP yQPtienenprocedimientosde
solucinrelativamentesimples. p
LosproblemasdeProgramacinNoLineal(NP), enlos
cualeslafuncinobjetivoylasrestriccionespuedenser j y p
funcionesnolinealesdelasvariablesdediseo,sonms
difcilderesolver.
LasolucindeunproblemaNP generalmenterequiereun
procedimientoiterativo.
105
Diagramadeflujode
l it NMPC
INICIO
unalgoritmoNMPC
SETEO DE CONDICIONES
INICIALES
SIMULACIN DEL MODELO DURANTE EL
HORIZONTE DE PREDICCIN N2
CORRECCIN DE LA PREDICCIN
CONSIDERANDO EL VALOR DE SALIDA DE
CLCULO DEL FUNCIONAL COSTO J
CLCULO DE UN NUEVO
VECTOR DE CONTROL DE
LONGITUD Nu
Se repite el ciclo
CONSIDERANDO EL VALOR DE SALIDA DE
LA PLANTA
cada Ts segundos
durante todo el
tiempo de
simulacin
CLCULO DEL GRADIENTE DE J CON
RESPECTO A LA VARIABLE MANIPULADA
J es
mnimo?
SI
NO
ACTUALIZACIN DEL
VECTOR DE ESTADO
Optimizacin
IMPLEMENTACIN EN LA PLANTA DE LA PRIMERA
ACCIN DE CONTROL DEL VECTOR DE CONTROL
CALCULADO
SI
106
FIN
Programacin no lineal usando MATLAB ProgramacinnolinealusandoMATLAB
LafuncinLSQNONLIN (Optimization Toolbox)resuelve
elproblemademnimoscuadradosnolineal:
( )
2 2 2
2
( )
ub X lb
X f X f X f X f
n
X X

+ + + =
s.t.
) ( ) ( ) ( min ) ( min
2 2
2
2
1
2
2
L
x=lsqnonlin(fun,x0,lb,ub)comienzaenelpuntox0 y
encuentra un mnimo de la suma de los cuadrados de encuentra unmnimo delasuma deloscuadrados de
las funciones descriptas enfun.
fun debe retornar unvectordevalores ynolasuma de y
loscuadrados delosvalores.
107
Ejemplo
E t X i i i d l t X [0 3 0 4]
( )
2
10
2 1
2 2

+
kx kx
k Encontrar X que minimice comenzando enelpunto X=[0.3,0.4].
Lafuncin que selepasa aLSQNONLIN debe computar elvector
para k= 1 a 10 (F debe tenr tener k componentes)
( )
1
2 1
2 2

=
+
k
kx kx
e e k
2 1
2 2 ) (
kx kx
k
e e k X F + =
para k=1a10(F debe tenr tener k componentes).
Primero,escribir unarchivo .m para computar kcomponentes delvectorF.
functionF=myfun(x)
k=1:10;
F = 2 + 2*kexp(k*x(1))exp(k*x(2)); F 2+2 k exp(k x(1)) exp(k x(2));
Luego,invocar una rutina deoptimizacin
x0=[0.30.4] %Startingguess
[x,resnorm]=lsqnonlin(@myfun,x0) %Invokeoptimizer
Luego de24evaluaciones delafuncin elresultado es elsiguiente:
x=0.25780.2578
108
resnorm =124.3622 %Residualorsumofsquares
MPC en Sistemas Hbridos MPCenSistemasHbridos
Ciencia de la
i
Teora de
l
Maquina de
Sistema
dinmico
computacin control
A
u(t) y(t)
q
estados
finita
dinmico
continuo en
el tiempo
Sistema
1
2
A
C
B
S ste a
Hbrido


U
X
m
n
5
3
D
B
C
( )

=

) ( ), (
) (
t u t x f
dt
t dx
Y
p
4
A
C
{ }
{ } D C B A U
X
, , ,
5 , 4 , 3 , 2 , 1

( )
( )

= ) ( ), ( ) ( t u t x g t y
dt
109
{ } , , ,
( )
( )

=
= +
) ( ), ( ) (
) ( ), ( ) 1 (
k u k x g k y
k u k x f k x
Como modelar el sistema hbrido? Comomodelarelsistemahbrido?
Algunasopciones:
Pieceawise ContinuosSystems
S it h d Affi S t Switched Affine Systems
Mixed Logical Dynamical Systems Mixed Logical Dynamical Systems
110
Pieceawise ContinuosSystems
g k u D k x C k y
f k u B k x A k x
k i k i k i
) ( ) ( ) (
) ( ) ( ) 1 (
) ( ) ( ) (
+ + =
+ + = +
K k J k H k i
g k u D k x C k y
k i k i k i
) ( ) ( t ) (
) ( ) ( ) (
) ( ) ( ) (
+
+ + =
K k u J k x H k i
k i k i k i
) ( ) ( s.t. ) (
) ( ) ( ) (
+
{ } s k i
Y y U u X x
p m n
, , 1 ) (
, ,
L

Sepuedenaproximar
dinmicasnolinealesy/o
discontinuasarbitrariamente
bien
111
Switched Affine Systems
Laecuacin deestado puede serescrita como
bi i d i di i if h combinacin detrminos ycondiciones ifthen
else:
112
Mixed Logical Dynamical Systems Mixed Logical Dynamical Systems
Orientadoalacomputacin(mixedinteger programming)
Adecuado para sntesis de controladores verificacin Adecuadoparasntesisdecontroladores,verificacin,
etc.
113

You might also like