Вы находитесь на странице: 1из 7

396 CHAPTER 10 • INTEGER PROGRAMMING, GOAL PROGRAMMING, AND NONLINEAR PROGRAMMING

10.1 Introduction
This chapter presents a series of other important mathematical programming models that arise
when some of the basic assumptions of LP are made more or less restrictive. For example,
one assumption of LP is that decision variables can take on fractional values such as
X1 = 0.33, X2 = 1.57, or X3 = 109.4. Yet a large number of business problems can be solved
only if variables have integer values. When an airline decides how many Boeing 757s or Boeing
777s to purchase, it can’t place an order for 5.38 aircraft; it must order 4, 5, 6, 7, or some other
Integer programming is the integer amount. In this chapter we present the general topic of integer programming, and we
extension of LP that solves specifically consider the use of special variables that must be either 0 or 1.
problems requiring integer A major limitation of LP is that it forces the decision maker to state one objective only. But
solutions. what if a business has several objectives? Management may indeed want to maximize profit, but
it might also want to maximize market share, maintain full employment, and minimize costs.
Many of these goals can be conflicting and difficult to quantify. South States Power and Light,
for example, wants to build a nuclear power plant in Taft, Louisiana. Its objectives are to maxi-
mize power generated, reliability, and safety, and to minimize cost of operating the system and
Goal programming is the the environmental effects on the community. Goal programming is an extension to LP that can
extension of LP that permits permit multiple objectives such as these.
more than one objective to be Linear programming can, of course, be applied only to cases in which the constraints and
stated. objective function are linear. Yet in many situations this is not the case. The price of various
products, for example, may be a function of the number of units produced. As more are made,
the price per unit decreases. Hence an objective function may read as follows:
Nonlinear programming is the Maximize profit = 25X1 - 0.4X1 2 + 30X2 - 0.5X2 2
case in which objectives or
constraints are nonlinear. Because of the squared terms, this is a nonlinear programming problem.
Let’s examine each of these extensions of LP—integer, goal, and nonlinear programming—
one at a time.

10.2 Integer Programming


Solution values must be whole An integer programming model is a model that has constraints and an objective function identi-
numbers in integer programming. cal to that formulated by LP. The only difference is that one or more of the decision variables
has to take on an integer value in the final solution. There are three types of integer program-
ming problems:
There are three types 1. Pure integer programming problems are cases in which all variables are required to have
of integer programs: pure integer values.
integer programming; 2. Mixed-integer programming problems are cases in which some, but not all, of the decision
mixed-integer programming;
variables are required to have integer values.
and 0–1 integer programming.
3. Zero–one integer programming problems are special cases in which all the decision
variables must have integer solution values of 0 or 1.
Solving an integer programming problem is much more difficult than solving an LP prob-
lem. The solution time required to solve some of these may be excessive even on the fastest
computer.

Harrison Electric Company Example of Integer Programming


The Harrison Electric Company, located in Chicago’s Old Town area, produces two products
popular with home renovators: old-fashioned chandeliers and ceiling fans. Both the chandeliers
and fans require a two-step production process involving wiring and assembly. It takes about
2 hours to wire each chandelier and 3 hours to wire a ceiling fan. Final assembly of the chande-
liers and fans requires 6 and 5 hours, respectively. The production capability is such that only
12 hours of wiring time and 30 hours of assembly time are available. If each chandelier
10.2 INTEGER PROGRAMMING 397

produced nets the firm $7 and each fan $6, Harrison’s production mix decision can be formu-
lated using LP as follows:
Maximize profit = $7X1 + $6X2
subject to 2X1 + 3X2 … 12 1wiring hours2
Although enumeration is feasible 6X1 + 5X2 … 30 1assembly hours2
for some small integer program- X1, X2 Ú 0
ming problems, it can be difficult
or impossible for large ones. where
X1 = number of chandeliers produced
X2 = number of ceiling fans produced
With only two variables and two constraints, Harrison’s production planner, Wes Wallace,
employed the graphical LP approach (see Figure 10.1) to generate the optimal solution of
X1 = 3.75 chandeliers and X2 = 1.5 ceiling fans during the production cycle. Recognizing that
the company could not produce and sell a fraction of a product, Wes decided that he was dealing
with an integer programming problem.
It seemed to Wes that the simplest approach was to round off the optimal fractional solu-
tions for X1 and X2 to integer values of X1 = 4 chandeliers and X2 = 2 ceiling fans. Unfortu-
Rounding off is one way to reach nately, rounding can produce two problems. First, the new integer solution may not be in the
integer solution values, but it feasible region and thus is not a practical answer. This is the case if we round to X1 = 4, X2 = 2.
often does not yield the best Second, even if we round off to a feasible solution, such as X1 = 4, X2 = 1, it may not be the
solution. optimal feasible integer solution.
Listing all feasible solutions and selecting the one with the best objective function value is
called the enumeration method. Obviously this can be quite tedious for even small problems,
and it is virtually impossible for large problems as the number of feasible integer solutions is
extremely large.

FIGURE 10.1
X2
Harrison Electric Problem
6

6X1 + 5X2 ≤ 30

+ = Possible Integer Solution

Optimal LP Solution
2 (X1 = 3.75, X2 = 1.5, Profit = $35.25)

2X1 + 3X2 ≤ 12
1

0 1 2 3 4 5 6 X1
398 CHAPTER 10 • INTEGER PROGRAMMING, GOAL PROGRAMMING, AND NONLINEAR PROGRAMMING

TABLE 10.1 CHANDELIERS CEILING FANS PROFIT


Integer Solutions to 1X12 1X22 1$7X1 ⴙ $6X22
the Harrison Electric 0 0 $0
Company Problem
1 0 7
2 0 14
3 0 21
4 0 28
5 0 35 Optimal solution
to integer programming
0 1 6
problem
1 1 13
2 1 20
3 1 27
4 1 34 Solution if rounding
is used
0 2 12
1 2 19
2 2 26
3 2 33
0 3 18
1 3 25
0 4 24

An important concept to Table 10.1 lists the entire set of integer-valued solutions to the Harrison Electric problem.
understand is that an integer By inspecting the right-hand column, we see that the optimal integer solution is
programming solution can never
be better than the solution to the X1 = 5 chandeliers, X2 = 0 ceiling fans, with a profit = $35
same LP problem. The integer
Note that this integer restriction results in a lower profit level than the original optimal LP solu-
problem is usually worse in terms
of higher cost or lower profit.
tion. As a matter of fact, an integer programming solution can never produce a greater profit
than the LP solution to the same problem; usually, it means a lesser value.

Using Software to Solve the Harrison Integer Programming Problem


QM for Windows and Excel spreadsheets are capable of handling integer programming prob-
lems such as the Harrison Electric case. Program 10.1A illustrates the input data to QM for
Windows, and Program 10.1B provides the results.
To use QM for Windows, select the Integer & Mixed Integer Programming module. Specify
the number of constraints and the number of variables. Program 10.1A provides the input
screen, with data entered for the Harrison Electric example. The last row of the table allows you
to classify each variable according to type of variable (Integer, Real, or 0–1). Once all variables
have been correctly specified, click Solve, and you will see the output in Program 10.1B.
Solver in Excel 2010 can also be used to solve this problem, as shown in Program 10.2. The
Solver parameters and selections are shown, and the key formulas are displayed. To specify that
the variables must be integers, a special constraint is entered in Solver. After opening the Solver
Parameters window, select Add just as you would do to enter other constraints. When the
Add Constraint window opens, enter the range containing the solution values, as shown in
Program 10.2. Then click the tab to open the drop-down menu and then change the type of con-
straint to int, for integer. Click OK to return to the Solver Parameters window. Then enter the
other constraints, specify the parameters and selections, and click Solve. The solution is shown
to be 5 chandeliers and 0 fans, for a profit of $35.
10.2 INTEGER PROGRAMMING 399

PROGRAM 10.1A
QM for Windows Input
Screen for Harrison
Electric Problem

PROGRAM 10.1B
QM for Windows
Solution Screen for
Harrison Electric Problem

PROGRAM 10.2
Excel 2010 Solver
Solution for Harrison
Electric Problem

Solver Parameter Inputs and Selections Key Formulas

Set Objective: D5
By Changing cells: B4:C4
To: Max
Subject to the Constraints:
Copy D5 to D8:D9
D8:D9 <= F8:F9
B4:C4 = integer
Solving Method: Simplex LP
聺 Make Variables Non-Negative
400 CHAPTER 10 • INTEGER PROGRAMMING, GOAL PROGRAMMING, AND NONLINEAR PROGRAMMING

Mixed-Integer Programming Problem Example


Although the Harrison Electric example was a pure integer problem, there are many situations
in which some of the variables are restricted to be integers and others are not. The following is
an example of such a mixed-integer programming problem.
Bagwell Chemical Company, in Jackson, Mississippi, produces two industrial chemicals.
The first product, xyline, must be produced in 50-pound bags; the second, hexall, is sold by the
pound in dry bulk and hence can be produced in any quantity. Both xyline and hexall are com-
posed of three ingredients—A, B, and C—as follows:

AMOUNT PER 50-POUND BAG AMOUNT PER POUND AMOUNT OF INGREDIENTS


OF XYLINE (LB) OF HEXALL (LB) AVAILABLE
30 0.5 2,000 lb—ingredient A
18 0.4 800 lb—ingredient B
2 0.1 200 lb—ingredient C

Bagwell sells 50-pound bags of xyline for $85 and hexall in any weight for $1.50 per pound.

Integer Programming
MODELING IN THE REAL WORLD: at the USPS

Defining
Defining the Problem
the Problem The U. S. Postal Service (USPS) operates one of the largest transporation networks in the world, delivering
one-fifth of a trillion items every year. The inherent transportation-related problems are, obviously, very
large. Nevertheless, USPS’s problem is how to deliver mail in the most cost-efficient manner possible.

Developing Developing a Model


a Model A large-scale integer program known as the Highway Corridor Analytical Program (HCAP) was developed
to help solve the problem. More specifically, the HCAP solves a Vehicle Routing Problem (VRP) with known
pickup and delivery locations. That is, the model takes into account all the different modes of transporta-
tion, the capacities inherent to the system, all the pickup locations, and all the delivery locations and then
assigns trucks to routes as the (binary) decision variable of interest.

Acquiring
Acquiring Input Data
Input Data Geographic information system (GIS) data of all the pickup and delivery locations is integrated into the
model. Realistic time and distance constraints were placed on the model to prevent drivers from being
assigned a pickup in one area and a delivery in an area too far away.

Testing the
Testing the Solution
Solution The model was loaded into a large-scale mathematical programming solver. Several versions and models
were tested.

Analyzing
Analyizing the Results
the Results Decision makers found improvements in several areas. For example, one of the model outputs resulted in
a 20% reduction in redundant trips.

Implementing
Implementing the Results
the Results USPS has already realized over $5 million in transportation savings due to its implementation of the HCAP
integer programming optimization model. Efforts are under way to seek out additional efficiencies through
the use of HCAP.

Source: Based on A. Pajunas, E. J. Matto, M. Trick, and L.F. Zuluaga. “Optimizing Highway Transporation at the United States
Postal Service,” Interfaces 37, 6(2007): 515-525.
10.2 INTEGER PROGRAMMING 401

If we let X = number of 50-pound bags of xyline produced and Y = number of pounds of hexall
(in dry bulk) mixed, Bagwell’s problem can be described with mixed-integer programming:
Maximize profit = $85X + $1.50Y
subject to 30X + 0.5Y … 2,000
18X + 0.4Y … 800
2X + 0.1Y … 200
X, Y Ú 0 and X integer.
Note that Y represents bulk weight of hexall and is not required to be integer valued.
USING QM FOR WINDOWS AND EXCEL TO SOLVE BAGWELL’S INTEGER PROGRAMMING
MODEL The solution to Bagwell’s problem is to produce 44 bags of xyline and 20 pounds of
hexall, yielding a profit of $3,770. (The optimal linear solution, by the way, is to produce 44.444
bags of xyline and 0 pounds of hexall, yielding a profit of $3,777.78.) This is first illustrated in
Program 10.3, which uses the Mixed Integer Programming module in QM for Windows. Note
that variable X is identified as Integer, while Y is Real in Program 10.3.
In Program 10.4, we use Excel to provide an alternative solution method.

PROGRAM 10.3
QM for Windows
Solution for Bagwell Limits are used, and the best solution
Chemical Problem available after a certain time is presented.

Notice that only X must be integer,


while Y may be any real number.

Mixed-Integer Programming in the IBM


IN ACTION Supply Chain

T he manufacture of semiconductors is a very expensive opera-


tion, often requiring investments in the billions of dollars. The IBM
While LP is commonly used in supply-chain modeling, it is neces-
sary to use models in which some of the variables are required to
be integers. The resulting MIP models are so large (millions of vari-
Systems and Technology Group has used mixed-integer program- ables) that they cannot be solved with even the fastest computers.
ming (MIP) along with other operations research techniques to Therefore, the IBM Systems and Technology Group developed
plan and optimize its semiconductor supply chain. The business heuristic methods to solve the optimization models as part of the
of supply-chain optimization (SCO) has been deemed business company’s advanced planning systems.
critical and must incorporate a variety of planning criteria and The benefits of the CPE are many. The on-time deliveries
constraints. improved by 15%. A 25% to 30% reduction in inventory was
IBM uses a central planning engine (CPE) to balance the supply observed as a result of the model. The company also observed an
chain’s resources against the semiconductor demand. The MIP is an improvement in asset allocation of between 2% and 4% of costs.
important part of this CPE. The MIP model is a cost-minimization This model allowed “what-if” questions to be quickly answered—
problem with constraints related to material flows and other aspect a process that was not possible in the past. Strategic planning
of the supply chain. was also facilitated by the CPE. IBM benefited greatly from the
Some of the models involved in SCO include sourcing among use of MIP in managing the semiconductor supply chain.
multiple plants, the logistics of interplant shipping, and the devel-
opment of production plans for all the plants within the system. Source: Based on Brian. T. Denton, John Forrest, and R. John Milne. “IBM
They may involve a planning horizon of a few days, a few months, Solves a Mixed-Integer Program to Optimize Its Semiconductor Supply
or even a few years, depending on the specific type of application. Chain,” Interfaces 36, 5 (September–October 2006): 386–399.
402 CHAPTER 10 • INTEGER PROGRAMMING, GOAL PROGRAMMING, AND NONLINEAR PROGRAMMING

PROGRAM 10.4
Excel 2010 Solver
Solution for Bagwell
Chemical Problem

Solver Parameter Inputs and Selections Key Formulas

Set Objective: D5
By Changing cells: B4:C4
To: Max
Subject to the Constraints:
D8:D10 <= F8:F10 Copy D5 to D8:D10
B4 = integer
Solving Method: Simplex LP
聺 Make Variables Non-Negative

10.3 Modeling with 0–1 (Binary) Variables


In this section we demonstrate how 0–1 variables can be used to model several diverse situa-
tions. Typically a 0–1 variable is assigned a value of 0 if a certain condition is not met and 1 if
the condition is met. Another name for a 0–1 variable is a binary variable. A common problem
of this type, the assignment problem, involves deciding which individuals to assign to a set of
jobs. (This is discussed in Chapter 9.) In this assignment problem, a value of 1 indicates a per-
son is assigned to a specific job, and a value of 0 indicates the assignment was not made. We
present other types of 0–1 problems to show the wide applicability of this modeling technique.

Capital Budgeting Example


A common capital budgeting decision involves selecting from a set of possible projects when
budget limitations make it impossible to select all of these. A separate 0–1 variable can be
defined for each project. We will see this in the following example.
Quemo Chemical Company is considering three possible improvement projects for its plant:
a new catalytic converter, a new software program for controlling operations, and expanding the
warehouse used for storage. Capital requirements and budget limitations in the next two years
prevent the firm from undertaking all of these at this time. The net present value (the future value
of the project discounted back to the present time) of each of the projects, the capital require-
ments, and the available funds for the next two years are given in Table 10.2.
To formulate this as an integer programming problem, we identify the objective function
and the constraints as follows:
Maximize net present value of projects undertaken
subject to Total funds used in year 1 … $20,000
Total funds used in year 2 … $16,000

Вам также может понравиться