Johan Oscar Ong, ST, MT
MIT and James Orlin © 2003 1
maximize 3x + 4y
subject to 5x + 8y ≤ 24
x, y ≥ 0 and integer
What is the optimal solution?
MIT and James Orlin © 2003 2
Question: What is the
5
optimal integer solution?
4
What is the optimal linear
solution?
3
2
Can one use linear
programming to solve the
integer program?
1
0
0 1 2 3 4 5
Solve LP (ignore
5
integrality) get x=24/5, y=0
and z =14 2/5.
4
Round, get x=5, y=0,
infeasible!
Truncate, get x=4, y=0, and
3
z =12
2
Same solution value at
x=0, y=3.
1
Optimal is x=3, y=1, and
z =13
0
0 1 2 3 4 5
Advantages of restricting variables to take on
integer values
More realistic
More flexibility
Disadvantages
More difficult to model
Can be much more difficult to solve
MIT and James Orlin © 2003 5
Integer programs: linear equalities and
inequalities plus constraints that say a
variable must be integer valued.
We also permit “xj ∈{0,1}.” This is equivalent
to
0 ≤ xj ≤ 1 and xj integer.
MIT and James Orlin © 2003 6
All integer programs have linear equalities
and inequalities and some or all of the
variables are required to be integer.
If all variables are required to be integer, then it is
usually called a pure integer program.
If all variables are required to be 0 or 1, it is called
a binary integer program, or a 0-1 integer
program.
if some variables can be fractional and others are
required to be integers, it is called a mixed linear
integer program (MILP)
MIT and James Orlin © 2003 7
Stockco is considering 6 investments. The
cash required from each investment as well as
the NPV of the investment is given next. The
cash available for the investments is $14,000.
Stockco wants to maximize its NPV. What is
the optimal strategy?
An investment can be selected or not. One
cannot select a fraction of an investment.
MIT and James Orlin © 2003 8
Investment budget = $14,000
Investment 1 2 3 4 5 6
Cash
Required $5 $7 $4 $3 $4 $6
(1000s)
NPV
added $16 $22 $12 $8 $11 $19
(1000s)
9
What are the decision variables?
1, if we invest in i = 1,...,6,
xi =
0,
0, else
Objective and Constraints?
Max 16x1+ 22x2+ 12x3+ 8x4+ 11x5+ 19x6
5x1+ 7x2+ 4x3+ 3x4+ 4x5+ 6x6 ≤ 14
xj ε {0,1} for each j = 1 to 6
10
The previous constraints represent
“economic indivisibilities”, either a project
is selected, or it is not. There is no
selecting of a fraction of a project.
Similarly, integer variables can model
logical requirements (e.g., if stock 2 is
selected, then so is stock 1.)
MIT and James Orlin © 2003 11
Exactly 3 stocks are selected.
If stock 2 is selected, then so is stock 1.
If stock 1 is selected, then stock 3 is not
selected.
Either stock 4 is selected or stock 5 is selected,
but not both.
MIT and James Orlin © 2003 12
Exactly 3 stocks are selected
x1+ x2+ x3+ x4+ x5+ x6=3
MIT and James Orlin © 2003 13
The integer programming
constraint:
A 2-dimensional
representation
Stock 2
x1 ≥ x2
Work with your
Stock 1 partner for 5 minutes
trying to model the
other constraints.
14
The integer programming
constraint:
A 2-dimensional
representation
Stock 3
x1 + x3 ≤ 1
Stock 1
15
The integer programming
constraint:
A 2-dimensional
representation
x4 + x5 = 1
stock 5
stock 4
16
17
18
19
20