Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless...

82
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 I A M Ján Drgoňa (STU) ECC16 June 30, 2016 1 / 17

Transcript of Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless...

Page 1: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 2: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control

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

Page 3: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control

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

Page 4: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control

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

Page 5: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Implicit vs Explicit MPC

Implicit MPC Explicit MPC

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

Page 6: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 7: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 8: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 9: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Region-Based Explicit MPC

minU

1

2UT HU + θT FU

s.t. GU ≤ w + Sθ

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

Page 10: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 11: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 12: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 13: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 14: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 15: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Active Sets – Geometric Method1

Construct new critical regions. R1

R2R3

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

Page 16: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Active Sets – Geometric Method1

Repeat recursively until whole Ω iscovered.

R1

R2R3

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

Page 17: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Active Sets – Geometric Method1

Repeat recursively until whole Ω iscovered.

R1

R2R3

R4

R5

R6

R7

R8

R9

R10R11

R12

R13

R14

R15

R16

R17R18

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

Page 18: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

The Idea

Avoid the construction and thestorage of regions!

R1

R2R3

R4

R5

R6

R7

R8

R9

R10R11

R12

R13

R14

R15

R16

R17R18

R19

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

Page 19: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

The Idea

U⋆ = Viθ + viV (Ai)

λ⋆ = Qiθ + qiQ(Ai)

Ri = θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0

R1

R2R3

R4

R5

R6

R7

R8

R9

R10R11

R12

R13

R14

R15

R16

R17R18

R19

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

Page 20: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

The Idea2

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

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

A = A1, . . . ,AR

A1

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 21: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 22: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 23: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Region-Based Approach

Off-line phase

On-line phase

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

Page 24: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 25: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 26: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Region-Based Approach

Off-line phase

1 Active Sets

Geometric methodExtensive enumeration

On-line phase

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

Page 27: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Region-Based Approach

Off-line phase

1 Active Sets

Geometric methodExtensive enumeration

2 U⋆, λ⋆ from KKT conditions

On-line phase

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

Page 28: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Region-Based Approach

Off-line phase

1 Active Sets

Geometric methodExtensive enumeration

2 U⋆, λ⋆ from KKT conditions

3 Construction of regions

On-line phase

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

Page 29: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Region-Based Approach

Off-line phase

1 Active Sets

Geometric methodExtensive 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

Page 30: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Explicit MPC Solution Recap

Regionless Approach

Off-line phase

1 Active Sets

Geometric methodExtensive 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

Page 31: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Point Location Problem2

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

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 32: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Point Location Problem2

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

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

R(Ai) = θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0

A1

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 33: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Point Location Problem2

U⋆ = V (A1)θ + v(A1)

λ⋆ = Q(A1)θ + q(A1)

R(A1) = θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0

A1

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 34: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Point Location Problem2

U⋆ = V (A2)θ + v(A2)

λ⋆ = Q(A2)θ + q(A2)

R(A2) = θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0

A1

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 35: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Point Location Problem2

U⋆ = V (A2)θ + v(A2)

λ⋆ = Q(A2)θ + q(A2)

R(A2) = θ | GU⋆ ≤ w + Sθ, λ⋆ ≥ 0

A1

A2A3

A4

A5

A6

A7

A8

A9

A10A11

A12

A13

A14

A15

A16

A17A18

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

Page 36: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 37: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 38: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: 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

Page 39: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: Compute U = V (Ai)θ + v(Ai)6: if GU ≤ w + Sθ then ⊲ primal feasibility check7: 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

Page 40: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: Compute U = V (Ai)θ + v(Ai)6: if GU ≤ w + Sθ then ⊲ primal feasibility check7: 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

Page 41: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: Compute U = V (Ai)θ + v(Ai)6: if GU ≤ w + Sθ then ⊲ primal feasibility check7: 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

Page 42: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: Compute U = −H−1(F T θ + GT

Aiλ) ⊲ U parametrized by λ

6: if GU ≤ w + Sθ then ⊲ primal feasibility check7: 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

Page 43: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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 check5: Compute U = −H−1(F T θ + GT

Aiλ) ⊲ U parametrized by λ

6: if GU ≤ w + Sθ then ⊲ primal feasibility check7: 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

Page 44: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

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

Page 45: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 46: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 47: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 48: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 49: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 50: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 51: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 52: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 53: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 54: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Process Unit

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 55: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Distillation Column – Variables

1

2

Process variable: y

Temperature at top of the column

Manipulated variable: u

Reflux ratio

reboiler

pre-heaterfeed

condenser

distillateaccumulator

reflux valve distillate

waste valve

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

Page 56: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Identification

xk+1 = Axk + Buk

yk = Cxk

0 1000 2000 3000 4000

64

69

74

79

84

Time [s]y

[C

]

Measurement

Identification

0 1000 2000 3000 4000

0

20

40

60

80

100

Time [s]

u[%

]

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

Page 57: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Identification

xk+1 = Axk + Buk

yk = Cxk

nx = 10

0 1000 2000 3000 4000

64

69

74

79

84

Time [s]y

[C

]

Measurement

Identification

0 1000 2000 3000 4000

0

20

40

60

80

100

Time [s]

u[%

]

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

Page 58: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Disturbance Modelling

Design model:

xk+1 = Axk + Buk

yk = Cxk

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

Page 59: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 60: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Disturbance Modelling

Augmented design model:

xk+1 = Axk + Buk

dk+1 = dk

yk = Cxk + Edk

Luenberger observer:

[

x

d

]

k+1

=

[

A 00 I

] [

x

d

]

k

+

[

B

0

]

uk + L (ym,k − yk)

yk =[

C E]

[

x

d

]

k

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

Page 61: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control Formulation

minu0,...,uN−1

Nc−1∑

k=0

‖∆uk‖2Qu

+N

k=0

‖yk − yref‖2Qy

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

Page 62: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control Formulation

minu0,...,uN−1

Nc−1∑

k=0

‖∆uk‖2Qu

+N

k=0

‖yk − yref‖2Qy

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

Page 63: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control Formulation

minu0,...,uN−1

Nc−1∑

k=0

‖∆uk‖2Qu

+N

k=0

‖yk − yref‖2Qy

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

Page 64: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Model Predictive Control Formulation

minu0,...,uN−1

Nc−1∑

k=0

‖∆uk‖2Qu

+N

k=0

‖yk − yref‖2Qy

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

Page 65: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Experimental Results

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

0 5 10 15 20 25 30 35 40

64

68

72

76

80

y[

C]

0 5 10 15 20 25 30 35 40

0

20

40

60

80

100

Time [min]

u[%

]

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

Page 66: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Experimental Results

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

0 5 10 15 20 25 30 35 40

64

68

72

76

80

y[

C]

0 5 10 15 20 25 30 35 40

0

20

40

60

80

100

Time [min]

u[%

]

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

Page 67: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-line

method CPU time suboptimality

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

Page 68: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-line

method CPU time suboptimality

Gurobi 38.74 ms ≈ 0 %

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

Page 69: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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

Page 70: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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

Page 71: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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

Page 72: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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

Page 73: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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.

off-line (17 params., 1095 active sets)

Regionless Region-based

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

Page 74: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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.

off-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

Page 75: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Controller Synthesis and Complexity

on-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.

off-line (17 params., 1095 active sets)

Regionless Region-based

Construction time 1116 s 1360 sMemory demands 1224 kB 1140 MB

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

Page 76: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: KKT Conditions

HU⋆ + F T θ + GTA λ⋆ = 0 stationarity

GAU⋆ = wA + SAθ primal equality

GN U⋆ < 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

Page 77: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: Extensive Enumeration3 – Optimality of A

maxt,U,θ,λ

t

s.t. HU + F T θ + GTA λ = 0

GAU = wA + SAθ

t ≤ wN + SN θ − GN U

λ ≥ 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

Page 78: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

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

Page 79: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: Regionless Explicit MPC Memory Demands

Regionless

A 13918 integersQ(A), q(A) 54852 floating-point numbersH, 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

Page 80: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: Regionally Optimal Map θ → U⋆

Q(A) = −(GAH−1GTA )−1(SA + GAH−1F T )

q(A) = −(GAH−1GTA )−1wA

λ⋆ = Q(A)θ + q(A)

U⋆ = −H−1(F T θ + GTA λ⋆)

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

Page 81: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: Control Scheme

MPCDistillation

Column

FilterObserver

PWMyref u ym

x , d , u

d

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

Page 82: Regionless Explicit MPC of a Distillation Columndrgona/files/presentation/ECC16.pdf · Regionless Explicit MPC of a Distillation Column Ján Drgoňa, Filip Janeček, Martin Klaučo,

Backup: Distillation Column – Hardware Solution

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