0% found this document useful (0 votes)
102 views4 pages

Introduction To Integer Programming

This document introduces integer programming problems and discusses how they are more difficult to solve than linear programs. It defines integer programming as linear programs where some or all variables must take integer values. The linear programming relaxation, which omits these integrality constraints, provides an upper bound on the optimal solution. However, rounding the relaxation's solution often yields infeasible integer solutions, demonstrating the challenges in solving integer programs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views4 pages

Introduction To Integer Programming

This document introduces integer programming problems and discusses how they are more difficult to solve than linear programs. It defines integer programming as linear programs where some or all variables must take integer values. The linear programming relaxation, which omits these integrality constraints, provides an upper bound on the optimal solution. However, rounding the relaxation's solution often yields infeasible integer solutions, demonstrating the challenges in solving integer programs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

          

Integer Programming
Recall that we defined integer programming problems in our discussion of the Divisibility As-
sumption in Section 3.1. Simply stated, an integer programming problem (IP) is an LP in which
some or all of the variables are required to be non-negative integers.†
In this chapter (as for LPs in Chapter 3), we find that many real-life situations may be formu-
lated as IPs. Unfortunately, we will also see that IPs are usually much harder to solve than LPs.
In Section 9.1, we begin with necessary definitions and some introductory comments about
IPs. In Section 9.2, we explain how to formulate integer programming models. We also dis-
cuss how to solve IPs on the computer with LINDO, LINGO, and Excel Solver. In Sections
9.3–9.8, we discuss other methods used to solve IPs.

9.1 Introduction to Integer Programming


An IP in which all variables are required to be integers is called a pure integer pro-
gramming problem. For example,
max z  3x1  2x2
s.t. x1  x2  6 (1)
x1, x2  0, x1, x2 integer
is a pure integer programming problem.
An IP in which only some of the variables are required to be integers is called a mixed
integer programming problem. For example,
max z  3x1  2x2
s.t. x1  x2  6
x1, x2  0, x1 integer
is a mixed integer programming problem (x2 is not required to be an integer).
An integer programming problem in which all the variables must equal 0 or 1 is called
a 0–1 IP. In Section 9.2, we see that 0–1 IPs occur in surprisingly many situations.‡ The
following is an example of a 0–1 IP:
max z  x1  x2
s.t. x1  2x2  2
(2)
2x1  x2  1
x1, x2  0 or 1
Solution procedures especially designed for 0–1 IPs are discussed in Section 9.7.

A nonlinear integer programming problem is an optimization problem in which either the objective function
or the left-hand side of some of the constraints are nonlinear functions and some or all of the variables must
be integers. Such problems may be solved with LINGO or Excel Solver.

Actually, any pure IP can be reformulated as an equivalent 0–1 IP (Section 9.7).

1
The concept of LP relaxation of an integer programming problem plays a key role in
the solution of IPs.

DEFINITION ■ The LP obtained by omitting all integer or 0–1 constraints on variables is called
the LP relaxation of the IP. ■

For example, the LP relaxation of (1) is


max z  3x1  2x2
s.t. x1  x2  6 (1)
x1, x2  0
and the LP relaxation of (2) is
max z  x1  x2
s.t. x1  2x2  2
(2)
s.t. 2x1  x2  1
x1, x2  0
Any IP may be viewed as the LP relaxation plus additional constraints (the constraints
that state which variables must be integers or be 0 or 1). Hence, the LP relaxation is a
less constrained, or more relaxed, version of the IP. This means that the feasible region for
any IP must be contained in the feasible region for the corresponding LP relaxation. For
any IP that is a max problem, this implies that
Optimal z-value for LP relaxation  optimal z-value for IP (3)

This result plays a key role when we discuss the solution of IPs.
To shed more light on the properties of integer programming problems, we consider
the following simple IP:
max z  21x1  11x2
s.t. 7x1  4x2  13 (4)
x1, x2  0; x1, x2 integer
From Figure 1, we see that the feasible region for this problem consists of the following
set of points: S  {(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1)}. Unlike the feasible region
for any LP, the one for (4) is not a convex set. By simply computing and comparing the
z-values for each of the six points in the feasible region, we find the optimal solution to
(4) is z  33, x1  0, x2  3.
If the feasible region for a pure IP’s LP relaxation is bounded, as in (4), then the feasi-
ble region for the IP will consist of a finite number of points. In theory, such an IP could
be solved (as described in the previous paragraph) by enumerating the z-values for each
feasible point and determining the feasible point having the largest z-value. The problem
with this approach is that most actual IPs have feasible regions consisting of billions of
feasible points. In such cases, a complete enumeration of all feasible points would require
a large amount of computer time. As we explain in Section 9.3, IPs often are solved by
cleverly enumerating all the points in the IP’s feasible region.
Further study of (4) sheds light on other interesting properties of IPs. Suppose that a
naive analyst suggests the following approach for solving an IP: First solve the LP relax-
ation; then round off (to the nearest integer) each variable that is required to be an inte-
ger and that assumes a fractional value in the optimal solution to the LP relaxation.
Applying this approach to (4), we first find the optimal solution to the LP relaxation:
x1  173, x2  0. Rounding this solution yields the solution x1  2, x2  0 as a possible

476 CHAPTER 9 Integer Programming

2
x2

3.5

3.0 = point in feasible region

2.5

2.0

1.5 7x1 + 4x2 = 13

1.0

0.5
FIGURE 1
Feasible Region for x1
Simple IP (4) 0.5 1.0 1.5 2.0 2.5 3.0

optimal solution to (4). But x1  2, x2  0 is infeasible for (4), so it cannot possibly be


the optimal solution to (4). Even if we round x1 downward (yielding the candidate solu-
tion x1  1, x2  0), we do not obtain the optimal solution (x1  0, x2  3 is the opti-
mal solution).
For some IPs, it can even turn out that every roundoff of the optimal solution to the
LP relaxation is infeasible. To see this, consider the following IP:
max z  4x1  x2
s.t. 2x1  x2  5
s.t. 2x1  3x2  5
x1, x2  0; x1, x2 integer
The optimal solution to the LP relaxation for this IP is z  10, x1  52, x2  0. Round-
ing off this solution, we obtain either the candidate x1  2, x2  0 or the candidate x1 
3, x2  0. Neither candidate is a feasible solution to the IP.
Recall from Chapter 4 that the simplex algorithm allowed us to solve LPs by going
from one basic feasible solution to a better one. Also recall that in most cases, the sim-
plex algorithm examines only a small fraction of all basic feasible solutions before the
optimal solution is obtained. This property of the simplex algorithm enables us to solve
relatively large LPs by expending a surprisingly small amount of computational effort.
Analogously, one would hope that an IP could be solved via an algorithm that proceeded
from one feasible integer solution to a better feasible integer solution. Unfortunately, no
such algorithm is known.
In summary, even though the feasible region for an IP is a subset of the feasible region
for the IP’s LP relaxation, the IP is usually much more difficult to solve than the IP’s LP
relaxation.

9.2 Formulating Integer Programming Problems


In this section, we show how practical solutions can be formulated as IPs. After com-
pleting this section, the reader should have a good grasp of the art of developing integer
programming formulations. We begin with some simple problems and gradually build to
more complicated formulations. Our first example is a capital budgeting problem remi-
niscent of the Star Oil problem of Section 3.6.

9 . 2 Formulating Integer Programming Problems 477

3
EXAMPLE 1 Capital Budgeting IP

Stockco is considering four investments. Investment 1 will yield a net present value (NPV)
of $16,000; investment 2, an NPV of $22,000; investment 3, an NPV of $12,000; and in-
vestment 4, an NPV of $8,000. Each investment requires a certain cash outflow at the pres-
ent time: investment 1, $5,000; investment 2, $7,000; investment 3, $4,000; and investment
4, $3,000. Currently, $14,000 is available for investment. Formulate an IP whose solution
will tell Stockco how to maximize the NPV obtained from investments 1–4.
Solution As in LP formulations, we begin by defining a variable for each decision that Stockco
must make. This leads us to define a 0–1 variable:

0
1 if investment j is made
xj ( j 1, 2, 3, 4) 
otherwise
For example, x2  1 if investment 2 is made, and x2  0 if investment 2 is not made.
The NPV obtained by Stockco (in thousands of dollars) is
Total NPV obtained by Stockco  16x1  22x2  12x3  8x4 (5)
To see this, note that if xj  1, then (5) includes the NPV of investment j, and if xj  0,
(5) does not include the NPV of investment j. This means that whatever combination of
investments is undertaken, (5) gives the NPV of that combination of projects. For exam-
ple, if Stockco invests in investments 1 and 4, then an NPV of 16,000  8,000  $24,000
is obtained. This combination of investments corresponds to x1  x4  1, x2  x3  0,
so (5) indicates that the NPV for this investment combination is 16(1)  22(0) 
12(0)  8(1)  $24 (thousand). This reasoning implies that Stockco’s objective function is
max z  16x1  22x2  12x3  8x4 (6)

Stockco faces the constraint that at most $14,000 can be invested. By the same reasoning
used to develop (5), we can show that
Total amount invested (in thousands of dollars)  5x1  7x2  4x3  3x4 (7)

For example, if x1  0, x2  x3  x4  1, then Stockco makes investments 2, 3, and 4.


In this case, Stockco must invest 7  4  3  $14 (thousand). Equation (7) yields a to-
tal amount invested of 5(0)  7(1)  4(1)  3(1)  $14 (thousand). Because at most
$14,000 can be invested, x1, x2, x3, and x4 must satisfy
5x1  7x2  4x3  3x4  14 (8)
Combining (6) and (8) with the constraints xj  0 or 1 ( j  1, 2, 3, 4) yields the fol-
lowing 0–1 IP:
max z  16x1  22x2  12x3  8x4
s.t. 5x1  7x2  4x3  3x4  14 (9)
xj  0 or 1 ( j  1, 2, 3, 4)

REMARKS 1 In Section 9.5, we show that the optimal solution to (9) is x1  0, x2  x3  x4  1, z 


$42,000. Hence, Stockco should make investments 2, 3, and 4, but not 1. Investment 1 yields a
higher NPV per dollar invested than any of the others (investment 1 yields $3.20 per dollar invested,
investment 2, $3.14; investment 3, $3; and investment 4, $2.67), so it may seem surprising that in-
vestment 1 is not undertaken. To see why the optimal solution to (9) does not involve making the
“best” investment, note that any investment combination that includes investment 1 cannot use more
than $12,000. This means that using investment 1 forces Stockco to forgo investing $2,000. On the
other hand, the optimal investment combination uses all $14,000 of the investment budget. This en-

478 CHAPTER 9 Integer Programming

You might also like