fundamentals of theory and practice of mixed integer non ...dambrosio/... · optimization in...

213
Fundamentals of Theory and Practice of Mixed Integer 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 / 62

Upload: others

Post on 29-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 / 62

Page 2: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

General Information

Webpage: http://www.lix.polytechnique.fr/~dambrosio/teaching/STOR-i/stor-i_2019.php

Lecture 1: 09:00-12:00, Thursday 21st February: introduction,applications, methods for convex MINLPsLecture 2: 15:30-17:30, Thursday 21st February: methods fornonconvex MINLPsLecture 3: 09:00-11:00, Friday 22nd February: practical session

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 2 / 62

Page 3: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 3 / 62

Page 4: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 4 / 62

Page 5: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Subset selection inLinear Regression

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 5 / 62

Page 6: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Subset selection in Linear Regression

m data points (xi , yi) with xi ∈ Rd and yi ∈ R.

Find β ∈ Rd such that∑

i(yi − xᵀi β)2 is minimized while limiting the

cardinality of β to K .

minβ

∑i

(yi −∑

j

xijβj)2

|supp(β)| ≤ K

D. Bertsimas, R. Shioda. Algorithm for cardinality-constrainedquadratic optimization, Computational Optimization andApplications, 43 (1), pp. 1–22, 2009.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 6 / 62

Page 7: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Subset selection in Linear Regression

m data points (xi , yi) with xi ∈ Rd and yi ∈ R.

Find β ∈ Rd such that∑

i(yi − xᵀi β)2 is minimized while limiting the

cardinality of β to K .

minβ

∑i

(yi −∑

j

xijβj)2

|supp(β)| ≤ K

D. Bertsimas, R. Shioda. Algorithm for cardinality-constrainedquadratic optimization, Computational Optimization andApplications, 43 (1), pp. 1–22, 2009.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 6 / 62

Page 8: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Subset selection in Linear Regression

m data points (xi , yi) with xi ∈ Rd and yi ∈ R.

Find β ∈ Rd such that∑

i(yi − xᵀi β)2 is minimized while limiting the

cardinality of β to K .

minβ

∑i

(yi −∑

j

xijβj)2

|supp(β)| ≤ K

D. Bertsimas, R. Shioda. Algorithm for cardinality-constrainedquadratic optimization, Computational Optimization andApplications, 43 (1), pp. 1–22, 2009.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 6 / 62

Page 9: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Subset selection in Linear Regression

minβ,z

∑i

(yi −∑

j

xijβj)2

∑j≤d

zi ≤ K

β jzj ≤ βj ≤ βjzj ∀j ≤ d

zj ∈ 0,1 ∀j ≤ d

D. Bertsimas, R. Shioda. Algorithm for cardinality-constrainedquadratic optimization, Computational Optimization andApplications, 43 (1), pp. 1–22, 2009.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 7 / 62

Page 10: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Robust Portfolio Selection

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 8 / 62

Page 11: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Robust Portfolio Selection

n possibly risky assetsmean return vector µ ∈ Rn

x ∈ Rn+: fraction of the porftolio value invested in each of the n

assets

min xᵀΣxµᵀx ≥ Reᵀx = 1

x ≥ 0

where Σ ∈ Rn×n is the covariance return matrix, R > 0 is the minimumportfolio return, e ∈ Rn is the all-one vector.H. Markowitz, Portfolio Selection, The Journal of Finance, 7 (1), pp.77–91, 1952.L. Mencarelli, C. D’Ambrosio. Complex Portfolio Selection via ConvexMixed-Integer Quadratic Programming: A Survey, InternationalTransactions in Operational Research 26, pp. 389–414, 2019.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 62

Page 12: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Robust Portfolio Selection

n possibly risky assetsmean return vector µ ∈ Rn

x ∈ Rn+: fraction of the porftolio value invested in each of the n

assets

min xᵀΣxµᵀx ≥ Reᵀx = 1

x ≥ 0

where Σ ∈ Rn×n is the covariance return matrix, R > 0 is the minimumportfolio return, e ∈ Rn is the all-one vector.H. Markowitz, Portfolio Selection, The Journal of Finance, 7 (1), pp.77–91, 1952.L. Mencarelli, C. D’Ambrosio. Complex Portfolio Selection via ConvexMixed-Integer Quadratic Programming: A Survey, InternationalTransactions in Operational Research 26, pp. 389–414, 2019.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 62

Page 13: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Robust Portfolio Selection

n possibly risky assetsmean return vector µ ∈ Rn

x ∈ Rn+: fraction of the porftolio value invested in each of the n

assets

min xᵀΣxµᵀx ≥ Reᵀx = 1

x ≥ 0

where Σ ∈ Rn×n is the covariance return matrix, R > 0 is the minimumportfolio return, e ∈ Rn is the all-one vector.

H. Markowitz, Portfolio Selection, The Journal of Finance, 7 (1), pp.77–91, 1952.L. Mencarelli, C. D’Ambrosio. Complex Portfolio Selection via ConvexMixed-Integer Quadratic Programming: A Survey, InternationalTransactions in Operational Research 26, pp. 389–414, 2019.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 62

Page 14: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Robust Portfolio Selection

n possibly risky assetsmean return vector µ ∈ Rn

x ∈ Rn+: fraction of the porftolio value invested in each of the n

assets

min xᵀΣxµᵀx ≥ Reᵀx = 1

x ≥ 0

where Σ ∈ Rn×n is the covariance return matrix, R > 0 is the minimumportfolio return, e ∈ Rn is the all-one vector.H. Markowitz, Portfolio Selection, The Journal of Finance, 7 (1), pp.77–91, 1952.L. Mencarelli, C. D’Ambrosio. Complex Portfolio Selection via ConvexMixed-Integer Quadratic Programming: A Survey, InternationalTransactions in Operational Research 26, pp. 389–414, 2019.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 9 / 62

Page 15: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machineswith the ramp loss

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 10 / 62

Page 16: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machines with the ramp loss

Ω set of objects, (xi , yi) ∀i ∈ Ω where xi ∈ X ⊆ Rd and yi ∈ −1,+1.

Aim: classify new objects by means of a hyperplane ωᵀx + b = 0.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 62

Page 17: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machines with the ramp loss

Ω set of objects, (xi , yi) ∀i ∈ Ω where xi ∈ X ⊆ Rd and yi ∈ −1,+1.Aim: classify new objects by means of a hyperplane ωᵀx + b = 0.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 62

Page 18: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machines with the ramp loss

Ω set of objects, (xi , yi) ∀i ∈ Ω where xi ∈ X ⊆ Rd and yi ∈ −1,+1.Aim: classify new objects by means of a hyperplane ωᵀx + b = 0.

Penalize objects outside the margin: cost = 2Penalize objects within the margin (ωᵀx + b ∈ [−1,+1]): cost in[0,2]

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 62

Page 19: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machines with the ramp loss

Ω set of objects, (xi , yi) ∀i ∈ Ω where xi ∈ X ⊆ Rd and yi ∈ −1,+1.Aim: classify new objects by means of a hyperplane ωᵀx + b = 0.How to find ω and b? Solve the following optimization problem:

minω,b,ξ,z

12

d∑j=1

ω2j +

Cn

(n∑

i=1

ξi + 2n∑

i=1

zi

)yi(ω

ᵀxi + b) ≥ 1− ξi −Mzi ∀i = 1, . . . ,n0 ≤ ξi ≤ 2 ∀i = 1, . . . ,n

z ∈ 0,1n

ω ∈ Rd

b ∈ R

where ξ is the vector of deviation/penalty variables, z are binaryvariables identifying misclassification, and C is the tradeoff parameter.If zi = 1 object i is misclassified out of the margin.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 11 / 62

Page 20: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Support vector machines with the ramp loss

D. Liu, Y. Shi, Y. Tian, X. Huang. Ramp loss least squares support vector machine.Journal of Computational Science, 14, pp. 61–68, 2016.P. Belotti, P. Bonami, M. Fischetti, A. Lodi, M. Monaci, A. Nogales-Gómez, D.Salvagnin. On handling indicator constraints in mixed integer programming.Computational Optimization and Applications: 65(3), pp. 545–566, 2016.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 12 / 62

Page 21: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 13 / 62

Page 22: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 14 / 62

Page 23: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem: Motivation

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 15 / 62

Page 24: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem: Motivation

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 15 / 62

Page 25: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem: Motivation

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 15 / 62

Page 26: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem: Motivation

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 15 / 62

Page 27: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling Problem: Motivation

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 15 / 62

Page 28: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Pooling problem: CitationsHaverly, Studies of the behaviour of recursion for the poolingproblem, ACM SIGMAP Bulletin, 1978Adhya, Tawarmalani, Sahinidis, A Lagrangian approach to thepooling problem, Ind. Eng. Chem., 1999Audet et al., Pooling Problem: Alternate Formulations andSolution Methods, Manag. Sci., 2004Liberti, Pantelides, An exact reformulation algorithm for largenonconvex NLPs involving bilinear terms, JOGO, 2006Misener, Floudas, Advances for the pooling problem: modeling,global optimization, and computational studies,Appl. Comput. Math., 2009D’Ambrosio, Linderoth, Luedtke, Valid inequalities for the poolingproblem with binary variables, IPCO, 2011Tawarmalani and Sahinidis. Convexification and globaloptimization in continuous and mixed-integer nonlinearprogramming: theory, algorithms, software, and applications, Ch.9. Kluwer Academic Publishers, 2002.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 16 / 62

Page 29: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 17 / 62

Page 30: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Mathematical Programming

(MINLP)

min f (x , y)

gi(x , y) ≤ 0 ∀i = 1, . . . ,mx ∈ Xy ∈ Y

where f (x , y) : Rn → R, gi(x , y) : Rn → R ∀i = 1, . . . ,m, X ⊆ Rn1

Y ⊆ Nn2 and n = n1 + n2.

Hypothesis: f and g are twice continuously differentiable functions.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 18 / 62

Page 31: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Mathematical Programming

(MINLP)

min f (x , y)

gi(x , y) ≤ 0 ∀i = 1, . . . ,mx ∈ Xy ∈ Y

where f (x , y) : Rn → R, gi(x , y) : Rn → R ∀i = 1, . . . ,m, X ⊆ Rn1

Y ⊆ Nn2 and n = n1 + n2.

Hypothesis: f and g are twice continuously differentiable functions.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 18 / 62

Page 32: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Main optimization problem classes

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 19 / 62

Page 33: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 20 / 62

Page 34: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Complexity

Theorem [Jeroslow, 1973]The problem of minimizing a linear form over quadratic constraints ininteger variables is not computable by a recursive function.

Theorem [De Loera et al., 2006]The problem of minimizing a linear function over polynomialconstraints in at most 10 integer variables is not computable by arecursive function.

Solvable if we addxL

j ≤ xj ≤ xUj ∀j = 1, . . . ,n1 and

yLj ≤ yj ≤ yU

j ∀j = 1, . . . ,n2

to (MINLP).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 21 / 62

Page 35: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Complexity

Theorem [Jeroslow, 1973]The problem of minimizing a linear form over quadratic constraints ininteger variables is not computable by a recursive function.

Theorem [De Loera et al., 2006]The problem of minimizing a linear function over polynomialconstraints in at most 10 integer variables is not computable by arecursive function.

Solvable if we addxL

j ≤ xj ≤ xUj ∀j = 1, . . . ,n1 and

yLj ≤ yj ≤ yU

j ∀j = 1, . . . ,n2

to (MINLP).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 21 / 62

Page 36: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Complexity

Theorem [Jeroslow, 1973]The problem of minimizing a linear form over quadratic constraints ininteger variables is not computable by a recursive function.

Theorem [De Loera et al., 2006]The problem of minimizing a linear function over polynomialconstraints in at most 10 integer variables is not computable by arecursive function.

Solvable if we addxL

j ≤ xj ≤ xUj ∀j = 1, . . . ,n1 and

yLj ≤ yj ≤ yU

j ∀j = 1, . . . ,n2

to (MINLP).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 21 / 62

Page 37: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

References

R.G. Jeroslow, There Cannot be any Algorithm for IntegerProgramming with Quadratic Constraints, Journal OperationsResearch, 21 (1), pp. 221–224, 1973.J. A. De Loera, R. Hemmecke, M. Köppe, R. Weismantel, Integerpolynomial optimization in fixed dimension, Mathematics ofOperations Research, 31 (1), pp. 147–153, 2006.A. Del Pia, S.S. Dey, M. Molinaro, Mixed-integer quadraticprogramming is in NP, Mathematical Programming A, 162(1),pp. 225–240, 2017.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 22 / 62

Page 38: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 23 / 62

Page 39: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 24 / 62

Page 40: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 24 / 62

Page 41: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 24 / 62

Page 42: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Exact reformulations: example 1

min y21 + y2

2

10y1 + 5y2 ≤ 11y1 ∈ 0,1y2 ∈ 0,1

is equivalent to

min y1 + y2

10y1 + 5y2 ≤ 11y1 ∈ 0,1y2 ∈ 0,1

or

min w1 + w2

w1(= y21 ) = y1

w2(= y22 ) = y2

10y1 + 5y2 ≤ 11y1 ∈ 0,1y2 ∈ 0,1

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 25 / 62

Page 43: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Exact reformulations: example 2

xy when y is binaryIf ∃ bilinear term xy where x ∈ [0,1], y ∈ 0,1We can construct an exact reformulation:

Replace each term xy by an added variable wAdjoin Fortet’s reformulation constraints:

w ≥ 0w ≥ x + y − 1w ≤ xw ≤ y

Get a MILP reformulationSolve reformulation using CPLEX: more effective than solvingMINLP

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 26 / 62

Page 44: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

“Proof”

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 27 / 62

Page 45: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

“Proof”

w ≥ 0w ≥ x + y − 1w ≤ xw ≤ y

y = 0

w ≥ 0w ≥ x − 1w ≤ 0w ≤ x

w = 0

y = 1

w ≥ 0w ≥ xw ≤ 1w ≤ x

w = x

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 28 / 62

Page 46: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

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 , Z = Y ,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 29 / 62

Page 47: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Relaxations: example

x1x2 when x1, x2 continuousGet bilinear term x1x2 where x1 ∈ [xL

1 , xU1 ], x2 ∈ [xL

2 , xU2 ]

We can construct a relaxation:Replace each term x1x2 by an added variable wAdjoin following constraints:

w ≥ xL1 x2 + xL

2 x1 − xL1 xL

2

w ≥ xU1 x2 + xU

2 x1 − xU1 xU

2

w ≤ xU1 x2 + xL

2 x1 − xU1 xL

2

w ≤ xL1 x2 + xU

2 x1 − xL1 xU

2

These are called McCormick’s envelopesGet an LP relaxation (solvable in polynomial time)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 30 / 62

Page 48: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

References & Software

Fortet, Applications de l’algèbre de Boole en rechercheopérationelle, Revue Française de Recherche Opérationelle, 4,pp. 251–259, 1960.McCormick, Computability of global solutions to factorablenonconvex programs: Part I — Convex underestimating problems,Mathematical Programming, 1976.Liberti, Reformulations in Mathematical Programming: definitionsand systematics, RAIRO-RO, 2009.Liberti, Cafieri, Tarissan, Reformulations in MathematicalProgramming: a computational approach, in Abraham et al.(eds.), Foundations of Comput. Intel., 2009ROSE (https://projects.coin-or.org/ROSE)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 31 / 62

Page 49: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 32 / 62

Page 50: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

What is a convex MINLP?

Convex Mixed Integer NonLinear Programming (MINLP).

min f (x , y)

g(x , y) ≤ 0x ∈ X = x | x ∈ Rn1 ,Dx ≤ d , xL ≤ x ≤ xUy ∈ Y = y | y ∈ Zn2 ,Ay ≤ a, yL ≤ y ≤ yU

with f (x , y) : Rn1+n2 → R and g(x , y) : Rn1+n2 → Rm are* continuous

* twice differentiable* convex

functions.Local optima are also global optima .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 33 / 62

Page 51: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

What is a convex MINLP?

Convex Mixed Integer NonLinear Programming (MINLP).

min f (x , y)

g(x , y) ≤ 0x ∈ X = x | x ∈ Rn1 ,Dx ≤ d , xL ≤ x ≤ xUy ∈ Y = y | y ∈ Zn2 ,Ay ≤ a, yL ≤ y ≤ yU

with f (x , y) : Rn1+n2 → R and g(x , y) : Rn1+n2 → Rm are* continuous* twice differentiable

* convexfunctions.

Local optima are also global optima .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 33 / 62

Page 52: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

What is a convex MINLP?

Convex Mixed Integer NonLinear Programming (MINLP).

min f (x , y)

g(x , y) ≤ 0x ∈ X = x | x ∈ Rn1 ,Dx ≤ d , xL ≤ x ≤ xUy ∈ Y = y | y ∈ Zn2 ,Ay ≤ a, yL ≤ y ≤ yU

with f (x , y) : Rn1+n2 → R and g(x , y) : Rn1+n2 → Rm are* continuous* twice differentiable* convex

functions.

Local optima are also global optima .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 33 / 62

Page 53: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

What is a convex MINLP?

Convex Mixed Integer NonLinear Programming (MINLP).

min f (x , y)

g(x , y) ≤ 0x ∈ X = x | x ∈ Rn1 ,Dx ≤ d , xL ≤ x ≤ xUy ∈ Y = y | y ∈ Zn2 ,Ay ≤ a, yL ≤ y ≤ yU

with f (x , y) : Rn1+n2 → R and g(x , y) : Rn1+n2 → Rm are* continuous* twice differentiable* convex

functions.Local optima are also global optima .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 33 / 62

Page 54: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

“Basic” subproblemswe can solve “well”

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 34 / 62

Page 55: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

NLP relaxation

min f (x , y)

g(x , y) ≤ 0x ∈ Xy ∈ y | Ay ≤ ayj ≤ αk

j j ∈ 1,2, . . . ,n2

yj ≥ βkj j ∈ 1,2, . . . ,n2

k : current step of a Branch-and-Bound procedure;αk : current lower bound on y (αk ≥ yL);βk : current upper bound on y (βk ≤ yU ).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 35 / 62

Page 56: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

NLP restriction and Feasibility subproblem

NLP restriction for a fixed yk :

min f (x , yk )

g(x , yk ) ≤ 0x ∈ X .

Feasibility subproblem for a fixed yk :

min ug(x , yk ) ≤ u

x ∈ Xu ∈ R+.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 36 / 62

Page 57: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

NLP restriction and Feasibility subproblem

NLP restriction for a fixed yk :

min f (x , yk )

g(x , yk ) ≤ 0x ∈ X .

Feasibility subproblem for a fixed yk :

min ug(x , yk ) ≤ u

x ∈ Xu ∈ R+.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 36 / 62

Page 58: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MILP relaxation

min γ

f (xk , yk ) +∇f (xk , yk )T(

x − xk

y − yk

)≤ γ ∀k

gi(xk , yk ) +∇gi(xk , yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ Xy ∈ Y .

where Ik ⊆ 1,2, . . . ,m.

Two “classical” choices:Ik = 1,2, . . . ,mIk = i | g(xk , yk ) > 0,1 ≤ i ≤ m

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 37 / 62

Page 59: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MILP relaxation

min γ

f (xk , yk ) +∇f (xk , yk )T(

x − xk

y − yk

)≤ γ ∀k

gi(xk , yk ) +∇gi(xk , yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ Xy ∈ Y .

where Ik ⊆ 1,2, . . . ,m. Two “classical” choices:Ik = 1,2, . . . ,m

Ik = i | g(xk , yk ) > 0,1 ≤ i ≤ m

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 37 / 62

Page 60: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MILP relaxation

min γ

f (xk , yk ) +∇f (xk , yk )T(

x − xk

y − yk

)≤ γ ∀k

gi(xk , yk ) +∇gi(xk , yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ Xy ∈ Y .

where Ik ⊆ 1,2, . . . ,m. Two “classical” choices:Ik = 1,2, . . . ,mIk = i | g(xk , yk ) > 0,1 ≤ i ≤ m

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 37 / 62

Page 61: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 38 / 62

Page 62: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).

Outer-Approximation (OA).Generalized Benders Decomposition (GBD).Extended Cutting Plane (ECP).LP/NLP-based Branch-and-Bound (QG).Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 63: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).Outer-Approximation (OA).

Generalized Benders Decomposition (GBD).Extended Cutting Plane (ECP).LP/NLP-based Branch-and-Bound (QG).Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 64: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).Outer-Approximation (OA).Generalized Benders Decomposition (GBD).

Extended Cutting Plane (ECP).LP/NLP-based Branch-and-Bound (QG).Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 65: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).Outer-Approximation (OA).Generalized Benders Decomposition (GBD).Extended Cutting Plane (ECP).

LP/NLP-based Branch-and-Bound (QG).Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 66: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).Outer-Approximation (OA).Generalized Benders Decomposition (GBD).Extended Cutting Plane (ECP).LP/NLP-based Branch-and-Bound (QG).

Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 67: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Algorithms

Branch-and-Bound (BB).Outer-Approximation (OA).Generalized Benders Decomposition (GBD).Extended Cutting Plane (ECP).LP/NLP-based Branch-and-Bound (QG).Hybrid Algorithms (Hyb).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 39 / 62

Page 68: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.

1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 69: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.

2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 70: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do

3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 71: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.

4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 72: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).

5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 73: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if

8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 74: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then

9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 75: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).

10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 76: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.

11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 77: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.

13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 78: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 79: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).

Fathoming is performed when:The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 80: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).

The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 81: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.

The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 82: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)Gupta and Ravindran, 1985. Link BB for MILPs.1: f∗ = +∞, Π = P0, LB(P0) = −∞ where P0 = NLP relaxation.2: while Π 6= ∅ do3: Choose the current subproblem P ∈ Π, Π = Π \ P.4: Solve P obtaining (x , y).5: if P infeasible ∨ f (x , y) ≥ f∗ then6: break7: end if8: if y ∈ Zn2 then9: f∗ = f (x , y), (x∗, y∗) = (x , y).10: Update Π potentially fathoming subproblems.11: else12: Take a fractional value yj and obtain two subproblems P1 = P with α1

j = byjc andP2 = P with β2

j = byjc+ 1.13: LB(P1) = LB(P2) = f (x , y).14: Π = Π

⋃P1,P2.

15: end if16: end while17: return (x∗, y∗).Fathoming is performed when:

The subproblem solution is MINLP feasible (f∗).The subproblem is infeasible.The subproblem Pk has LB(Pk ) ≥ f∗.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 40 / 62

Page 83: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 84: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 85: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 86: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 87: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26

3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 88: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 89: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 90: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 91: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 92: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 93: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 94: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 95: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 96: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 97: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8

f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 98: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Branch-and-Bound (BB)

0

LB = 21

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

4 LB = 25

HHHj

y2 = 1 y2 = 0

5

LB = 30

@@

6 LB=25

HHHj

y3 ≤ 2 y3 ≥ 3

7

LB = 26

@@

8f∗=25

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 41 / 62

Page 99: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

Duran and Grossmann, 1986.

min γ

f (xk, yk ) +∇f (xk

, yk )T(

x − xk

y − yk

)≤ γ ∀k

gi (xk, yk ) +∇gi (xk

, yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ X

y ∈ Y .

Ik = 1,2, . . . ,m ∀k = 1, . . . ,K .NB. The linearization constraints of MILP relaxation are not valid fornon-convex MINLPs.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 42 / 62

Page 100: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

Duran and Grossmann, 1986.

min γ

f (xk, yk ) +∇f (xk

, yk )T(

x − xk

y − yk

)≤ γ ∀k

gi (xk, yk ) +∇gi (xk

, yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ X

y ∈ Y .

Ik = 1,2, . . . ,m ∀k = 1, . . . ,K .NB. The linearization constraints of MILP relaxation are not valid fornon-convex MINLPs.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 42 / 62

Page 101: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

Duran and Grossmann, 1986.

min γ

f (xk, yk ) +∇f (xk

, yk )T(

x − xk

y − yk

)≤ γ ∀k

gi (xk, yk ) +∇gi (xk

, yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ X

y ∈ Y .

Ik = 1,2, . . . ,m ∀k = 1, . . . ,K .

NB. The linearization constraints of MILP relaxation are not valid fornon-convex MINLPs.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 42 / 62

Page 102: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

Duran and Grossmann, 1986.

min γ

f (xk, yk ) +∇f (xk

, yk )T(

x − xk

y − yk

)≤ γ ∀k

gi (xk, yk ) +∇gi (xk

, yk )T(

x − xk

y − yk

)≤ 0 ∀k ∀i ∈ Ik

x ∈ X

y ∈ Y .

Ik = 1,2, . . . ,m ∀k = 1, . . . ,K .NB. The linearization constraints of MILP relaxation are not valid fornon-convex MINLPs.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 42 / 62

Page 103: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1,

define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 104: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation,

f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 105: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞,

LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 106: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.

2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 107: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.

4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 108: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .

5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 109: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then

6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 110: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .

7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 111: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 112: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.

13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 113: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.

14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 114: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outer-Approximation (OA)

1: K = 1, define an initial MILP relaxation, f ∗ = +∞, LB= −∞.2: while f ∗ 6= LB do3: Solve the current MILP relaxation (obtaining (xK , yK )) and

update LB.4: Solve the current NLP restriction for yK .5: if NLP restriction for yK infeasible then6: Solve the infeasibility subproblem for yK .7: else8: if f (xK , yK ) < f ∗ then9: f ∗ = f (xK , yK ), (x∗, y∗) = (xK , yK ).

10: end if11: end if12: Generate linearization cuts, update MILP relax.13: K = K + 1.14: end while15: return (x∗, y∗)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 43 / 62

Page 115: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.

Similar to OA, but with a different MILP relaxation, i.e.,MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 116: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 117: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)

GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 118: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraints

Same use of NLP fix and NLP feasibility

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 119: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 120: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

PropositionGiven the same set of K subproblems, the LB provided by the MILPrelaxation of OA is ≥ of the one provided by the MILP relaxation ofGDB.

Proof.(Sketch of) It can be shown that the constraints of GDB MILPrelaxation are surrogate of the ones of OA MILP relaxation (see,Quesada and Grossmann, 1992).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 121: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

PropositionGiven the same set of K subproblems, the LB provided by the MILPrelaxation of OA is ≥ of the one provided by the MILP relaxation ofGDB.

Proof.(Sketch of) It can be shown that the constraints of GDB MILPrelaxation are surrogate of the ones of OA MILP relaxation (see,Quesada and Grossmann, 1992).

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 122: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Generalized Benders Decomposition (GBD)

Geoffrion, 1972.Similar to OA, but with a different MILP relaxation, i.e.,

MILP does not contain x variables (Projection in the y -space)GBD constraints are aggragation of OA constraintsSame use of NLP fix and NLP feasibility

Example of cut in the infeasible case:

m∑i=1

λki

(gi(xk , yk ) +∇gi(xk , yk )T ( y − yk

))≤ 0 ∀k ∀i ∈ Ik

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 44 / 62

Page 123: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 124: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.

2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 125: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).

4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 126: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then

5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 127: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).

6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 128: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.

8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 129: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Extended Cutting Plane (ECP)

Westerlund and Pettersson, 1995.

1: K = 1, obtain an initial MILP relaxation.2: while do3: Solve the MILP relaxation obtaining (xK , yK ).4: if no constraint is violated by (xK , yK ) then5: return (xK , yK ) (optimal solution).6: else7: Generate (some) new linearization constraints from (xK , yK )

and update MILP relaxation.8: end if9: K = K + 1.

10: end whileMore iterations needed wrt OA.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 45 / 62

Page 130: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.

2: Solve the MILP relaxation through BB for MILP, but, anytime aMILP feasible solution is found

Solve NLP restriction.Generate new linearization constraints.Update open MILP relaxation subproblems.

Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 131: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.2: Solve the MILP relaxation through BB for MILP, but, anytime a

MILP feasible solution is found

Solve NLP restriction.Generate new linearization constraints.Update open MILP relaxation subproblems.

Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 132: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.2: Solve the MILP relaxation through BB for MILP, but, anytime a

MILP feasible solution is foundSolve NLP restriction.

Generate new linearization constraints.Update open MILP relaxation subproblems.

Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 133: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.2: Solve the MILP relaxation through BB for MILP, but, anytime a

MILP feasible solution is foundSolve NLP restriction.Generate new linearization constraints.

Update open MILP relaxation subproblems.Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 134: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.2: Solve the MILP relaxation through BB for MILP, but, anytime a

MILP feasible solution is foundSolve NLP restriction.Generate new linearization constraints.Update open MILP relaxation subproblems.

Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 135: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

Quesada and Grossmann, 1992.

1: Obtain an initial MILP relaxation.2: Solve the MILP relaxation through BB for MILP, but, anytime a

MILP feasible solution is foundSolve NLP restriction.Generate new linearization constraints.Update open MILP relaxation subproblems.

Link OA, but only 1 MILP relaxation is solved, and updated in the treesearch.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 46 / 62

Page 136: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 137: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 138: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 139: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 140: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21

f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 141: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 142: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 143: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 144: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 145: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 20

HHHj

y2 = 1 y2 = 0

2

f∗ = 21f∗ = 26

3

f∗ = 22∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 47 / 62

Page 146: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Hybrid Algorithms (Hyb)

For example, Bonami et al., 2008 (BONMIN).

Very similar to Quesada and Grossmann, 1992, but NLP solved notonly when the node is integer feasible but also, for example, any 10nodes.

Pros : more “nonlinear” information added to the MILP relaxation.Cons : More NLP solved.

Alternative,

Abhishek et al., 2010 (FILMINT).Very similar to Quesada and Grossmann, 1992, but add linearizationcuts not only when the node is integer feasible (different strategies).Pros : more “nonlinear” information added to the MILP relaxation.Cons : MILP relaxation more difficult to solve.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 62

Page 147: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Hybrid Algorithms (Hyb)

For example, Bonami et al., 2008 (BONMIN).

Very similar to Quesada and Grossmann, 1992, but NLP solved notonly when the node is integer feasible but also, for example, any 10nodes.

Pros : more “nonlinear” information added to the MILP relaxation.

Cons : More NLP solved.

Alternative,

Abhishek et al., 2010 (FILMINT).Very similar to Quesada and Grossmann, 1992, but add linearizationcuts not only when the node is integer feasible (different strategies).Pros : more “nonlinear” information added to the MILP relaxation.Cons : MILP relaxation more difficult to solve.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 62

Page 148: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Hybrid Algorithms (Hyb)

For example, Bonami et al., 2008 (BONMIN).

Very similar to Quesada and Grossmann, 1992, but NLP solved notonly when the node is integer feasible but also, for example, any 10nodes.

Pros : more “nonlinear” information added to the MILP relaxation.Cons : More NLP solved.

Alternative,

Abhishek et al., 2010 (FILMINT).Very similar to Quesada and Grossmann, 1992, but add linearizationcuts not only when the node is integer feasible (different strategies).

Pros : more “nonlinear” information added to the MILP relaxation.Cons : MILP relaxation more difficult to solve.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 62

Page 149: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Hybrid Algorithms (Hyb)

For example, Bonami et al., 2008 (BONMIN).

Very similar to Quesada and Grossmann, 1992, but NLP solved notonly when the node is integer feasible but also, for example, any 10nodes.

Pros : more “nonlinear” information added to the MILP relaxation.Cons : More NLP solved.

Alternative,

Abhishek et al., 2010 (FILMINT).Very similar to Quesada and Grossmann, 1992, but add linearizationcuts not only when the node is integer feasible (different strategies).Pros : more “nonlinear” information added to the MILP relaxation.

Cons : MILP relaxation more difficult to solve.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 62

Page 150: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Hybrid Algorithms (Hyb)

For example, Bonami et al., 2008 (BONMIN).

Very similar to Quesada and Grossmann, 1992, but NLP solved notonly when the node is integer feasible but also, for example, any 10nodes.

Pros : more “nonlinear” information added to the MILP relaxation.Cons : More NLP solved.

Alternative,

Abhishek et al., 2010 (FILMINT).Very similar to Quesada and Grossmann, 1992, but add linearizationcuts not only when the node is integer feasible (different strategies).Pros : more “nonlinear” information added to the MILP relaxation.Cons : MILP relaxation more difficult to solve.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 48 / 62

Page 151: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 152: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 153: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 154: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 155: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26

3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 156: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 157: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 158: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

LP/NLP-based Branch-and-Bound (QG)

E.g., Bonami et al., 2008 with NLP every 2 nodes.

0

LB = 18

HHHHj

y1 = 0y1 = 1

1LB = 24

HHHj

y2 = 1 y2 = 0

2

f∗ = 26 3∅

@@

. . .

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 49 / 62

Page 159: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Number of subproblems solved

# MILP # NLP noteBB 0 # nodesOA # iterations # iterations

GBD # iterations # iterations 1

ECP # iterations 0QG 1 1 + # explored MILP solutions

Hyb ALL10 1 1 + # explored MILP solutions 2

Hyb CMUIBM 1 [# explored MILP solutions,# nodes]

Table: Number of MILP and NLP subproblems solved by each algorithm.

1weaker lower bound w.r.t. OA, MILP with less constraints than the one of OA2stronger lower bound w.r.t. QG ,MILP with more constraints than the one of QG

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 50 / 62

Page 160: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

References

C. D’Ambrosio, A. Lodi. Mixed Integer Non-Linear ProgrammingTools: a Practical Overview, 4OR: A Quarterly Journal ofOperations Research, 9 (4), pp. 329-349, 2011.P. Bonami, M. Kilinç, J. Linderoth, Algorithms and software forconvex mixed integer nonlinear programs. In: Lee J, Leyffer S(eds) Mixed integer nonlinear programming. Springer, pp.1–39, 2012.C. D’Ambrosio, A. Lodi. Mixed integer nonlinear programmingtools: an updated practical overview, Annals of OperationsResearch, 204, pp. 301–320, 2013.P. Belotti, C. Kirches, S. Leyffer, J. Linderoth, J. Luedtke, A.Mahajan, Mixed-integer nonlinear optimization. Acta Numerica,22, pp. 1–131, 2013.J. Kronqvist, D. E. Bernal, A. Lundell, I. E. Grossmann, A reviewand comparison of solvers for convex MINLP, Optimization andEngineering, to appear.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 51 / 62

Page 161: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 52 / 62

Page 162: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Reminder: Convex functions and some properties

Properties:∀x1, x2 ∈ X ,∀t ∈ [0,1] : f (tx1 +(1− t)x2) ≤ tf (x1)+(1− t)f (x2).

A differentiable function is convex if thetangent/first-order-taylor-series approximation is globally anunder-estimator of f (x), i.e., f (x) ≥ f (y) + f ′(y)(x − y) (with x andy in domain of f (x))A twice continuously differentiable function of several variables isconvex on a convex set if and only if its Hessian matrix of secondpartial derivatives is positive semidefinite on the interior of theconvex setAny local minimum of a convex function is also a global minimum.A strictly convex function will have at most one global minimumIf f is concave, −f is convex

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 62

Page 163: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Reminder: Convex functions and some properties

Properties:∀x1, x2 ∈ X ,∀t ∈ [0,1] : f (tx1 +(1− t)x2) ≤ tf (x1)+(1− t)f (x2).A differentiable function is convex if thetangent/first-order-taylor-series approximation is globally anunder-estimator of f (x), i.e., f (x) ≥ f (y) + f ′(y)(x − y) (with x andy in domain of f (x))

A twice continuously differentiable function of several variables isconvex on a convex set if and only if its Hessian matrix of secondpartial derivatives is positive semidefinite on the interior of theconvex setAny local minimum of a convex function is also a global minimum.A strictly convex function will have at most one global minimumIf f is concave, −f is convex

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 62

Page 164: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Reminder: Convex functions and some properties

Properties:∀x1, x2 ∈ X ,∀t ∈ [0,1] : f (tx1 +(1− t)x2) ≤ tf (x1)+(1− t)f (x2).A differentiable function is convex if thetangent/first-order-taylor-series approximation is globally anunder-estimator of f (x), i.e., f (x) ≥ f (y) + f ′(y)(x − y) (with x andy in domain of f (x))A twice continuously differentiable function of several variables isconvex on a convex set if and only if its Hessian matrix of secondpartial derivatives is positive semidefinite on the interior of theconvex set

Any local minimum of a convex function is also a global minimum.A strictly convex function will have at most one global minimumIf f is concave, −f is convex

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 62

Page 165: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Reminder: Convex functions and some properties

Properties:∀x1, x2 ∈ X ,∀t ∈ [0,1] : f (tx1 +(1− t)x2) ≤ tf (x1)+(1− t)f (x2).A differentiable function is convex if thetangent/first-order-taylor-series approximation is globally anunder-estimator of f (x), i.e., f (x) ≥ f (y) + f ′(y)(x − y) (with x andy in domain of f (x))A twice continuously differentiable function of several variables isconvex on a convex set if and only if its Hessian matrix of secondpartial derivatives is positive semidefinite on the interior of theconvex setAny local minimum of a convex function is also a global minimum.A strictly convex function will have at most one global minimum

If f is concave, −f is convex

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 62

Page 166: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Reminder: Convex functions and some properties

Properties:∀x1, x2 ∈ X ,∀t ∈ [0,1] : f (tx1 +(1− t)x2) ≤ tf (x1)+(1− t)f (x2).A differentiable function is convex if thetangent/first-order-taylor-series approximation is globally anunder-estimator of f (x), i.e., f (x) ≥ f (y) + f ′(y)(x − y) (with x andy in domain of f (x))A twice continuously differentiable function of several variables isconvex on a convex set if and only if its Hessian matrix of secondpartial derivatives is positive semidefinite on the interior of theconvex setAny local minimum of a convex function is also a global minimum.A strictly convex function will have at most one global minimumIf f is concave, −f is convex

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 53 / 62

Page 167: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)

Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 168: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ R

Power: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 169: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0

Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 170: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1

Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 171: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 172: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)

Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 173: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1

Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 174: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Evidently convex terms

Simple convex functions:Affine: ax + b over R for any a,b ∈ R (concave too)Exponential: eax over R for any a ∈ RPower: xp over (0,+∞) for p ≥ 1 or p ≤ 0Powers of absolute value: |x |p over R for p ≥ 1Negative entropy: x ln x over (0,+∞)

Simple concave functions:Affine: ax + b over R for any a,b ∈ R (convex too)Power: xp over (0,+∞) for 0 ≤ p ≤ 1Logarithm: ln x over (0,+∞)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 54 / 62

Page 175: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λf

Sum, e.g., f1 + f2Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convexMinimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 176: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λfSum, e.g., f1 + f2

Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convexMinimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 177: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λfSum, e.g., f1 + f2Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convexMinimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 178: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λfSum, e.g., f1 + f2Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)

Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convexMinimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 179: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λfSum, e.g., f1 + f2Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convex

Minimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 180: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Operations Preserving Convexity

Positive Scaling, e.g., λfSum, e.g., f1 + f2Composition with affine function, e.g., f (Ax + b)

Pointwise maximum and supremum, e.g.,maxf1(x), f2(x), . . . , fm(x)Composition, e.g., f2(f1(x)) if f1 convex and f2 nondecreasing andconvex or f1 concave and f2 nonincreasing and convexMinimization, e.g., infz∈C f (x , z)

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 55 / 62

Page 181: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Outline

1 Motivating Applications2 Mathematical Programming Formulations3 Complexity4 Reformulations and Relaxations5 What is a convex MINLP?6 Convex MINLP Algorithms

Branch-and-BoundOuter-ApproximationGeneralized Benders DecompositionExtended Cutting PlaneLP/NLP-based Branch-and-BoundHybrid Algorithms

7 Convex functions and properties8 Practical Tools

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 56 / 62

Page 182: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 183: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 184: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 185: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 186: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 187: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 188: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 189: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 190: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 191: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 192: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 193: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 194: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗).

Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 195: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors!

→ Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 196: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Convex MINLP Solvers

ALPHA-ECP: https://www.gams.com/latest/docs/S_ALPHAECP.html

AOA: https://www.aimms.com/english/developers/resources/solvers/aoa

BONMIN: https://projects.coin-or.org/Bonmin

DICOPT: https://www.gams.com/24.8/docs/solvers/dicopt/index.html

FilMINT: https://www.mcs.anl.gov/~leyffer/papers/fm.pdf

Juniper: https://www.github.com/lanl-ansi/juniper.jl

LAGO: https://projects.coin-or.org/LaGO

MINLPBB: https://www-unix.mcs.anl.gov/~leyffer/solvers.htm

MINOTAUR: https://wiki.mcs.anl.gov/minotaur

Muriqui: http://www.wendelmelo.net/software

Pavito: https://www.github.com/juliaopt/pavito.jl

SBB: https://www.gams.com/latest/docs/S_SBB.html

SHOT: https://github.com/coin-or/shot

...Need value of the function, its first and its second derivative at a givenpoint (x∗, y∗). Possible source of errors! → Modeling Languages !

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 57 / 62

Page 197: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Modeling Languages

Modeling languages, e.g., AMPL, GAMS, JUMP.

Example:

param pi := 3.142;param N;set VARS ordered := 1..N;param Umax default 100;param U j in VARS;param a j in VARS;param b j in VARS;param c j in VARS;param d j in VARS;param wVARS;param C;var x j in VARS >= 0, <= U[j], integer;

maximize Total_Profit:sum j in VARS c[j]/(1+b[j]*exp(-a[j]*(x[j]+d[j])));

subject to KP_constraint: sumj in VARS w[j]*x[j] <= C;

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 58 / 62

Page 198: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Modeling Languages

Modeling languages, e.g., AMPL, GAMS, JUMP.Example:

param pi := 3.142;param N;set VARS ordered := 1..N;param Umax default 100;param U j in VARS;param a j in VARS;param b j in VARS;param c j in VARS;param d j in VARS;param wVARS;param C;

var x j in VARS >= 0, <= U[j], integer;

maximize Total_Profit:sum j in VARS c[j]/(1+b[j]*exp(-a[j]*(x[j]+d[j])));

subject to KP_constraint: sumj in VARS w[j]*x[j] <= C;

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 58 / 62

Page 199: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Modeling Languages

Modeling languages, e.g., AMPL, GAMS, JUMP.Example:

param pi := 3.142;param N;set VARS ordered := 1..N;param Umax default 100;param U j in VARS;param a j in VARS;param b j in VARS;param c j in VARS;param d j in VARS;param wVARS;param C;var x j in VARS >= 0, <= U[j], integer;

maximize Total_Profit:sum j in VARS c[j]/(1+b[j]*exp(-a[j]*(x[j]+d[j])));

subject to KP_constraint: sumj in VARS w[j]*x[j] <= C;

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 58 / 62

Page 200: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Modeling Languages

Modeling languages, e.g., AMPL, GAMS, JUMP.Example:

param pi := 3.142;param N;set VARS ordered := 1..N;param Umax default 100;param U j in VARS;param a j in VARS;param b j in VARS;param c j in VARS;param d j in VARS;param wVARS;param C;var x j in VARS >= 0, <= U[j], integer;

maximize Total_Profit:sum j in VARS c[j]/(1+b[j]*exp(-a[j]*(x[j]+d[j])));

subject to KP_constraint: sumj in VARS w[j]*x[j] <= C;

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 58 / 62

Page 201: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Modeling Languages

Modeling languages, e.g., AMPL, GAMS, JUMP.Example:

param pi := 3.142;param N;set VARS ordered := 1..N;param Umax default 100;param U j in VARS;param a j in VARS;param b j in VARS;param c j in VARS;param d j in VARS;param wVARS;param C;var x j in VARS >= 0, <= U[j], integer;

maximize Total_Profit:sum j in VARS c[j]/(1+b[j]*exp(-a[j]*(x[j]+d[j])));

subject to KP_constraint: sumj in VARS w[j]*x[j] <= C;

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 58 / 62

Page 202: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Neos

NEOS: http://www.neos-server.org/neos/.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 59 / 62

Page 203: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Neos

NEOS: http://www.neos-server.org/neos/.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 59 / 62

Page 204: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MINLP Libraries

CMU/IBM: 23 different kind of MINLP problemshttp://www.minlp.org

MacMINLP: 53 instanceshttp://wiki.mcs.anl.gov/leyffer/index.php/MacMINLP

MINLPlib: 1626 instanceshttp://www.minlplib.org/

QPLIB: 367 instanceshttp://qplib.zib.de/

...

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 60 / 62

Page 205: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MINLP Libraries

CMU/IBM: 23 different kind of MINLP problemshttp://www.minlp.org

MacMINLP: 53 instanceshttp://wiki.mcs.anl.gov/leyffer/index.php/MacMINLP

MINLPlib: 1626 instanceshttp://www.minlplib.org/

QPLIB: 367 instanceshttp://qplib.zib.de/

...

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 60 / 62

Page 206: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MINLP Libraries

CMU/IBM: 23 different kind of MINLP problemshttp://www.minlp.org

MacMINLP: 53 instanceshttp://wiki.mcs.anl.gov/leyffer/index.php/MacMINLP

MINLPlib: 1626 instanceshttp://www.minlplib.org/

QPLIB: 367 instanceshttp://qplib.zib.de/

...

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 60 / 62

Page 207: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

MINLP Libraries

CMU/IBM: 23 different kind of MINLP problemshttp://www.minlp.org

MacMINLP: 53 instanceshttp://wiki.mcs.anl.gov/leyffer/index.php/MacMINLP

MINLPlib: 1626 instanceshttp://www.minlplib.org/

QPLIB: 367 instanceshttp://qplib.zib.de/

...

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 60 / 62

Page 208: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Recall...

MINLP can be theoretically an “undecidable” problem and it is inpractice much more difficult than MILP

When modeling a problem, do not forget to define simple boundson each variableExactly reformulate nonlinear term, if possibleSeveral tailored methods for convex MINLPs (not exact fornonconvex MINLPs)Identifying convexity is, in general, very difficult

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 61 / 62

Page 209: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Recall...

MINLP can be theoretically an “undecidable” problem and it is inpractice much more difficult than MILPWhen modeling a problem, do not forget to define simple boundson each variable

Exactly reformulate nonlinear term, if possibleSeveral tailored methods for convex MINLPs (not exact fornonconvex MINLPs)Identifying convexity is, in general, very difficult

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 61 / 62

Page 210: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Recall...

MINLP can be theoretically an “undecidable” problem and it is inpractice much more difficult than MILPWhen modeling a problem, do not forget to define simple boundson each variableExactly reformulate nonlinear term, if possible

Several tailored methods for convex MINLPs (not exact fornonconvex MINLPs)Identifying convexity is, in general, very difficult

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 61 / 62

Page 211: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Recall...

MINLP can be theoretically an “undecidable” problem and it is inpractice much more difficult than MILPWhen modeling a problem, do not forget to define simple boundson each variableExactly reformulate nonlinear term, if possibleSeveral tailored methods for convex MINLPs (not exact fornonconvex MINLPs)

Identifying convexity is, in general, very difficult

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 61 / 62

Page 212: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Recall...

MINLP can be theoretically an “undecidable” problem and it is inpractice much more difficult than MILPWhen modeling a problem, do not forget to define simple boundson each variableExactly reformulate nonlinear term, if possibleSeveral tailored methods for convex MINLPs (not exact fornonconvex MINLPs)Identifying convexity is, in general, very difficult

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 61 / 62

Page 213: Fundamentals of Theory and Practice of Mixed Integer Non ...dambrosio/... · optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and

Next lecture

In fact the great watershed in optimization isn’t betweenlinearity and nonlinearity, but convexity and nonconvexity.

R. T. Rockafellar. Lagrange multipliers and optimality. SIAM Review,35:183–238, 1993.

Claudia D’Ambrosio (CNRS & X) MINLP 21 February 2019 62 / 62