52
OptIntro 1 / 35 A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department of Automation and Systems Engineering Federal University of Santa Catarina October 2016

A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 1 / 35

A Brief Introduction to Mixed-Integer NonlinearProgramming (MINLP)

Eduardo Camponogara

Department of Automation and Systems EngineeringFederal University of Santa Catarina

October 2016

Page 2: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 2 / 35

Summary

Continuous Optimization

Mixed-Integer Optimization

Mixed-Integer Nonlinear Optimization

Global Optimization Strategy

Page 3: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 3 / 35

Continuous Optimization

Summary

Continuous Optimization

Mixed-Integer Optimization

Mixed-Integer Nonlinear Optimization

Global Optimization Strategy

Page 4: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 4 / 35

Continuous Optimization

Linear Programming

min cT x

s.t. : Ax ≤ b

x ≥ 0

Remarks:

I Solvable in polynomial-time.

I Efficient algorithms: SIMPLEX and primal-dual interior-pointmethod.

Page 5: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 4 / 35

Continuous Optimization

Linear Programming

min cT x

s.t. : Ax ≤ b

x ≥ 0

Remarks:

I Solvable in polynomial-time.

I Efficient algorithms: SIMPLEX and primal-dual interior-pointmethod.

Page 6: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 5 / 35

Continuous Optimization

Quadratic Programming

min xTQx + cT x

s.t. : Ax ≤ b

in which Q � 0.

Remarks:

I Solved efficiently with active-set and interior-point methods.

Page 7: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 5 / 35

Continuous Optimization

Quadratic Programming

min xTQx + cT x

s.t. : Ax ≤ b

in which Q � 0.

Remarks:

I Solved efficiently with active-set and interior-point methods.

Page 8: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 6 / 35

Continuous Optimization

Convex Optimization

min f0(x)

s.t. : Ax = b

fj(x) ≤ 0, j = 1, . . . ,m

in which fj : Rn → R, j = 0, . . . ,m, are convex functions.

Remarks:

I Solved efficiently with interior-point method and Newton’salgorithm.

Page 9: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 6 / 35

Continuous Optimization

Convex Optimization

min f0(x)

s.t. : Ax = b

fj(x) ≤ 0, j = 1, . . . ,m

in which fj : Rn → R, j = 0, . . . ,m, are convex functions.

Remarks:

I Solved efficiently with interior-point method and Newton’salgorithm.

Page 10: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 7 / 35

Continuous Optimization

Properties of Convex Programs

I Any local solution x induces a global minimum.

I Any solution that satisfies first-order KKT optimalityconditions is a local minimum, and therefore a globalminimum.

I Several classes of problems can be shown to be convex.

Page 11: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 8 / 35

Mixed-Integer Optimization

Summary

Continuous Optimization

Mixed-Integer Optimization

Mixed-Integer Nonlinear Optimization

Global Optimization Strategy

Page 12: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 9 / 35

Mixed-Integer Optimization

Mixed-Integer Linear Programming

min cTx x + cTy y

s.t. : Axx + Ayy ≤ b

x ≥ 0, y is integer

Remarks:

I NP-Hard problem.

I Can be solved in practice with branch-and-bound,branch-and-cut, and other strategies.

Page 13: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 9 / 35

Mixed-Integer Optimization

Mixed-Integer Linear Programming

min cTx x + cTy y

s.t. : Axx + Ayy ≤ b

x ≥ 0, y is integer

Remarks:

I NP-Hard problem.

I Can be solved in practice with branch-and-bound,branch-and-cut, and other strategies.

Page 14: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 10 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Programming (MICP)

min f0(x)

s.t. : Ax = b

fj(x) ≤ 0, j = 1, . . . ,m

in which x = (xC, xI) and xI is integer.

Page 15: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 11 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Optimization

Remarks:

I MILP and MICP are conceptually the same, in the sense that lowerbounds can be obtained in polynomial-time.

I If we relax the integrality constraint, MILP becomes an LP andMICP becomes a convex program, both of which can be efficientlycomputed.

Implications:

I Branch-and-bound can be applied to MICP, much like the way it isapplied to MILP.

I Of course, MICP will be much harder and the effectiveness willdepend on how fast bounds are computed.

Page 16: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 11 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Optimization

Remarks:

I MILP and MICP are conceptually the same, in the sense that lowerbounds can be obtained in polynomial-time.

I If we relax the integrality constraint, MILP becomes an LP andMICP becomes a convex program, both of which can be efficientlycomputed.

Implications:

I Branch-and-bound can be applied to MICP, much like the way it isapplied to MILP.

I Of course, MICP will be much harder and the effectiveness willdepend on how fast bounds are computed.

Page 17: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 12 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Optimization

Difficulties:

I For MILP, the dual Simplex algorithm provides hot startoptimization from infeasible solutions produced bybranch-and-bound.

I Introducing a bound on a variable renders the currentdictionary infeasible in the primal, but suboptimal in the dual.

I a constraint in the primal becomes a variable in the dual.

I Such hot start mechanisms are not generally available for convexproblems.

Page 18: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 12 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Optimization

Difficulties:

I For MILP, the dual Simplex algorithm provides hot startoptimization from infeasible solutions produced bybranch-and-bound.

I Introducing a bound on a variable renders the currentdictionary infeasible in the primal, but suboptimal in the dual.

I a constraint in the primal becomes a variable in the dual.

I Such hot start mechanisms are not generally available for convexproblems.

Page 19: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 13 / 35

Mixed-Integer Optimization

Mixed-Integer Convex Optimization

Much of the literature explores the problem structure:

I Bonmin is a general solver for MICP.

I CPLEX can handle Mixed-Integer Quadratically ConstrainedPrograms, in which the quadratic functions are convex.

Page 20: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 14 / 35

Mixed-Integer Nonlinear Optimization

Summary

Continuous Optimization

Mixed-Integer Optimization

Mixed-Integer Nonlinear Optimization

Global Optimization Strategy

Page 21: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 15 / 35

Mixed-Integer Nonlinear Optimization

Mixed-Integer Nonlinear Optimization

The general MINLP is a problem of the form:

min f (x)

s.t. : gj(x) ≤ 0, j = 1, . . . , p

hj(x) = 0, j = 1, . . . , q

in which x = (xC, xI) and xI is integer.

Remarks:

I Very hard problem, for which there does not exist general methods.

I Can be solved for particular problems, and particular sizes.

Page 22: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 15 / 35

Mixed-Integer Nonlinear Optimization

Mixed-Integer Nonlinear Optimization

The general MINLP is a problem of the form:

min f (x)

s.t. : gj(x) ≤ 0, j = 1, . . . , p

hj(x) = 0, j = 1, . . . , q

in which x = (xC, xI) and xI is integer.

Remarks:

I Very hard problem, for which there does not exist general methods.

I Can be solved for particular problems, and particular sizes.

Page 23: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 16 / 35

Mixed-Integer Nonlinear Optimization

Mixed-Integer Nonlinear Optimization

What will we do here?

I We address the general class in which the nonlinear terms arebilinear.

I For instance, x · y , x2, etc.

I Several applications are found in theory and practice.

Page 24: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 16 / 35

Mixed-Integer Nonlinear Optimization

Mixed-Integer Nonlinear Optimization

What will we do here?

I We address the general class in which the nonlinear terms arebilinear.

I For instance, x · y , x2, etc.

I Several applications are found in theory and practice.

Page 25: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 17 / 35

Mixed-Integer Nonlinear Optimization

Bilinear Optimization: Polynomials

I Polynomials can be converted into bilinear models.

I For instance,f (x1, x2, x3) = x21x2x3

can be converted to

f = w1,1 · w2,3

w1,1 = x21

w2,3 = x2x3

Page 26: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 18 / 35

Mixed-Integer Nonlinear Optimization

Bilinear Optimization: Blending

M

M

...

Page 27: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 19 / 35

Mixed-Integer Nonlinear Optimization

Bilinear Optimization: Blending

For stable operations, the ratio of the “qualities” are held constant:

qiq

=∆qi∆q⇐⇒ qi ·∆q = ∆qi · q

in which:

I q is the volume of the mixture in the tank.

I qi is the volume of a product i in the mixture.

I ∆q is the volume being pumped out.

I ∆qi is the volume of quality i being pumped out.

Page 28: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 19 / 35

Mixed-Integer Nonlinear Optimization

Bilinear Optimization: Blending

For stable operations, the ratio of the “qualities” are held constant:

qiq

=∆qi∆q⇐⇒ qi ·∆q = ∆qi · q

in which:

I q is the volume of the mixture in the tank.

I qi is the volume of a product i in the mixture.

I ∆q is the volume being pumped out.

I ∆qi is the volume of quality i being pumped out.

Page 29: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 20 / 35

Mixed-Integer Nonlinear Optimization

Bilinear Optimization: Modeling Trigonometric Functions

Polar coordinates,

x = r cos(θ)

y = r sin(θ)

can be represented in Cartesian form

x2 + y2 = r2

without the need of trigonometric functions.

Page 30: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 21 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

Consider the bilinear function

w = xy

and suppose that bounds are known:

xL ≤ x ≤ xU

yL ≤ y ≤ yU

Page 31: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 22 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

First we manipulate the bounds

x − xL ≥ 0 y − yL ≥ 0

xU − x ≥ 0 yU − y ≥ 0

Mulitplying the first of each bound, we obtain

(x − xL)(y − yL) ≥ 0 ⇐⇒ xy − xyL − yxL + xLyL ≥ 0

⇐⇒ w ≥ xyL + yxL − xLyL

which is a linear inequality.

Page 32: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 22 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

First we manipulate the bounds

x − xL ≥ 0 y − yL ≥ 0

xU − x ≥ 0 yU − y ≥ 0

Mulitplying the first of each bound, we obtain

(x − xL)(y − yL) ≥ 0 ⇐⇒ xy − xyL − yxL + xLyL ≥ 0

⇐⇒ w ≥ xyL + yxL − xLyL

which is a linear inequality.

Page 33: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 23 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

I The underestimators of the function are represented by:

w ≥ xLy + xyL − xLyL

w ≥ xUy + xyU − xUyU

I The overestimators of the function are represented by:

w ≤ xUy + xyL − xUyL

w ≤ xyU + xLy − xLyU

Page 34: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 23 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

I The underestimators of the function are represented by:

w ≥ xLy + xyL − xLyL

w ≥ xUy + xyU − xUyU

I The overestimators of the function are represented by:

w ≤ xUy + xyL − xUyL

w ≤ xyU + xLy − xLyU

Page 35: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 24 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

Page 36: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 25 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

What do we gain from McCormick Envelopes?

Consider an NLP with only bilinear terms.

I Replacing the bilinear terms with McCormick Envelopes convertsthe NLP into an LP.

I The LP solution gives us a lower bound.

I Any feasible solution gives us an upper bound.

Page 37: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 26 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

For an MINLP with only bilinear terms.

I Replacing the bilinear terms with McCormick Envelopesrenders MINLP an MILP.

I The MILP solution gives us a lower bound.

I Any feasible solution gives us an upper bound.

Page 38: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 27 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

What if we improve the bounds iteratively?

I We can produce a series of increasing lower bounds:

wL,k , k = 0, 1, . . .

I And a series of decreasing upper bounds: wU,k , k = 0, 1, . . .

so that:

wL,0 ≤ wL,1 ≤ · · · ≤ wL,k

wU,0 ≥ wU,1 ≥ · · · ≥ wU,k

and we stop when wU,k − wL,k ≤ ε.

Page 39: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 27 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

What if we improve the bounds iteratively?

I We can produce a series of increasing lower bounds:

wL,k , k = 0, 1, . . .

I And a series of decreasing upper bounds: wU,k , k = 0, 1, . . .

so that:

wL,0 ≤ wL,1 ≤ · · · ≤ wL,k

wU,0 ≥ wU,1 ≥ · · · ≥ wU,k

and we stop when wU,k − wL,k ≤ ε.

Page 40: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 27 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

What if we improve the bounds iteratively?

I We can produce a series of increasing lower bounds:

wL,k , k = 0, 1, . . .

I And a series of decreasing upper bounds: wU,k , k = 0, 1, . . .

so that:

wL,0 ≤ wL,1 ≤ · · · ≤ wL,k

wU,0 ≥ wU,1 ≥ · · · ≥ wU,k

and we stop when wU,k − wL,k ≤ ε.

Page 41: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 28 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

How can we improve the bounds using McCormick Envelopes?

I We can splice the domain of the variables and impose McCormickEnvelopes in each subdomain of the domain.

Page 42: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 28 / 35

Mixed-Integer Nonlinear Optimization

McCormick Envelopes

How can we improve the bounds using McCormick Envelopes?

I We can splice the domain of the variables and impose McCormickEnvelopes in each subdomain of the domain.

Page 43: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 29 / 35

Global Optimization Strategy

Summary

Continuous Optimization

Mixed-Integer Optimization

Mixed-Integer Nonlinear Optimization

Global Optimization Strategy

Page 44: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 30 / 35

Global Optimization Strategy

Problem Definition

min f0(x)

s.t. : fq(x) ≤ 0, q ∈ Q \ {0}

fq(x) =∑

(i ,j)∈BL

ai ,j ,qxixj + hq(x), q ∈ Q

xL ≤ x ≤ xU

x ∈ Rm

Page 45: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 31 / 35

Global Optimization Strategy

McCormick Envelopes

I In case of an NLP, an LP relaxation is derived by replacingeach bilinear term with a new variable:

wij = xi · xj

and adding four sets of constraints.

I In case of an MINLP, an MILP relaxation is derived.

This strategy is known as McCormick relaxation.

Page 46: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 31 / 35

Global Optimization Strategy

McCormick Envelopes

I In case of an NLP, an LP relaxation is derived by replacingeach bilinear term with a new variable:

wij = xi · xj

and adding four sets of constraints.

I In case of an MINLP, an MILP relaxation is derived.

This strategy is known as McCormick relaxation.

Page 47: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 32 / 35

Global Optimization Strategy

Piecewise McCormick Relaxation

In either case (NLP or MINLP), a tighter MILP relaxation can beobtained as follows:

I Partition the domain of one of the variables, let us say xj of thebilinear term into n disjoint regions.

I Add new binary variables to the formulation to select the optimalpartition xj .

This strategy is known as piecewise McCormick relaxation.

Page 48: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 32 / 35

Global Optimization Strategy

Piecewise McCormick Relaxation

In either case (NLP or MINLP), a tighter MILP relaxation can beobtained as follows:

I Partition the domain of one of the variables, let us say xj of thebilinear term into n disjoint regions.

I Add new binary variables to the formulation to select the optimalpartition xj .

This strategy is known as piecewise McCormick relaxation.

Page 49: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 33 / 35

Global Optimization Strategy

Piecewise McCormick Relaxation

I Let xLjn and xUjn be lower and upper bounds for xj in partition n.

I If the value of xj does belong to such a partition, then the binaryvariable yjn = 1 and the McCormick envelope hold.

I The piecewise McCormick relaxation can be formulated as aGeneralized Disjunctive Program (Raman and Grossmann, 1994).

I PR-GDP is tighter because the use of partition-dependent xLjn and

xUjn inside the disjunction, instead of the global bounds xLj and xUj .

Page 50: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 33 / 35

Global Optimization Strategy

Piecewise McCormick Relaxation

I Let xLjn and xUjn be lower and upper bounds for xj in partition n.

I If the value of xj does belong to such a partition, then the binaryvariable yjn = 1 and the McCormick envelope hold.

I The piecewise McCormick relaxation can be formulated as aGeneralized Disjunctive Program (Raman and Grossmann, 1994).

I PR-GDP is tighter because the use of partition-dependent xLjn and

xUjn inside the disjunction, instead of the global bounds xLj and xUj .

Page 51: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 34 / 35

Global Optimization Strategy

Formulation

min zR = f0(x) =∑

(i,j)∈BL

aij0wij + h0(x)

s.t. : fq(x) =∑

(i,j)∈BL

aijqwij + hq(x) ≤ 0, q ∈ Q \ {0}

∀j , (i , j) ∈ BL :

N∨n=1

yjnwij ≥ xL

jnxi + xjxLi − xL

jnxLi

wij ≥ xUjnxi + xjx

Ui − xU

jnxUi

wij ≤ xUjnxi + xjx

Li − xU

jnxLi

wij ≤ xjnxUi + xL

jnxi − xLjnx

Ui

∀i , (i , j) ∈ BLxLjn ≤ xj ≤ xU

jn

Page 52: A Brief Introduction to Mixed-Integer Nonlinear Programming … · 2016-10-12 · A Brief Introduction to Mixed-Integer Nonlinear Programming (MINLP) Eduardo Camponogara Department

OptIntro 35 / 35

Global Optimization Strategy

A Brief Introduction to MINLP Optimization

I End!

I Thank you for your attention.