Professional Documents
Culture Documents
IntroductionMPC PDF
IntroductionMPC PDF
modelbased
optimizer process
measurements
Amodeloftheprocessisusedtopredictthefutureevolution
oftheprocesstooptimizethecontrolsignal
Onlyapplytherstoptimalmove
Attimet+1:Getnewmeasurements,repeattheoptimization.Andsoon
Advantageofrepeatedonlineoptimization:FEEDBACK!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 3 /94
RecedingHorizonExamples
MPCislikeplayingchess!
Rollinghorizonpoliciesare
alsousedfrequentlyinnance
constraints driveonroads,respectonewayroads,etc.
disturbances mainlydriversinattention!
x=GPSposition
setpoint desiredlocation
u=navigationcommands
costfunction minimumtime,
Fastest route
minimumdistance,etc. Shortest route
Avoid motorways
recedinghorizonmechanism Walking route
Bicycle route
eventbased Limited speed
(optimalroutereplannedwhenpathislost)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 5 /94
GoodModelsfor(MPC)Control
Note:computationalcomplexityandtheoreticalproperties(e.g.
stability)dependonchosenmodel/objective/constraints
GoodmodelsforMPC:
Descriptiveenoughtocapturethemostsignicant
dynamicsofthesystem
E O FF
TRA D
Simpleenoughforsolvingtheoptimizationproblem
Makeeverythingassimpleaspossible,butnotsimpler.
AlbertEinstein
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 6 /94
MPCinIndustry
History:Computercontrol(ManualMPC)
Fluidcatalyticcracking(FCC)is
themostimportantconversion
processusedinpetroleum
reneries.Itiswidelyusedto
convertthehighboiling
hydrocarbonfractionsof
petroleumcrudeoilstomore
Fluidcatalyticcracking valuablegasoline,olenicgases
(courtesyofShell/M.Morari) andotherproducts
(http://en.wikipedia.org/wiki/Catalytic_cracking)
PresentIndustrialPractice
linearimpulse/stepresponsemodels
sumofsquarederrors
objectivefunction
executedinsupervisorymode
Particularlysuitedforproblemswith
manyinputsandoutputs
constraintsoninputs,outputs,states
varyingobjectivesandlimitsonvariables
(e.g.becauseoffaults)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 8 /94
MPCinIndustry
Hierarchyofcontrolsystemfunctions:
Conventional MPC
(Qin,Badgewell,1997)
(snapshotsurveyconductedinmid1999) (Qin,Badgewell,2003)
Forusmultivariablecontrolispredictivecontrol
TariqSamad,Honeywell(IEEEControlSystemSociety,President)(1997)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 10 /94
MPCinIndustry
Resultsfromarecentsurvey(November7,2005)abouttheuseofMPCtechniques/
realtimeoptimizationinasetofUSindustries:
DoyouseeyouruseofMPCaccelerating,
Industrialareaofrespondentstothesurvey: stayingconstant,ordeclining?
Pharmaceuticals 0.7%
0.7% Decreasing
Machinery
Food&Beverage 0.7%
Aerospace 0.7%
Automotive 1.5% Constant 28.8%
Mining 1.5%
Cement&Glass 2.2%
2.2% Increasing 69.8%
Metals
Plastics&Rubber 2.9%
Electronics 5.1% 0 20 40 60 80 100
Power 5.1%
Pulp&Paper 5.1% DoesyourcompanyuseMPC?
Other 11.0%
Oil&Gas 15.4%
No 19.0%
Chemicals 20.6%
Rening 24.3%
0 5 10 15 20 25 30 35 Routinely 35.2%
Sometimes 45.8%
courtesy: 0 10 20 30 40 50 60 70
Objectorientedimplementation(MPCobject)
MPCSimulinkLibrary
MPCGraphicalUserInterface
RTWextension(codegeneration)
[xPCTarget,dSpace,etc.]
LinkedtoOPCToolboxv2.0.1
Onlylinearmodelsarehandled
http://www.mathworks.com/products/mpc/
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 12 /94
MPCSimulinkLibrary
SingleMPCandmultipleswicthedMPCblockssupported
Reference/disturbancepreviewandtimevaryinglimitssupported
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 13 /94
MPCGraphicalUserInterface
Hybridmodels:design,simulation,verication
Controldesignforlinearsystemsw/constraints
andhybridsystems(onlineoptimizationviaQP/MILP/MIQP)
ExplicitMPCcontrol(viamultiparametricprogramming)
Ccodegeneration
Simulinklibrary
2450+downloadrequests
sinceOctober2004
http://www.dii.unisi.it/hybrid/toolbox
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 16 /94
BasicsofConstrainedOptimization
Ingeneral,problemisdiculttosolve
usesoftwaretools
NetworkEnabledOptimizationServer(NEOS)forremotely
solvingoptimizationproblems:
http://neos.mcs.anl.gov/neos/solvers/
Comparisononbenchmarkproblems:
http://plato.la.asu.edu/bench.html
Goodopensourceoptimizationsoftware
http://www.coin-or.org/
Convexset Nonconvexset
fandCconvex
Veryecientnumericalalgorithmsexist
Globalsolutionattained
Extensiveusefultheory
Oftenoccurringinengineeringproblems
Tractableintheoryandpractice
Excellentreferencetextbook:ConvexOptimizationbyS.Boyd
andL.Vandenberghe http://www.stanford.edu/~boyd/cvxbook/
b
x= 2
A 2
A
A2 1
A
1 x=
b1
A3x=b3 A3
Hyperplanerepresentation:
Standardform:
f
fx
Slackvariables
trasformation
frommaxtomin:
Changeinequality
direction:
ItisalwayspossibletoformulateLPproblems
usingminandinequalities
ConvexoptimizationifP 0
HardproblemifP 0
Somevariablesarecontinuous,somearediscrete(0/1)
Ingeneral,itisaNPhardproblem
Richvarietyofalgorithms/solversavailable
AMPL(AModelingLanguageforMathematicalProgramming)
mostusedmodelinglanguage,supportsseveralsolvers
GAMS(GeneralAlgebraicModelingSystem)isoneoftherst
modelinglanguages
LINGO,modelinglanguageofLindoSystemsInc.
GNUMathProg,asubsetofAMPLassociatedwiththe
freepackageGLPK(GNULinearProgrammingKit)
FLOPC++opensourcemodelinglanguage(C++classlibrary)
CVXmatlabbasedmodelinglanguage(fromStanford)
YALMIPanothermatlabbasedmodelinglanguage
Goal:ndthatminimize
istheinputsequencethatsteersthe
statetotheoriginoptimally
Theoptimumisobtainedbyzeroingthegradient
batchleast
andhence squares
Alternativeapproach:usedynamicprogrammingtondU*
(Riccatiiterations)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 /94
ConstrainedOptimalControl
Linearmodel:
Constraints:
Constrainedoptimalcontrolproblem(quadraticperformanceindex):
(quadratic)
(linear)
ConvexQUADRATICPROGRAM(QP)
SolvetheQPproblem
andletU={u*(0),...,u*(N-1)}bethesolution
(=nitehorizonconstrainedopenloopoptimalcontrol)
Applyonlyanddiscardtheremainingoptimalinputs
Repeatoptimizationattimet+1.Andsoon...
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 35 /94
UnconstrainedLinearMPC
yt+k
Assumenoconstraints r(t)
Predictedoutputs
Problemtosolveonline: Manipulated ut+k
Inputs
t t+1 t+N
Solution:
UnconstrainedlinearMPCisnothingelsethanastandard
linearstatefeedbacklaw!
System:
sampling+ZOH
Ts=1s
Constraints:
Controlobjective:min
Optimizationproblemmatrices:
cost:
constraints:
gotodemo/demos/linear/doubleint.m (HybTbx)
seealsompcdoubleint.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 38 /94
DoubleIntegratorExample
Addastateconstraint:
Optimizationproblemmatrices:
cost:
constraints:
Idea:parameterizetheproblemusinginputincrements
Extendedsystem:letxu(t)=u(t1)
Againalinearsystemwithstatesx(t),xu(t)andinputu(t)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 41 /94
LinearMPCTracking
Optimalcontrolproblem(quadraticperformanceindex):
optimization
vector:
Note:
sameformulationasbefore(W=CholeskyfactorofweightmatrixQ)
Optimizationproblem:
Convex
Quadratic
Program(QP)
Samplingtime:
Model:
gotodemolinear/example3.m (HybTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 43 /94
LinearMPCExample
Performanceindex:
ClosedloopMPC:
gotodemolinear/example3.m (HybTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 44 /94
LinearMPCExample
Constraint0.8u(t)1.2(amplitude)
Constraint0.2u(t)0.2(slewrate)
Futurereferencesamples(partially) Referencenotknowninadvance
knowninadvance(anticipatingaction): (causal):
gotodemompcpreview.m (MPCTbx)
MeasuredDisturbances v(k)
Plant y(k) Outputs
Model
nd(k) Disturbance d(k)
Model Unmeasured
Disturbances
x(k)
d x(k)
Linearmodel
forMPC
optimization
(nd(k)=whiteGaussiannoise,nd(t+k|t)=0overthepredictionhorizon)
moredetailsaboutdisturbancemodelslateron
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 47 /94
SoftConstraints
TopreventQPinfeasibility,relaxoutputconstraints:
=panicvariable
Vmin,Vmax=vectorswithentries0(thelargertheentry,the
relativelysofterthecorrespondingconstraint)
Infeasibilitycanbedueto:
modelingerrors
disturbances
wrongMPCsetup(e.g.,predictionhorizonistooshort)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 48 /94
DelaysMethod1
Linearmodelw/delays:
Mapdelaystopolesinz=0:
ApplyMPCtotheextendedsystem
Delayfreemodel:
DesignMPCfordelayfreemodel:
Computethepredictedstate
ComputeMPCactionaccordingly:
Forbetterclosedloopperformance
onecanpredictx(t+)withamuch
u(t) = fMPC(x(t + ))
morecomplexmodelthan(A,B,C)!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 50 /94
MPCvs.ConventionalControl
Singleinput/singleoutputcontrolloopw/constraints:
equivalentperformancecanbeobtainedwithother
simplercontroltechniques(e.g.:PID+antiwindup)
HOWEVER
MPCallows(inprinciple)UNIFORMITY
(i.e.sametechniqueforwiderangeofproblems)
reducetraining
reducecost
easierdesignmaintenance
Satisfyingcontrolspecsandwalkingonwaterissimilar
botharenotdicultiffrozen!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 /94
MPCFeatures
Multivariableconstrainednonsquaresystems
(i.e.#inputsand#outputsaredierent)
Delaycompensation
Anticipativeactionforfuturereferencechanges
Integralaction,i.e.noosetforsteplikeinputs
Pricetopay:
Substantialonlinecomputation
Forsimplesmall/fastsystemsothertechniquesdominate
(e.g.PID+antiwindup)
NewpossibilitiesforMPC:explicitpiecewiselinearforms
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 52 /94
MPCTheory
HistoricalGoal:ExplainthesuccessofDMC
PresentGoal:Improve,simplify,andextendindustrialalgorithms
Areas:
LinearMPC:linearmodel
NonlinearMPC:nonlinearmodel
RobustMPC:uncertain(linear)model
HybridMPC:modelintegratinglogic,dynamics,
andconstraints
Issues:
Feasibility
Stability(Convergence)
Computations
(Mayne,Rawlings,Rao,Scokaert,2000)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 53 /94
Feasibility
QUADRATIC
PROGRAM(QP)
Feasibility:GuaranteethattheQPproblemisfeasibleatallsamplingtimest
Inputconstraintsonly:nofeasibilityissues!
Hardoutputconstraints:
WhenN<1thereisnoguaranteethattheQPproblem
willremainfeasibleatallfuturetimestepst
N=1innitenumberofconstraints!
Maximumoutputadmissiblesettheory:N<1isenough
(Gilbert,Tan,IEEETAC,1991),(Kerrigan,Maciejowski,CDC,2000),
(Chmielewski,Manousiouthakis,Sys.Cont.Letters,1996)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 54 /94
Stability
StabilityisacomplexfunctionoftheMPCparameters
N,Q,R,P,umin,umax,ymin,ymax
Stabilityconstraintsandweightsontheterminalstatecanbeimposedover
thepredictionhorizontoensurestabilityofMPC
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 56 /94
ConvergenceProof
Lyapunovfunction
Globaloptimumisnotneededtoproveconvergence!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 57 /94
ConvergenceResult(alittlemoregeneral)
(KeerthiandGilbert,1988)(Bemporadetal.,1994)
Proof:UsevaluefunctionasLyapunovfunction
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 58 /94
ConvergenceProof
Lyapunovfunction
Globaloptimumisnotneededtoproveconvergence!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 59 /94
ConvergenceProof
2.Endpointconstraint:
(KwonandPearson,1977)(KeerthiandGilbert,1988)
3.Relaxedterminalconstraint:
(ScokaertandRawlings,1996)
4.Contractionconstraint:
(PolakandYang,1993)(Bemporad,1998)
Specialcase:forinnitehorizon,openlooptrajectoriesandlosedloop
trajectoriescoincide.ThisfollowsbyBellmansprincipleofoptimality.
optimalstatex*(t)
x*(t)
0
optimalinputu*(t)
0 RichardBellman
(19201984)
InputhorizonNucanbeshorterthanoutputhorizonN
Nu<N=lessdegreesoffreedom,andhence:
Lossofperformance
Decreasedcomputationtime(QPissmaller)
Feasibilitystillmaintained(constraintsarestillcheckeduptoN)
typicallyNu=110
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 64 /94
MPCandLQR
ConsidertheMPCcontrollaw:
JacopoFrancesco
Riccati(16761754)
(Unconstrained)MPC=LQR
JacopoFrancesco
Riccati(16761754)
InapolyhedralregionaroundtheorigintheMPCcontrollawisequivalentto
theconstrainedLQRcontrollerwithweightsQ,R
MPC=constrainedLQR (Chmielewski,Manousiouthakis,1996)
(ScokaertandRawlings,1998)
Thelargerthehorizon,thelargertheregionwhereMPC=LQR
System:
sampling+ZOH
Ts=1s
Constraints:
Controlobjective:min
LQgain
solutionofalgebraicRiccatiequation
Optimizationproblem
(costfunctionwasnormalizedby
maxsvd(H))
Linearizedmodel:
gotodemo/demos/linear/afti16.m (HybTbx)
afti16.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 68 /94
Example:AFTI16
UNSTABLE!!!
Saturationneedstobeconsideredinthecontroldesign!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 71 /94
Saturation
Saturationneedstobeconsideredinthecontroldesign
linear v=Kx u x
plant
controller
sat
MPCtakesitintoaccountautomatically(andoptimally)
MPC v=f(x)=u u x
plant
controller
sat
Weights:thelargertheratioWy/Wuthemoreaggressivethecontroller
Inputhorizon:thelargerNu,themoreoptimalbutthemorecomplexthecontroller
Outputhorizon:thesmallerN,themoreaggressivethecontroller
Limits:controllerlessaggressiveifumin,umaxaresmall
AlwaystrytosetNuassmallaspossible!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 73 /94
Scaling
Humansthinkinniteprecision...
Computersdonot!
Numericaldicultiesmayariseifvariablesassumeverysmallorverylargevalues
Example:y12 [1e4,1e4](V)
y22 [1e4,1e4](Pa)
useinstead:y12 [0.1,0.1](mV)
y22 [10,10](kPa)
Ideallyallvariablesshouldrangein[1,1].Forexample,onecanreplacey
withy/ymax
x(t)
Observer
stateestimate
Fullstatex(t)maynotbeavailable
Evenifavailable,noiseshouldbelteredout
Stateofpredictionmodelmaybedierentfromplantmodelx(t)
(e.g.:modelreduction,identication)
weneedtouseastateobserver
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 76 /94
ModelforObserverDesign
u(k) MVs(ManipulatedVariables)
zm(k)
nm(k) Measurement m(k) + +
whitenoise
noise
MOs
ym(k)
model (MeasuredOutputs)
innovations
unmeasureddisturbancemodel measurementnoisemodel
Note:meas.noisemodelnotneededforoptimization!
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 77 /94
ObserverDesign
Measurementupdate
Timeupdate
NOTE:separationprincipleholds!(undercertainassumptions)
(Muske,Meadows,Rawlings,ACC94)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 78 /94
KalmanFilterDesign
FullmodelfordesigningobservergainM
RudolfEmil
Kalman
(1930)
nd(k):representssourceformodelingerrors
nm(k):representssourceformeasurementnoise
nu(k):whitenoiseonallinputsuaddedforsolvabilityoftheRiccatiequation
(andnotonlyinMPC)
ni(k) Output
Integrators
whitenoise
innovations
nm(k) Measurement +
whitenoise
noise
model
+ ym(k)
innovations m(k)
Introduceoutputintegratorsasadditionaldisturbancemodels
Undercertainconditions,observer+controllerprovidezeroosetin
steadystate
ni(k) d(k)
Output
Integrators
Ddm
whitenoise
innovations Ddmd(k)
Usetheabovemodel+meas.noisemodeltodesignanobserver
(e.g.Kalmanlter)
Mainidea:observermakes (estimationerror)
MPCmakes (predictedtrackingerror)
)thecombinationmakes (actualtrackingerror)
Explanation:compensatesmodelmismatchinsteadystate
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 82 /94
Errorfeedback
Idea:addintegralsofmeasuredoutputsasadditionalstates(similartolinear
statefeedbackcase) (Kwakernaak,1972)
Extendedpredictionmodel:
Implementation:
Explanation:ifclosedloopasymptoticallystable)q(k)!cost.
andhencey(k)!r(k)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 83 /94
ReferenceGovernor
Idea:ApplyMPCasthesetpointgeneratortolinearfeedbackloops
(e.g.:PID) (Bemporad,1997)
actual control
reference input constrained
outputs
r(k) w(k) c(k)
Local u(k)
desired
reference Feedback y(k)r(k)
Reference Plant
measuredoutputs
Governor
PrimalSystem
x(k)
estimatedplantstate+controllerstate
Separationofproblems:
Localfeedbackdesignedforstability,disturbanceattenuation,goodtracking,
withouttakingcareofconstraints
Actualreferencew(t)generatedonlinebyanMPCalgorithmtotakecareofconstraints
Objective:
ClosedloopMPCanalysiscanbeperformedusingstandard
frequencydomaintools(e.g.Bodeplotsforsensitivityanalysis)
MPC
^
xe(t) r(t)
InMPCTbx:ss(mpc)ortf(mpc)returntheLTIdiscretetimeformofthelinearized
(=noconstraints)MPCobject
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 85 /94
Controllermatchingproblem
(DiCairano,Bemporad,
ECC09)
Giventhecontrolleru=Kx,ndweightsQ,R,PfortheMPCproblem
suchthat
! "
I 0 . . . 0 H 1 F = Kf v
thatis,theMPCcontrollercoincideswithKfvwhentheconstraints
arenotactive
QPmatrices:
Constraints:
Desiredcontroller(PID):
Statespaceform:
controller
matching
basedon
inverseLQR
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 87 /94
ControllermatchingproblemExample
%&'(&')*+,- %&'(&')*+,-
$! $!
#! #!
! !
!#! !#!
!$! !$!
! " #! #" ! " #! #"
01(&')&+,- 01(&')&+,-
/! /!
$! $!
! !
!$! !$!
!/! !/!
!.! !.!
! " #! #" ! " #! #"
Note:itsnottriviallyasaturationofPIDcontroller.Inthiscase
sat(PID)leadstoinstability
gotodemo/demos/linear/dcmotor.m (HybTbx)
mpcmotor.m (MPCTbx)
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 89 /94
DCServomotorModel
R
M Tr
V e s T L
JM
bM r JL
bL
StepResponse
0 5 10 15
2009byA.Bemporad ControllodiProcessoedeiSistemidiProduzioneA.a.2008/09 Time(sec) 90 /94
DCServomotor:Specs
R
M Tr
V e s T L
JM
bM r JL
bL