cutting plane algorithm, gomory cuts, and disjunctive .optintro 1/37 cutting plane algorithm, gomory

Download Cutting Plane Algorithm, Gomory Cuts, and Disjunctive .OptIntro 1/37 Cutting Plane Algorithm, Gomory

Post on 09-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • OptIntro 1 / 37

    Cutting Plane Algorithm, Gomory Cuts, andDisjunctive Cuts

    Eduardo Camponogara

    Department of Automation and Systems EngineeringFederal University of Santa Catarina

    October 2016

  • OptIntro 2 / 37

    Summary

    Cutting-Plane Algorithm

    Gomory Cuts

    Disjunctive Cuts

  • OptIntro 3 / 37

    Cutting-Plane Algorithm

    Summary

    Cutting-Plane Algorithm

    Gomory Cuts

    Disjunctive Cuts

  • OptIntro 4 / 37

    Cutting-Plane Algorithm

    Cutting-Plane Algorithm: Principles

    I Assume that that feasible set is X = P Zn.I Let F be a family of valid inequalities for X :

    T x 6 0, (, 0) F ,

    I Typically, F may contain a large number of elements (exponentiallymany).

    I Thus we cannot introduce all inequalities a priori.

    I From a practical standpoint, we dont need a full representation ofconv(X ), only an approximation around the optimal solution.

  • OptIntro 4 / 37

    Cutting-Plane Algorithm

    Cutting-Plane Algorithm: Principles

    I Assume that that feasible set is X = P Zn.I Let F be a family of valid inequalities for X :

    T x 6 0, (, 0) F ,

    I Typically, F may contain a large number of elements (exponentiallymany).

    I Thus we cannot introduce all inequalities a priori.

    I From a practical standpoint, we dont need a full representation ofconv(X ), only an approximation around the optimal solution.

  • OptIntro 4 / 37

    Cutting-Plane Algorithm

    Cutting-Plane Algorithm: Principles

    I Assume that that feasible set is X = P Zn.I Let F be a family of valid inequalities for X :

    T x 6 0, (, 0) F ,

    I Typically, F may contain a large number of elements (exponentiallymany).

    I Thus we cannot introduce all inequalities a priori.

    I From a practical standpoint, we dont need a full representation ofconv(X ), only an approximation around the optimal solution.

  • OptIntro 5 / 37

    Cutting-Plane Algorithm

    Cutting-Plane Algorithm

    Here we present a baseline cutting-plane algorithm for

    IP : max{cT x ; x X}

    , which generates useful cuts from the family F .

  • OptIntro 6 / 37

    Cutting-Plane Algorithm

    Cutting-Plane Algorithm

    InitializationDefine t = 0 and P0 = P

    Iteration TSolve the linear program z t = max{cT x : x P t}Let x t be an optimal solutionIf x t Zn, stop since x t is an optimal solution for IPIf x t / Zn, find an inequality (, 0) F

    such that T x t > 0If an inequality (, 0) was found,

    then do P t+1 = P t {x : T x 6 0},increase t and repeat

    Otherwise, stop

  • OptIntro 7 / 37

    Cutting-Plane Algorithm

    Valid Inequalities

    I If the algorithm terminates without finding an integersolution, at least

    Pt = P {x : Ti 6 i0, i = 1, 2, . . . , t}

    is a tighter formulation than the initial formulation P.

    I We can proceed from Pt with a branch-and-bound algorithm.

  • OptIntro 7 / 37

    Cutting-Plane Algorithm

    Valid Inequalities

    I If the algorithm terminates without finding an integersolution, at least

    Pt = P {x : Ti 6 i0, i = 1, 2, . . . , t}

    is a tighter formulation than the initial formulation P.

    I We can proceed from Pt with a branch-and-bound algorithm.

  • OptIntro 8 / 37

    Gomory Cuts

    Summary

    Cutting-Plane Algorithm

    Gomory Cuts

    Disjunctive Cuts

  • OptIntro 9 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    I Here we concentrate in the following integer program:

    max {cT x : Ax = b, x > 0 and integer}

    I The strategy is to solve the linear relaxation and find an optimalbasis.

    I From the optimal basis, we choose a fractional basic variable.

    I Then we generate a Chvatal-Gomory cut associated with this basicvariable, aiming to cut it off, that is, eliminate this solution from therelaxation polyhedron.

  • OptIntro 9 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    I Here we concentrate in the following integer program:

    max {cT x : Ax = b, x > 0 and integer}

    I The strategy is to solve the linear relaxation and find an optimalbasis.

    I From the optimal basis, we choose a fractional basic variable.

    I Then we generate a Chvatal-Gomory cut associated with this basicvariable, aiming to cut it off, that is, eliminate this solution from therelaxation polyhedron.

  • OptIntro 10 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    Given an optimal basis, the problem/dictionary can be expressedas:

    max aoo +

    jNBaojxj

    s.t.: xBu +

    jNBaujxj = auo for u = 1, . . . ,m

    x > 0 and integer

    where:

    1. aoj 6 0 for j NB,2. auo > 0 for u = 1, . . . ,m, and

    3. NB is the set of nonbasic variables, therefore{Bu : u = 1, . . . ,m} NB = {1, . . . , n}.

  • OptIntro 11 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    I If the optimal basic solution x is not integer, then there mustexist a row u such that auo / Z.

    I Choosing this row, the Chvatal-Gomory for the row ubecomes:

    xBu +jNBbaujcxj 6 bauoc (1)

    I Rewriting (1) so as to eliminate xBu, we obtain:

    xBu = auo jNB

    aujxj (2)

  • OptIntro 11 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    I If the optimal basic solution x is not integer, then there mustexist a row u such that auo / Z.

    I Choosing this row, the Chvatal-Gomory for the row ubecomes:

    xBu +jNBbaujcxj 6 bauoc (1)

    I Rewriting (1) so as to eliminate xBu, we obtain:

    xBu = auo jNB

    aujxj (2)

  • OptIntro 11 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    I If the optimal basic solution x is not integer, then there mustexist a row u such that auo / Z.

    I Choosing this row, the Chvatal-Gomory for the row ubecomes:

    xBu +jNBbaujcxj 6 bauoc (1)

    I Rewriting (1) so as to eliminate xBu, we obtain:

    xBu = auo jNB

    aujxj (2)

  • OptIntro 12 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    From (2), we deduce that:

    auo jNB

    aujxj +jNBbaujcxj 6 bauoc

    =jNB

    (auj baujc) xj > auo bauoc (3)

  • OptIntro 13 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    In a more compact form, we can rewrite the cutting plane:jNB

    (auj baujc) xj > auo bauoc

    as: jNB

    fujxj > fuo (4)

    in which:

    I fuj = auj baujc andI fuo = auo bauoc.

  • OptIntro 14 / 37

    Gomory Cuts

    Cutting-Plane Algorithm with Gomory Cuts

    RemarkSince 0 6 fuj < 1 and 0 < fuo < 1, and xj = 0 for each variablej NB in the solution x, the inequality

    jNBfujxj > fuo

    cuts off the incumbent solution x.

  • OptIntro 15 / 37

    Gomory Cuts

    Example

    Example

    Consider the integer program:

    z = max 4x1 x2s.t. : 7x1 2x2 6 14

    x2 6 32x1 2x2 6 3x1, x2 > 0, integer

    (5)

  • OptIntro 16 / 37

    Gomory Cuts

    Example

    Example

    After introducing slack variables x3, x4 and x5, we can apply the Simplexmethod and obtain an optimal solution:

    max 597 47x3

    17x4

    s.t. : x1 +17x3 +

    27x4 =

    207 (= 2.8571)

    x2 + x4 = 3 27x3 +

    107 x4 + x5 =

    237 (= 3.2857)

    x1, x2, x3, x4, x5 > 0 and integer(6)

  • OptIntro 17 / 37

    Gomory Cuts

    Example

    Example

    I The optimal solution for the linear relaxation isx = ( 207 , 3,

    277 , 0, 0) / Z

    5+.

    I Thus, we use the first row of (6), in which the basic variables x1 isfractional.

    I This generates the cut:

    x1 + b 17cx3 + b27cx4 6 b

    207 c = x1 6 2

  • OptIntro 17 / 37

    Gomory Cuts

    Example

    Example

    I The optimal solution for the linear relaxation isx = ( 207 , 3,

    277 , 0, 0) / Z

    5+.

    I Thus, we use the first row of (6), in which the basic variables x1 isfractional.

    I This generates the cut:

    x1 + b 17cx3 + b27cx4 6 b

    207 c = x1 6 2

  • OptIntro 17 / 37

    Gomory Cuts

    Example

    Example

    I The optimal solution for the linear relaxation isx = ( 207 , 3,

    277 , 0, 0) / Z

    5+.

    I Thus, we use the first row of (6), in which the basic variables x1 isfractional.

    I This generates the cut:

    x1 + b 17cx3 + b27cx4 6 b

    207 c = x1 6 2

  • OptIntro 18 / 37

    Gomory Cuts

    Example

    Example

    Introducing a slack variable, we obtain:

    x1 + s = 2,x1 =

    207

    17x3

    27x4 =

    207

    17x3

    27x4 + s = 2

    = s = 2 207 +17x3 +

    27x4

    = s = 67 +17x3 +

    27x4

    with s, x3, x4 > 0 and integer.

  • OptIntro 19 / 37

    Gomory Cuts

    Example

    Example

    Introducing the slack variable s and the cut

    s = 67

    +1

    7x3 +

    2

    7x4,

    we obtain a second formulation:

    max 152 12x5 3s

    s.t. : x1 + s = 2x2 12x5 + s =

    12

    x3 x5 5s = 1x4 +

    12x5 + 6s =

    52

    x1, x2, x3, x4, x5, s > 0 and integer.(7)

    An optimal solution for the relaxation (7), yields x = (2, 12 , 1,52 , 0, 0).

  • OptIntro 20 / 37

    Gomory Cuts

    Example

    Example

    The incumbent solution remains fractional because x2 and x4 are notinteger.

    The application of the Chavatal-Gomory cut on the second row yields:

    x2 + b 12cx5 + b1cs 6 b12c = x2 x5 + s 6 0

    = x2 x5 + s + t = 0, t > 0= ( 12 +

    12x5 s) x5 + s + t = 0

    = t 12x5 = 12 , t > 0

  • OptIntro 20 / 37

    Gomory Cu

Recommended

View more >