Model Predictive Control Jn Drgoa (STU) ECC16 June 30, 2016 2 / - - PowerPoint PPT Presentation

model predictive control
SMART_READER_LITE
LIVE PREVIEW

Model Predictive Control Jn Drgoa (STU) ECC16 June 30, 2016 2 / - - PowerPoint PPT Presentation

Regionless Explicit MPC of a Distillation Column Jn Drgoa , Filip Janeek, Martin Klauo, and Michal Kvasnica Slovak University of Technology in Bratislava, Slovakia June 30, 2016 I AM Jn Drgoa (STU) ECC16 June 30, 2016 1 / 17 Model


slide-1
SLIDE 1

Regionless Explicit MPC of a Distillation Column

Ján Drgoňa, Filip Janeček, Martin Klaučo, and Michal Kvasnica

Slovak University of Technology in Bratislava, Slovakia

June 30, 2016

IAM

Ján Drgoňa (STU) ECC16 June 30, 2016 1 / 17

slide-2
SLIDE 2

Model Predictive Control

Ján Drgoňa (STU) ECC16 June 30, 2016 2 / 17

slide-3
SLIDE 3

Model Predictive Control

Ján Drgoňa (STU) ECC16 June 30, 2016 2 / 17

slide-4
SLIDE 4

Model Predictive Control

Ján Drgoňa (STU) ECC16 June 30, 2016 2 / 17

slide-5
SLIDE 5

Implicit vs Explicit MPC

Implicit MPC Explicit MPC

Ján Drgoňa (STU) ECC16 June 30, 2016 3 / 17

slide-6
SLIDE 6

Implicit vs Explicit MPC

Implicit MPC Large systems Expensive implementation Matrix inversions Harder to certify Explicit MPC

Ján Drgoňa (STU) ECC16 June 30, 2016 3 / 17

slide-7
SLIDE 7

Implicit vs Explicit MPC

Implicit MPC Large systems Expensive implementation Matrix inversions Harder to certify Explicit MPC Small systems Cheap implementation Division-free Rigorous analysis

Ján Drgoňa (STU) ECC16 June 30, 2016 3 / 17

slide-8
SLIDE 8

Implicit vs Explicit MPC

Implicit MPC Large systems Expensive implementation Matrix inversions Harder to certify Explicit MPC Small systems Cheap implementation Division-free Rigorous analysis Regionless Explicit MPC

Ján Drgoňa (STU) ECC16 June 30, 2016 3 / 17

slide-9
SLIDE 9

Region-Based Explicit MPC

min

U

1 2UT HU + θTFU s.t. GU ≤ w + Sθ

Ján Drgoňa (STU) ECC16 June 30, 2016 4 / 17

slide-10
SLIDE 10

Region-Based Explicit MPC

U⋆ = Viθ + vi λ⋆ = Qiθ + qi Ri = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

Ján Drgoňa (STU) ECC16 June 30, 2016 4 / 17

slide-11
SLIDE 11

Active Sets – Geometric Method1

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-12
SLIDE 12

Active Sets – Geometric Method1

Pick an arbitrary point in Ω.

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-13
SLIDE 13

Active Sets – Geometric Method1

Construct an initial critical region.

R1

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-14
SLIDE 14

Active Sets – Geometric Method1

Pick new points in Ω.

R1

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-15
SLIDE 15

Active Sets – Geometric Method1

Construct new critical regions.

R1 R2 R3 R4 R5 R6 R7

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-16
SLIDE 16

Active Sets – Geometric Method1

Repeat recursively until whole Ω is covered.

R1 R2 R3 R4 R5 R6 R7

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-17
SLIDE 17

Active Sets – Geometric Method1

Repeat recursively until whole Ω is covered.

R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19

  • 1M. Baotić: Optimal Control of Piecewise Affine Systems – A Multi-parametric Approach, 2005

Ján Drgoňa (STU) ECC16 June 30, 2016 5 / 17

slide-18
SLIDE 18

The Idea

Avoid the construction and the storage of regions!

R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19

Ján Drgoňa (STU) ECC16 June 30, 2016 6 / 17

slide-19
SLIDE 19

The Idea

U⋆ = Viθ + viV (Ai) λ⋆ = Qiθ + qiQ(Ai) Ri = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19

Ján Drgoňa (STU) ECC16 June 30, 2016 6 / 17

slide-20
SLIDE 20

The Idea2

U⋆ = V (Ai)θ + v(Ai) λ⋆ = Q(Ai)θ + q(Ai) A = {A1, . . . , AR}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 6 / 17

slide-21
SLIDE 21

Active Sets – Extensive Enumeration3

. . . . . . . . . . . . . . . {} {1} {2} {3} {r} {1, 2} {1, 3} {1, r} {3, 1} {3, 2} {3, r} {1, 3, 2} {1, 3, r} {3, 1, 2} {3, 1, r}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

  • 3A. Gupta et. al.: A novel approach to multiparametric quadratic programming, Automatica 2011

Ján Drgoňa (STU) ECC16 June 30, 2016 7 / 17

slide-22
SLIDE 22

Active Sets – Extensive Enumeration3 – Tree Pruning

. . . . . . . . . . . . . . . {} {1} {2} {3} {r} {1, 2} {1, 3} {1, r} {3, 1} {3, 2} {3, r} {1, 3, 2} {1, 3, r} {3, 1, 2} {3, 1, r}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

  • 3A. Gupta et. al.: A novel approach to multiparametric quadratic programming, Automatica 2011

Ján Drgoňa (STU) ECC16 June 30, 2016 7 / 17

slide-23
SLIDE 23

Explicit MPC Solution Recap

Region-Based Approach Off-line phase On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-24
SLIDE 24

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-25
SLIDE 25

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets

Geometric method

On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-26
SLIDE 26

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets

Geometric method Extensive enumeration

On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-27
SLIDE 27

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets

Geometric method Extensive enumeration

2

U⋆, λ⋆ from KKT conditions On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-28
SLIDE 28

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets

Geometric method Extensive enumeration

2

U⋆, λ⋆ from KKT conditions

3

Construction of regions On-line phase

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-29
SLIDE 29

Explicit MPC Solution Recap

Region-Based Approach Off-line phase

1

Active Sets

Geometric method Extensive enumeration

2

U⋆, λ⋆ from KKT conditions

3

Construction of regions On-line phase

4

Function evaluation

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-30
SLIDE 30

Explicit MPC Solution Recap

Regionless Approach Off-line phase

1

Active Sets

Geometric method Extensive enumeration

2

U⋆, λ⋆ from KKT conditions

3

Construction of regions On-line phase

4

Point location

Ján Drgoňa (STU) ECC16 June 30, 2016 8 / 17

slide-31
SLIDE 31

Point Location Problem2

How to find in which region we are, without storing any regions?

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

?

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 9 / 17

slide-32
SLIDE 32

Point Location Problem2

U⋆ = V (Ai)θ + v(Ai) λ⋆ = Q(Ai)θ + q(Ai) R(Ai) = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

?

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 9 / 17

slide-33
SLIDE 33

Point Location Problem2

U⋆ = V (A1)θ + v(A1) λ⋆ = Q(A1)θ + q(A1) R(A1) = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

?

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 9 / 17

slide-34
SLIDE 34

Point Location Problem2

U⋆ = V (A2)θ + v(A2) λ⋆ = Q(A2)θ + q(A2) R(A2) = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

?

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 9 / 17

slide-35
SLIDE 35

Point Location Problem2

U⋆ = V (A2)θ + v(A2) λ⋆ = Q(A2)θ + q(A2) R(A2) = {θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0}

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19

U⋆

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 9 / 17

slide-36
SLIDE 36

Sequential search2

1: procedure Regionless(θ) 2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then

7:

U⋆ ← U

8:

return U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-37
SLIDE 37

Sequential search2

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then

7:

U⋆ ← U

8:

return U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-38
SLIDE 38

Sequential search2

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then

7:

U⋆ ← U

8:

return U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-39
SLIDE 39

Sequential search2

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then ⊲ primal feasibility check

7:

U⋆ ← U

8:

return U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-40
SLIDE 40

Sequential search2

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then ⊲ primal feasibility check

7:

U⋆ ← U

8:

return U⋆ ⊲ obtain globally optimal U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-41
SLIDE 41

Sequential search2

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = V (Ai)θ + v(Ai)

6:

if GU ≤ w + Sθ then ⊲ primal feasibility check

7:

U⋆ ← U

8:

return U⋆ ⊲ obtain globally optimal U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

Q(Ai), q(Ai), V (Ai), v(Ai), G, w, S are precomputed and stored off-line.

  • 2F. Borrelli and M. Baotić: On the computation of linear model predictive control laws, Automatica 2008

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-42
SLIDE 42

Sequential search4

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = −H−1(F Tθ + GT

Aiλ)

⊲ U parametrized by λ

6:

if GU ≤ w + Sθ then ⊲ primal feasibility check

7:

U⋆ ← U

8:

return U⋆ ⊲ obtain globally optimal U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

  • 4M. Kvasnica, et. al.: On Region-Free Explicit Model Predictive Control, Conference on Decision and Control 2015

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-43
SLIDE 43

Sequential search4

1: procedure Regionless(θ)

⊲ given initial condition θ

2:

for i ∈ {1, . . . , R} do

3:

Compute λ = Q(Ai)θ + q(Ai)

4:

if λ ≥ 0 then ⊲ dual feasibility check

5:

Compute U = −H−1(F Tθ + GT

Aiλ)

⊲ U parametrized by λ

6:

if GU ≤ w + Sθ then ⊲ primal feasibility check

7:

U⋆ ← U

8:

return U⋆ ⊲ obtain globally optimal U⋆

9:

end if

10:

end if

11:

end for

12: end procedure

Q(Ai), q(Ai), A, H−1, F, G, w, S are precomputed and stored off-line.

  • 4M. Kvasnica, et. al.: On Region-Free Explicit Model Predictive Control, Conference on Decision and Control 2015

Ján Drgoňa (STU) ECC16 June 30, 2016 10 / 17

slide-44
SLIDE 44

Distillation Column – Process Unit

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-45
SLIDE 45

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-46
SLIDE 46

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-47
SLIDE 47

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-48
SLIDE 48

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-49
SLIDE 49

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-50
SLIDE 50

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-51
SLIDE 51

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-52
SLIDE 52

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-53
SLIDE 53

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-54
SLIDE 54

Distillation Column – Process Unit

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 11 / 17

slide-55
SLIDE 55

Distillation Column – Variables

1 2

Process variable: y Temperature at top of the column Manipulated variable: u Reflux ratio

reboiler pre-heater feed condenser distillate accumulator reflux valve distillate waste valve

Ján Drgoňa (STU) ECC16 June 30, 2016 12 / 17

slide-56
SLIDE 56

Model Identification

xk+1 = Axk + Buk yk = Cxk

1000 2000 3000 4000 64 69 74 79 84 Time [s] y [◦C] Measurement Identification 1000 2000 3000 4000 20 40 60 80 100 Time [s] u [%]

Ján Drgoňa (STU) ECC16 June 30, 2016 13 / 17

slide-57
SLIDE 57

Model Identification

xk+1 = Axk + Buk yk = Cxk nx = 10

1000 2000 3000 4000 64 69 74 79 84 Time [s] y [◦C] Measurement Identification 1000 2000 3000 4000 20 40 60 80 100 Time [s] u [%]

Ján Drgoňa (STU) ECC16 June 30, 2016 13 / 17

slide-58
SLIDE 58

Disturbance Modelling

Design model: xk+1 = Axk + Buk yk = Cxk

Ján Drgoňa (STU) ECC16 June 30, 2016 14 / 17

slide-59
SLIDE 59

Disturbance Modelling

Augmented design model: xk+1 = Axk + Buk dk+1 = dk yk = Cxk + Edk

Ján Drgoňa (STU) ECC16 June 30, 2016 14 / 17

slide-60
SLIDE 60

Disturbance Modelling

Augmented design model: xk+1 = Axk + Buk dk+1 = dk yk = Cxk + Edk Luenberger observer:

  • ˆ

x ˆ d

  • k+1

=

  • A

I ˆ x ˆ d

  • k

+

  • B
  • uk + L (ym,k − ˆ

yk) ˆ yk =

  • C

E ˆ x ˆ d

  • k

Ján Drgoňa (STU) ECC16 June 30, 2016 14 / 17

slide-61
SLIDE 61

Model Predictive Control Formulation

min

u0,...,uN−1 Nc−1

  • k=0

∆uk2

Qu + N

  • k=0

yk − yref2

Qy

reference tracking s.t. xk+1 = Axk + Buk yk = Cxk + Ed0 uk = uNc−1 move blocking ∆uk = uk − uk−1 umin ≤ uk ≤ umax ∆umin ≤ ∆uk ≤ ∆umax x0 = ˆ x(t), d0 = ˆ d(t), u−1 = u(t − 1) 13 parameters!

Ján Drgoňa (STU) ECC16 June 30, 2016 15 / 17

slide-62
SLIDE 62

Model Predictive Control Formulation

min

u0,...,uN−1 Nc−1

  • k=0

∆uk2

Qu + N

  • k=0

yk − yref2

Qy

reference tracking s.t. xk+1 = Axk + Buk yk = Cxk + Ed0 uk = uNc−1 move blocking ∆uk = uk − uk−1 umin ≤ uk ≤ umax ∆umin ≤ ∆uk ≤ ∆umax x0 = ˆ x(t), d0 = ˆ d(t), u−1 = u(t − 1) 13 parameters!

Ján Drgoňa (STU) ECC16 June 30, 2016 15 / 17

slide-63
SLIDE 63

Model Predictive Control Formulation

min

u0,...,uN−1 Nc−1

  • k=0

∆uk2

Qu + N

  • k=0

yk − yref2

Qy

reference tracking s.t. xk+1 = Axk + Buk yk = Cxk + Ed0 uk = uNc−1 move blocking ∆uk = uk − uk−1 umin ≤ uk ≤ umax ∆umin ≤ ∆uk ≤ ∆umax x0 = ˆ x(t), d0 = ˆ d(t), u−1 = u(t − 1) 17 parameters!

Ján Drgoňa (STU) ECC16 June 30, 2016 15 / 17

slide-64
SLIDE 64

Model Predictive Control Formulation

min

u0,...,uN−1 Nc−1

  • k=0

∆uk2

Qu + N

  • k=0

yk − yref2

Qy

reference tracking s.t. xk+1 = Axk + Buk yk = Cxk + Ed0 uk = uNc−1 move blocking ∆uk = uk − uk−1 umin ≤ uk ≤ umax ∆umin ≤ ∆uk ≤ ∆umax x0 = ˆ x(t), d0 = ˆ d(t), u−1 = u(t − 1) 17 parameters!

Ján Drgoňa (STU) ECC16 June 30, 2016 15 / 17

slide-65
SLIDE 65

Experimental Results

Ts = 1 s, N = 40, Nc = 5, Qy = 400, Qu = 1

5 10 15 20 25 30 35 40 64 68 72 76 80 y [◦C] 5 10 15 20 25 30 35 40 20 40 60 80 100 Time [min] u [%]

Ján Drgoňa (STU) ECC16 June 30, 2016 16 / 17

slide-66
SLIDE 66

Experimental Results

Ts = 1 s, N = 40, Nc = 5, Qy = 400, Qu = 1

5 10 15 20 25 30 35 40 64 68 72 76 80 y [◦C] 5 10 15 20 25 30 35 40 20 40 60 80 100 Time [min] u [%]

Ján Drgoňa (STU) ECC16 June 30, 2016 16 / 17

slide-67
SLIDE 67

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-68
SLIDE 68

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 %

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-69
SLIDE 69

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 %

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-70
SLIDE 70

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 %

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-71
SLIDE 71

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 % Regionless 11.95 ms ≈ 0 %

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-72
SLIDE 72

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 % Regionless 11.95 ms ≈ 0 % Execution time improvement by the factor of 6.

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-73
SLIDE 73

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 % Regionless 11.95 ms ≈ 0 % Execution time improvement by the factor of 6.

  • ff-line (17 params., 1095 active sets)

Regionless Region-based

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-74
SLIDE 74

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 % Regionless 11.95 ms ≈ 0 % Execution time improvement by the factor of 6.

  • ff-line (17 params., 1095 active sets)

Regionless Region-based Construction time 1116 s 1360 s

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-75
SLIDE 75

Controller Synthesis and Complexity

  • n-line

method CPU time suboptimality Gurobi 38.74 ms ≈ 0 % Fiordos 1 13.00 ms ≈ 0 % Fiordos 2 13.15 ms ≈ 4 % Regionless 11.95 ms ≈ 0 % Execution time improvement by the factor of 6.

  • ff-line (17 params., 1095 active sets)

Regionless Region-based Construction time 1116 s 1360 s Memory demands 1224 kB 1140 MB

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-76
SLIDE 76

Backup: KKT Conditions

HU⋆ + F Tθ + GT

Aλ⋆ = 0

stationarity GAU⋆ = wA + SAθ primal equality GNU⋆ < wN + SNθ primal inequality λ⋆ ≥ 0 dual inequality λ⋆T(GAU⋆ − wA − SAθ) = 0 complementarity slackness

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-77
SLIDE 77

Backup: Extensive Enumeration3 – Optimality of A

max

t,U,θ,λ t

s.t. HU + F Tθ + GT

Aλ = 0

GAU = wA + SAθ t ≤ wN + SNθ − GNU λ ≥ t t ≥ 0 if LP is feasible with t⋆ > 0 than A is optimal set of active constraints

  • 3A. Gupta et. al.: A novel approach to multiparametric quadratic programming, Automatica 2011

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-78
SLIDE 78

Backup: Extensive Enumeration3 – Complexity Bound

Rmax =

Ncnu

  • k=0

nc! k!(nc − k)! Rmax = maximum number of A Nc = control horizon nu = number of control inputs nc = number of constraints R ≪ Rmax thanks to pruning

  • 3A. Gupta et. al.: A novel approach to multiparametric quadratic programming, Automatica 2011

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-79
SLIDE 79

Backup: Regionless Explicit MPC Memory Demands

Regionless A 13918 integers Q(A), q(A) 54852 floating-point numbers H, F, G, w, S 11584 floating-point numbers Total memory demands 11224 kB Region-based R 10004490 floating-point numbers Total memory demands 11111140 MB

integer = 2 bytes, single-precision floating-point number = 4 bytes Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-80
SLIDE 80

Backup: Regionally Optimal Map θ → U⋆

Q(A) = −(GAH−1GT

A)−1(SA + GAH−1F T)

q(A) = −(GAH−1GT

A)−1wA

λ⋆ = Q(A)θ + q(A) U⋆ = −H−1(F Tθ + GT

Aλ⋆)

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-81
SLIDE 81

Backup: Control Scheme

MPC Distillation Column Filter Observer PWM yref u ym ˆ x, ˆ d, u d

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17

slide-82
SLIDE 82

Backup: Distillation Column – Hardware Solution

Ján Drgoňa (STU) ECC16 June 30, 2016 17 / 17