Integer Programming
• We have seen several examples of the diverse applications of
linear programming.
• One key limitation that prevents many more applications is
the assumption of divisibility.
• In many practical problems, the decision variables actually
make sense only if they have integer values.
• If requiring integer values is the only way in which a problem
deviates from an LP formulation, then it is an integer (linear)
programming (IP) problem.
Integer Programming
• Mathematical model for IP is the LP model with one
additional restriction that the variables must have integer
values.
• Pure IP: If all variables need to be integer.
• Mixed integer programming (MIP): If only some of the
variables are required to have integer values.
• Binary integer programming (BIP or 0-1).
• Two possible integer values, 0 and 1.
• Example: yes or no decisions.
Prototype Example
The CALIFORNIA MANUFACTURING COMPANY is considering
expansion by building a new factory in either Los Angeles or San
Francisco, or perhaps even in both cities. It also is considering
building at most one new warehouse, but the choice of location
is restricted to a city where a new factory is being built. The net
present value (total profitability considering the time value of
money) of each of these alternatives is shown in the fourth
column of the Table. The rightmost column gives the capital
required (already included in the net present value) for the
respective investments, where the total capital available is $10
million. The objective is to find the feasible combination of
alternatives that maximizes the total net present value
California Manufacturing Co problem
California Manufacturing Co:
• Considers building new factory in Los Angeles or San Francisco,
or both.
• Considers building one new warehouse (at most).
• Choice of location restricted to city where factory is being built.
• Objective: find the feasible combination of alternatives that
maximizes the net present value.
California Manufacturing Co problem
Data for the California Manufacturing Co problem
Decision Yes-or-No Decision Net Present Value Capital
Number Question Variable Required
1 Build factory in Los Angeles? x1 $9 million $6 million
2 Build factory in San Francisco? x2 $5 million $3 million
3 Build warehouse in Los Angeles? x3 $6 million $5 million
4 Build warehouse in San Francisco? x4 $4 million $2 million
Capital available: $10 million
California Manufacturing Co problem
• Formulating the model
1 if decision j is yes,
xj j 1, 2, 3, 4 .
0 if decision j is no,
Let
Z total net present value of these decisions.
California Manufacturing Co problem
• Net present value given by:
Z 9 x1 5 x2 6 x3 4 x4
• Model constraints:
6 x1 3x2 5 x3 2 x4 10
x3 x4 1
• Decisions 3 and 4 are contingent on decisions 1
and 2:
x3 x1
x4 x2
California Manufacturing Co problem
Maximize Z 9 x1 5 x2 6 x3 4 x4 ,
subject to
6 x1 3 x2 5 x3 2 x4 10
x3 x4 1 mutually exclusive decisions
x1 x3 0
contingent decisions
x2 x4 0
xj 1
xj 0
and
x j is integer, for j 1, 2, 3, 4.
BIP Applications
Investment analysis
• Decisions: whether to make certain fixed investments.
• Used in capital budgeting decisions.
Site selection
• Decisions: For each potential site, should it be selected to be the
location of a certain new facility.
BIP Applications
Airline applications
• Decision types:
• Should a certain type of aircraft be assigned to a certain flight
leg?
• Should a certain sequence of flight legs be assigned to a crew?
Investment Analysis
Investment Selection
Using Binary Variables to Deal with Fixed Charges
• Let’s say our company receives order to supply 1000 units with three
machines with fixed and variable cost of production, and capacity for
each machine as listed below.
Machine 1 Machine 2 Machine 3
Variable 2.39 1.99 2.99
cost/unit
Fixed cost 300 250 400
Capacity 400 550 600
- Minimize the total cost.
Using Binary Variables to Deal with Fixed Charges
Using Binary Variables to Deal with Fixed Charges
General fixed-cost problem as a MIP problem
General fixed charge problem
• Setup cost incurred to undertake an activity.
• Total cost equals variable cost, plus fixed charge.
Z c j x j k j y j ,
n
Minimize
j 1 • xj =Level of activity j
subject to • cj =variable cost of
activity j
the original constraints, plus • kj =fixed cost of activity j
• M is an extremely large
x j My j 0 positive number that
and exceeds the maximum
feasible value of any xj
y j is binary, for j 1, 2,..., n.
Solving Integer Programming Problems
• The IP algorithms are based on utilizing the significant computational success of LP.
The strategy of these algorithms involves three steps:
Step 1. Relax the solution space of the ILP by deleting the integer restriction on all
integer variables. The result is a regular LP called relaxed LP.
Step 2. Solve the relaxed LP and identify its continuous optimum.
Step 3. Starting from the continuous optimum point, add special constraints that
iteratively modify the LP solution space in a manner that eventually finds an optimum
extreme point satisfying the integer requirements.
• Two general methods have been developed for generating the special constraints in
step 3:
1.Branch-and-bound (B&B) method
2.Cutting-plane method
• Neither method is consistently effective computationally. However, experience
shows that the B&B method is far more successful than the cutting-plane method.
Solving Integer Programming Problems
LP Relaxation: Ignoring integer requirements.
IP
LP relaxation
(LP1)
Solving Integer Programming Problems
Max problem
Min problem
Solving Integer Programming Problems
Solving Integer Programming Problems
Potential approach:
• Apply simplex method to LP relaxation and round the answer to the
nearest integer.
• Approach might be adequate if variable values are quite large.
Rounding will introduce only a small error.
• Pitfall 1: optimal linear programming solution not necessarily
feasible if rounded.
• Pitfall 2: rounded solution may be far from the optimal integer
solution.
B&B Method
• The optimum LP1 solution does not satisfy the integer restrictions.
• B&B selects an integer variable whose optimum value at LP1 is not
integer.
• Here, both x1 and x2 qualify. Select x1 (= 3.75) arbitrarily. The region
3 < x1 <4 of the LP1 solution space contains no integer values of x1. So,
it can be deleted.
• This is equivalent with replacing the original LP1 with two new LPs.
B&B Method
Branching on x1
B&B Method
Notice that LP2 is:
B&B Method
If arbitrarily select LP2 first to solve:
B&B Method
LP2 is fathomed: meaning it cannot yield any better ILP solution and no more branching
from node 2 is required.
We cannot say at this point that the integer solution obtained from LP2 is optimum for
the original problem, because LP3 may yield a better integer solution.
All we can say is that Z = 23 is a lower bound on the optimum (maximum) objective value of
the original ILP.
B&B Method
Now solve LP3
B&B Method
• Because optimal value is Z = 23.75 at LP1 and all the coefficients of the
objective function are integers, it is impossible that LP3 can produce a better
integer solution (with Z >23).
• So, we discard LP3 and conclude that it has been fathomed.
• The B&B algorithm is now complete because both LP2 and LP3 have been
examined and fathomed, LP2 for producing an integer solution and LP3 for
failing to produce a better integer solution.
• We thus conclude that the optimum ILP solution is the one associated with the
lower bound.
B&B Method
• Two questions remain unanswered regarding the algorithm:
1. At LP1, could we have selected x2 as the branching variable
instead of x1?
2. When selecting the next subproblem to be examined, could we
have solved LP3 first instead of LP2?
• The answer to both questions is “yes,” but computations may differ
significantly.
B&B Method
B&B tree If we examined LP3 first
B&B Essence
Note:
B&B algorithm was developed in 1960 by A. Land and G. Doig.
Developing faster IP algorithms.
• An active area of research.