32
ECE5590: Model Predictive Control 5–1 Model Predictive Control with Constraints We begin this section with a straightforward example: Example 5.1 A continuous-time model of an undamped oscillator is given by " P x 1 .t/ P x 2 .t/ # D " 0 1 40 #" x 1 .t/ x 2 .t/ # C " 1 0 # u.t/ y.t/ D h 01 i " x 1 .t/ x 2 .t/ # The eigenvalues of the system matrix are located at 1;2 j2 (purely imaginary), so the natural frequency is ! D 2 rad = sec Assuming a sampling interval 4t D 0:1, we compute the corresponding discrete-time model: " x 1 .k C 1/ x 2 .k C 1/ # D " 0:9801 :0993 :3973 0:9801 #" x 1 .k/ x 2 .k/ # C " 0:0993 0:0199 # u.k/ y.k/ D h 01 i " x 1 .k/ x 2 .k/ # The eigenvalues of the discrete-time system are located at 1;2 D :9801 ˙ j 0:1986 As we expect, both have modulus 1:0 and lie on the unit circle Lecture notes prepared by M. Scott Trimboli. Copyright c 2010-2015, M. Scott Trimboli

Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590: Model Predictive Control 5–1

Model Predictive Control with Constraints

! We begin this section with a straightforward example:

Example 5.1

A continuous-time model of an undamped oscillator is given by

"Px1.t/

Px2.t/

#D"

0 1

"4 0

#"x1.t/

x2.t/

#C"

1

0

#u.t/

y.t/ Dh

0 1i " x1.t/

x2.t/

#

! The eigenvalues of the system matrix are located at !1;2 D ˙j 2

(purely imaginary), so the natural frequency is ! D 2 rad=sec

! Assuming a sampling interval 4t D 0:1, we compute thecorresponding discrete-time model:"

x1.k C 1/

x2.k C 1/

#D"

0:9801 :0993

":3973 0:9801

#"x1.k/

x2.k/

#C"

0:0993

"0:0199

#u.k/

y.k/ Dh

0 1i " x1.k/

x2.k/

#

! The eigenvalues of the discrete-time system are located at!1;2 D :9801 ˙ j 0:1986

– As we expect, both have modulus 1:0 and lie on the unit circle

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 2: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–2

! Our objective is to design a predictive control system so that theoutput of the plant tracks a unit step reference as fast as possible

! Tuning parameters for the problem are selected as:Nc D 3

Np D 10

NR D 0

) What happens if control magnitude saturates at ˙20 ?

! Computing the data matrices for this problem yields,

ˆT ˆ D

264

6:0067 4:8853 3:8150

4:8853 4:0013 3:1475

3:8150 3:1475 2:4952

375

ˆT F D

264

65:5285 "25:2099 "6:1768

53:1281 "19:6709 "4:7606

41:3553 "14:6974 "3:5334

375

ˆT Rs D

264

"6:1768

"4:7606

"3:5334

375

! Computing the state feedback gain matrix we obtain

Kmpc Dh

17:9064 "39:0664 "29:9659i

– This gives closed-loop eigenvalues at:h

"0:1946; 0; 0i

! We now design an observer with poles ath

0; 0; 0i

and examine twocases: (i) no constraint on control; and (ii) with constraint on control.

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 3: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–3

CASE (I) NO CONSTRAINT.

CASE (II) WITH CONSTRAINT.

! Assuming the control amplitude has saturation limits at ˙20 , we write

"20 $ u.k/ $ 20

– So, u.k/ D 20 when u.k/ % 20 and u.k/ D "20 when u.k/ $ 20

! As we might expect, the closed-loop performance deteriorates whenthese limits are reached

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 4: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–4

! So we ask: is it possible to achieve better performance byincorporating the constraints directly into the model predictive controlproblem?

! Let’s try it...

Formulation of Constrained Control Problems

! The basic idea here is to take the control increment 4u.k/ obtainedfor the unconstrained problem and modify it when a constraintbecomes active

! This involves formulating an optimization problem directly in thepresence of constraints

! Three of the most common types of contraints are placed on:

– control variable increment

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 5: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–5

– control variable amplitude

– output variable

! It is also sometimes desirable to constrain state variables internal tothe dynamic process; we’ll cover this case as well

Numerical Solutions

! The standard optimization problem for constrained model predictivecontrol can be cast as a quadratic programming problem

! For consistency with the prevailing literature, we write the objectivefunction J together with a set of constraint equations as:

J D 1

2xtEx C xtF

Mx $ !

where we assume E to be symmetric and positive definite.

The Unconstrained Case

! General optimization problems involve finding a local solution to theproblem

min J.x/; x 2 Rn

! Here, J.x/ is the objective function and the minimizing point denotedby x? is found among all x vectors in Rn

! We must first make some assumptions on the existence anduniqueness of x?

– Clearly x?may not exist if J is unbounded below

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 6: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–6

– In general, it is only really practical to locate a local minimizer, andthis may not be a global minimizer

! In this treatment we will assume that first and second derivativesexist, are continuous and are given by:

g.x/ D rJ.x/

G.x/ D r2J.x/

! At a local minimizer, the following simple stationarity conditions hold:

g.x?/ D 0

stG.x?/s % 0; _s

! These are first-order and second-order necessary conditions for alocal solution

– The first condition identifies a stationary point

– The second implies the matrix G.x?/ is positive semi-definite andindicates the presence of non-negative curvature in all directionsfrom the stationary point

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 7: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–7

! Sufficient conditions for a strict and isolated minimizer x?are that theabove hold and that G.x?/ is positive definite.

– How can we determine numerically whether or not G.x?/ ispositive definite?

Quadratic Programming: Equality Constraints

! For unconstrained optimization, the necessary conditions aboveillustrate the requirement for zero slope and non-negative curvature inany direction at x?

! In constrained optimization, there is the additional consideration of afeasible region - i.e., a local minimizer must be a feasible point thatsatisfies the constraints

! Additionally, there must be no feasible descent directions at x?.

! The simplest problem involves finding the constrained minimum of apositive definite quadratic function with linear equality constraints.

– Each linear equality constraint defines a hyperplane

– Positive definite quadratic functions have their level surfaces ashyperellipsoids

! The constrained minimum is then found at the point of tangencybetween the boundary of the feasible set and the minimizinghyperellipsoid

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 8: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–8

Example 5.2

MinimizeJ D .x1 " 2/2 C .x2 " 2/2

subject tox1 C x2 D 1

! By inspection we see that the unconstrained minimum occurs at

x1 D 2

x2 D 2

! Feasible solutions are the combinations of x1 and x2 that satisfy thelinear equality x1 C x2 D 1

! So we havex2 D 1 " x1

! Substituting into the expression for J gives,

J D .x1 " 2/2 C .1 " x1 " 2/2

D 2x21 " 2x1 C 5

! To minimize J , we satisfy the stationarity condition@J

@x1D 4x1 " 2 D 0

giving,x1 D 0:5

x2 D 0:5

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 9: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–9

Lagrange Multipliers

! One approach to minimizing the objective function subject to equalityconstraints is to augment the original function with the equalityconstraint multiplied by a Lagrange multiplier vector, ":

J D 1

2xtEx C xtF C "t .Mx " !/

– This creates a new objective function in the n C m variables givenby the vectors x .n & 1/ and " .m & 1/

! The solution is found by taking the first partial derivatives with respectto the vectors x and " and then equating the derivatives to zero:

@J

@xD Ex C F C M T " D 0

@J

@"D M x " ! D 0

! From these expressions we can build the Lagrangian matrix and writethe corresponding linear expression

"E M T

M 0

#"x

"

#D"

"F

!

#

! If the inverse exists and is expressed as"

E M T

M 0

#"1

D"

H T

T U

#

then the solution can be written

x? D "HF C T "

"? D "T T F " U "

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 10: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–10

! Explicit expressions for H; T and U (when the inverse exists) aregiven by

H D E"1 " E"1M T .ME"1M T /"1ME"1

T D E"1M T .ME"1M T /"1

U D .ME"1M T /"1

! This set of equations contains n C m variables in the vectors x and ",which form the necessary conditions for minimizing the objectivefunction with equality constraints

! The optimizing "? and x? can be found directly from the partialderivatives above where

"? D ".ME"1M T /"1.! C ME"1F /

x? D "E"1.M T "? C F /

! Note thatx? D "E"1F " E"1M T "? D xo " E"1M T "?

where the first term xo gives the optimal solution in the absence ofconstraints, and the second term is a correction factor due to theequality constraint.

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 11: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–11

Example 5.3

Minimize

J D 1

2xtEx C xtF

subject tox1 C x2 C x3 D 1

3x1 " 2x2 " 3x3 D 1

where

E D

264

1 0 0

0 1 0

0 0 1

375 I F D

264

"2

"3

"1

375

! The unconstrained optimizing solution is given by

xo D "E"1F D

264

2

3

1

375

! Note that the cost at the unconstrained minimum is:

Jo D 1

2xt

oExo C xtoF

D 1

2

h2 3 1

i264

1 0 0

0 1 0

0 0 1

375264

2

3

1

375C

h2 3 1

i264

"2

"3

"1

375

D 1

2& 14 " 14 D "7

! From the constraint equations, we write,

M D"

1 1 1

3 "2 "3

#I ! D

"1

1

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 12: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–12

! Computing the minimizing Lagrangian vector "? gives,

"? D ".ME"1M T /"1.! C ME"1F /

D ""

3 "2

"2 22

#"1 "1

1

#C"

"6

3

#!D"

1:6452

"0:0323

#

! Hence, x? is given by,264

x1

x2

x3

375 D xo " E"1M T "?

D

264

2

3

1

375 "

264

1 3

1 "2

1 "3

375"

1:6452

"0:0323

#

D

264

0:4516

1:2903

"0:7419

375

! For the constrained optimizing solution,

J ? D .x?/tEx? C .x?/tF D "1:6130

indicating the cost function cannot achieve the same value as theunconstrained optimum.

! Alternatively, building the Lagrangian matrix,

L D"

E M T

M 0

#D

26666664

1 0 0 1 3

0 1 0 1 "2

0 0 1 1 "3

1 1 1 0 0

3 "2 "3 0 0

37777775

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 13: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–13

! Computing the eigenvalues of L we have

!fLg Dh

5:239 2:2441 1:000 "1:2441 "4:2390i

indicating the matrix is non-singular and invertable.

! Solving the linear equation,

L"

x

"

#D"

"F

!

#

we again obtain the solution vector

"x

"

#D

26666664

:4516

1:2903

":7419

1:6452

":0323

37777775

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 14: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–14

Example 5.4

Consider once again the objective function,

J D 1

2xtEx C xtF

where,

E D"

1 0

0 1

#I F D

""2

"2

#

and the constraints are given by:x1 C x2 D 1

2x1 C 2x2 D 6

! Find the feasible set of solutions

! The plot below shows contours of equal J for corresponding values ofx1 and x2

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 15: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–15

! Note that in general, the number of equality constraints is required tobe less than or equal to the number of decision variables.

! What happens when the number of equality constraints exactlyequals the number of decision variables?

! What happens when the number of equality constraints is greaterthan the number of decision variables?

Quadratic Programming: Inequality Constraints

! In the previous case, it was necessary that all equality constraints beactive at the solution

! In this case we have to consider the case where the inequalityconstraints Mx $ ! may comprise both active and inactiveconstraints

– active denotes equality

– inactive denotes strict inequality

Kuhn-Tucker Conditions

! The Kuhn-Tucker conditions outline a set of necessary conditions forthe optimization problem:

Ex C F C M T " D 0

Mx " ! $ 0

"t .Mx " !/ D 0

" % 0

! In terms of the active constraints, the conditions become:

Ex C F CX

i2Sact

!iMTi D 0

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 16: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–16

Mix " "i D 0 i 2 Sact

Mix " "i < 0 i … Sact

!i % 0 i 2 Sact

!i D 0 i … Sact

where Mi is the i th row of the M matrix.

! For an active constraint (i.e., Mix " ! i D 0) , the correspondingLagrange multiplier is non-negative

! Otherwise if the constraint is inactive, the Lagrange multiplier is zero

) So, for the set of active constraints, the problem looks exactly likethe equality constraint optimization!

! Assume the previous problem with the equality constraints replacedwith inequality constraints,

J D 1

2xtEx C xtF

where,

E D"

1 0

0 1

#I F D

""2

"2

#

and the inequality constraints are now given by:

x1 C x2 $ 1

2x1 C 2x2 $ 6

! It is clear that the set of variables that satisfy the first inequality willalso satisfy the second

– Thus the first of these is an active constraint, while the second isinactive

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 17: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–17

! We find the constrained optimum by minimizing J subject to theequality constraint x1 C x2 D 1, which gives x1 D 0:5 and x2 D 0:5, asfound previously

Active Set Methods

! The idea here is to construct an algorithm where we define at eachstep a set of constraints to be treated as the active set

– Chosen to be a subset of the contraints that are active at thecurrent point

– Current point is feasible for the working set

– Algorithm moves along a surface defined by the working set ofconstraints to an improved point

– If all !i % 0, the point is a local solution

– If some !i < 0, then the objective function value can be furtherdecreased by relaxing the constraint

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 18: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–18

Example 5.5

Optimize the objective function where

E D

264

1 0 0

0 1 0

0 0 1

375 I F D

264

"2

"3

"1

375

subject to equality constraintsx1 C x2 C x3 $ 1

3x1 " 2x2 " 3x3 $ 1

x1 " 3x2 C 2x3 $ 1

! The feasible solution of the equality constraints exists and is thesolution of the linear equations

x1 C x2 C x3 D 1

3x1 " 2x2 " 3x3 D 1

x1 " 3x2 C 2x3 D 1

! The three equality constraints are taken as the first working set

! Calculating the Lagrange multipliers we get

" D ".ME"1M T /"1.! C ME"1F / D

264

1:6873

0:0309

"0:4352

375

! Since the third element is negative, the third constraint is inactive andis dropped from the constrained equation set

! Thus the problem becomes:

J D 1

2xtEx C xtF

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 19: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–19

subject tox1 C x2 C x3 D 1

3x1 " 2x2 " 3x3 D 1

! Solve this equality constraint problem to get

" D"

1:6452

":0323

#

– Here the second element is negative

! The problem collapses once again to

J D 1

2xtEx C xtF

now subject only to the single constraint

x1 C x2 C x3 D 1

! Solving this problem yields ! D 5=3, leading to

x? D

264

0:3333

1:3333

"0:6667

375

– Clearly, the optimal solution x? satisfies the equality constraint

! Checking the others, we obtain

M x? D

264

1 1 1

3 "2 "3

1 "3 2

375264

0:3333

1:3333

"0:6667

375 D

264

1:0

0:3334

"5:0

375 $

264

1:0

1:0

1:0

375

and indeed the rest of the inequality constraints are also satisfied.

! Some observations:

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 20: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–20

– The maximum number of equality constraints equals the number ofdecision variables

– The maximum number of inequality constraints can exceed thenumber of decision variables if they are not all active

– An iterative procedure is required to solve the optimization problemwith inequality constraints

Primal-Dual Methods

! A dual method can be used to identify the constraints that are notactive in the optimization problem so that they can be systematicallyeliminated in the solution

! Assuming feasibility (i.e., there exists an x such that M x < !), theprimal problem is equivalent to

max!%0

minx

!1

2xtEx C xtF C "t .M x " !/

"

! The minimum over x is unconstrained and attained by

x D "E"1.F C M T "/

! Substituting this into the above expression gives the dual problem

max"%0

#"1

2"tP " " "tK " 1

2F T E"1F

$

whereP D ME"1M T

K D ! C ME"1F

! Hence the dual is another quadratic programming problem, only nowwith " as the decision variable instead of x

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 21: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–21

! Note, the dual problem is equivalent to

max"%0

#1

2"tP " C "tK C 1

2!T E"1!

$

Hildreth’s Procedure

! Hildreth’s quadratic programming procedure is a simple variant of theGauss-Seidel method for solving a linear set of equations

! Some features:

– Direction vectors are equal to the standard basis vectors,

ei Dh

0 0 : : : 1 : : : 0 0it

– The " vector is varied one component at a time

– The objective function can be regarded as a quadratic function ineach component

– Adjust "i to minimize the objective function

– When !i < 0 then set !i D 0

! The general method can be expressed as:

!mC1i D max.0; wmC1

i /

where,

wmC1i D " 1

piiŒki C

i"1Xj D1

pij !mC1j C

nXj DiC1

pij !mj #

! pij is the ij th element of the matrix P D ME"1M T

! ki is the i th element of the vector K D ! C ME"1F

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 22: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–22

Example 5.6

Minimize the cost function J D 1

2xtEx C F tx where

E D"

2 "1

"1 1

#I F D

""1

0

#:

and the constraints are0 $ x1

0 $ x2

3x1 C 2x2 $ 4

! Forming the linear inequality constraint equation, we have

M x $ !264

"1 0

0 "1

3 2

375"

x1

x2

#$

264

0

0

4

375

! The unconstrained optimal solution is found as

xo D E"1F D"

2 "1

"1 1

#"1 ""1

0

#D"

1

1

#

! Substituting xo into the expression above shows that the thirdconstraint is violated:2

64"1 0

0 "1

3 2

375"

1

1

#D

264

"1

"1

5

375 –

264

0

0

4

375

! Now, find the optimal "?:

P D ME"1M T

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 23: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–23

D

264

"1 0

0 "1

3 2

375"

2 "1

"1 1

#"1 ""1 0 3

0 "1 2

#

D

264

1 1 "5

1 2 "7

"5 "7 29

375

K D ! C ME"1F

D

264

0

0

4

375C

264

"1 0

0 "1

3 2

375"

2 "1

"1 1

#"1 ""1

0

#

D

264

1

1

"1

375

! Iteration:

k=0!0

1 D !02 D !0

3 D 0

k=1w1

1 C 1 D 0

!11 C 2w1

2 C 1 D 0

"5!11 " 7!1

2 C 29w13 " 1 D 0

!11 D max.0; w1

1/ D 0

!12 D max.0; w1

2/ D 0

!13 D max.0; w1

3/ D 0:0345

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 24: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–24

k=2w2

1 C !12 " 5!1

3 C 1 D 0

!21 C 2w2

2 " 7!13 C 1 D 0

"5!21 " 7!2

2 C 29w23 " 1 D 0

!21 D max.0; w2

1/ D 0

!22 D max.0; w2

2/ D 0

!23 D max.0; w2

3/ D 0:0345

! We see that the procedure has converged giving the optimalLagrange vector:

"? D

264

0

0

0:0345

375

which generates the optimal solution:

x? D xo " E"1M T "? D"

1

1

#""

0:1724

0:2414

#D"

0:8276

0:7586

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 25: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–25

Constraints on Rate of Change

Example 5.7

Consider the continuous-time plant described by

G.s/ D 10

s2 C 0:1s C 3

whose system poles are located at: ":05 ˙ j1:7313.

Assume a sampling interval of 4T D 0:1 and design a descrete-timemodel predictive control system with

Nc D 3

Np D 20

NR D 0:01 & I

A constraint is imposed on rate-of-change of the control signal as

"1:5 $ 4u.k/ $ 3:0

! First, obtain a discrete-time state-space model

– Continuous-time state-space:

Ac D"

"0:1 "3

1 0

#Bc D

"1

0

#

Cc Dh

0 10i

Dc Dh

0i

– Discrete-time state-space:

Ad D"

:9752 ":2970

:0990 :9851

#Bd D

":0990

:005

#

Cd Dh

0 10i

Dd Dh

0i

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 26: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–26

! Next, form the augmented state-space model:

A D

264

:9752 ":2970 0

:0990 :9851 0

:990 9:8509 1

375 B D

264

:0990

:005

:0497

375

C Dh

0 0 1i

D Dh

0i

! Now, write the objective function:

J D 4U T .ˆT ˆ C NR/4U " 24U T ˆT .Rs " F x.ki//

where,

ˆT ˆ D

264

:1760 :1553 :1361

:1553 :1373 :1204

:1361 :1204 :1057

375 I ˆT F D

264

:1972 ":1758 1:4187

:1740 ":1552 1:2220

:1522 ":1359 1:0443

375

and

Rs D

264

1:4187

1:2220

1:0443

375 & r.ki/

! Select observer poles atn

0 0 0o

! Computing the closed-loop compensated eigenvalues for a range ofcontrol weighting values .rw/ results in the following values forKmpc.rw/:

Kmpc.:01/ Dh

13:1552 84:1009 3:7417i

Kmpc.:1/ Dh

11:3704 58:4467 1:1666i

Kmpc.1:0/ Dh

9:5534 43:5058 0:6567i

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 27: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–27

Kmpc.10/ Dh

5:5692 14:6499 0:2460i

Kmpc.100/ Dh

3:6823 3:0537 0:0868i

! These give rise to the corresponding closed-loop eigenvalues:

!.:01/ Dn

:3357 C j 0:4 :3357 " j 0:4 0:3824o

!.:1/ Dn

:3654 C j 0:2650 :3654 " j 0:2650 0:7552o

!.1:0/ Dn

:4697 C j 0:3063 :4697 " j 0:3063 0:8262o

!.10/ Dn

:7710 C j 0:2439 :7710 " j 0:2439 :7819o

!.100/ Dn

:9240 C j 0:1610 :9249 " j 0:1610 :7283o

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 28: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–28

! The output response to a unit set-point change is depicted in thefollowing figure for each of the control weighting values.

! The corresponding control inputs are shown in the plot below

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 29: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–29

! Let us now establish our problem constraint as:

"1 0 0

"1 0 0

#264

4u.ki/

4u.ki C 1/

4u.ki C 2/

375 $

"3:0

"1:5

#

M4U $ !

! Recall that we constructed our original cost function as:

J D .Rs " Y /t.Rs " Y / C 4U t NR4U

whereY D F x.ki/ C ˆ4U

! Substituting and multiplying out we obtained:

J D .Rs " F x.ki//t .Rs " F x.ki// " 24U tˆT .Rs " F x.ki//

C4U t.ˆT ˆ C NR/#U

! We found the optimizing control input sequence from the stationarity

condition@J

@4UD 0 as:

4U ! D .ˆT ˆ C NR/"1ˆT .Rs " F x.ki//

! Using this expression with the assumption that the initial statex.0/ D 0, we obtain

4U Dh

3:7417 "6:2794 2:7112it

– Here we see that the constraint is violated since

4u.1/ D 3:7417 – 3:0

! Using Hildreth’s quadratic programming algorithm we obtain4U D Œ 3:000 "4:7241 1:8843#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 30: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–30

! Using the first component, 4u.1/ D 3:000 and y.1/ D 0; the newestimated state variable is

x.2/ D

264

:2791

:0149

:1491

375

! Computing the next incremental input sequence gives

4U ! Dh

"1:9777 "4:1326 3:3456i

and the constrained solution via Hildreth’s algorithm gives

4U !c D

h"1:5 "5:1342 3:8781

i

! This generates the new state update

x.3/ D

264

:1367

:0366

:5155

375

! Continuing,

4U ' Dh

"3:0671 ":6187 2:4816i

4U 'c D

h"1:5 "3:9045 4:2285

i

and

x.4/ D

264

":0261

:0422

:9372

375

! And again

4U ' D "h

"2:9689 2:2251 1:0865i

4U 'c D

h"1:5 ":8547 2:7239

i

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 31: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

ECE5590, Model Predictive Control with Constraints 5–31

and the updated state,

x.5/ D

264

":1865

:0315

1:2523

375

! So we obtain the optimal incremental input sequence for the first fourtime samples as:

4U ' Dh

3:0 "1:5 "1:5 "1:5 : : :i

giving the output sequence:

Y Dh

0 :1491 :5155 :9372 1:2523i

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2010-2015, M. Scott Trimboli

Page 32: Model Predictive Control with Constraintsmocha-java.uccs.edu/ECE5590/ECE5590_Ch5_F15.pdf · ECE5590, Model Predictive Control with Constraints 5–2! Our objective is to design a

(mostly blank)