Professional Documents
Culture Documents
ISYE 6210 Theory of Production Scheduling Constraint Generation Methods
ISYE 6210 Theory of Production Scheduling Constraint Generation Methods
ISYE 6210 Theory of Production Scheduling Constraint Generation Methods
Thomas Sharkey
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 satises 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 benecial 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.
minimize c x +
k =1
k f yk .
minimize c x +
k =1
k f yk . (P)
The Idea
We will try to remove the variables yk from the formulation. This is accomplished by introducing constraints on the x variables that bound the objective function (or some portion of the objective function) from the problem. For now, lets assume that the y variables are continuous and that there always exists a feasible second-stage solution given any rst stage solution x . We will see how we can reformulate (P). We will dene the function zk (x ) to be equal to the optimal objective function value in scenario k given rst stage decisions x .
First Reformulation
minimize c x +
k =1
k zk (x ) (P1)
subject to Ax x = b X.
minimize f yk subject to Dyk yk Its dual problem is: maximize pk (dk Bk x ) subject to pk D f . (D(k )) = dk Bk x 0. (SP(k ))
By the denition of zk (x ) and linear programming duality, we can express zk (x ) as the optimal solution to (D(k )). We dene EP to be the extreme points of the feasible region of (D(k )) and note that: zk (x ) = max(p i ) (dk Bk x ).
i EP
Second Reformulation
minimize c x +
k =1
k zk (P2)
subject to Ax
i
= b X.
We will relax (P2), which refer to as (R-P2), by removing the extreme point constraints. We will then solve (R-P2) over a relaxed set of constraints and arrive at a solution (x , z ). We then need to either verify that this solution is optimal or determine which constraints (i.e., cuts) need to be added to the problem.
We have the option of solving either the primal or dual problem associated with zk (x ). The dual problem will immediately give us the constraint to be 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.
minimize c x +
k =1
k zk (R-P2)
Generic Relaxation
minimize z subject to z Bx h (x ) for h = 1, . . . , H x Dx , where x h is a previous optimal solution to the relaxation and Bx h (x ) is a cut on the objective function. (R-P2)
The driving factor in the success of a Benders decomposition is the quality of the cuts. Good cuts are readily available when the subproblems for a xed x are 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.