Global Optimization based on Contractor Programming: Application to - - PowerPoint PPT Presentation

global optimization based on contractor programming
SMART_READER_LITE
LIVE PREVIEW

Global Optimization based on Contractor Programming: Application to - - PowerPoint PPT Presentation

Introduction Global Optimization Application to H control synthesis under structural constraints Conclusion Global Optimization based on Contractor Programming: Application to H synthesis Jordan Ninin with Dominique Monnet and Benoit


slide-1
SLIDE 1

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Global Optimization based on Contractor Programming: Application to H∞ synthesis Jordan Ninin

with Dominique Monnet and Benoit Clement LAB-STICC / ENSTA-Bretagne Brest, France Prague, June 2015

Jordan Ninin Global Optimization SWIM, June 2015 1 / 26

slide-2
SLIDE 2

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Introduction

Observations:

  • In Automatic, Robotic, Electronic or Mechanic, engineers

know very well their problems. = ⇒ Physical Sense

  • In Optimization, the specification of each solver need to

classify a model: LP, NLP, MINLP, SDP, DFO,... If the model cannot be classify: Modification, Adaptation, Reformulation, ... = ⇒ Numerical Sense

Jordan Ninin Global Optimization SWIM, June 2015 2 / 26

slide-3
SLIDE 3

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Introduction

Observations:

  • In Automatic, Robotic, Electronic or Mechanic, engineers

know very well their problems. = ⇒ Physical Sense

  • In Optimization, the specification of each solver need to

classify a model: LP, NLP, MINLP, SDP, DFO,... If the model cannot be classify: Modification, Adaptation, Reformulation, ... = ⇒ Numerical Sense

Physical Solutions ⇐ ⇒ Numerical Solutions

Jordan Ninin Global Optimization SWIM, June 2015 2 / 26

slide-4
SLIDE 4

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Introduction

Observations:

  • In Automatic, Robotic, Electronic or Mechanic, engineers

know very well their problems. = ⇒ Physical Sense

  • In Optimization, the specification of each solver need to

classify a model: LP, NLP, MINLP, SDP, DFO,... If the model cannot be classify: Modification, Adaptation, Reformulation, ... = ⇒ Numerical Sense

Physical Solutions ⇐ ⇒ Numerical Solutions

= ⇒ Goal: to Propose advanced optimization tools to construct the best solver for their own problems.

Jordan Ninin Global Optimization SWIM, June 2015 2 / 26

slide-5
SLIDE 5

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Contents

1 Global Optimization

Contractor General pattern for global optimization

2 Application to H∞ control synthesis under structural constraints

Mathematical Modelization Contractor Modelization

Jordan Ninin Global Optimization SWIM, June 2015 3 / 26

slide-6
SLIDE 6

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor

Definition: Contractor

Let K ⊆ Rn be a ” feasible”region. The operator CK : IRn → IRn is a contractor for K if: ∀x ∈ IRn, CK(x) ⊆ x, (contractance) CK(x) ∩ K = x ∩ K. (completeness) Example: Forward-Backward Algorithm The operator C : IRn → IRn is a contractor for the equation f (x) = 0, if: ∀x ∈ IRn, C(x) ⊆ x, x ∈ x and f (x) = 0 ⇒ x ∈ C(x).

Jordan Ninin Global Optimization SWIM, June 2015 4 / 26

slide-7
SLIDE 7

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

General Design

(˜ x, ˜ f ) = OptimCtc ([x], Cout, Cin, fcost): ⋆ Merging of a Branch&Bound Algorithm based on Interval Analysis (spacialB&B) and a Set Inversion Via Interval Analysis (SIVIA). ⋆ Cout, Cin: contractors designed by the user based on K and K, ⋆ Cf : a FwdBwd contractor based on {x : fcost(x) ≤ ˜ f } ⋆ B: Largest first, smear evaluation, homemade,...

Jordan Ninin Global Optimization SWIM, June 2015 5 / 26

slide-8
SLIDE 8

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

General Design

(˜ x, ˜ f ) = OptimCtc ([x], Cout, Cin, fcost): ⋆ Merging of a Branch&Bound Algorithm based on Interval Analysis (spacialB&B) and a Set Inversion Via Interval Analysis (SIVIA). ⋆ Cout, Cin: contractors designed by the user based on K and K, ⋆ Cf : a FwdBwd contractor based on {x : fcost(x) ≤ ˜ f } ⋆ B: Largest first, smear evaluation, homemade,...

Jordan Ninin Global Optimization SWIM, June 2015 5 / 26

slide-9
SLIDE 9

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

General Design

(˜ x, ˜ f ) = OptimCtc ([x], Cout, Cin, fcost): ⋆ Merging of a Branch&Bound Algorithm based on Interval Analysis (spacialB&B) and a Set Inversion Via Interval Analysis (SIVIA). ⋆ Cout, Cin: contractors designed by the user based on K and K, ⋆ Cf : a FwdBwd contractor based on {x : fcost(x) ≤ ˜ f } ⋆ B: Largest first, smear evaluation, homemade,...

Jordan Ninin Global Optimization SWIM, June 2015 5 / 26

slide-10
SLIDE 10

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Illustration: Cin, Cout

Feasible Region infeasible Region

Jordan Ninin Global Optimization SWIM, June 2015 6 / 26

slide-11
SLIDE 11

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Illustration: Cin, Cout

Feasible Region Region removed by Cout infeasible Region

Jordan Ninin Global Optimization SWIM, June 2015 6 / 26

slide-12
SLIDE 12

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Illustration: Cin, Cout

Feasible Region Region removed by Cout Region removed by Cin infeasible Region

Jordan Ninin Global Optimization SWIM, June 2015 6 / 26

slide-13
SLIDE 13

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

The feasability test

Without equation or system, How to prove that a point is a feasible point?

Jordan Ninin Global Optimization SWIM, June 2015 7 / 26

slide-14
SLIDE 14

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

The feasability test

Without equation or system, How to prove that a point is a feasible point? Prove that x ∈ K ⇔ Prove that x ∈ K

Jordan Ninin Global Optimization SWIM, June 2015 7 / 26

slide-15
SLIDE 15

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

The feasability test

Without equation or system, How to prove that a point is a feasible point? Prove that x ∈ K ⇔ Prove that x ∈ K x is contracted by Cin ⇔ x ∈ K ⇔ Cout proves that x is in K. Cin will eliminate all the part of a box which are not in K. Cout will eliminate all the part of a box which are not in K.

Jordan Ninin Global Optimization SWIM, June 2015 7 / 26

slide-16
SLIDE 16

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Global Optimization based on Contractor

  • L := {(x, false)}, The boolean indicate if x is entirely feasible
  • Do

1 Extract from L a element (z, b), 2 Bisect z following a bisector B: (z1, z2) 3 for j = 1 to 2 :

  • if b = false (i.e. x is not completly feasible) then

Contract the infeasible region using Cout and Cf , Extract zfeas a feasible part of zj using Cin, Insert (zfeas, true) in L. Insert the rest (zj, false) in L.

  • else (i.e. x is entirely feasible)

Contract zj using Cf , Try to find a local optimum without constraint in [zj], if succeed then Update ˜ f insert (zj, true) in L.

  • stopping criterion

Jordan Ninin Global Optimization SWIM, June 2015 8 / 26

slide-17
SLIDE 17

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Global Optimization based on Contractor

  • L := {(x, false)}, The boolean indicate if x is entirely feasible
  • Do

1 Extract from L a element (z, b), 2 Bisect z following a bisector B: (z1, z2) 3 for j = 1 to 2 :

  • if b = false (i.e. x is not completly feasible) then

Contract the infeasible region using Cout and Cf , Extract zfeas a feasible part of zj using Cin, Insert (zfeas, true) in L. Insert the rest (zj, false) in L.

  • else (i.e. x is entirely feasible)

Contract zj using Cf , Try to find a local optimum without constraint in [zj], if succeed then Update ˜ f insert (zj, true) in L.

  • stopping criterion

Jordan Ninin Global Optimization SWIM, June 2015 8 / 26

slide-18
SLIDE 18

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Global Optimization based on Contractor

  • L := {(x, false)}, The boolean indicate if x is entirely feasible
  • Do

1 Extract from L a element (z, b), 2 Bisect z following a bisector B: (z1, z2) 3 for j = 1 to 2 :

  • if b = false (i.e. x is not completly feasible) then

Contract the infeasible region using Cout and Cf , Extract zfeas a feasible part of zj using Cin, Insert (zfeas, true) in L. Insert the rest (zj, false) in L.

  • else (i.e. x is entirely feasible)

Contract zj using Cf , Try to find a local optimum without constraint in [zj], if succeed then Update ˜ f insert (zj, true) in L.

  • stopping criterion

Jordan Ninin Global Optimization SWIM, June 2015 8 / 26

slide-19
SLIDE 19

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion General pattern for global optimization

Global Optimization based on Contractor

  • L := {(x, false)}, The boolean indicate if x is entirely feasible
  • Do

1 Extract from L a element (z, b), 2 Bisect z following a bisector B: (z1, z2) 3 for j = 1 to 2 :

  • if b = false (i.e. x is not completly feasible) then

Contract the infeasible region using Cout and Cf , Extract zfeas a feasible part of zj using Cin, Insert (zfeas, true) in L. Insert the rest (zj, false) in L.

  • else (i.e. x is entirely feasible)

Contract zj using Cf , Try to find a local optimum without constraint in [zj], if succeed then Update ˜ f insert (zj, true) in L.

  • stopping criterion

Jordan Ninin Global Optimization SWIM, June 2015 8 / 26

slide-20
SLIDE 20

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Contents

1 Global Optimization

Contractor General pattern for global optimization

2 Application to H∞ control synthesis under structural constraints

Mathematical Modelization Contractor Modelization

Jordan Ninin Global Optimization SWIM, June 2015 9 / 26

slide-21
SLIDE 21

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

H∞ control synthesis under structural constraints

W1 W2 K G

  • +

constraint1 constraint2

Controler

Dynamic System

? ? w z1 z2 y

H∞ control synthesis ⇒ Guarantee the robustness and stability

Jordan Ninin Global Optimization SWIM, June 2015 10 / 26

slide-22
SLIDE 22

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

H∞ control synthesis under structural constraints

W1 W2 K G

  • +

constraint1 constraint2

Controler

Dynamic System

? ? w z1 z2 y

H∞ control synthesis ⇒ Guarantee the robustness and stability ||P||∞ = sup

ω

(σmax(P(jω)))

Jordan Ninin Global Optimization SWIM, June 2015 10 / 26

slide-23
SLIDE 23

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

H∞ control synthesis under structural constraints

W1 W2 K G

  • +

constraint1 constraint2

Controler

Dynamic System

? ? w z1 z2 y

H∞ control synthesis ⇒ Guarantee the robustness and stability ||P||∞ = sup

ω

(σmax(P(jω)))

  • Classical approach without structural constraint

→ LMI system, SDP opimization

Jordan Ninin Global Optimization SWIM, June 2015 10 / 26

slide-24
SLIDE 24

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

H∞ control synthesis under structural constraints

W1 W2 K G

  • +

constraint1 constraint2

Controler

Dynamic System

? ? w z1 z2 y

H∞ control synthesis ⇒ Guarantee the robustness and stability ||P||∞ = sup

ω

(σmax(P(jω)))

  • Classical approach without structural constraint

→ LMI system, SDP opimization

  • Classical approach with structural constraint

→ Nonsmooth local optimization

Jordan Ninin Global Optimization SWIM, June 2015 10 / 26

slide-25
SLIDE 25

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Mathematical Modelization

                         min

k,γ

γ ∀ω,

  • W1(jω)

1 + G(jω)K(jω)

≤ γ, ∀ω,

  • W2(jω)K(jω)

1 + G(jω)K(jω)

≤ γ, The closed-loop system must be stable.

Jordan Ninin Global Optimization SWIM, June 2015 11 / 26

slide-26
SLIDE 26

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Mathematical Modelization

                         min

k,γ

γ ∀ω,

  • W1(jω)

1 + G(jω)K(jω)

≤ γ, ∀ω,

  • W2(jω)K(jω)

1 + G(jω)K(jω)

≤ γ, The closed-loop system must be stable. Stability: The system is stable iff its poles are strictly negative. ⇔ The roots of the denominator of

1 1+G(s)K(s) are strictly negative

Jordan Ninin Global Optimization SWIM, June 2015 11 / 26

slide-27
SLIDE 27

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Mathematical Modelization

                         min

k,γ

γ ∀ω,

  • W1(jω)

1 + G(jω)K(jω)

≤ γ, ∀ω,

  • W2(jω)K(jω)

1 + G(jω)K(jω)

≤ γ, The closed-loop system must be stable. Stability: The system is stable iff its poles are strictly negative. ⇔ The roots of the denominator of

1 1+G(s)K(s) are strictly negative

= ⇒ Routh-Hurwitz stability criterion

Jordan Ninin Global Optimization SWIM, June 2015 11 / 26

slide-28
SLIDE 28

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Routh-Hurwitz stability criterion

P(s) = ansn + an−1sn−1 + · · · + a1s + a0

v1,1 = an v1,2 = an−2 v1,3 = an−4 v1,4 = an−6 v2,1 = an−1 v2,2 = an−3 v2,3 = an−5 v2,4 = an−7 v3,1 = −1

v2,1

  • v1,1

v1,2 v2,1 v2,2

  • v3,2 = −1

v2,1

  • v1,1

v1,3 v2,1 v2,3

  • v3,3 = −1

v2,1

  • v1,1

v1,4 v2,1 v2,4

  • . . .

v4,1 = −1

v3,1

  • v2,1

v2,2 v3,1 v3,2

  • v4,2 = −1

v3,1

  • v2,1

v2,3 v3,1 v3,3

  • . . .

. . . v5,1 = −1

v4,1

  • v3,1

v3,2 v4,1 v4,2

  • . . .

. . . . . . . . . ... ... ...

Jordan Ninin Global Optimization SWIM, June 2015 12 / 26

slide-29
SLIDE 29

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Routh-Hurwitz stability criterion

P(s) = ansn + an−1sn−1 + · · · + a1s + a0

v1,1 = an v1,2 = an−2 v1,3 = an−4 v1,4 = an−6 v2,1 = an−1 v2,2 = an−3 v2,3 = an−5 v2,4 = an−7 v3,1 = −1

v2,1

  • v1,1

v1,2 v2,1 v2,2

  • v3,2 = −1

v2,1

  • v1,1

v1,3 v2,1 v2,3

  • v3,3 = −1

v2,1

  • v1,1

v1,4 v2,1 v2,4

  • . . .

v4,1 = −1

v3,1

  • v2,1

v2,2 v3,1 v3,2

  • v4,2 = −1

v3,1

  • v2,1

v2,3 v3,1 v3,3

  • . . .

. . . v5,1 = −1

v4,1

  • v3,1

v3,2 v4,1 v4,2

  • . . .

. . . . . . . . . ... ... ...

If all the value of the first column are positive, all roots of P are negative.

Jordan Ninin Global Optimization SWIM, June 2015 12 / 26

slide-30
SLIDE 30

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Definition of the feasible set

K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

Jordan Ninin Global Optimization SWIM, June 2015 13 / 26

slide-31
SLIDE 31

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Definition of the feasible set

K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K4 =

  • ω∈[10−2,102] K1

ω ∩ K2 ω.

Jordan Ninin Global Optimization SWIM, June 2015 13 / 26

slide-32
SLIDE 32

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Definition of the feasible set

K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K4 =

  • ω∈[10−2,102] K1

ω ∩ K2 ω.

The Routh’s condition / stability of the closed-loop system: KRouth = {(k, γ) :            an(k, γ) > 0, an−1(k, γ) > 0, v2,1(k, γ) > 0, . . . }.

Jordan Ninin Global Optimization SWIM, June 2015 13 / 26

slide-33
SLIDE 33

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Mathematical Modelization

Definition of the feasible set

K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K4 =

  • ω∈[10−2,102] K1

ω ∩ K2 ω.

The Routh’s condition / stability of the closed-loop system: KRouth = {(k, γ) :            an(k, γ) > 0, an−1(k, γ) > 0, v2,1(k, γ) > 0, . . . }. The feasible set of our problem is K = K4 ∩ KRouth.

Jordan Ninin Global Optimization SWIM, June 2015 13 / 26

slide-34
SLIDE 34

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor Modelization: Properties

Let A a contractor for the equation f (x) = 0, and B a contractor for the equation g(x) = 0, then: Intersection, Composition A ∩ B and A ◦ B are two contractors for the region: {x ∈ Rn : f (x) = 0 AND g(x) = 0} Union A ∪ B is a contractor for the region: {x ∈ Rn : f (x) = 0 OR g(x) = 0}

Jordan Ninin Global Optimization SWIM, June 2015 14 / 26

slide-35
SLIDE 35

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor with Quantifiers

Let C be a contractor for a set Z = X × Y, πX the projection of Z over X. Contractor ForAll / Exists            C∩Y(x) =

  • y∈Y

πX (C(x × {y})) , C∪Y(x) =

  • y∈Y

πX (C(x × {y})) . Property C∩Y is a contractor for {x : ∀y ∈ Y, (x, y) ∈ Z} C∪Y is a contractor for {x : ∃y ∈ Y, (x, y) ∈ Z}.

Jordan Ninin Global Optimization SWIM, June 2015 15 / 26

slide-36
SLIDE 36

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor with Quantifiers

Let C be a contractor for a set Z = X × Y, πX the projection of Z over X. Contractor ForAll / Exists            C∩Y(x) =

  • y∈Y

πX (C(x × {y})) , C∪Y(x) =

  • y∈Y

πX (C(x × {y})) . Property C∩Y is a contractor for {x : ∀y ∈ Y, (x, y) ∈ Z} C∪Y is a contractor for {x : ∃y ∈ Y, (x, y) ∈ Z}.

Jordan Ninin Global Optimization SWIM, June 2015 15 / 26

slide-37
SLIDE 37

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor with Quantifiers

Let C be a contractor for a set Z = X × Y, πX the projection of Z over X. Contractor ForAll / Exists            C∩Y(x) =

  • y∈Y

πX (C(x × {y})) , C∪Y(x) =

  • y∈Y

πX (C(x × {y})) . Property C∩Y is a contractor for {x : ∀y ∈ Y, (x, y) ∈ Z} C∪Y is a contractor for {x : ∃y ∈ Y, (x, y) ∈ Z}.

Jordan Ninin Global Optimization SWIM, June 2015 15 / 26

slide-38
SLIDE 38

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor CtcForAll: X = {x : ∀y ∈ Y, (x, y) ∈ Z}

Y X yi CZ(X × {yi}) CX(X) y1 y2 y3

Jordan Ninin Global Optimization SWIM, June 2015 16 / 26

slide-39
SLIDE 39

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Contractor CtcExist: X = {x : ∃y ∈ Y, (x, y) ∈ Z}

Y = Y1 ∪ Y2 ∪ Y3 ∪ Y4 X Y4 CZ(X × Yi) CX(X) Y1 Y2 Y3

Jordan Ninin Global Optimization SWIM, June 2015 17 / 26

slide-40
SLIDE 40

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • ∞ ≤ γ
  • ,

K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-41
SLIDE 41

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-42
SLIDE 42

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-43
SLIDE 43

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Inter: C3(k, γ, ω) = C1(k, γ, ω) ∩ C2(k, γ, ω).

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-44
SLIDE 44

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Inter: C3(k, γ, ω) = C1(k, γ, ω) ∩ C2(k, γ, ω). 3 CtcForAll: C∩ω(k, γ) =

  • ω∈[10−2,102]

C3(k, γ, ω).

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-45
SLIDE 45

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cout of the feasible set K

Cout will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∩ K2 ω

  ∩ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Inter: C3(k, γ, ω) = C1(k, γ, ω) ∩ C2(k, γ, ω). 3 CtcForAll: C∩ω(k, γ) =

  • ω∈[10−2,102]

C3(k, γ, ω).

4 Inter: Cout = C∩ω ∩ CRouth.

Jordan Ninin Global Optimization SWIM, June 2015 18 / 26

slide-46
SLIDE 46

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K1

ω

=

  • (k, γ, ω) :
  • W1(iω)

1+G(iω)K(iω)

  • > γ
  • ,

K2

ω

=

  • (k, γ, ω) :
  • W2(iω)K(iω)

1+G(iω)K(iω)

  • > γ
  • ,

K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-47
SLIDE 47

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-48
SLIDE 48

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-49
SLIDE 49

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Union: C3(k, γ, ω) = C1(k, γ, ω) ∪ C2(k, γ, ω).

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-50
SLIDE 50

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Union: C3(k, γ, ω) = C1(k, γ, ω) ∪ C2(k, γ, ω). 3 CtcExist: C∪ω(k, γ) =

  • ω∈[10−2,102]

C3(k, γ, ω).

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-51
SLIDE 51

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Construction of Contractors Cin of the unfeasible set K

Cin will eliminate all the part of a box which are not in K. K =  

  • ω∈[10−2,102]

K1

ω ∪ K2 ω

  ∪ KRouth.

1 Create the contractor C1, C2 and CRouth based on K1 ω, K2 ω and

KRouth: Contractor based on inequality system: Forward-Backward algorithm, HC4-revise, PolytopeHull, . . .

2 Union: C3(k, γ, ω) = C1(k, γ, ω) ∪ C2(k, γ, ω). 3 CtcExist: C∪ω(k, γ) =

  • ω∈[10−2,102]

C3(k, γ, ω).

4 Union: Cin = C∪ω ∪ CRouth.

Jordan Ninin Global Optimization SWIM, June 2015 19 / 26

slide-52
SLIDE 52

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

First Application with second order dynamic system

W1 W2 K G

  • +

constraint1 constraint2

Controler

Dynamic System

? ? w z1 z2 y

The transfer function of the dynamic system: G(s) = 1 s2 + 1.4s + 1, K(s) = kp + ki s + kds 1 + s . W1(s) = s + 100 100s + 1, W2(s) = 10s + 1 s + 10 .

Jordan Ninin Global Optimization SWIM, June 2015 20 / 26

slide-53
SLIDE 53

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Overview of the equation

∀ω ∈ [10−2, 102],

  • W1(jω)

1 + G(jω)K(jω)

≤ γ. ⇐ ⇒ ∀ω ∈ [10−2, 102],

w2 (w2+1.0)(w2+10000.0)(25.0 w4−1.0 w2+25.0) (10000.0 w2+1.0)f1(k,γ,ω)

≤ γ.

Jordan Ninin Global Optimization SWIM, June 2015 21 / 26

slide-54
SLIDE 54

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Overview of the equation

∀ω ∈ [10−2, 102],

  • W1(jω)

1 + G(jω)K(jω)

≤ γ. ⇐ ⇒ ∀ω ∈ [10−2, 102],

w2 (w2+1.0)(w2+10000.0)(25.0 w4−1.0 w2+25.0) (10000.0 w2+1.0)f1(k,γ,ω)

≤ γ. f1(k, γ, ω) = 25.0kd2w4 + 25.0kp2w2 + 25.0kp2w4 − 1.0ki

  • 50.0kdw2 + 70.0w2 + 70.0w4

+ ki2 25.0w2 + 25.0

  • +

120.0kdw4 − 50.0kdw6 + 50.0kpw2 − 50.0kpw6 + 25.0w2 + 24.0w4 + 24.0w6 + 25.0w8 + 50.0kdkpw4

Jordan Ninin Global Optimization SWIM, June 2015 21 / 26

slide-55
SLIDE 55

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Overview of the equation

∀ω ∈ [10−2, 102],

  • W1(jω)

1 + G(jω)K(jω)

≤ γ. ⇐ ⇒ ∀ω ∈ [10−2, 102],

w2 (w2+1.0)(w2+10000.0)(25.0 w4−1.0 w2+25.0) (10000.0 w2+1.0)f1(k,γ,ω)

≤ γ. f1(k, γ, ω) = 25.0kd2w4 + 25.0kp2w2 + 25.0kp2w4 − 1.0ki

  • 50.0kdw2 + 70.0w2 + 70.0w4

+ ki2 25.0w2 + 25.0

  • +

120.0kdw4 − 50.0kdw6 + 50.0kpw2 − 50.0kpw6 + 25.0w2 + 24.0w4 + 24.0w6 + 25.0w8 + 50.0kdkpw4 ∀u ∈ [−2, 2], ω = 10u.

Jordan Ninin Global Optimization SWIM, June 2015 21 / 26

slide-56
SLIDE 56

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Results with hinfsyn of Matlab

10 -2 10 -1 10 0 10 1 10 2

  • 120
  • 100
  • 80
  • 60
  • 40
  • 20

20 40 S = 1/(1+L) GAM/W1 T=L/(1+L) GAM*G/W2

Singular Values Frequency (rad/s) Singular Values (dB)

γ = 1.5887

Jordan Ninin Global Optimization SWIM, June 2015 22 / 26

slide-57
SLIDE 57

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Results with hinfstruct of Matlab

10 -2 10 -1 10 0 10 1 10 2

  • 120
  • 100
  • 80
  • 60
  • 40
  • 20

20 40 S = 1/(1+L) GAM/W1 T=L/(1+L) GAM*G/W2

Singular Values Frequency (rad/s) Singular Values (dB)

γ = 2.1414

Jordan Ninin Global Optimization SWIM, June 2015 23 / 26

slide-58
SLIDE 58

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Results with Global Optimization of IBEX

10 -2 10 -1 10 0 10 1 10 2

  • 120
  • 100
  • 80
  • 60
  • 40
  • 20

20 40 S = 1/(1+L) GAM/W1 T=L/(1+L) GAM*G/W2

Singular Values Frequency (rad/s) Singular Values (dB)

γ = 2.1414 = ⇒ same result as with hinfstruct, but with a global optimality proof!

Jordan Ninin Global Optimization SWIM, June 2015 24 / 26

slide-59
SLIDE 59

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion Contractor Modelization

Results with Global Optimization of IBEX

10 -2 10 -1 10 0 10 1 10 2

  • 120
  • 100
  • 80
  • 60
  • 40
  • 20

20 40 S = 1/(1+L) GAM/W1 T=L/(1+L) GAM*G/W2

Singular Values Frequency (rad/s) Singular Values (dB)

γ = 2.1414 = ⇒ same result as with hinfstruct, but with a global optimality proof!

Jordan Ninin Global Optimization SWIM, June 2015 24 / 26

slide-60
SLIDE 60

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Conclusion Contractor Programming:

  • Generate the Modelization and the adapted Solver in the

same time,

  • Consider heterogeneous constraints without changing the

solver,

  • Give all the tools to the expert of the application.

Jordan Ninin Global Optimization SWIM, June 2015 25 / 26

slide-61
SLIDE 61

Introduction Global Optimization Application to H∞ control synthesis under structural constraints Conclusion

Conclusion

IBEX

http://www.ibex-lib.org

  • Interval Arithmetic Interface: Filib, Gaol, Profil/BIAS.
  • Affine Arithmetic.
  • Linear Solver Interface: Soplex, CPLEX, CLP.
  • Symbolic and Automatic Differentiation.
  • AMPL Interface.
  • Reliable computation of Ordinary Differential Equation

(DynIBEX)

  • CSP solver, Global Optimization solver.
  • Available on Linux, MacOSX and Windows.

Fork it on GitHub

http://github.com/ibex-team/ibex-lib

Jordan Ninin Global Optimization SWIM, June 2015 26 / 26