Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John...

111
Constraint Programming and Mathematical Programming Tutorial John Hooker Carnegie Mellon University CP02 September 2002

Transcript of Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John...

Page 1: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Constraint Programming and Mathematical Programming

Tutorial

John HookerCarnegie Mellon University

CP02September 2002

Page 2: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

This tutorial is available at

http://ba.gsia.cmu.edu/jnh

g

Page 3: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Why Integrate CP and MP?Search/Inference Duality

DecompositionRelaxation

Putting It TogetherOther OR Methods of Interest to CP

Surveys/Tutorials on Hybrid Methods

Page 4: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

gProgrammingProgrammin ≠

• Constraint programming is related to computer programming.

• Mathematical programming has nothing to do with computer programming.

• “Programming” historically refers to logistics plans (George Dantzig’s first application).

• MP is purely declarative.

Page 5: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Why Integrate CP and MP?

Eventual goal: View CP and MP as special cases of a general method

Page 6: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Motivation to Integrate CP and MP

• Inference + relaxation.

• CP’s inference techniques tend to be effective when constraints contain few variables.

• Misleading to say CP is effective on “highly constrained” problems.

• MP’s relaxation techniques tend to be effective when constraints or objective function contain many variables.

• For example, cost and profit.

Page 7: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

• “Horizontal” + “vertical” structure.

• CP’s idea of global constraint exploits structure within a problem (horizontal structure).

• MP’s focus on special classes of problems is useful for solving relaxations or subproblems(vertical structure).

Motivation to Integrate CP and MP

Page 8: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

• Procedural + declarative.

• Parts of the problem are best expressed in MP’s declarative (solver-independent) manner.

• Other parts benefit from search directions provided by user.

Motivation to Integrate CP and MP

Page 9: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Integration Schemes

Recent work can be broadly seen as using four integrative ideas:

• Double modeling - Use both CP and MP models and exchange information while solving.

• Search-inference duality - View CP and MP methods as special cases of a search/inference duality.

• Decomposition - Decompose problems into a CP part and an MP part using a Benders scheme.

• Relaxation - Exploit the relaxation technology of OR (applies to all of the above).

Page 10: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Double Modeling

• Write part of the problem in CP, part in MP, part in both.

• Exchange information - bounds, infeasibility, etc.

• Dual modeling is a feature of other more specific schemes and will not be considered separately.

Page 11: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Search-Inference Duality

• CP and MP have a fundamental isomorphism: search and inference work together in a duality relationship, such as branch and infer (Bockmayr & Kasper).

• Search (a primal method) examines possible solutions.

• Branching (domain splitting), local search, etc.

• Inference (a dual method) deduces facts from the constraint set.

• Domain reduction (CP), cutting planes (MP).

• Both the search and inference phases can combine CP/MP.

Page 12: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Decomposition

• Some problems can be decomposed into a master problem and subproblem.

• Master problem searches over some of the variables.

• For each setting of these variables, subproblemsolves the problem over the remaining variables.

• One scheme is a generalized Benders decomposition.

• CP is natural for subproblem, which can be seen as an inference (dual) problem.

Page 13: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation

• MP relies heavily on relaxations to obtain bounds on the optimal value.

• Continous relaxations, Lagrangean relaxations, etc.

• Global constraints can be associated with relaxations as well as filtering algorithms.

• This can prune the search tree in a branch-and-infer approach.

• Relaxation of subproblem can dramatically improve decomposition if included in master problem.

Page 14: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Search/Inference Duality

Linear ProgrammingInteger Programming

Gomory Cuts (dual method)Branch and Infer

Discrete Lot Sizing

Page 15: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example: Linear Programming Duality(Dantzig, Von Neumann)

Primal problem:

0)(subject to

minimize

≥≥

xubAx

cx

Primal: Search for optimal value x* of x.

Dual problem:

0)(subject to

maximize

≥≤

uxcuA

ub

Dual: Prove that cx* is optimal value of primal:

Identify a linear combination u of the primal constraints

uAx ≥ ub

that implies cx ≥ cx*

Page 16: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example: Linear Programming Duality

• In this case, the solution of the dual has polynomial size.

• LP belongs to NP and co-NP.

• Dual is itself an LP.

• LP can be solved by primal-dual algorithm.

• In general, the dual solution tends to be exponential in size.

• For example, integer programming.

Page 17: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example: Integer Programming

integer and 0,322

31427subject to

4maximize

21

21

2

21

21

≥≤−

≤≤−

xxxx

xxx

xxExample from Wolsey, 1998.

• Can be solved by branching on values of xj (to be illustrated shortly). This is a primal method.

• Can also be solved by generating cutting planes. This is a dual method.

Page 18: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

A Cutting Plane Approach(Gomory)

• Solve continuous relaxation of problem.

)32( ,76=x

1x

2x

• Generate Gomory cuts.

)1,2(=x

• Re-solve relaxation (solution is now integer).

Page 19: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

• Can now solve the original problem by solving continuous relaxation (a linear programming problem).

• In the worst case, cutting plane proofs are exponentially long.

• In practice, cutting planes are combined with branching (branch and cut).

0,2

1322

31427subject to

4maximize

211

21

212

2121

≥≤

≤−≤−

≤≤−

xxx

xxxx

xxx

xx

• The problem with the two cutting planes is:

Solution of this relaxation is (x1,x2) = (2,1)

Gomorycuts

Page 20: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

These Gomory cuts are rank 1 Chvátal cuts obtained by taking a nonnegative linear combination of constraints and rounding.

00,020103222311427subject to

4maximize

211

21

212

2121

≥≤

≤−≤−

≤≤−

xxx

xxxx

xxx

xxMultipliers in linear combination

22

207

176

1

1

≤≤

xx

xCan round down RHS

Do this recursively to generate all valid cutting planes & convex hull.(Chvátal)

Cutting plane

Page 21: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Branch and Infer

}4,,1{},,{different-all

30353subject to585min

321

321

321

K∈

≥++++

jxxxx

xxxxxx

We will illustrate how search and inference may be combined to solve this problem by:• constraint programming• integer programming• a hybrid approach

Page 22: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Solve as a constraint programming problem

}4,,1{},,{different-all

30253485

321

321

321

K∈

≥++≤++

jxxxx

xxxzxxx

Start with z = ∞.Will decrease as feasible solutions are found.

Search: Domain splittingInference: Domain reduction and constraint propagation

Page 23: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Domain reduction for inequalities

• Bounds propagation on30253

485321

321≥++≤++

xxxzxxx

impliesFor example, 30253 321 ≥++ xxx

25

812305

2330 312 =

−−≥

−−≥

xxx

So the domain of x2 is reduced to {2,3,4}.

Page 24: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Domain reduction for all-different (e.g., Régin)

• Maintain hyperarc consistency on},,{different-all 321 xxx

Suppose for example:1 21 21 2 3 4

Domain of x1

Domain of x2

Domain of x3

Then one can reduce the domains:

1 21 2

3 4

Page 25: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

1. z = ∞1 2 3 42 3 4

1 2 3 4

3 42 32 3 4

24

43

2

2 34

1 2

41

34

1

infeasible 52 51

2. z = ∞

3. z = ∞ 4. z = ∞

7. z = 52

8. z = 52 9. z = 52

Domain of x1

Domain of x2

Domain of x3 D2={2,3} D2={4}

Domain of x2

D2={2} D2={3}D1={3}D1={2}

infeasible

Page 26: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Solve as an integer programming problem

Search: Branch on variables with fractional values in solution of continuous relaxation.Inference: Generate cutting planes (not illustrated here).

Page 27: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Rewrite problem using integer programming model:

Let yij be 1 if xi = j, 0 otherwise.

jiy

iy

ijyx

xxxxxx

ij

jij

jiji

, all},1,0{

3,2,1,1

3,2,1,

17424subject to534min

4

1

5

1

321321

==

==

≥++++

=

=

Page 28: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Continuous relaxation

Use a linear programming algorithm to solve a continuous relaxation of the problem at each node of the search tree to obtain a lower bound on the optimal value of the problem at that node.

jiy

iy

ijyx

xxxxxx

ij

jij

jiji

, all1,0

3,2,1,1

3,2,1,

17424subject to534min

4

1

4

1

321321

≤≤

==

==

≥++++

=

=

Relax integrality

Page 29: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Branch and bound (Branch and relax)

The incumbent solution is the best feasible solution found so far.

At each node of the branching tree:

• If

There is no need to branch further.

• No feasible solution in that subtree can be better than the incumbent solution.

Optimal value of relaxation

≥Value of incumbent solution

Page 30: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

3149

0001100000 3/23/1

=⎥⎥⎦

⎢⎢⎣

⎡=

z

y

y12 = 1 y13 = 1y14 = 1

500010000010

2/12/1=

⎥⎥⎦

⎢⎢⎣

⎡=

z

y

4.490001

00010010/910/1

=⎥⎥⎦

⎢⎢⎣

⎡=

z

y

500001001000

2/12/1=

⎥⎥⎦

⎢⎢⎣

⎡=

z

y

y11 = 1

Infeas.

8.500100

000010

10/1315/2

=⎥⎥⎦

⎢⎢⎣

⎡=

z

y

Infeas. Infeas.

Infeas.

Infeas. Infeas.

4.500001000100

10/910/1

=⎥⎥⎦

⎢⎢⎣

⎡=

z

yz = 51

z = 54

Infeas. Infeas.

Infeas. z = 52

Page 31: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Solve using a hybrid approach

Search:

• Branch on fractional variables in solution of knapsack constraint relaxation 3x1 + 5x2 + 2x3 ≥ 30.

• Do not relax constraint with yij’s. This makes relaxation too large without much improvement in quality.

• If variables are all integral, branch by splitting domain.

• Use branch and bound.

Inference:

• Use bounds propagation.

• Maintain hyperarc consistency for all-different.

Page 32: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

1 2 3 42 3 4

1 2 3 4

24

3

x = (2.7, 4, 1)z = 49.3

x1 ≤ 2 x1 ≥ 3

x = (2, 4, 3)z = 54

x2 ≥ 4x2 ≤ 3

infeasiblez = ∞

3 42 3 4

1 2 3 4

x = (3, 3.8, 1)z = 49.4

3 42 32 3 4

34

1 2

x = (3, 4, 1)z = 51

Page 33: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Discrete Lot Sizing

• Manufacture at most one product each day.

• When manufacturing starts, it may continue several days.

• Switching to another product incurs a cost.

• There is a certain demand for each product on each day.

• Products are stockpiled to meet demand between manufacturing runs.

• Minimize inventory cost + changeover cost.

Page 34: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Discrete lot sizing example

t = 1 2 3 4 5 6 7 8

A B A

yt = A A A B B 0 A 0

job

0 = dummy job

Page 35: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

0 ,}1,0{ , ,

all ,1, all ,, all ,

, all ,, all ,1

, all ,1, all ,

, all ,, all ,s.t.

min

1,

1,

1,

1,

1,

,

≥∈

=≤≤≥

−+≥−≤

≤−≥

+=+

⎟⎟⎠

⎞⎜⎜⎝

⎛+

∑ ∑

itit

ijtititi

ititit

jtijt

tiijt

jttiijt

tiititit

tiitit

itititti

it ijijtijitit

sxzy

tytiCyxtiy

tiytiyy

tiyztiyz

tiyyztisdxs

qsh

δ

δδδ

δ

IP model

(Wolsey)

Page 36: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

( ) ( ) tixiytisCx

tisdxstqv

tshu

vu

ittitit

itititti

yyti

ititt

tt

tt

, all ,0, all ,0,0

, all , all ,

all ,s.t.

)(min

1,1

=→≠≥≤≤+=+

+

−−

∑stock level

changeover cost

total inventory + changeover cost

inventory balance

daily production

Hybrid model

Page 37: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

( ) ( ) tixiytisCx

tisdxstqv

tshu

vu

ittitit

itititti

yyti

ititt

tt

tt

, all ,0, all ,0,0

, all , all ,

all ,s.t.

)(min

1,1

=→≠≥≤≤+=+

+

−−

∑Generate inequalities to put into relaxation (to be discussed)

Put into relaxation

Apply constraint propagation to everything

To create relaxation:

Page 38: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Solution

Search: Domain splitting, branch and bound using relaxation of selected constraints.

Inference: Domain reduction and constraint propagation.

Characteristics:

• Conditional constraints impose consequent when antecedent becomes true in the course of branching.

• Relaxation is somewhat weaker than in IP because logical constraints are not all relaxed.

• But LP relaxations are much smaller--quadratic rather than cubic size.

• Domain reduction helps prune tree.

Page 39: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Decomposition

Idea of Benders DecompositionBenders in the Abstract

Classical BendersLogic Circuit Verification

Machine Scheduling

Page 40: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Idea Behind Benders Decomposition“Learn from one’s mistakes.”

• Distinguish primary variables from secondary variables.

• Search over primary variables (master problem).

• For each trial value of primary variables, solve problem over secondary variables (subproblem).

• Can be viewed as solving a subproblem to generate nogoods (Benders cuts) in the primary variables.

• Add the Benders cut to the master problem and re-solve.

• Can also be viewed as projecting problem onto primary variables.

Page 41: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

A Simple ExampleFind Cheapest Route to a Remote Village

$100

$200

$200

$100

High PassCity 1

City 2

City 3

City 4

Village

Home

By airBy bus

Page 42: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Let x = flight destinationy = bus route

Begin with x = City 1 and pose the subproblem:

Find the cheapest route given that x = City 1.Optimal cost is $100 + 80 + 150 = $330.

$100$200

$200

$100$150$80

HighPassCity 1

City 2

City 3

City 4

Village

Home

By airBy bus

Find cheapest route (x,y)

Page 43: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

The “dual” problem of finding the optimal route is to prove optimality. The “proof” is that the route from City 1 to the village must go through High Pass. So

cost ≥ airfare + bus from city to High Pass + $150

But this same argument applies to City 1, 2 or 3. This gives us the above Benders cut.

$100$200

$200

$100$150$80

HighPassCity 1

City 2

City 3

City 4

Village

Home

By airBy bus

Page 44: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Specifically the Benders cut is

⎪⎭

⎪⎬

⎪⎩

⎪⎨

==+=++

=≥4City if100$2,3City if150200$1City if15080100$

)(cost 1City

xxx

xB

$100$200

$200

$100$150$80

HighPassCity 1

City 2

City 3

City 4

Village

Home

By airBy bus

Page 45: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Now solve the master problem:

Pick the city x to minimize cost subject to

⎪⎭

⎪⎬

⎪⎩

⎪⎨

==+=++

=≥4City if100$2,3City if150200$1City if15080100$

)(cost 1City

xxx

xB

Clearly the solution is x = City 4, with cost $100.

Page 46: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

$100$200

$200

$100$150$80

HighPassCity 1

City 2

City 3

City 4

Village

Home

By airBy bus

$250

Now let x = City 4 and pose the subproblem:

Find the cheapest route given that x = City 4.Optimal cost is $100 + 250 = $350.

Page 47: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Again solve the master problem:

Pick the city x to minimize cost subject to

⎪⎭

⎪⎬

⎪⎩

⎪⎨

==+=++

=≥4City if100$2,3City if150200$1City if15080100$

)(cost 1City

xxx

xB

The solution is x = City 1, with cost $330. Because we found a feasible route with this cost, we are done.

⎭⎬⎫

⎩⎨⎧ =

=≥otherwise0$

1City if350$)(cost 4City

xxB

Page 48: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

For a given value of , solve the subproblem:

Benders Decomposition in the Abstract

Primary variablesC(x,y)

yxfyx

s.t.

),(min, Secondary variables

,y)xC(

yxfy

s.t.

),(min

Let be an optimal solution with optimal value . To find a Benders cut, consider the inference dual:

vyxfyxC

vvy

≥→ ),(),(s.t.

max,

The inference dual clearly has the same optimal value .

x

*y *v

*v

x

Page 49: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

The solution of the inference dual is a proof that

follows from

*),( vyxf ≥

),( yxC

Thus when we have a proof that is at least

We want to use this same proof schema to derive that

is at least for any . (In particular .)

To find a better solution than we solve the master problem

xx =

*)(* vxBy =

)(s.t.

min

*

,

xBv

v

x

vx

Benders cut

),( yxf),( yxf

)(* xBy

*v

x

*v

Page 50: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

At iteration K+1 the master problem is

KkxBv

v

kx

vx

,,0),(s.t.

min,

K=≥

Where are the solutions of the first K master problems.

Continue until the subproblem has the same optimal value as the previous master problem.

Kxx ,,1 K

Page 51: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Classical Benders Decomposition(Benders)

n

yx

RyDxy

aAyxg

cyxf

∈∈≥

≥+

+

,0)(s.t.

)(min,

For a given the subproblem is the LP x

0)()(s.t.

)(min

≥−≥

+

yuxgaAy

cyxfy

Dual variables

With optimal solution and optimal value .*x *v

Page 52: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

The inference dual in this case is the classical LP dual

0s.t.

))((min

≥≤

ucuA

xgauu

The dual solution provides a proof that is the optimal value: the linear combination of the primal constraints dominates

))((** xgauAyu −≥*zcy ≥

Note that is dual feasible for any . So by weak duality, is a lower bound on the optimal value of the subproblem for any . So we have the Benders cut,

))((* xgau −

))((*)( xgauxfv −+≥

*u *z

*u x

x

Page 53: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Kkxgauxfv

vk

x,,0)),(()(s.t.

min

K=−+≥

The master problem is

Where are the solutions of the first Ksubproblem duals. The case of an infeasible subproblemrequires special treatment.

kuu ,,1 K

Page 54: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Logic circuit verification(JNH, Yan)

Logic circuits A and B are equivalent when the following circuit is a tautology:

A

B

x1

x2

x3

andinputs

The circuit is a tautology if the minimum output over all 0-1 inputs is 1.

Page 55: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

x1

x2

x3

inputs

and

or

and

not

not

or

or

not

not

and

y1

y3

y2

y4

y5

y6

For instance, check whether this circuit is a tautology:

The subproblem is to minimize the output when the input x is fixed to a given value.

But since x determines the output of the circuit, the subproblem is easy: just compute the output.

Page 56: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

x1

x2

x3

and

or

and

not

not

or

or

not

not

and

y1

y3

y2

y4

y5

y6

For example, let x = (1,0,1).

1

1

1

1

1

0

0

0

1

To construct a Benders cut, identify which subsets of the inputs are sufficient to generate an output of 1.

For instance, suffices.)1,0(),( 32 =xx

Page 57: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

x1

x2

x3

and

or

and

not

not

or

or

not

not

and

y1

y3

y2

y4

y5

y6

1

1

1

1

1

0

0

0

1

For this, it suffices that y4 = 1 and y5 = 1.

For this, it suffices that y2 = 0.

For this, it suffices that y2 = 0.

For this, it suffices that x2 = 0 and x3 = 1.

So, Benders cut is 32 xxv ∧¬≥

Page 58: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Now solve the master problem

32s.t.min

xxvv

∧¬≥

One solution is )0,0,0(),,( 321 =xxx

This produces output 0, which shows the circuit is not a tautology.

Note: This is actually a case of classical Benders. The subproblem can be written as an LP (a Horn-SAT problem).

Page 59: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Computational results:

Compare with Binary Decision Diagrams (BDDs), state-of-the-art exact method.

• When A and B are equivalent (the circuit is a tautology), BDDs are usually much better.

• When A and B are not equivalent (one contains an error), the Benders approach is usually much better.

Page 60: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Machine schedulingAssign each job to one machine so as to process all jobs at minimum cost. Machines run at different speeds and incur different costs per job. Each job has a release date and a due date.

• In this problem, the master problem assigns jobs to machines. The subproblem schedules jobs assigned to each machine.

• Classical mixed integer programming solves the master problem.

• Constraint programming solves the subproblem, a 1-machine scheduling problem with time windows.

• This provides a general framework for combining mixed integer programming and constraint programming.

Page 61: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

( ) ieixDixtjSDt

jRt

C

jijjj

jjxj

jj

jjx

j

j

all,1,),|(),|(cumulative all,

all,s.t.

min

==≤+

A model for the problem:

Release date for job j

Cost of assigning machine xj to job j

Machine assigned to job j

Start times of jobs assigned to machine i

Start time for job j

Job durationDeadline

Page 62: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

For a given set of assignments the subproblem is the set of 1-machine problems,

x

( ) ieixDixt jijjj all,1,),|(),|(cumulatives.t.0min

==

Feasibility of each problem is checked by constraint programming. One or more infeasible problems results in an optimal value ∞. Otherwise the value is zero.

Page 63: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Suppose there is no feasible schedule for machine . Then jobs cannot all be assigned to machine .

Suppose in fact that some subset of these jobs cannot be assigned to machine . Then we have a Benders cut

⎭⎬⎫

⎩⎨⎧ ∈=∞

=≥otherwise0

)(allfor if)(

xJjixxBv ij

x

}|{ ixj j =

Equivalently, just add the constraint

)(somefor xJjix ij ∈≠

)(xJi

ii

i

Page 64: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

KkixJjix

jSDtjRt

C

kij

jjxj

jj

jjx

j

j

,,1, all ),( somefor

all, all,s.t.

min

K=∈≠

≤+≥

This yields the master problem,

This problem can be written as a mixed 0-1 problem:

Page 65: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

}1,0{

all },{min}{max

,,1 , all ,1)1(

all ,1

all, all,s.t.

min

−≤

=≥−

≤+≥

=

ij

jjjj

ijj

ij

ixj

ij

iij

ji

ijijj

jj

ijijij

y

iRSyD

Kkiy

jy

jSyDtjRt

yC

kj

KValid constraint added to improve performance

Page 66: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Computational Results (Jain & Grossmann)

Computational Results

0.01

0.1

1

10

100

1000

10000

100000

1 2 3 4 5

Problem size

Sec

onds

MILPCPOPLBenders

Problem sizes (jobs, machines)1 - (3,2)2 - (7,3)3 - (12,3)4 - (15,5)5 - (20,5)

Each data point represents an average of 2 instances

MILP and CP ran out of memory on 1 of the largest instances

Page 67: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

An Enhancement: Branch and Check(JNH, Thorsteinsson)

• Generate a Benders cut whenever a feasible solution is found in the master problem tree search.

• Keep the cuts (essentially nogoods) in the problem for the remainder of the tree search.

• Solve the master problem only once but continually update it.

• This was applied to the machine scheduling problem described earlier.

x

Page 68: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Computational results (Thorsteinsson)

Problem Benders Branch andcheck

1 16.2 1.22 93.7 10.93 120.2 1.04 37.2 3.05 30.2 1.2

Computation times in secondsProblems have 30 jobs, 7 machines.

Page 69: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation

Relaxing all-differentRelaxing element

Relaxing cycle (TSP)Relaxing cumulative

Relaxing a disjunction of linear systemsLagrangean relaxation

Page 70: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Uses of Relaxation• Solve a relaxation of the problem restriction at each node of the search tree. This provides a bound for the branch-and-bound process.

• In a decomposition approach, place a relaxation of the subproblem into the master problem.

Page 71: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Obtaining a Relaxation• OR as a well-developed technology for finding polyhedral relaxations for discrete constraints (e.g., cutting planes).

• Relaxations can be developed for global constraints, such as all-different, element, cumulative.

• Disjunctive relaxations are very useful (for disjunctions of linear or nonlinear systems).

Page 72: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation of alldifferent

{ }nxxx

j

n,,1

),,(alldiff 1K

K

∈Convex hull relaxation, which is the strongest possible linear relaxation (JNH, Williams & Yan):

{ }∑

=

<⊆+≥

+=

Jjj

n

jj

nJnJJJx

nnx

|| with ,,1 all),1|(|||

)1(

21

121

K

For n = 4:

1,,,3,3,3,3,3,3

6,6,6,610

4321

434232413121

432431421321

4321

≥≥+≥+≥+≥+≥+≥+

≥++≥++≥++≥++=+++

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxx

Page 73: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation of element

To implement variably indexed constant y a

Replace with z and add constraint y a ( )zaay n ),,,(,element 1 K

Convex hull relaxation of element constraint is simply

}{max}{min jDj

jDj

azayy ∈∈

≤≤

Current domain of y

Page 74: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation of elementTo implement variably indexed variable y x

Replace with z and add constraintwhich posts constraint

y x ( )zxxy n ),,,(,element 1 K

If 0 ≤ xj ≤ m0 for each j, there is a simple convex hull relaxation (JNH):

( ) ∑∑∈∈

≤≤−−yy Dj

jDj

yj xzmDx 01

)( jDj

xzy

=∈∨

If 0 ≤ xj ≤ mj for each j, another relaxation is

∈−+

≤≤

+−

y

y

y

y

Dj j

Djy

j

j

Dj j

Djy

j

j

m

Dmx

z

m

Dmx

1

1

1

1

Page 75: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example:

xy, where Dy = {1,2,3} and

504030

3

2

1

≤≤≤≤≤≤

xxx

Replace xy with z and element(y,(x1,x2,x3),z)

Relaxation:

47120

4712

4715

4720

47120

4712

4715

4720

321321

321321 10+++≤≤−++

++≤≤−++xxxzxxx

xxxzxxx

Page 76: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation of cycleUse classical cutting planes for traveling salesman problem:

),,cycle(subject to

min

1 n

jjy

yy

cj

K

Visit each city exactly once in a single tour

Distance from city jto city yj

yj = city immediately following city j

Can also write:

),,different(-allsubject to

min

1

1

n

jyy

yy

cjj

K

∑ +

yj = jth city in tour

Page 77: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Begin with 0-1 model and use its continuous relaxation:

10

22, all,1

all,2subject to

min

)(

)(

≤≤

−≤≤⊂−≤

∈=

e

SEee

iee

eee

x

VSVSSx

Vix

xc

δ

=1 if edge e is in the tour, 0 otherwise

Subtour elimination constraints

Add separating constraints (those violated by current solution of relaxation)

Vertex degree constraints

δ(i) = {edges incident to vertex i}E(S) = {edges with both vertices in S}

Page 78: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Add more separating cutting planes, such as comb inequalities(Grötschel, Padberg)

H

T1 T2 T3t=3

⎡ ⎤2/311 )()(

tTHxxt

jj

t

j TEee

HEee

j

−+≤+ ∑∑ ∑∑== ∈∈

These inequalities are facet-defining for the convex hull of the feasible set.

Subsets of vertices

Page 79: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example:

6≤∑e

exSum over red edges.

• There are polynomial separation algorithms for special classes of comb inequalities.• In general, one can identify substructures that can be completely analyzed in order to generate valid constraints.

Page 80: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation of cumulative(JNH, Yan)

Where t = (t1,…,tn) are job start timesd = (d1,…,dn) are job durationsr = (r1,…,rn) are resource consumption ratesL is maximum total resource consumption ratea = (a1,…,an) are earliest start times

( )Lrdt ,,,cumulative

Page 81: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

One can construct a relaxation consisting of the following valid cuts.

If some subset of jobs {j1,…,jk} are identical (same release time a0, duration d0, and resource consumption rate r0), then

[ ] 021

0 )1(2)1(1

dQPkPaPttkjj +−++≥++L

is a valid cut and is facet-defining if there are no deadlines, where

1,0

−⎥⎥

⎤⎢⎢

⎡=⎥

⎥⎢⎣

⎢=

QkP

rLQ

Page 82: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

The following cut is valid for any subset of jobs {j1,…,jk}

ik

i

ijj d

Lriktt

k ∑=

⎟⎠⎞

⎜⎝⎛ −+−≥++

121

21)(

1L

Where the jobs are ordered by nondecreasing rjdj.

Analogous cuts can be based on deadlines.

Page 83: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example:Consider problem with following minimum makespansolution (all release times = 0):

Min makespan = 8

L

1

2 3

4

5

time

resources

06

2

33

5,5,3,3,3s.t.min

76

54321

74

5432

145

4321

321

54321

≥≥++++

≥+++

≥+++

≥+++++++≥

jtttttt

tttt

ttttttt

tttttzz

Relaxation:Resulting bound:

17.5makespan ≥=z

Facet defining

Page 84: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxing Disjunctions of Linear Systems

( )kkk

bxA ≤∨(Element is a special case.)

Convex hull relaxation (Balas).

0

1

all,

=

=≤

kk

kk

kk

kk

y

y

xxkybxA k

Additional variables needed.

Can be extended to nonlinear systems (Stubbs & Mehrotra)

Page 85: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

“Big M” relaxation

0

1 all),1(

=−−≤

kk

k

kkk

y

ykyMbxA k

Where (taking the max in each row):ki

ki

ki

ki

xkki bkkbAxAM −

⎭⎬⎫

⎩⎨⎧ ≠≤= }' all,|{maxmax ''

This simplifies for a disjunction of inequalitieswhere 0 ≤ xj ≤ mj (Beaumont):

( )kk

K

kbxa ≤

=∨

1

∑∑==

−+≤⎟⎟⎠

⎞⎜⎜⎝

⎛ K

k k

kK

k k

kK

Mbx

Ma

111

where

{ } jj

kjk maM ∑= ,0max

Page 86: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example:

⎟⎟⎟

⎜⎜⎜

≤=∨

⎟⎟⎟

⎜⎜⎜

≤=∨⎟⎟

⎞⎜⎜⎝

⎛=

1080

machine large

550

machine small

0machine no

xz

xz

x

Output of machineFixed cost of machine

Convex hull relaxation:

0,1105

8050

32

32

32

32

≥≤++≤+≥

yyyy

yyxyyz

x

z

Big-M relaxation:

0,1

8050

55510

1010

32

32

3

2

3

2

32

≥≤+

≥≥

+≤−≤+≤

yyyyyzyz

yxyx

yyx

x

z

Page 87: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Lagrangean RelaxationA relaxation in which the hard constraints are moved to the objective function.

Sxg(x)

xf

∈≥ 0subject to)(min

hardeasy

The relaxation is parameterized by a vector of Langrangemultipliers λ.

)}()({min)( xgxf TSx

λλθ −=∈

Dualized constraints

A lower bound is obtained by solving the Lagrangean dual:)}({max

0λθ

λ≥

Page 88: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Can use subgradient optimization to solve the dual. Exploit the fact that θ(λ) is concave (but nondifferentiable).

A subgradient of θ(λ) is −g(x*), where x* solves inner problem.

)}()({min)( xgxf TSx

λλθ −=∈

Step k of search is *)(1 xgkkk αλλ +=+

Simplest stepsize is kkβα =

Page 89: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

integer 432

243247543subject to

654min

321

321321321

xxxx

xxxxxxxxx

≥≥≥

≥++≥++

++

} hard

}easy

Example:

⎭⎬⎫

⎩⎨⎧

++−−+−−+−−=

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

−−−+−−−+

++=

≥≥≥

≥≥≥

21321221121

432

32123211

321

432

2447)356()245()34(min

)3224()54347(

654min)(

321

321

λλλλλλλλ

λλλθ

xxx

xxxxxx

xxx

xxx

xxx

Solve by inspection for fixed λ

Page 90: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6

Subgradient seach in λ-space:

Value of Lagrangean dual = 57.6 < 58 = optimal value

Start

λ2

λ1

Page 91: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Putting It Together

Elements of a General SchemeProcessing Network Design

Benders Decomposition

Page 92: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Elements of a General Scheme

• Model consists of

• declaration window (variables, initial domains)

• relaxation windows (initialize relaxations & solvers)

• constraint windows (each with its own syntax)

• objective function (optional)

• search window (invokes propagation, branching, relaxation, etc.)

• Basic algorithm searches over problem restrictions, drawing inferences and solving relaxations for each.

Page 93: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Elements of a General Scheme

• Relaxations may include:

• Constraint store (with domains)

• Linear programming relaxation, etc.

• The relaxations link the windows.

• Propagation (e.g., through constraint store).

• Search decisions (e.g., nonintegral solutions of linear relaxation).

Page 94: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Elements of a General Scheme

• Constraints invoke specialized inference and relaxation procedures that exploit their structure. For example, they

• Reduce domains (in-domain constraints added to constraint store).

• Add constraints to original problems (e.g. cutting planes, logical inferences, nogoods)

• Add cutting planes to linear relaxation (e.g., Gomorycuts).

• Add specialized relaxations to linear relaxation (e.g., relaxations for element, cumulative, etc.)

Page 95: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Elements of a General Scheme

• A generic algorithm:

• Process constraints.

• Infer new constraints, reduce domains & propagate, generate relaxations.

• Solve relaxations.

• Check for empty domains, solve LP, etc.

• Continue search (recursively).

• Create new problem restrictions if desired (e.g, new tree branches).

• Select problem restriction to explore next (e.g., backtrack or move deeper in the tree).

Page 96: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Example: Processing Network Design

• Find optimal design of processing network.

• A “superstructure” (largest possible network) is given, but not all processing units are needed.

• Internal units generate negative profit.

• Output units generate positive profit.

• Installation of units incurs fixed costs.

• Objective is to maximize net profit.

Page 97: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Sample Processing Superstructure

Unit 1

Unit 2

Unit 3

Unit 4

Unit 5

Unit 6Outputs in fixed proportion

Page 98: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Declaration Window

ui ∈ [0,ci] flow through unit i

xij∈ [0,cij] flow on arc (i,j)

zi ∈ [0,∞] fixed cost of unit i

yi∈ Di = {true,false} presence or absence of unit i

Page 99: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Objective Function Window

)(max ii

ii zur −∑

Net revenue generated by unit i per unit flow

Page 100: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation Window

Type: Constraint store, consisting of variable domains.

Objective function: None.

Solver: None.

Page 101: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Relaxation Window

Type: Linear programming.

Objective function: Same as original problem.

Solver: LP solver.

Page 102: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Constraint Window

Type: Linear (in)equalities.

Ax + Bu = b (flow balance equations)

Inference: Bounds consistency maintenance.

Relaxation: Add reduced bounds to constraint store.

Relaxation: Add equations to LP relaxation.

Page 103: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Constraint Window

Type: Disjunction of linear inequalities.

Inference: None.

Relaxation: Add Beaumont’s projected big-M relaxation to LP.

⎟⎠⎞

⎜⎝⎛

≤¬∨⎟

⎠⎞

⎜⎝⎛

≥ 0ii

iii

uy

dzy

Page 104: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Constraint Window

Type: Propositional logic.

Don’t-be-stupid constraints:

Inference: Resolution (add resolvents to constraint set).

Relaxation: Add reduced domains of yi’s to constraint store.

Relaxation (optional): Add 0-1 inequalities representing propositions to LP.

)()()()()(

)(

326133256232454265312

43321

yyyyyyyyyyyyyyyyyyyyy

yyyyy

∨→→∨→→∨→∨→∨→→

→∨→

Page 105: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Search Window

Procedure BandBsearch(P,R,S,NetBranch)(canned branch & bound search using NetBranch as branching rule)

Page 106: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

User-Defined Window

Procedure NetBranch(P,R,S,i)

Let i be a unit for which ui > 0 and zi < di.If i = 1 then create P’ from P by letting Di = {T}

and return P’.If i = 2 then create P’ from P by letting Di = {F}

and return P’.

Page 107: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Benders Decomposition

• Benders is a special case of the general framework.

• The Benders subproblems are problem restrictions over which the search is conducted.

• Benders cuts are generated constraints.

• The Master problem is the relaxation.

• The solution of the relaxation determines which subproblem to solve next.

Page 108: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Other OR Techniques of Interest to CP

• Column generation for LP, branch-and-price (when there are many variables).

• Reduced-cost variable fixing (recently used for cost-based domain filtering).

•Nonlinear programming (well-developed technology)

• Active set methods (generalized reduced gradient)

• Variable metric methods, conjugate gradient methods (unconstrained problems)

• Sequential quadratic programming, outer approximation

• Interior point methods (for LP and NLP).

Page 109: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Other OR Techniques of Interest to CP

• Multicriteria optimization (compute pareto-optimal solutions, etc.)

• Optimal control

• Dynamic programming (recursive optimization)

• Nonserial dynamic programming (useful when dependency graph has small induced width)

• Calculus of variations, Pontryagin maximum principle (for continuous problems)

Page 110: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

Other OR Techniques of Interest to CP

• Stochastic methods (use probabilistic information).

• Stochastic dynamic programming, Markov decision models (optimal control under uncertainty).

• Adaptive control (optimal control + learning)

• Stochastic linear programming (optimization over scenarios).

• Queuing.

• Approximation algorithms (theoretical bounds on accuracy)

• Heuristic methods (huge literature).

Page 111: Tutorial - Carnegie Mellon Universityegon.cheme.cmu.edu/ewo/docs/HookerCP.pdf · Tutorial John Hooker Carnegie Mellon University CP02 September 2002. ... Gomory Cuts (dual method)

• A. Bockmayr and J. Hooker, Constraint programming, in K. Aardal, G. Nemhauserand R. Weismantel, eds., Handbook of Discrete Optimization, North-Holland, to appear. • S. Heipcke, Combined Modelling and Problem Solving in Mathematical Programming and Constraint Programming, PhD thesis, University of Buckingham, 1999.• J. Hooker, Logic, optimization and constraint programming, INFORMS Journal on Computing, to appear, also at http://ba.gsia.cmu.edu/jnh.• J. Hooker, Logic-Based Methods for Optimization: Combining Optimization and Constraint Satisfaction, Wiley, 2000.• M. Milano, Integration of OR and AI constraint-based techniques for combinatorial optimization, http://www-lia.deis.unibo.it/Staff/MichelaMilano/tutorialIJCAI2001.pdf• H. P. Williams and J. M. Wilson, Connections between integer linear programming and constraint logic programming--An overview and introduction to the cluster of articles, INFORMS Journal on Computing 10 (1998) 261-264.

Surveys/Tutorials on Hybrid Methods