09.0 Integer Programming PDF
09.0 Integer Programming PDF
Integer Programming
Companion slides of
Applied Mathematical Programming
by Bradley, Hax, and Magnanti
(Addison-Wesley, 1977)
prepared by
SOME INTEGER-PROGRAMMING
MODELS
Capital Budgeting
In a typical capital-budgeting problem, decisions involve the
selection 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.
Model
Note that
The coefficients aij represent the net cash flow
from investment j in period i.
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 must
decide which of n warehouses to use for meeting
the demands of m customers for a good.
The decisions to be made are which warehouses
to operate and how much to ship from any
warehouse to any customer.
Model
Scheduling
Consider the scheduling of airline flight
personnel.
The airline has a number of routing legs to
be flown, such as 10 A.M. New York to
Chicago, or 6 P.M.Chicago to Los Angeles.
The airline must schedule its personnel crews
on routes to cover these flights. One crew, for
example, might be scheduled to fly a route
containing the two legs just mentioned.
Model
An alternative formulation
that permits a crew to ride as passengers
on a leg
Set-partitioning:
Set-covering
Decision variables
Model
Sub-tours elimination
+
With n cities, (2n 1) constraints of this nature must be
added
True for this strategy and many other strategies used to
eliminate sub-tours in TSP models.
FORMULATING INTEGER
PROGRAMS
Constraint Feasibility
Does a given choice of the decision variables
satisfies the constraint
and write
B is chosen to be
large enough so
that the constraint
always is satisfied
if y = 1
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:
Conditional Constraints
These constraints have the form:
If we note that:
(p q) (p q)
k-Fold Alternatives
We must satisfy at least k of the constraints:
Assuming that Bj for j = 1, 2, . . . , p, are chosen so
that the ignored constraints will not be binding, the
general problem can be formulated as follows:
Compound Alternatives
Fixed Costs
Frequently, the objective function for a minimization problem
contains fixed costs (preliminary design costs, fixed
investment costs, fixed contracts, and so forth).
Diseconomies of Scale
subject to:
SOME CHARACTERISTICS OF
INTEGER PROGRAMS
A sample problem
Determine:
subject to:
Feasible region
Somes notes
If the integrality restrictions on variables are dropped,
the resulting problem is a linear program. We will call it
the associated linear program.
The optimal integer-programming solution is not
obtained by rounding the linear-programming solution.
The closest point to the optimal linear-program
solution is not even feasible.
The nearest feasible integer point to the linearprogram solution is far removed from the optimal
integer point.
It is not sufficient simply to round linear-programming
solutions.
Systematic and explicit enumeration does not work
even for small problems.
BRANCH-AND-BOUND
Further Considerations
There are three points that have yet to be
considered with respect to the branch-and-bound
procedure:
i.
Current upper
bound = 40 5/9
40, for the same
reasons.
Summary
The essential idea of branch-and-bound is to subdivide
the feasible region to develop bounds zL < z* < zU on
z*.
For a maximization problem, the lower bound zL is the
highest value of any feasible integer point
encountered.
The upper bound is given by the optimal value of the
associated 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.
Summary
If either
Branch-andbound
flowchart
BRANCH-AND-BOUND
FOR MIXED-INTEGER PROGRAMS
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 same
as that specified above.
Example
Search Tree
Simplex tableaus
Simplex tableaus
Implicit enumeration
BINARY BRANCH-AND-BOUND
General idea
The idea is to utilize a branch-and-bound (or
subdivision) process to fix some of the variables
at 0 or 1.
The variables remaining to be specified are called
free variables.
Note that, when the inequality constraints are
ignored, the objective function is maximized by
setting the free variables to zero, since their
objective function coefficients are negative.
This is mandatory to apply this algorithm.
Example
maximization problem
subject to:
Completing it
Complete
tree
Note that
1. At , the solution x1 = 0, x2 = x3 = 1 , with free
variables x4 = x5 = 0, is feasible, with z = 4, thus
providing an improved lower bound on z.
2. At , the solution x1 = x3 = 0, x2 = x4 = 1, and
free variable x5 = 0, has z = 1 < 4, so that no
solution in that subdivision can be as good as
that generated at .
3. At and , every free variable is fixed. In each
case, the subdivisions contain only a single
point, which is infeasible, and further
subdivision is not possible.
Note that
4. At , the second inequality (with fixed
variables x1 = x2 = 0) reads:
2 x3 x4 + x5 4.
No 01 values of x3, x4, or x5 completing
the fixed variables x1 = x2 = 0 satisfy this
constraint, since the lowest value for the
lefthand side of this equation is 3 when x3 =
x4 = 1 and x5 = 0.
The subdivision then has no feasible solution
and need not be analyzed further.
Generalizing
Subdivisions are fathomed if any of three
conditions hold:
i.
Once again
This algorithm is designed for problems in
which:
1. the objective is a maximization with all
coefficients negative; and
2. constraints are specified as less than or equal
to inequalities.
If not, then
Problem transformation
Minimization problems are transformed to
maximization by multiplying cost coefficients by
1.
If xj appears in the maximization form with a
positive coefficient, then the variable substitution
xj = 1 xj everywhere in the model leaves the
binary variable xj with a negative objectivefunction coefficient.
Greater than or equal to constraints can be
multiplied by 1 to become less than or equal
to constraints.