09.0 integer programming.pdf
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