+ All Categories
Home > Documents > 09.0 Integer Programming.pdf

09.0 Integer Programming.pdf

Date post: 02-Jun-2018
Category:
Upload: ashoka-vanjare
View: 235 times
Download: 0 times
Share this document with a friend

of 77

Transcript
  • 8/10/2019 09.0 Integer Programming.pdf

    1/77

    Chapter 9

    Integer ProgrammingCompanion slides of

    Applied Mathematical Programming

    by Bradley, Hax, and Magnanti(Addison-Wesley, 1977)

    prepared by

    Jos Fernando Oliveira

    Maria Antnia Carravilla

  • 8/10/2019 09.0 Integer Programming.pdf

    2/77

    What are integer-programming

    problems?

    In many applications, integrality restrictions

    reflect natural indivisibilities of the problem

    under study. For example, when deciding how

    many nuclear aircraft carriers to have in the

    U.S. Navy, fractional solutions clearly are

    meaningless. In these situations, the decision

    variables are inherently integral by the natureof the decision-making problem.

  • 8/10/2019 09.0 Integer Programming.pdf

    3/77

    What are integer-programming

    problems?

    Linear programming problems in which

    fractional solutions are not realistic.

    Mixed integer programs when some, but not all,

    variables are restricted to be integer.

    Pure integer programs when all decision variables

    must be integers.

    Binary programs when all decision variables mustbe either 0 or 1.

  • 8/10/2019 09.0 Integer Programming.pdf

    4/77

    SOME INTEGER-PROGRAMMINGMODELS

  • 8/10/2019 09.0 Integer Programming.pdf

    5/77

    Capital Budgeting

    In a typical capital-budgeting problem, decisions involve theselection of a number of potential investments. The investment decisions might be to choose among possible

    plant locations, to select a configuration of capital equipment,or to settle upon a set of research-and-development projects.

    Often it makes no sense to consider partial investments inthese activities, and so the problem becomes a gono-gointeger program, where the decision variables are taken tobexj= 0 or 1, indicating that thejth investment is rejectedor accepted.

    Assume that: cjis the contribution resulting from thejth investment,

    aijis the amount of resource iused on thejth investment.

    bi is the limited availability of the ith resource.

    The objective is to maximize total contribution from allinvestments.

  • 8/10/2019 09.0 Integer Programming.pdf

    6/77

    Model

  • 8/10/2019 09.0 Integer Programming.pdf

    7/77

    Note that

    The coefficients aijrepresent the net cash flowfrom investmentjin period i. If the investment requires additional cash in period i,

    then aij> 0,

    If the investment generates cash in period i,then aij< 0.

    The righthand-side coefficients birepresent theincremental exogenous cash flows.

    If additional funds are made available in period i,then bi> 0,

    If funds are withdrawn in period i,then bi< 0.

  • 8/10/2019 09.0 Integer Programming.pdf

    8/77

    The capital-budgeting model can be made

    much richer by including logical

    considerations The investment in a new product line is contingent

    upon previous investment in a new plant

    (contingency constraints)

    Conflicting projects (multiple-choice constraints)

  • 8/10/2019 09.0 Integer Programming.pdf

    9/77

    The 0-1 knapsack problem

    A capital budgeting problem with a single

    resource:

  • 8/10/2019 09.0 Integer Programming.pdf

    10/77

    Warehouse Location

    In modeling distribution systems, decisions must

    be made about tradeoffs between transportation

    costs and costs for operating distribution centers.

    As an example, suppose that a manager mustdecide which of n warehouses to use for meeting

    the demands ofm customers for a good.

    The decisions to be made are which warehousesto operate and how much to ship from any

    warehouse to any customer.

  • 8/10/2019 09.0 Integer Programming.pdf

    11/77

    Decision variables and relevant data

    There are two types of constraints for the model: the demand djof each customer must be filled from the

    warehouses,

    goods can be shipped from a warehouse only if it is

    opened.

  • 8/10/2019 09.0 Integer Programming.pdf

    12/77

    Model

  • 8/10/2019 09.0 Integer Programming.pdf

    13/77

    Scheduling

    Consider the scheduling of airline flightpersonnel.

    The airline has a number of routing legs to

    be flown, such as 10 A.M. New York toChicago, or 6 P.M.Chicago to Los Angeles.

    The airline must schedule its personnel crews

    on routes to cover these flights. One crew, forexample, might be scheduled to fly a routecontaining the two legs just mentioned.

  • 8/10/2019 09.0 Integer Programming.pdf

    14/77

    Decision variables and relevant data

    The coefficients aijdefine the acceptable combinations oflegs and routes, taking into account such characteristics assequencing of legs for making connections between flightsand for including in the routes ground time formaintenance.

  • 8/10/2019 09.0 Integer Programming.pdf

    15/77

    Model

  • 8/10/2019 09.0 Integer Programming.pdf

    16/77

    An alternative formulation

    that permits a crew to ride as passengers

    on a leg

    Set-partitioning:

    Set-covering

  • 8/10/2019 09.0 Integer Programming.pdf

    17/77

  • 8/10/2019 09.0 Integer Programming.pdf

    18/77

    Decision variables

  • 8/10/2019 09.0 Integer Programming.pdf

    19/77

    Model

    Sub-tours are not prevented

  • 8/10/2019 09.0 Integer Programming.pdf

    20/77

    Sub-tours elimination

    With n cities, (2n1)constraints of this nature must beadded True for this strategy and many other strategies used to

    eliminate sub-tours in TSP models.

    +

  • 8/10/2019 09.0 Integer Programming.pdf

    21/77

    FORMULATING INTEGERPROGRAMS

  • 8/10/2019 09.0 Integer Programming.pdf

    22/77

    Binary 0-1 variables

    Suppose that we are to determine whether or not toengage in the following activities: (i) to build a new plant,

    (ii) to undertake an advertising campaign, or

    (iii) to develop a new product.

    In each case, we must make a yesno or so-called gonogo decision. These choices are modeled easily by lettingxj= 1 if we engage in thejth activity andxj= 0otherwise.

    Variables that are restricted to 0 or 1 in this way are termed

    binary, bivalent, logical, or 01 variables. Binary variables are of great importance because they

    occur regularly in many model formulations.

    But can be also used as auxiliary variables

  • 8/10/2019 09.0 Integer Programming.pdf

    23/77

    Constraint Feasibility

    Does a given choice of the decision variables

    satisfies the constraint

    ?

    Introduce a binary variable y with the

    interpretation:

    and write

    B is chosen to be

    large enough so

    that the constraint

    always is satisfied

    if y = 1

  • 8/10/2019 09.0 Integer Programming.pdf

    24/77

    Alternative constraints

    At least one, but not necessarily both, of these

    constraints must be satisfied. This restriction can be modeled by combining the

    technique just introduced with a multiple-choice

    constraint as follows:

  • 8/10/2019 09.0 Integer Programming.pdf

    25/77

    We can save one integer variable in this

    formulation:

  • 8/10/2019 09.0 Integer Programming.pdf

    26/77

    Conditional Constraints

    These constraints have the form:

    If we note that:

    (pq) (pq)

    we end up with the following alternativeconstraints:

  • 8/10/2019 09.0 Integer Programming.pdf

    27/77

    k-Fold Alternatives

    We must satisfy at least k of the constraints:

    Assuming that Bjforj = 1, 2, . . . , p, are chosen so

    that the ignored constraints will not be binding, the

    general problem can be formulated as follows:

  • 8/10/2019 09.0 Integer Programming.pdf

    28/77

    Compound Alternatives

  • 8/10/2019 09.0 Integer Programming.pdf

    29/77

    Representing Nonlinear Functions

    Nonlinear functions can be represented by

    integer-programming formulations

  • 8/10/2019 09.0 Integer Programming.pdf

    30/77

    Fixed Costs

    Frequently, the objective function for a minimization problemcontains fixed costs (preliminary design costs, fixed

    investment costs, fixed contracts, and so forth).

  • 8/10/2019 09.0 Integer Programming.pdf

    31/77

    Assume that the equipment has a capacity of B units.

    Define y to be a binary variable that indicates when

    the fixed cost is incurred, so that y = 1 whenx > 0

    andy = 0 whenx = 0.

    Then the contribution to cost due tox may bewritten as

    with the constraints

  • 8/10/2019 09.0 Integer Programming.pdf

    32/77

    Piecewise Linear Representation

  • 8/10/2019 09.0 Integer Programming.pdf

    33/77

    To model the cost curve, we express any value

    ofx as the sum of three variables 1, 2, 3,sothat the cost for each of these variables is

    linear.

    Hence,where

    and the total variable cost is given by:

  • 8/10/2019 09.0 Integer Programming.pdf

    34/77

    Note that we have defined the variables so that:

    1

    corresponds to the amount by whichx exceeds 0,but is less than or equal to 4;

    2is the amount by whichx exceeds 4, but is less thanor equal to 10; and

    3is the amount by whichx exceeds 10, but is lessthan or equal to 15.

    If this interpretation is to be valid, we must alsorequire that 1= 4 whenever 2> 0 and that 2=6 whenever

    3> 0.

    However, these restrictions on the variables aresimply conditional constraints and can bemodeled by introducing (more) binary variables:

  • 8/10/2019 09.0 Integer Programming.pdf

    35/77

  • 8/10/2019 09.0 Integer Programming.pdf

    36/77

    Diseconomies of Scale When marginal costs are increasing for a minimization

    problem or marginal returns are decreasing for amaximization problem.

  • 8/10/2019 09.0 Integer Programming.pdf

    37/77

  • 8/10/2019 09.0 Integer Programming.pdf

    38/77

    SOME CHARACTERISTICS OFINTEGER PROGRAMS

  • 8/10/2019 09.0 Integer Programming.pdf

    39/77

    A sample problem

    Determine:

    subject to:

  • 8/10/2019 09.0 Integer Programming.pdf

    40/77

    Feasible region

    Dots in the shaded region are feasible integer points.

  • 8/10/2019 09.0 Integer Programming.pdf

    41/77

    Somes notes If the integrality restrictions on variables are dropped,

    the resulting problem is a linear program. We will call itthe associated linear program.

    The optimal integer-programming solution is notobtained by rounding the linear-programmingsolution.

    The closest point to the optimal linear-programsolution is not even feasible.

    The nearest feasible integer point to the linear-program solution is far removed from the optimalinteger point.

    It is not sufficient simply to round linear-programmingsolutions.

    Systematic and explicit enumeration does not workeven for small problems.

  • 8/10/2019 09.0 Integer Programming.pdf

    42/77

    BRANCH-AND-BOUND

  • 8/10/2019 09.0 Integer Programming.pdf

    43/77

    Strategy of divide and conquer

    An integer linear program is a linear program furtherconstrained by the integrality restrictions.

    Thus, in a maximization problem, the value of theobjective function, at the linear-program optimum, will

    always be an upper bound on the optimal integer-programming objective.

    In addition, any integer feasible point is always a lowerbound on the optimal linear-program objective value.

    The idea of branch-and-bound is to utilize theseobservations to systematically subdivide the linearprogramming feasible regionand make assessments ofthe integer-programming problem based upon thesesubdivisions.

  • 8/10/2019 09.0 Integer Programming.pdf

    44/77

  • 8/10/2019 09.0 Integer Programming.pdf

    45/77

  • 8/10/2019 09.0 Integer Programming.pdf

    46/77

  • 8/10/2019 09.0 Integer Programming.pdf

    47/77

  • 8/10/2019 09.0 Integer Programming.pdf

    48/77

  • 8/10/2019 09.0 Integer Programming.pdf

    49/77

  • 8/10/2019 09.0 Integer Programming.pdf

    50/77

    Further Considerations

    There are three points that have yet to beconsidered with respect to the branch-and-boundprocedure:

    i. Can the linear programs corresponding to thesubdivisions be solved efficiently?

    ii. What is the best way to subdivide a given region,and which unanalyzed subdivision should beconsidered next?

    iii. Can the upper bound (z = 41, in the example) on theoptimal value z of the integer program be improvedwhile the problem is being solved?

    h l d

  • 8/10/2019 09.0 Integer Programming.pdf

    51/77

    Can the linear programs corresponding to

    the subdivisions be solved efficiently?

    Dual simplex method!

    Adding the new constraint:

    Results in:

  • 8/10/2019 09.0 Integer Programming.pdf

    52/77

    We must pivot to isolatex2in the second

    constraint and re-express the system as:

    and perform a dual simplex method iteration.

    What is the best way to subdivide a given

  • 8/10/2019 09.0 Integer Programming.pdf

    53/77

    What is the best way to subdivide a given

    region, and which unanalyzed subdivision

    should be considered next? If we can make our choice of subdivisions in such a way

    as to rapidly obtain a good (with luck, near-optimal)integer solution z, then we can eliminate manypotential subdivisionsimmediately

    as if any region has its linear programming value z < z,then the objective value of no integer point in that regioncan exceed z and the region need not be subdivided.

    There is no universal method for making the requiredchoice, although several heuristic procedures have

    been suggested, such as selecting the subdivision: with the largest optimal linear-programming value.

    on a last-generatedfirst-analyzed basis (depth-first).

    Rules for determining which fractional variables to use

    in constructing subdivisions are more subtle

    Can the upper bound on the optimal value

  • 8/10/2019 09.0 Integer Programming.pdf

    54/77

    Can the upper bound on the optimal value

    z*of the integer program be improved

    while the problem is being solved?

    Initial upper bound

    = 41.25

    41 if we recall thatthe objective

    function coefficients

    are also integer.

    Current upperbound = 40 5/9

    40, for the same

    reasons.

  • 8/10/2019 09.0 Integer Programming.pdf

    55/77

    Summary

    The essential idea of branch-and-bound is to subdividethe feasible region to develop boundszL< z* < z

    Uonz*.

    For a maximization problem, the lower boundzLis the

    highest value of any feasible integer pointencountered.

    The upper bound is given by the optimal value of theassociated linear program or by the largest value for

    the objective function at any hanging box. After considering a subdivision, we must branch to

    (move to) another subdivision and analyze it.

  • 8/10/2019 09.0 Integer Programming.pdf

    56/77

    Summary

    If eitheri. the linear program over Ljis infeasible;

    ii. the optimal linear-programming solution over Ljisinteger; or

    iii. the value of the linear-programming solution zjoverLjsatisfiesz

    j zL(if maximizing),

    then Ljneed not be subdivided. In these cases,integer-programming terminology says that Lj has

    beenfathomed. Case

    (i) is termed fathoming by infeasibility,

    (ii) fathoming by integrality, and

    (iii) fathoming by bounds.

  • 8/10/2019 09.0 Integer Programming.pdf

    57/77

  • 8/10/2019 09.0 Integer Programming.pdf

    58/77

    BRANCH-AND-BOUNDFOR MIXED-INTEGER PROGRAMS

    Branch and Bound

  • 8/10/2019 09.0 Integer Programming.pdf

    59/77

    Branch-and-Bound

    for Mixed-Integer Programs

    The branch-and-bound approach just

    described is easily extended to solve problems

    in which some, but not all, variables are

    constrained to be integral.

    Subdivisions then are generated solely by the

    integral variables.

    In every other way, the procedure is the sameas that specified above.

  • 8/10/2019 09.0 Integer Programming.pdf

    60/77

    Example

  • 8/10/2019 09.0 Integer Programming.pdf

    61/77

    Search Tree

  • 8/10/2019 09.0 Integer Programming.pdf

    62/77

    Simplex tableaus

  • 8/10/2019 09.0 Integer Programming.pdf

    63/77

    Simplex tableaus

  • 8/10/2019 09.0 Integer Programming.pdf

    64/77

    BINARY BRANCH-AND-BOUND

    Implicit enumeration

    A special branch and bound procedure for

  • 8/10/2019 09.0 Integer Programming.pdf

    65/77

    A special branch-and-bound procedure for

    integer programs with only binary variables

    The algorithm has the advantage that itrequires no linear-programming solutions.

    In the ordinary branch-and-bound procedure,

    subdivisions were analyzed by maintaining thelinear constraints and dropping the integralityrestrictions relax the variables

    Here, we adopt the opposite tactic of alwaysmaintaining the 01 restrictions, but ignoringthe linear inequalities relax the constraints

  • 8/10/2019 09.0 Integer Programming.pdf

    66/77

    General idea

    The idea is to utilize a branch-and-bound (orsubdivision) process to fix some of the variablesat 0 or 1.

    The variables remaining to be specified are calledfree variables.

    Note that, when the inequality constraints areignored, the objective function is maximized by

    setting the free variables to zero, since theirobjective function coefficients are negative.

    This is mandatory to apply this algorithm.

  • 8/10/2019 09.0 Integer Programming.pdf

    67/77

    Example

    subject to:

    all coefficients are negativemaximization problem

    constraints are specified as

    less than or equal to

    inequalities

  • 8/10/2019 09.0 Integer Programming.pdf

    68/77

    We start with no fixed variables, and

    consequently every variable is free and set tozero.

    The solution does not satisfy the inequality

    constraints, and we must subdivide to searchfor feasible solutions.

    One subdivision choice might be:

    For subdivision 1 :x1= 1, For subdivision 2 :x1= 0.

  • 8/10/2019 09.0 Integer Programming.pdf

    69/77

    Now variablex1is fixed in each subdivision. If theinequalities are ignored, the optimal solution over each

    subdivision hasx2= x3= x4= x5= 0.

    The resulting solution in subdivision 1 gives

    z = 8(1) 2(0) 4(0) 5(0) + 10 = 2

    and happens to satisfy the inequalities, so the optimalsolution to the original problem is at least 2, z* 2.

    Also, subdivision 1 has been fathomed: The above solution is best among all 01 combinations

    withx1= 1.

    No other feasible 01 combination in subdivision 1 needsto be evaluated explicitly.

    These combinations have been considered implicitly.

  • 8/10/2019 09.0 Integer Programming.pdf

    70/77

    The solution withx2= x3= x4= x5= 0 in

    subdivision 2 is the same as the originalsolution with every variable at zero, and is

    infeasible.

    Consequently, the region must be subdividedfurther, say withx2= 1 orx2= 0, giving:

    For subdivision 3 :x1= 0, x2= 1;

    For subdivision 4 :x1= 0, x2= 0.

  • 8/10/2019 09.0 Integer Programming.pdf

    71/77

    Enumeration tree to this point

    Completing it

  • 8/10/2019 09.0 Integer Programming.pdf

    72/77

    Complete

    tree

  • 8/10/2019 09.0 Integer Programming.pdf

    73/77

    Note that

    1. At, the solutionx1= 0, x2= x3= 1 , with freevariablesx4= x5= 0,is feasible, with z = 4, thusproviding an improved lower bound on z.

    2. At, the solutionx1

    = x3

    = 0, x2

    = x4

    = 1, andfree variablex5= 0, hasz = 1 < 4, so that nosolution in that subdivision can be as good asthat generated at.

    3. Atand, every free variable is fixed. In eachcase, the subdivisions contain only a singlepoint, which is infeasible, and furthersubdivision is not possible.

  • 8/10/2019 09.0 Integer Programming.pdf

    74/77

  • 8/10/2019 09.0 Integer Programming.pdf

    75/77

    Generalizing

    Subdivisions are fathomed if any of three

    conditions hold:

    i. the integer program is known to be infeasible over

    the subdivision, for example, by the previousinfeasibility test;

    ii. the 01 solution obtained by setting free variables

    to zero satisfies the linear inequalities; or

    iii. the objective value obtained by setting freevariables to zero is no larger than the best feasible

    01 solution previously generated.

  • 8/10/2019 09.0 Integer Programming.pdf

    76/77

  • 8/10/2019 09.0 Integer Programming.pdf

    77/77

    Problem transformation

    Minimization problems are transformed tomaximization by multiplying cost coefficients by1.

    Ifxjappears in the maximization form with a

    positive coefficient, then the variable substitutionxj= 1xj everywhere in the model leaves thebinary variablexj with a negative objective-

    function coefficient. Greater than or equal to constraints can be

    multiplied by 1 to become less than or equalto constraints


Recommended