ConstraintGenerationMethods(1)

download ConstraintGenerationMethods(1)

of 16

Transcript of ConstraintGenerationMethods(1)

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