constraintgenerationmethods(1)
TRANSCRIPT
-
8/12/2019 ConstraintGenerationMethods(1)
1/16
ISYE 6210Theory of Production SchedulingConstraint Generation Methods
Thomas Sharkey
April 23, 2013
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
2/16
Background
We have previously seen the core idea for constraint
generation methods: We have a large number of constraints in the problem. We solve a relaxation of the problem with a reduced number of
constraints. We then determine if the optimal solution to the relaxation
satisfies all the constraints in the original problem. If so, then the current solution is optimal to the original
problem. Otherwise, we add a subset of the violated constraints to our
relaxation.
Note that it actually may be beneficial to formulate the
problem with a large number of constraints. This is a similar idea to the set-partitioning formulation of the
GAP. We will see a very similar method as Dantzig-Wolfe
Decomposition.
http://find/http://goback/ -
8/12/2019 ConstraintGenerationMethods(1)
3/16
Benders Decomposition: Traditional Motivation
Suppose that we are running a scheduling system where we
have a set of customers j= 1, . . . , n and a set of facilitiesi= 1, . . . , m.
However, unlike previous models discussed in class, theprocessing times of the jobs are uncertain.
In certain situations, the assignment of the customers tofacilities (i.e., machines) must be done well before thecharacteristics of the jobs are known with certainty.
The actual scheduling of the jobs associated with thecustomers assigned to a facility, though, can be done after the
characteristics of the jobs are known.
In this situation, we wish to allocate the customers to thefacilities in such a way to minimize our expected costsover allpossible scenarios of the characteristics of the jobs.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
4/16
Benders Decomposition: Stochastic Scheduling
We will let xdenote the first stage decisions, i.e., the
assignment of customers to facilities. Note that the cost of the second stage decisions will be a
function of: (i) the first stage decisions xand (ii)characteristics of the job.
We will denote ykas the second stage scheduling decisions forscenario k (where k= 1, . . . , K).
We will have first stage constraints and second stageconstraints.
Our objective function will be equal to:
minimize cx+K
k=1
kfyk.
http://find/http://goback/ -
8/12/2019 ConstraintGenerationMethods(1)
5/16
Benders Decomposition Formulation
The formulation of our problem becomes:
minimize cx+K
k=1
kfyk.
subject to (P)
Ax = b
Bkx+Dyk = dk fork= 1, . . . , K.
x Xy Y.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
6/16
The Idea
We will try to remove the variables yk from the formulation.
This is accomplished by introducing constraints on the xvariables that bound the objective function (or some portionof the objective function) from the problem.
For now, lets assume that the yvariables are continuous andthat there always exists a feasible second-stage solution givenany first stage solution x. We will see how we can reformulate(P).
We will define the function zk(x) to be equal to the optimalobjective function value in scenario kgiven first stagedecisions x.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
7/16
First Reformulation
The problem (P) now becomes:
minimize cx+K
k=1
kzk(x)
subject to (P1)
Ax = b
x X.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
8/16
The Second-Stage Problem
minimize f
yk
subject to (SP(k))
Dyk = dk Bkx
yk 0.
Its dual problem is:
maximize pk(dk Bkx)
subject to (D(k))
pkD f.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
9/16
Getting to the Second Reformulation
By the definition ofzk(x) and linear programming duality, wecan express zk(x) as the optimal solution to (D(k)).
We define EPto be the extreme points of the feasible regionof (D(k)) and note that:
zk(x) = maxiEP
(pi)(dk Bkx).
Alternatively, zk(x) is the smallest value ofzk such that:
(pi)(dk Bkx) zk for all i EP.
http://find/http://goback/ -
8/12/2019 ConstraintGenerationMethods(1)
10/16
Second Reformulation
The problem (P1) now becomes:
minimize cx+
K
k=1
kzk
subject to (P2)
Ax = b
(pi)(dk Bkx) zk for all i EP.
x X.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
11/16
Constraint Generation Approach/Cutting Plane Algorithm
We will relax (P2), which refer to as (R-P2), by removing theextreme point constraints.
We will then solve (R-P2) over a relaxed set of constraintsand arrive at a solution (x, z).
We then need to either verify that this solution is optimal ordetermine which constraints (i.e., cuts) need to be added tothe problem.
http://find/http://goback/ -
8/12/2019 ConstraintGenerationMethods(1)
12/16
The Pricing Problem
We have the option of solving either the primal or dualproblem associated with zk(x
).
The dual problem will immediately give us the constraint tobe added to (R-P2), i.e., the one that is violated by (x, z).
The primal problem will give us an optimal solution yk. It is easy to verify if this solution has an objective function
greater than or equal to zk. We then would know that a constraint needs to be added to
(R-P2), but it is not immediately clear which one. Recall that there is a complementary dual solution to yk that
is optimal to the dual.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
13/16
The Relaxation at Any Point
minimize cx+K
k=1
kzk
subject to (R-P2)
Ax=b
Constraints on (portions of) the objective function
x X.
http://goforward/http://find/http://goback/ -
8/12/2019 ConstraintGenerationMethods(1)
14/16
A Generic Problem for Benders Decomposition
minimize f(x, y)
subject to (P)
C(x, y) are satisfied
x Dx, y Dy.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
15/16
Generic Relaxation
minimize z
subject to (R-P2)
z Bxh(x) for h= 1, . . . , H
x Dx,
where xh is a previous optimal solution to the relaxation and
Bxh(x) is a cut on the objective function.
http://find/ -
8/12/2019 ConstraintGenerationMethods(1)
16/16
The Cuts are Important
The driving factor in the success of a Benders decompositionis the quality of the cuts.
Good cuts are readily available when the subproblems for a
fixed xare continuous problems. But, scheduling problems are often discrete (i.e., integer
variables) and/or combinatorial.
The question now becomes how can we develop quality cuts
for these types of problems.
http://goforward/http://find/http://goback/