Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 ·...
Transcript of Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 ·...
![Page 1: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/1.jpg)
Fundamentals of Theory and Practice of MixedInteger Non Linear Programming
Claudia D’Ambrosio
LIX, CNRS & École Polytechnique
STOR-i masterclass - 21 February 2019
http://www.lix.polytechnique.fr/~dambrosio/teaching/STOR-i/stor-i_2019.php
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 1 / 54
![Page 2: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/2.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 2 / 54
![Page 3: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/3.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 3 / 54
![Page 4: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/4.jpg)
Recap: What is a MINLP?
(MINLP)
min f (x , y)
gi(x , y) ≤ 0 ∀i = 1, . . . ,mx ∈ Xy ∈ Y
where f (x , y) : Rn → R, gi(x) : Rn → R ∀i , . . . ,m, X ⊆ Rn1 , Y ⊆ Nn2 ,and n = n1 + n2.
Hp. f and g are twice continuously differentiable functions.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 4 / 54
![Page 5: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/5.jpg)
Recap: Exact reformulations
(MINLP’)
min h(w , z) (1)pi(w , z) ≤ 0 ∀i = 1, . . . , r (2)w ∈W (3)
z ∈ Z (4)
where h(w , z) : Rq → R, pi(w , z) : Rq → R ∀i = 1, . . . , r , W ⊆ Rq1 ,Z ⊆ Nq2 and q = q1 + q2.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 5 / 54
![Page 6: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/6.jpg)
Recap: Exact reformulations
(MINLP’)
min h(w , z) (1)pi(w , z) ≤ 0 ∀i = 1, . . . , r (2)w ∈W (3)
z ∈ Z (4)
where h(w , z) : Rq → R, pi(w , z) : Rq → R ∀i = 1, . . . , r , W ⊆ Rq1 ,Z ⊆ Nq2 and q = q1 + q2.The formulation (MINLP’) is an exact reformulation of (MINLP) if
∀(w ′, z ′) satisfying (2)-(4), ∃(x ′, y ′) feasible solution of (MINLP) s.t.φ(w ′, z ′) = (x ′, y ′)φ is efficiently computable∀(w ′, z ′) global solution of (MINLP’), then φ(w ′, z ′) is a globalsolution of (MINLP)∀(x ′, y ′) global solution of (MINLP), there is a (w ′, z ′) globalsolution of (MINLP’)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 5 / 54
![Page 7: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/7.jpg)
Recap: Exact reformulations
(MINLP’)
min h(w , z) (1)pi(w , z) ≤ 0 ∀i = 1, . . . , r (2)w ∈W (3)
z ∈ Z (4)
where h(w , z) : Rq → R, pi(w , z) : Rq → R ∀i = 1, . . . , r , W ⊆ Rq1 ,Z ⊆ Nq2 and q = q1 + q2.
P
Q
phi
F
GG
F
phiG
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 5 / 54
![Page 8: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/8.jpg)
Recap: Relaxations
(rMINLP)
min f (w , z)
gi(w , z) ≤ 0 ∀i = 1, . . . , rw ∈W
z ∈ Z
where X ⊆W ⊆ Rq1 , Y ⊆ Z ⊆ Zq2 , q1 ≥ n1, q2 ≥ n2, f (w , z) ≤ f (x , y)∀(x , y) ⊆ (w , z), and{(x , y)|g(x , y) ≤ 0} ⊆ Proj(x ,y){(w , z)|g(w , z) ≤ 0}.Examples:
continuous relaxation: when (w , z) ∈ Rn, W = X ,f (x , y) = f (x , y), g(x , y) = g(x , y)
linear relaxation: when q = n, W = X , Z = Y , f (w , z) and g(w , z)are linearconvex relaxation: when q = n, W = X , Z = Y , f (w , z) andg(w , z) are convex
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 6 / 54
![Page 9: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/9.jpg)
Example: Pooling Problem
Inputs I Pools L Outputs J
Nodes N = I ∪ L ∪ JArcs A(i , j) ∈ (I×L)∪ (L× J)∪ (I× J)on which materials flowMaterial attributes: K
Arc capacities: uij , (i , j) ∈ ANode capacities: Ci , i ∈ NAttribute requirementsαkj , k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 7 / 54
![Page 10: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/10.jpg)
Example: Pooling Problem
refinery processes in the petroleum industry
different specifications: e.g., sulphur/carbon concentrations orphysical properties such as density, octane number, ...wastewater treatment, e.g., Karuppiah and Grossmann (2006)
Formally introduced by Haverly (1978)Alfaki and Haugland (2012) formally proved it is strongly NP-hard
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 54
![Page 11: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/11.jpg)
Example: Pooling Problem
refinery processes in the petroleum industrydifferent specifications: e.g., sulphur/carbon concentrations orphysical properties such as density, octane number, ...
wastewater treatment, e.g., Karuppiah and Grossmann (2006)
Formally introduced by Haverly (1978)Alfaki and Haugland (2012) formally proved it is strongly NP-hard
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 54
![Page 12: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/12.jpg)
Example: Pooling Problem
refinery processes in the petroleum industrydifferent specifications: e.g., sulphur/carbon concentrations orphysical properties such as density, octane number, ...wastewater treatment, e.g., Karuppiah and Grossmann (2006)
Formally introduced by Haverly (1978)Alfaki and Haugland (2012) formally proved it is strongly NP-hard
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 54
![Page 13: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/13.jpg)
Example: Pooling Problem
refinery processes in the petroleum industrydifferent specifications: e.g., sulphur/carbon concentrations orphysical properties such as density, octane number, ...wastewater treatment, e.g., Karuppiah and Grossmann (2006)
Formally introduced by Haverly (1978)
Alfaki and Haugland (2012) formally proved it is strongly NP-hard
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 54
![Page 14: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/14.jpg)
Example: Pooling Problem
refinery processes in the petroleum industrydifferent specifications: e.g., sulphur/carbon concentrations orphysical properties such as density, octane number, ...wastewater treatment, e.g., Karuppiah and Grossmann (2006)
Formally introduced by Haverly (1978)Alfaki and Haugland (2012) formally proved it is strongly NP-hard
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 54
![Page 15: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/15.jpg)
Example: Pooling Problem
“Simple” constraints
Variables xij for flow on arcs
Flow balance constraints atpools:∑i∈Il
xil −∑j∈Jl
xlj = 0, ∀l ∈ L
Inputs I Pools L Outputs J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 54
![Page 16: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/16.jpg)
Example: Pooling Problem
“Simple” constraints
Variables xij for flow on arcs
Flow balance constraints atpools:∑i∈Il
xil −∑j∈Jl
xlj = 0, ∀l ∈ L
Capacity constraints:
Inputs I Pools L Outputs J
∑j∈Ji
xij +∑l∈Li
xil ≤ Ci , ∀i ∈ I
∑j∈Jl
xlj ≤ Cl , ∀l ∈ L
∑i∈Ij
xij +∑l∈Lj
xlj ≤ Cj , ∀j ∈ JClaudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 54
![Page 17: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/17.jpg)
Example: Pooling Problem
“Complicating” constraintsInputs have associated attribute concentrations λki , k ∈ K , i ∈ IConcentration of attribute in pool is the weighted average of theconcentrations of its inputs.This results in bilinear constraints.
P-formulation (Haverly 78):Keep track of concentration pkl of attribute k in pool l
Q-formulation (Ben-Tal et al. 94):Variables qil for proportion of flow into pool l coming from input i
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 10 / 54
![Page 18: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/18.jpg)
Example: Pooling Problem
“Complicating” constraintsInputs have associated attribute concentrations λki , k ∈ K , i ∈ IConcentration of attribute in pool is the weighted average of theconcentrations of its inputs.This results in bilinear constraints.
P-formulation (Haverly 78):Keep track of concentration pkl of attribute k in pool l
Q-formulation (Ben-Tal et al. 94):Variables qil for proportion of flow into pool l coming from input i
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 10 / 54
![Page 19: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/19.jpg)
Example: Pooling Problem
“Complicating” constraintsInputs have associated attribute concentrations λki , k ∈ K , i ∈ IConcentration of attribute in pool is the weighted average of theconcentrations of its inputs.This results in bilinear constraints.
P-formulation (Haverly 78):Keep track of concentration pkl of attribute k in pool l
Q-formulation (Ben-Tal et al. 94):Variables qil for proportion of flow into pool l coming from input i
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 10 / 54
![Page 20: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/20.jpg)
Example: Pooling Problem
P-formulation ∑j∈Ji
xij +∑l∈Li
xil ≤ Ci , ∀i ∈ I
∑j∈Jl
xlj ≤ Cl , ∀l ∈ L
∑i∈Ij
xij +∑l∈Lj
xlj ≤ Cj , ∀j ∈ J∑i∈Il
xil −∑j∈Jl
xlj = 0, ∀l ∈ L
pkl =
∑i∈Il λkixil∑
i∈Jlxlj
∀k ∈ K , l ∈ L∑i∈Ij λkixij +
∑l∈Lj
pklxlj∑i∈Ij∪Lj
xij≤ αkj , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 54
![Page 21: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/21.jpg)
Example: Pooling Problem
P-formulation ∑j∈Ji
xij +∑l∈Li
xil ≤ Ci , ∀i ∈ I
∑j∈Jl
xlj ≤ Cl , ∀l ∈ L
∑i∈Ij
xij +∑l∈Lj
xlj ≤ Cj , ∀j ∈ J∑i∈Il
xil −∑j∈Jl
xlj = 0, ∀l ∈ L
pkl∑i∈Jl
xlj =∑i∈Il
λkixil ∀k ∈ K , l ∈ L
∑i∈Ij
λkixij +∑l∈Lj
pklxlj ≤ αkj∑
i∈Ij∪Lj
xij , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 54
![Page 22: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/22.jpg)
Example: Pooling Problem
Q-formulation
xil = qil∑j∈Jl
xlj , ∀i ∈ I, l ∈ Li∑i∈Il
qil = 1, ∀l ∈ L
Attribute constraints∑i∈Ij
λkixij +∑l∈Lj
xlj
(∑i∈Il
λkiqil
)≤ αkj
∑i∈Ij∪Lj
xij , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 12 / 54
![Page 23: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/23.jpg)
Example: Pooling Problem
Q-formulation
xil = qil∑j∈Jl
xlj , ∀i ∈ I, l ∈ Li∑i∈Il
qil = 1, ∀l ∈ L
Attribute constraints∑i∈Ij
λkixij +∑l∈Lj
xlj
(∑i∈Il
λkiqil
)≤ αkj
∑i∈Ij∪Lj
xij , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 12 / 54
![Page 24: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/24.jpg)
Example: Pooling Problem
Q-formulation ∑j∈Ji
xij +∑l∈Li
xil ≤ Ci , ∀i ∈ I
∑j∈Jl
xlj ≤ Cl , ∀l ∈ L
∑i∈Ij
xij +∑l∈Lj
xlj ≤ Cj , ∀j ∈ J
xil − qil∑j∈Jl
xlj = 0 ∀i ∈ I, l ∈ Li∑i∈Il
qil = 1 ∀l ∈ L
∑i∈Ij
λkixij +∑l∈Lj
xlj
(∑i∈Il
λkiqil
)≤ αkj
∑i∈Ij∪Lj
xij , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 13 / 54
![Page 25: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/25.jpg)
Example: Pooling Problem with binary vars
From NLP to MINLPDecide whether to install pipes or not (0/1 decision)Associate a binary variable zij with each pipe (suppose for now onarcs from input to output)
Extra constraints:
xij ≤ min(Ci ,Cj)zij ∀i ∈ I, j ∈ Ji
zij ∈ {0,1} ∀i ∈ I, j ∈ Ji
Objective FunctionFixed cost for installing pipe
min∑i∈I
ci
∑l∈Li
xil +∑j∈Ji
xij
−∑j∈J
pj
∑i∈Ij
xij +∑l∈Lj
xlj
+∑i∈I
∑j∈Ji
fijzij
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 14 / 54
![Page 26: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/26.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 15 / 54
![Page 27: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/27.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 28: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/28.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 29: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/29.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 30: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/30.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 31: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/31.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 32: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/32.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!
� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 33: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/33.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 34: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/34.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 35: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/35.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 36: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/36.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 37: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/37.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31
� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 38: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/38.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35
@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 39: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/39.jpg)
MINLP branch-and-bound with local NLP solver
Branch-and-bound algorithm: solve continuous (NLP) relaxation ateach node of the search tree and branch on variables.NLP solver used:Local NLP solvers→ local optimumNo valid bound for nonconvex MINLPs.
� ��0
LB = 30
HHHj����
y1 = 0y1 = 1
� ��1LB = 35
����HHHj
y2 = 1 y2 = 0
� ��2
z = 26!!!!!!� ��3∅
� ��4@@��
� ��0
LB = 30
HHHj����
y1 = 1y1 = 0
� ��1
z = 31� ��2 LB = 35@@��
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 54
![Page 40: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/40.jpg)
Outer Approximation and nonconvex MINLPs
Several methods for convex MINLPs use Outer Approximation cuts(Duran and Grossman, 1986) which are not exact for nonconvexMINLPs.
gi(x) ≤ 0 → gi(xk ) +∇gi(xk )T ( x − xk)≤ 0
where ∇g(xk ) is the Jacobian of g(x) evaluated at point (xk ).
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 17 / 54
![Page 41: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/41.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 18 / 54
![Page 42: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/42.jpg)
Global Optimization methods
Exact“Exact” in continuous space:ε-approximate (find solutionwithin pre-determined ε distancefrom optimum in obj. fun. value)
For some problems, finiteconvergence to optimum (ε = 0)
HeuristicFind solution withprobability 1 in infinite time
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 19 / 54
![Page 43: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/43.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 20 / 54
![Page 44: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/44.jpg)
Multistart
The easiest GO method1: f ∗ =∞2: x∗ = (∞, . . . ,∞)3: while ¬ termination do4: x ′ = (random(), . . . , random())5: x = localSolve(P, x ′)6: if fP(x) < f ∗ then7: f ∗ ← fP(x)8: x∗ ← x9: end if
10: end whileTermination condition: e.g. repeat k times
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 21 / 54
![Page 45: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/45.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
Global optimum (COUENNE)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 22 / 54
![Page 46: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/46.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
-2
-1
0
1
2
3
4
5
6
Multistart with IPOPT, k = 5
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 23 / 54
![Page 47: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/47.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
-2
-1
0
1
2
3
4
5
6
Multistart with IPOPT, k = 10
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 24 / 54
![Page 48: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/48.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
-2
-1
0
1
2
3
4
5
6
Multistart with IPOPT, k = 20
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 25 / 54
![Page 49: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/49.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
-2
-1
0
1
2
3
4
5
6
Multistart with IPOPT, k = 50
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 26 / 54
![Page 50: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/50.jpg)
Six-hump camelback function
f (x1, x2) = 4x21 − 2.1x4
1 + 13x6
1 + x1x2 − 4x22 + 4x4
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1
-0.5
0
0.5
1
-2
-1
0
1
2
3
4
5
6
Multistart with SNOPT, k = 20
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 27 / 54
![Page 51: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/51.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 28 / 54
![Page 52: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/52.jpg)
Spatial Branch-and-Bound
Falk and Soland (1969) “An algorithm for separable nonconvexprogramming problems”.20 years ago: first general-purpose “exact” algorithms for nonconvexMINLP.
Tree-like searchExplores search space exhaustively but implicitlyBuilds a sequence of decreasing upper bounds and increasinglower bounds to the global optimumExponential worst-caseOnly general-purpose “exact” algorithm for MINLPSince continuous vars are involved, should say “ε-approximate”Like BB for MILP, but may branch on continuous varsDone whenever one is involved in a nonconvex term
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 29 / 54
![Page 53: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/53.jpg)
Spatial B&B: Example
Original problem P
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 54: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/54.jpg)
Spatial B&B: Example
Starting point x ′
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 55: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/55.jpg)
Spatial B&B: Example
Local (upper bounding) solution x∗
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 56: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/56.jpg)
Spatial B&B: Example
Convex relaxation (lower) bound f̄ with |f ∗ − f̄ | > ε
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 57: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/57.jpg)
Spatial B&B: Example
Branch at x = x̄ into C1,C2
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 58: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/58.jpg)
Spatial B&B: Example
Convex relaxation on C1: lower bounding solution x̄
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 59: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/59.jpg)
Spatial B&B: Example
localSolve. from x̄: new upper bounding solution x∗
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 60: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/60.jpg)
Spatial B&B: Example
|f ∗ − f̄ | > ε: branch at x = x̄
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 61: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/61.jpg)
Spatial B&B: Example
Repeat on C3: get x̄ = x∗ and |f ∗ − f̄ | < ε, no more branching
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 62: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/62.jpg)
Spatial B&B: Example
Repeat on C2: f̄ > f ∗ (can’t improve x∗ in C2)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 63: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/63.jpg)
Spatial B&B: Example
Repeat on C4: f̄ > f ∗ (can’t improve x∗ in C4)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 64: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/64.jpg)
Spatial B&B: Example
No more subproblems left, return x∗ and terminate
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 54
![Page 65: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/65.jpg)
Spatial B&B: Pruning
1 P was branched into C1,C2
2 C1 was branched into C3,C4
3 C3 was pruned by optimality(x∗ ∈ G(C3) was found)
4 C2,C4 were pruned by bound(lower bound for C2 worse than f ∗)
5 No more nodes: whole space explored, x∗ ∈ G(P)
Search generates a treeSuproblems are nodesNodes can be pruned by optimality, bound or infeasibility (whensubproblem is infeasible)Otherwise, they are branched
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 31 / 54
![Page 66: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/66.jpg)
Spatial B&B: General idea
Aimed at solving “factorable functions”, i.e., f and g of the form:∑h
∏k
fhk (x , y)
where fhk (x , y) are univariate functions ∀h, k .
Exact reformulation of MINLP so as to have “isolated basicnonlinear functions” (additional variables and constraints).Relax (linear/convex) the basic nonlinear terms (library ofenvelopes/underestimators).Relaxation depends on variable bounds, thus branchingpotentially strengthen it.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 32 / 54
![Page 67: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/67.jpg)
Spatial B&B: General idea
Aimed at solving “factorable functions”, i.e., f and g of the form:∑h
∏k
fhk (x , y)
where fhk (x , y) are univariate functions ∀h, k .
Exact reformulation of MINLP so as to have “isolated basicnonlinear functions” (additional variables and constraints).
Relax (linear/convex) the basic nonlinear terms (library ofenvelopes/underestimators).Relaxation depends on variable bounds, thus branchingpotentially strengthen it.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 32 / 54
![Page 68: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/68.jpg)
Spatial B&B: General idea
Aimed at solving “factorable functions”, i.e., f and g of the form:∑h
∏k
fhk (x , y)
where fhk (x , y) are univariate functions ∀h, k .
Exact reformulation of MINLP so as to have “isolated basicnonlinear functions” (additional variables and constraints).Relax (linear/convex) the basic nonlinear terms (library ofenvelopes/underestimators).
Relaxation depends on variable bounds, thus branchingpotentially strengthen it.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 32 / 54
![Page 69: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/69.jpg)
Spatial B&B: General idea
Aimed at solving “factorable functions”, i.e., f and g of the form:∑h
∏k
fhk (x , y)
where fhk (x , y) are univariate functions ∀h, k .
Exact reformulation of MINLP so as to have “isolated basicnonlinear functions” (additional variables and constraints).Relax (linear/convex) the basic nonlinear terms (library ofenvelopes/underestimators).Relaxation depends on variable bounds, thus branchingpotentially strengthen it.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 32 / 54
![Page 70: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/70.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 33 / 54
![Page 71: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/71.jpg)
Spatial B&B: exact reformulation to standard form
Consider a NLP for simplicity. Transform it in a standard form like:
min cᵀ(x ,w)
A(x ,w) ≤ b
wij = xi⊗
xj for suitable i , j
x ∈ Xw ∈ W
where, for example,⊗∈ {sum, product, quotient, power, exp, log, sin,
cos, abs} (Couenne).
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 34 / 54
![Page 72: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/72.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 35 / 54
![Page 73: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/73.jpg)
Spatial B&B: convexification
Relax wij = xi⊗
xj ∀ suitable i , j where⊗∈ {sum, product, quotient,
power, exp, log, sin, cos, abs} such that:
wij ≤ overestimator(xi⊗
xj)
wij ≥ underestimator(xi⊗
xj)
Convex relaxation is not the tightest possible, but built automatically.
Underestimator/overestimator of convex/concave function: tangentcuts (OA)Odd powers or Trigonometric functions: separate intervals inwhich function is convex or concave and do as for convex/concavefunctionsProduct or Quotient: Mc Cormick relaxation
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 36 / 54
![Page 74: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/74.jpg)
Spatial B&B: convexification
Relax wij = xi⊗
xj ∀ suitable i , j where⊗∈ {sum, product, quotient,
power, exp, log, sin, cos, abs} such that:
wij ≤ overestimator(xi⊗
xj)
wij ≥ underestimator(xi⊗
xj)
Convex relaxation is not the tightest possible, but built automatically.Underestimator/overestimator of convex/concave function: tangentcuts (OA)Odd powers or Trigonometric functions: separate intervals inwhich function is convex or concave and do as for convex/concavefunctionsProduct or Quotient: Mc Cormick relaxation
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 36 / 54
![Page 75: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/75.jpg)
Spatial B&B: Examples of Convexifications
P. Belotti, J. Lee, L. Liberti, F. Margot, A. Wächter, “Branching andbounds tightening techniques for non-convex MINLP”. OptimizationMethods and Software 24(4-5): 597-634 (2009).
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 37 / 54
![Page 76: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/76.jpg)
Example: Standard Form Reformulation
min x21 + x1x2
x1 + x2 ≥ 1x1 ∈ [0,1]
x2 ∈ [0,1]
becomes
min w1 + w2
w1 = x21
w2 = x1x2
x1 + x2 ≥ 1x1 ∈ [0,1]
x2 ∈ [0,1]
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 38 / 54
![Page 77: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/77.jpg)
Example: Standard Form Reformulation
min x21 + x1x2
x1 + x2 ≥ 1x1 ∈ [0,1]
x2 ∈ [0,1]
becomes
min w1 + w2
w1 = x21
w2 = x1x2
x1 + x2 ≥ 1x1 ∈ [0,1]
x2 ∈ [0,1]
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 38 / 54
![Page 78: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/78.jpg)
Example: .mod from Couenne
var x1 <= 1, >= 0;var x2 <= 1, >= 0;
minimize of:x1**2 + x1*x2;subject to constraint:x1 + x2 >= 1;
# Problem name: extended-aw.mod
# original variables
var x_0 >= 0 <= 1 default 0;var w_1 >= 0 <= 1 default 1;var w_2 >= 0 <= 1 default 0;var w_3 >= 0 <= 1 default 0;var w_4 >= 0 <= 2 default 0;
# objective
minimize obj: w_4;
# aux. variables defined
aux1: w_1 = (1-x_0);aux2: w_2 = (x_0**2);aux3: w_3 = (x_0*w_1);aux4: w_4 = (w_2+w_3);
# constraints
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 54
![Page 79: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/79.jpg)
Example: .mod from Couenne
var x1 <= 1, >= 0;var x2 <= 1, >= 0;
minimize of:x1**2 + x1*x2;subject to constraint:x1 + x2 >= 1;
# Problem name: extended-aw.mod
# original variables
var x_0 >= 0 <= 1 default 0;var w_1 >= 0 <= 1 default 1;var w_2 >= 0 <= 1 default 0;var w_3 >= 0 <= 1 default 0;var w_4 >= 0 <= 2 default 0;
# objective
minimize obj: w_4;
# aux. variables defined
aux1: w_1 = (1-x_0);aux2: w_2 = (x_0**2);aux3: w_3 = (x_0*w_1);aux4: w_4 = (w_2+w_3);
# constraints
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 54
![Page 80: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/80.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 54
![Page 81: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/81.jpg)
Expression trees
Representation of objective f and constraints g
Encode mathematical expressions in trees or DAGs
E.g. x21 + x1x2:
+HHH
���
ˆ ∗HH��
2x1
HH��x2x1
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 54
![Page 82: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/82.jpg)
Expression trees
Representation of objective f and constraints g
Encode mathematical expressions in trees or DAGs
E.g. x21 + x1x2:
+HHH
���
ˆ ∗@@
��
2x1
@@
��������
x2
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 42 / 54
![Page 83: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/83.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 54
![Page 84: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/84.jpg)
Variable ranges
Crucial property for sBB convergence: convex relaxationtightens as variable range widths decreaseconvex/concave under/over-estimator constraints are (convex)functions of xL, xU
it makes sense to tighten xL, xU at the sBB root node (trading offspeed for efficiency) and at each other node (trading off efficiencyfor speed)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 54
![Page 85: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/85.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 54
![Page 86: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/86.jpg)
Bounds Tightening
In sBB we need to tighten variable bounds at each nodeTwo methods:
Optimization Based Bounds Tightening (OBBT)Feasibility Based Bounds Tightening (FBBT)
OBBT:for each variable x in P compute
x = min{x | conv. rel. constr.}x = max{x | conv. rel. constr.}
Set x ≤ x ≤ x
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 54
![Page 87: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/87.jpg)
Bounds Tightening
In sBB we need to tighten variable bounds at each nodeTwo methods:
Optimization Based Bounds Tightening (OBBT)Feasibility Based Bounds Tightening (FBBT)
FBBT:
propagation of intervals up and down
constraint expression trees, with tightening
at the root node
Example: 5x1 − x2 = 0.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 54
![Page 88: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/88.jpg)
Bounds Tightening
In sBB we need to tighten variable bounds at each nodeTwo methods:
Optimization Based Bounds Tightening (OBBT)Feasibility Based Bounds Tightening (FBBT)
FBBT:propagation of intervals up and down con-
straint expression trees, with tightening at
the root node
Example: 5x1 − x2 = 0.
Up: ש:[5, 5]×[0, 1]= [0, 5]; −©:[0, 5]−[0, 1]= [−1, 5].
Root node tightening: [−1, 5] ∩ [0, 0] = [0, 0].
Downwards: ש:[0, 0]+[0, 1]= [0, 1];
x1:[0, 1]/[5, 5]= [0, 15 ]
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 54
![Page 89: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/89.jpg)
Outline
1 RecapWhat is a MINLP?Exact reformulationsRelaxations
2 Example: Pooling Problem
3 Methods for convex MINLPs
4 Global Optimization methodsMultistartSpatial Branch-and-Bound
Standard formConvexificationExpression treesVariable rangesBounds tighteningReformulation Linearization Technique (RLT)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 54
![Page 90: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/90.jpg)
RLT: Quadratic problems
All nonlinear terms are quadratic monomialsAim to reduce gap betwen the problem and its convex relaxation⇒ replace quadratic terms with suitable linear constraints (fewernonlinear terms to relax)Can be obtained by considering linear relations (called reducedRLT constraints) between original and linearizing variables
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 50 / 54
![Page 91: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/91.jpg)
RLT: Quadratic problems
For each k ≤ n, let wk = (wk1, . . . ,wkn)
Multiply Ax = b by each xk , substitute linearizing variables wk , get reduced RLTconstraint system (RRCS)
∀k ≤ n (Awk = bxk )
∀ i, k ≤ n define zki = wki − xi xk , let zk = (zk1, . . . , zkn)
Substitute b = Ax in RRCS, get ∀k ≤ n(A(wk − xk x) = 0), i.e. ∀k ≤ n(Azk = 0). Let B,Nbe the sets of basic and nonbasic variables of this system
Setting zki = 0 for each nonbasic variable implies that the RRCS is satisfied⇒ It sufficesto enforce quadratic constraints wki = xi xk for (i, k) ∈ N (replace those for (i, k) ∈ B withthe linear RRCS)
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 51 / 54
![Page 92: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/92.jpg)
Example: pooling problem
Q-formulation ∑j∈Ji
xij +∑l∈Li
xil ≤ Ci , ∀i ∈ I
∑j∈Jl
xlj ≤ Cl , ∀l ∈ L
∑i∈Ij
xij +∑l∈Lj
xlj ≤ Cj , ∀j ∈ J
xil − qil∑j∈Jl
xlj = 0 ∀i ∈ I, l ∈ Li∑i∈Il
qil = 1 ∀l ∈ L
∑i∈Ij
λkixij +∑l∈Lj
xlj
(∑i∈Il
λkiqil
)≤ αkj
∑i∈Ij∪Lj
xij , ∀k ∈ K , j ∈ J
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 52 / 54
![Page 93: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/93.jpg)
Example: pooling problem
PQ-formulation by Sahinidis and Tawarmalani (2005).Like Q-formulation but with extra (redundant) constraints:
xlj∑
i∈Il qil = xlj ∀l ∈ L, j ∈ Jl
qil∑
j∈Jlxlj ≤ Clqil ∀i ∈ I, l ∈ Li
One of the strongest known formulation!
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 54
![Page 94: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/94.jpg)
Example: pooling problem
PQ-formulation by Sahinidis and Tawarmalani (2005).Like Q-formulation but with extra (redundant) constraints:
xlj∑
i∈Il qil = xlj ∀l ∈ L, j ∈ Jl
qil∑
j∈Jlxlj ≤ Clqil ∀i ∈ I, l ∈ Li
One of the strongest known formulation!
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 54
![Page 95: Fundamentals of Theory and Practice of Mixed Integer Non Linear Programming · 2019-02-21 · Outline 1 Recap What is a MINLP? Exact reformulations Relaxations 2 Example: Pooling](https://reader034.fdocuments.in/reader034/viewer/2022050409/5f86958fade08b6a8c4f5461/html5/thumbnails/95.jpg)
Citations
Sherali, Alameddine, A new reformulation-linearization technique for bilinear programmingproblems, JOGO, 1991
Falk, Soland, An algorithm for separable nonconvex programming problems,Manag. Sci. 1969.
Horst, Tuy, Global Optimization, Springer 1990.
Ryoo, Sahinidis, Global optimization of nonconvex NLPs and MINLPs with applications inprocess design, Comp. Chem. Eng. 1995.
Adjiman, Floudas et al., A global optimization method, αBB, for general twice-differentiablenonconvex NLPs, Comp. Chem. Eng. 1998.
Smith, Pantelides, A symbolic reformulation/spatial branch-and-bound algorithm for theglobal optimisation of nonconvex MINLPs, Comp. Chem. Eng. 1999.
Nowak, Relaxation and decomposition methods for Mixed Integer Nonlinear Programming,Birkhäuser, 2005.
Belotti, et al., Branching and bounds tightening techniques for nonconvex MINLP,Opt. Meth. Softw., 2009.
Vigerske, PhD Thesis: Decomposition of Multistage Stochastic Programs and a ConstraintInteger Programming Approach to Mixed-Integer Nonlinear Programming,Humboldt-University Berlin, 2013.
Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 54