05.1 Chapter9_IntegerProgrammingI.pdf

Embed Size (px)

Citation preview

  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    1/20

    Integer Programming

    (FEUP | DEGI) Operations Research April 8, 2014 1 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    2/20

    Integer Programming Learning Objectives

    Model problems with integer variablesApply the branch-and-bound procedure, graphically solving each linear programming problemencountered.

    Apply the branch-and-bound procedure using the simplex and the dual-simplex method.Given a branch-and-bound search-tree determine:

    if the problem is a maximization or minimization one,indicate the best lower and upper bounds found so far in the search,recognize, and explain why, if a tree is completely explored or not.

    Apply the implicit enumeration algorithm to solve integer problems with only binary variables.

    (FEUP | DEGI) Operations Research April 8, 2014 2 / 20

    http://find/http://goback/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    3/20

    Solving Integer Programming ProblemsSolve the non-integer problem with Simplex and round?

    (FEUP | DEGI) Operations Research April 8, 2014 3 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    4/20

    Solving Integer Programming ProblemsTest all the solutions? They are less than 20. . .

    (FEUP | DEGI) Operations Research April 8, 2014 4 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    5/20

    Solving Integer Programming ProblemsTest all the solutions? They are 10 30!

    Events at UPorto with 100 events

    If there are 100 events to choose from, as each decision variable can take two values (0 or 1)there would be 2 2 2 . . . 2 = 2 100 1030 alternative solution that should be evaluated.Obviously some of these solutions would be non-admissible but it is not possible to assess whetheror not a solution meets the constraints without rst generating it. That would make this testingall solutions method impractical.Considering that the universe has approximately 10 10 years, if, since the beginning of the universe,we would have evaluated 10 20 solutions per year, or 4 1012 per second, we would be now nearthe end ...

    (FEUP | DEGI) Operations Research April 8, 2014 5 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    6/20

    Exact Methods to solve Integer or Mixed IntegerProgramming Problems

    Relaxation If we do not consider one or more constraints of the O riginal P roblem(OP ), we can transform the problem in another problem, the R elaxedP roblem ( RP ) that can be simpler to solve. Considering that the problemis a minimization problem, the optimal values of the objective function arerelated in the following way:

    f RP f

    OP

    (with less constraints the solution can only improve or stay the same).

    Linear relaxation transform an integer problem in a problem with continuous variables bydropping the constraint that the variables must be integer (or Binary).This allows us to use the Simplex Algorithm instead of the more complex,and far more time consuming, tree search.

    Branch and Bound Thebranch and bound method is based on an intelligent enumeration of the solutions that are candidates to be integer optimal by successively partitioning the solution space and cutting the search tree by consideringlimits that are calculated during the enumeration.

    (FEUP | DEGI) Operations Research April 8, 2014 6 / 20

    http://find/http://goback/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    7/20

    Solving a Problem with B&B

    Consider the following Integer Pro-gramming Problem:

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y Z +0

    Optimal Solution:

    (x , y ) = (1 , 4); F = 31

    (FEUP | DEGI) Operations Research April 8, 2014 7 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    8/20

    Solving the linear relaxation of the problem, LP 0

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y 0

    Optimal Solution:(x , y ) = (3 . 5 , 3. 5); F = 35

    (FEUP | DEGI) Operations Research April 8, 2014 8 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    9/20

    Problem LP 01 branching in x : x 3

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y 0

    x 3

    Optimal Solution:

    (x , y ) = (3 , 3. 6); F = 34 . 5

    (FEUP | DEGI) Operations Research April 8, 2014 9 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    10/20

    Problem LP 02 branching in x : x 4

    max F = 3 x + 7 y

    s. t.:

    x 3. 5

    5x 4y 1047 x + 2 y 9

    x , y 0

    x 4

    no admissible solution

    (FEUP | DEGI) Operations Research April 8, 2014 10 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    11/20

    Problem LP 011 branching in y : y 3

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 104

    7x + 2 y 9x , y 0

    x 3y 3

    Optimal Solution:(x , y ) = (3 , 3); F = 30(x , y Z +0 )

    (FEUP | DEGI) Operations Research April 8, 2014 11 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    12/20

    Problem LP 012 branching in y : y 4

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y 0

    x 3y 4

    Optimal Solution:(x , y ) = (1 . 7 , 4); F = 33 . 2

    (FEUP | DEGI) Operations Research April 8, 2014 12 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    13/20

    Problem LP 0121 branching in x : x 1

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 104

    7x + 2 y 9x , y 0

    x 3y 4

    x 1

    Optimal Solution:(x , y ) = (1 , 4. 2); F = 32 . 5

    (FEUP | DEGI) Operations Research April 8, 2014 13 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    14/20

    Problem LP 0122 branching in x : x 2

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y 0

    x 3y 4

    x 2

    no admissible solution

    (FEUP | DEGI) Operations Research April 8, 2014 14 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    15/20

    Problem LP 01211 branching in y : y 4

    max F = 3 x + 7 y s. t.:

    x 3. 55x 4y 1047 x + 2 y 9

    x , y 0

    x 3y 4

    x 1y 4

    Optimal Solution:(x , y ) = (1 , 4); F = 31(x , y Z +0 )

    (FEUP | DEGI) Operations Research April 8, 2014 15 / 20

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    16/20

    Problem LP 01212 branching in y : y 5

    max F = 3 x + 7 y

    s. t.:

    x 3. 55x 4y 104

    7x + 2 y 9x , y 0

    x 3y 4

    x 1y 5

    no admissible solution

    (FEUP | DEGI) Operations Research April 8, 2014 16 / 20

    h d d

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    17/20

    Branch-and-Bound tree!"#$&'(' )'*+,+-./ 0 1234 0 123 ! # $%

    !"#$5&'(' )'*+,+-./ 0 14 0 126 7 0 1823

    !"#$9&'( :(;

  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    18/20

    Bounds

    Upper and lower Bounds:thebranch & bound is more efficient because it is possible to cut nodes of the search treewithout exploring them, because we are sure not to obtain better solutions than the ones wealready have;allow us to measure the distance, (considering the value of the objective function) to theoptimal solution.

    Maximization Problem

    F* - LB UB - LB

    F

    Upper Bound UBValue of the objective function for the

    most promising unexplored node

    Optimal integer solution F*(unknown)

    Lower bound LBBest integer solution found

    (highest value of the objectivefunction)

    a lower bound LB is given by aninteger solution that has been

    previously obtained the optimalsolution F can never be worse (lower)than the integer solution that wealready have;an upper bound UB is given by thehighest value of the objective functionamong all the nodes that are not yetcompletely explored(we hope to nd there an integersolution that is better than the one wehave).

    (FEUP | DEGI) Operations Research April 8, 2014 18 / 20

    Consider a linear programming problem where all the variables are integer. The tree in the gure

    http://find/
  • 8/10/2019 05.1 Chapter9_IntegerProgrammingI.pdf

    19/20

    p g g p g gis obtained along the resolution process.

    !"#$&'(')*'+,-,. /(012('3

    ! # $%%

    !"#4&'(')*'+,-,. /(012('3

    ! # &'

    !"#5&*'+,-,. /(012('3

    6# (%

    !"#7&'(')*'+,-,. /(012('3

    ! # ()

    !"#8&'( /(012('3

    !"#9&'(')*'+,-,. /(012('3

    ! # )$

    !"#:&'(')*'+,-,. /(012('3

    ! # *'

    !"#;&*'+,-,. /(012('3

    6# *%

    !"#