Linear Programming: Learning Objectives
Linear Programming: Learning Objectives
Linear Programming: Learning Objectives
Linear Programming
B
B e f o r e s t u d y i n g t h i s s u p p l e m e n t y o u s h o u l d k n o w o r, i f n e c e s s a r y, r e v i e w
1. Competitive priorities, Chapter 2
2. Capacity management concepts, Chapter 9
3. Aggregate planning, Chapter 13
4. Developing a master schedule, Chapter 14
LEARNING OBJECTIVES
After studying this supplement, you should be able to
1 Describe the role of mathematical models in 6 Describe the geometry of linear programs.
operations decision making.
7 Describe the graphical solution approach.
2 Describe constrained optimization models.
8 Use the simplex algorithm.
3 Understand the advantages and disadvantages of
9 Use artificial variables.
using optimization models.
10 Describe computer solutions of linear programs.
4 Describe the assumptions of linear program-
ming.
11 Use linear programming models for decision
making.
5 Formulate linear programs.
Adapted with permission from Joseph S. Martinich, Production and Operations Management: An Applied Modern Approach, Wiley, New York, 1997.
SUPPLEMENT OUTLINE
The Role of Mathematical Models in Operations The Geometry of Linear Programs B14
Decision Making B2 The Graphical Solution Approach B15
Constrained Optimization Models B2 The Simplex Algorithm B17
Advantages and Disadvantages of Using Optimiza- Using Artificial Variables B26
tion Models B5 Computer Solutions of Linear Programs B29
Assumptions of Linear Programming Models B6 Using Linear Programming Models for Decision
Formulating Linear Programs B7 Making B32
B2 SUPPLEMENT B LINEAR PROGRAMMING
decision variables that maximize or minimize the objective function and sat-
isfy all constraints.
The following example shows how an operational problem can be represented
and analyzed using a constrained optimization model.
The Healthy Pet Food Company manufactures two types of dog food: Meaties and Yum-
mies. Each package of Meaties contains 2 pounds of cereal and 3 pounds of meat; each
package of Yummies contains 3 pounds of cereal and 1.5 pounds of meat. Healthy believes
it can sell as much of each dog food as it can make. Meaties sell for $2.80 per package and
Yummies sell for $2.00 per package. Healthy’s production is limited in several ways. First,
Healthy can buy only up to 400,000 pounds of cereal each month at $0.20 per pound. It can
buy only up to 300,000 pounds of meat per month at $0.50 per pound. In addition, a spe-
cial piece of machinery is required to make Meaties, and this machine has a capacity of
90,000 packages per month. The variable cost of blending and packing the dog food is $0.25
per package for Meaties and $0.20 per package for Yummies. This information is given in
Table B-1.
Suppose you are the manager of the Dog Food Division of the Healthy Pet Food Com-
pany. Your salary is based on division profit, so you try to maximize its profit. How should
you operate the division to maximize its profit and your salary?
Solution:
The Decision Variables. We first identify those things over which we have control: the deci-
sion variables. In this problem we have direct control over two quantities: the number of
packages of Meaties to make each month, and the number of packages of Yummies to make
each month. Within the model these two quantities appear repeatedly, so we represent them
in a simple fashion. We designate these variables by the symbols M and Y.
M number of packages of Meaties to make each month
Y number of packages of Yummies to make each month
Note that the amount of meat used each month and the amount of cereal used each
month are not good choices for the variables. First, we control these only indirectly through
our choice of M and Y. More important, using these as variables could lead to ambiguous
production plans. Determining how much cereal and meat to use in production does not
tell us how to use it—how much of each dog food to make. In contrast, after determining
the values for M and Y, we know what to produce and how much meat and cereal are
needed.
B4 SUPPLEMENT B LINEAR PROGRAMMING
Objective function. Any pair of numerical values for the variables M and Y is a produc-
tion plan. For example, M 10,000 and Y 20,000 means we make 10,000 packages of
Meaties and 20,000 packages of Yummies each month. But how do we know whether this is
a good production plan? We need to specify a criterion for evaluation—an objective func-
tion. The most appropriate objective function is to maximize monthly profit. (Actually, this
is the contribution to profit: fixed costs are ignored because any plan that maximizes rev-
enue minus variable costs maximizes profit as well.) The profit earned by Healthy is a direct
function of the amount of each dog food made and sold, the decision variables. Monthly
profit, designated as z, is written as follows:
z (profit per package of Meaties) (number of packages of Meaties made and
sold monthly) (profit per package of Yummies) (number of packages of
Yummies made and sold monthly)
The profit per package for each dog food is computed as follows:
Meaties Yummies
Selling price 2.80 2.00
Minus
Meat 1.50 0.75
Cereal 0.40 0.60
Blending 0.25 0.20
Profit per package 0.65 0.45
Finally, negative production levels do not make sense, so we require that M 0 and
Y 0. Putting all these together gives the following constrained optimization model.
Maximize z 0.65M 0.45Y
Subject to 2M 3Y 400,000
3M 1.5Y 300,000
M 90,000
M, Y 0
This type of model is called a linear programming model or a linear program A linear program has a
because the objective function is linear and functions in all the constraints are linear. linear objective function and
The optimum solution for the Healthy Pet Food problem is M 50,000, Y linear constraints.
100,000, and z $77,500. That is, Healthy should make 50,000 packages of Meaties
and 100,000 packages of Yummies each month, and it will earn a monthly profit of
$77,500. Before discussing linear programming in detail, let’s consider the advantages
and disadvantages of optimization models in general.
am1x1 am2x2 amnxn bm
Parameters
where the xj values are decision variables and cj , aij , and b i values are constants, called
Constants given in the prob- parameters or coefficients, that are given or specified by the problem assumptions.
lem assumptions. Most linear programs require that all decision variables be nonnegative.
FORMULATING LINEAR PROGRAMS B7
2. Define the objective function. Determine the criterion for evaluating alterna-
tive solutions. The objective function will normally be the sum of terms
made up of a variable multiplied by some appropriate coefficient (parame-
ter). For example, the coefficients might be profit per unit of production, dis-
tance travel per unit transported, or cost per person hired.
3. Identify and express mathematically all of the relevant constraints. It is
often easier to express each constraint in words before putting it into math-
ematical form. The written constraint is decomposed into its fundamental
components. Then substitute the appropriate numerical coefficients and
variable names for the written terms. A common mistake is using variables
that have not been defined in the problem, which is not valid. This mistake
is frequently caused by not defining the original variables precisely. The for-
mulation process is iterative, and sometimes additional variables must be
defined or existing variables redefined. For example, if one of the variables
is the total production of the company and five other variables represent
the production at the company’s five plants, then there must be a constant
that forces total production to equal the sum of the production at the
plants.
Let’s look at the formulation process for typical operations problems.
International Wool Company operates a large farm on which sheep are raised. The farm
manager determined that for the sheep to grow in the desired fashion, they need at least
minimum amounts of four nutrients (the nutrients are nontoxic so the sheep can consume
more than the minimum without harm). The manager is considering three different grains
to feed the sheep. Table B-2 lists the number of units of each nutrient in each pound of
grain, the minimum daily requirements of each nutrient for each sheep, and the cost of
each grain. The manager believes that as long as a sheep receives the minimum daily
amount of each nutrient, it will be healthy and produce a standard amount of wool. The
manager wants to raise the sheep at minimum cost.
Solution
The quantities that the manager controls are the amounts of each grain to feed each sheep
daily. We define
xj number of pounds of grain j ( 1, 2, 3) to feed each sheep daily
Note that the units of measure are completely specified. In addition, the variables are ex-
pressed on a per sheep basis. If we minimize the cost per sheep, we minimize the cost for
any group of sheep. The daily feed cost per sheep will be
(cost per lb of grain j) (lb. of grain j fed to each sheep daily)
That is, the objective function is to
Minimize z 41x1 36x2 96x3
Why can’t the manager simply make all the variables equal to zero? This keeps costs at
zero, but the manager would have a flock of dead sheep, because there are minimum nutri-
ent constraints that must be satisfied. The values of the variables must be chosen so that the
number of units of nutrient A consumed daily by each sheep is equal to or greater than 110.
Expressing this in terms of the variables yields
20x1 30x2 70x3 110
The constraints for the other nutrients are
10x1 10x2 18
50x1 30x2 90
6x1 2.5x2 10x3 110
and finally
all xjs 0
The optimal solution to this problem (obtained using a computer software package) is
x1 0.595, x2 2.008, x3 0.541, and z 148.6 cents.
It is common practice to take a model initially used for one application and apply it to
other situations. The feed mix problem is a good example of a case where one might
use the same basic structure of a model in different applications. For example, a golf
course manager can use the model to select the best mix of fertilizers to provide the
grass with the desired amounts of active chemicals (nitrogen, phosphorus, potash).
The manager’s problem is structurally the same as that faced by the manager of Inter-
national Wool.
Although the basic structure of one model may be appropriate for another ap-
plication, frequently the model needs modification. For example, suppose the U.S.
Army decides to use the feed mix model to select a cost-minimizing diet for its sol-
diers that satisfies minimum nutritional requirements. The basic feed mix problem
makes several subtle assumptions that do not apply for humans. First, issues of taste
have been ignored. Earlier, we assumed that the sheep will eat whatever grain mixture
we feed them. Humans have varying tastes to consider. Some foods may not taste
good together. Second, not all soldiers are of similar size or have the same appetite.
Third, the basic feed mix is a static model: the optimal feed mix today is the same
as that of tomorrow and the next 500 days unless some parameters change. We do not
want to feed people the same meal day after day. Let’s look at another type of prob-
lem.
B10 SUPPLEMENT B LINEAR PROGRAMMING
Blending Problem
In the Healthy Pet Food example, a product mix problem, the company determines
how much of various products to make. The mixture of inputs used in each product
is fixed. In many industries such as the oil, chemical, paper, metals, and food process-
ing industries, a company controls how much of a product to make and the mix of in-
puts to use in making it. This is called a blending problem.
Solution:
The manager of Solar Oil’s operation wants to maximize the company’s profit. The first
question is: What quantities does the manager control? What can the manager manipulate
to influence profit? It is incomplete simply to say that the manager controls the amount of
each final product to make. The manager controls, and must determine, how to make each
final product and how much to make. This can be expressed by letting xij number of
barrels of raw gas I ( 1, 2, 3, 4) used per day to make final product j ( R, P) be the deci-
sion variables. Each barrel of raw gas i that is blended in final product j and then sold gen-
erates a profit equal to its selling price minus its cost. The objective function is the sum of
all terms of the form
(profit per barrel of raw gas i that is blended into gas j) (number of barrels
of raw gas i blended into gas j per day)
Substituting for these gives
Maximize z 2.5x1R 1.5x2R x3R 3.5x4R 5.0x1P 4.0x2P 1.5x3P x4P
FORMULATING LINEAR PROGRAMS B11
Note that the coefficients for some variables are negative. For example, Solar loses $1.00
on each barrel of raw gas 4 that is blended into premium. Does this imply that the optimal
value for these variables must be zero and that they can be dropped from the problem? No!
In blending operations, it is common for some low-cost materials to be combined with
high-cost materials. Although it appears that we are losing money on the high-cost materi-
als, they make the low-cost materials more valuable, and often the final product cannot be
made without them. For example, tungsten steel combines low-cost iron ore or scrap (worth
$100/ton) with tungsten (costing thousands of dollars per ton) to make steel that might sell
for $500 per ton. The manufacturer loses money on the tungsten (on a per ton basis) but is
more than compensated by the enhanced value of the iron ore. Therefore, we do not omit
variables from the problem unless we can prove that their optimum value is zero.
The next step is to identify the constraints. The availability constraint for each raw gaso-
line is
barrels of raw gas i used per day barrels of gas i available per day
The number of barrels of raw gas i used each day is the amount used to make regular
gasoline xiR plus the amount used each day to make premium gasoline xiP . The availability
constraints can be written as
x1R x1P 20,000
x2R x2P 15,000
x3R x3P 15,000
x4R x4P 10,000
The demand constraints put an upper limit on how much regular and premium gasoline
can be sold. The total amount made of each is the sum of the raw gasolines allocated to
making each gasoline each day. In other words,
x1R x2R x3R x4R 35,000
x1P x2P x3P x4P 23,000
If the model formulation is left at this stage, the optimal solution is to mix the lowest-
cost gasolines into the final products, regardless of octane. Therefore, we need to include
constraints that guarantee the variables will take on values that produce final gasolines with
at least the minimum specified octane ratings. The octane rating of the regular gasoline that
is produced will be a weighted average of the octanes of the raw gasolines used; that is,
octane of regular [86 (barrels of raw gas 1 used/day to make regular)
88 (barrels of raw gas 2 used/day to make regular) 96 (barrels of raw
gas 4 used/day to make regular)]/[total barrels of raw gases blended into regular
gasoline]
which should be at least 89. Substituting the appropriate variable names for these quantities
produces the constraint
[86x1R 88x2R 92x3R 96x4R]/[x1R x2R x3R x4R] 89
Multiplying both sides by (x1R x2R x3R x4R) and then gathering terms so that
variables appear only once and all are on the left-hand side yields
3x1R x2R x3R 7x4R 0
Using the same approach to guarantee an octane of 93 for premium gas produces the
constraint
7x1R 5x2R x3R 3x4R 0
Finally, all variables should be nonnegative in value. The optimal solution to this linear
program is x1R 11,428.57, x2R 9107.14, x3R 14,464.29, x4R 0, x1P 0, x2P
5892.86, x3P 535.71, x4P 10,000, and z $42,142.86 daily.
B12 SUPPLEMENT B LINEAR PROGRAMMING
In this example, fractional amounts of raw gasoline input are perfectly reasonable.
Fluids can be finely measured and the solution represents a flow rate. However, even
for a simple problem of this sort, the optimal solution is far from obvious. With linear
programming the daily profit might be 3 to 5% better than that achieved using an in-
telligent seat-of-the-pants approach. A 3% savings represents approximately $350,000
to $400,000 per year. Not bad, for using a simple model. As raw material prices
change, the optimal blend and output levels are quickly revised.
■ Example B.4 Basel Tool and Die Company Multiperiod Planning Problem
Basel Tool and Die Company (BTD) makes large industrial pipe wrenches in one of its fac-
tories. The marketing department estimates demand for this product during the next 6
months to be:
Month Demand
January 370
February 430
March 380
April 450
May 520
June 440
With the current labor force, BTD believes it can make approximately 420 pipe wrenches
per month at a cost of $40 per wrench using regular-time production. An additional 80
wrenches per month can be made using overtime production at a cost per wrench of $45.
Wrenches can be made in advance and held in inventory for later shipment at a cost of $3
per month per wrench. The monthly demand for wrenches must be satisfied every month.
At the end of December (beginning of January) BTD has 10 wrenches in inventory. BTD
wants to plan its production, including overtime, and inventory for the next 6 months so as
to maximize profit. Assuming the revenue for these wrenches is fixed, the production man-
ager can maximize profit by minimizing the total costs incurred in producing and deliver-
ing the wrenches.
Solution:
The quantities that the decision maker controls are (1) the number of wrenches to make
each month using regular-time production, (2) the number of wrenches to make each
month using overtime production, and indirectly (3) the number of wrenches to keep in in-
ventory at the end of each month. We define our decision variables as follows (to keep a
clear time convention, we assume that wrenches are made during a month; at the end of the
month, wrenches are shipped to customers; any wrench not shipped incurs a holding cost
for that month):
FORMULATING LINEAR PROGRAMS B13
The easiest constraints to represent are those limiting the amount of regular-time and over-
time production each month:
Rt 420 for t 1, , 6
and
Ot 80 for t 1, , 6
In addition, we need constraints guaranteeing that demand is satisfied each month. At this
point the model becomes tricky. We might think it would be sufficient adding a constraint
for each month stating that beginning inventory for that month plus total production must
be at least as large as the demand for that month; for example,
10 R1 O1 370
I1 R2 O2 430
and so forth. However, if we solve the problem as it stands, the optimal solution would be to
let R1 360, and all other Rt values and all Ot values equal zero, I1 430, I2 380, I3
450, I4 520, I5 440, and I6 0. This means we should satisfy the demands in the last 5
months using inventories (because inventories are cheap but producing wrenches is expen-
sive). However, this makes no sense because inventories are the result of excess production.
This problem occurs because there are no constraints defining what the relationship is
among inventories, production, and demand. Therefore, we need constraints that define in-
ventories as follows:
(Wrenches in inventory at beginning of month t) (wrenches made during month t)
(wrenches shipped at end of month t) (wrenches in inventory at end of month t)
Converting these to mathematical form, we get the constraints
10 R1 O1 370 I1 R1 O1 I1 360
I1 R2 O2 430 I2 R2 O2 I1 I2 430
I2 R3 O3 380 I3 R3 O3 I2 I3 380
I3 R4 O4 450 I4 or R4 O4 I3 I4 430
I4 R5 O5 520 I5 R5 O5 I4 I5 520
I5 R6 O6 440 I6 R6 O6 I5 I6 440
If the inventory variables are restricted to being nonnegative and these constraints are
satisfied, then the previous demand constraints are satisfied as well. These inventory defini-
tion constraints perform double duty: they define inventories, and guaranteed that demand
is satisfied. Separate demand constraints are not needed.
The optimal solution for the problem is R1 370, R2 R6 420, O1 0,
O2 0, O3 0, O4 10, O5 80, O6 20, I1 10, I2 0, I3 40, I4 20, I5 0, I6 0.
B14 SUPPLEMENT B LINEAR PROGRAMMING
Figure B-1
All solutions
Relationship among solutions
Feasible solutions
Optimal solutions
.5
Y
150
=3
133.33
00
,00
M = 90,000
0
100
Feasible 2M
50 set +3
Y=
40
0,0
00
where M is the number of packages of Meaties made and sold per month and Y is the
number of packages of Yummies made and sold per month. Suppose we construct a
coordinate system with M measured on the horizontal axis and Y measured on the
vertical axis, as shown in Figure B-2. Each point in the M, Y plane corresponds to a
product mix or production plan. The coordinate values for each point represent con-
ceivable, though not necessarily physically possible, values for the variables. Further-
more, every possible product mix is represented by a point in the M, Y plane. The best
solution is the point that makes the objective function as large as possible yet satisfies
all the constraints.
In this example, the optimal extreme point is formed by the intersection of the
lines 2M 3Y 400,000 and 3M 1.5Y 300,000.
To solve equations simultaneously, we use the following property. We can either
(1) multiply any constraint by a nonzero constant or (2) add or subtract a multiple of
any equation to or from any other equation, without changing the set of solutions
that the equations have simultaneously.
Therefore, to solve simultaneously the equations
2M 3Y 400,000
3M 1.5Y 300,000
we can subtract two times the second equation from the first equation, leaving
4M 200,000
3M 1.5Y 300,000
The first equation is easily solved: M 50,000. Substituting this value into the second
equation gives 3(50,000) 1.5Y 300,000, or Y 100,000. This method can be used
for any set of linear equations as long as the number of variables and equations is equal.
Multiple Optima If a finite optimum exists for the problem, there is an extreme
point that is optimal, but it may not be unique. Two or more adjacent extreme points
(they share a common edge) may tie for the best solution. In this case not only are ex-
treme points optimal, but all points on the edge connecting them are optimal. This
would occur in the Healthy Pet Food example if the objective function is to maximize
z 0.30M 0.45Y. Extreme points (M 0, Y 133,333.33) and (M 50,000,
Y 100,000) both yield a $60,000 profit. Every product mix on the line segment
connecting these extreme points is optimal, such as M 20,000, Y 120,000.
As long as A is kept less than or equal to 10, B can be increased without limit
and the objective function increases without limit. There is no finite optimum. Note
that unboundedness refers to the objective function value, not the constraint set. It is
true that for the objective function to be unbounded the feasible region must be un-
bounded in some direction. However, an unbounded feasible set does not imply that
there is no finite optimum. To see this, we simply have to change the objective of the
preceding example to minimize A 2B. The feasible set is unaffected, and therefore
still unbounded in some direction. However, the optimal solution is (A 2.5, B 0,
z 2.5).
Although infeasible problems can occur in practice, an unbounded problem
generally indicates the modeler forgot or misrepresented one or more constraints,
such as a limit on demand for a product or the supply of a resource. When an un-
bounded problem is encountered, the modeler should study the situation to see what
limitations exist that are not being explicitly stated in the constraints.
In 1949, George Dantzig developed an efficient procedure for solving linear programs
called the simplex method or simplex algorithm. This is the most widely used
method in instructional and commercial computer packages. A method developed by Simplex method
Narendra Karmarkar in 1984 is gaining popularity, but since it requires more sophis- Efficient method for solving
ticated mathematics, it is not presented here. linear programs.
The fundamental theorem of linear programming reduces to a finite value the
number of feasible solutions that need to be evaluated. One solution strategy might
be to identify the coordinates of every extreme point and then evaluate the objective
function at each. The one that produces the best objective function value is the opti-
mum. In practice, this approach is not efficient because the number of extreme points
can be very large for real problems with hundreds or thousands of variables and con-
straints.
The simplex algorithm begins by identifying an initial extreme point of the
feasible set. The algorithm then looks along each edge intersecting at the extreme
point and computes the net effect on the objective function if we were to move
along the edge. If the objective function value does not improve by moving along at
least one of these edges, it can be proved that the extreme point is optimal. If move-
ment along one or more of the edges improves the objective function value, we
move along one of these edges until we reach a new extreme point. We repeat the
previous steps: checking along each edge intersecting at the extreme point, and then
either stopping or sliding along another edge that improves the objective function
value.
This algorithm has many desirable features in practice.
1. It only moves from one extreme point to a better or equally good extreme
point, thereby skipping large numbers of suboptimal extreme points without
explicitly identifying them. Thus it usually only has to check a small subset of
the extreme points to find an optimum.
2. When it finds an optimum, it identifies this fact and stops.
3. The algorithm detects whether the problem is infeasible, is unbounded, or
has multiple optima.
4. The algorithm uses very simple mathematics that are easy to implement on a
computer.
B18 SUPPLEMENT B LINEAR PROGRAMMING
Slack variables have physical meaning. For example, slack variables may mea-
sure how much of an available resource is not used for a given solution or how much
of a nutrient an animal receives above some minimum required amount. The slack
variables in each constraint measure something different. Therefore, each one should
have a different designation. A standard convention uses si for a slack variable that has
been incorporated into constraint i.
Optimum
150,000 M = 50,000
Y = 100,000
s1 = 0
s2 = 0
s3 = 40,000
100,000
3M
+1
Extreme point
.5
Feasible M = 90,000
Y=0
Y=
50,000 set
s1 = 220,000
30
M = 0, Y = 0 s3 = 0
s1 = 400,000 Slide along edge
00
s2 = 300,000 Y=0
s3 = 90,000 M=1 50,000 100,000 150,000 M
THE SIMPLEX ALGORITHM B21
begins at 400,000, M can increase by 200,000 units before s1 hits zero. Similarly, M can
increase by 100,000 units before s2 is forced to zero, and M can increase by 90,000 be-
fore s3 reaches zero. Therefore, the most we can increase M before one of the basic
variables is forced to zero is 90,000 units. If M increases beyond this point, s3 becomes
negative and the solution is infeasible.
By increasing M to 90,000, keeping Y 0, and adjusting the other variables, we
obtain a new (adjacent) basic feasible solution: M 90,000, Y 0, s1 220,000,
s2 30,000, and s3 0, where Y and s3 are the nonbasic variables.
Basic M Y s1 s2 s3
cB Variable 0.65 0.45 0 0 0 b Ratio
0 s1 2 3 1 0 0 400,000 (400,000/2) = 200,000
0 s2 3 1.5 0 1 0 300,000 (300,000/3) = 100,000
0 s3 1 0 0 0 1 90,000 (90,000/1) = 90,000 ; Pivot row
zj 0 0 0 0 0 0
cj zj 0.65 0.45 0 0 0
q
Pivot
column
B22 SUPPLEMENT B LINEAR PROGRAMMING
Thus to compute zj for the jth variable, we go down the jth variable column and the cB
column, performing pairwise multiplication and then summing the terms. For exam-
ple, in Table B-4, z1 (2 0) (3 0) (1 0) 0. We perform this operation
for every variable and for the right-hand side values: (400,000 0) (300,000 0)
(90,000 0) 0. The zj in the b column is the objective value for the basic solu-
tion in the tableau. We explain the physical meaning of the zj values shortly.
The bottom row is called the cj zj row. It represents exactly that: we subtract
the zj row from the cj row. There is no value in the b column because there is no b col-
umn value in the cj row.
Meaning of zj and cj zj The algorithm moves from one basic solution to an-
other by
1. Increasing the value of a nonbasic variable
2. Keeping the other nonbasic variables equal to zero
3. Adjusting the values of the basic variables to satisfy the functional
constraints
When this is done, two forces affect the objective function value. There is the di-
rect effect of the nonbasic variable that is being increased in value. The per unit or
marginal effect of increasing the jth variable is the objective function coefficient for
this variable, cj . When the basic variables are adjusted to maintain feasibility, however,
this adjustment affects the objective function as well. This adjustment effect, often
called the opportunity cost, is measured by zj . The opportunity cost is the penalty re-
sulting from adjusting these basic variables. The net marginal effect on the objective
function is cj zj . If the cj zj for some nonbasic variable is positive in sign, increas-
ing that variable (and adjusting the other variables to remain feasible) results in a net
increase in the objective function value.
determined by using a ratio test. For every constraint row i we compute the The ratio test is used to
ratio bi/ais , if ais 0, where column s is the pivot column. That is, we divide determine the leaving vari-
the right-hand side of each constraint by the element in the pivot column of able.
the same row, but only if the denominator ais is strictly positive in value. This
ratio computes how much the entering variable can increase in value before
the basic variable in that constraint is forced down to zero. That leaves the
basic variable in the row with the smallest ratio. This row is called the pivot Pivot row
row. In Table B-4 the ratios for the three constraints are [400,000/2] The row with smallest ratio.
200,000, [300,000/3] 100,000, and [90,000/1] 90,000. The smallest ratio
is for the third constraint, so M enters the basis as the variable for the third
constraint and forces s3 out of the basis.
4. Perform pivot operations to obtain the new canonical form. The intersection of
the pivot row and pivot column is called the pivot element. We need to Pivot element
rewrite the constraints so that they are mathematically equivalent and make Intersection of the pivot row
sure that the new basic variable, M, appears in only the third constraint and and the pivot column.
has a coefficient of 1. In other words, we want the M column to contain
1 in the pivot element and 0 in every other constraint row. We do this with
row operations. The problem does not change if we multiply any equation by
a nonzero constant, or add or subtract a multiple of any equation to or from
any other equation. We divide the entire pivot row by the value of the pivot
element. In Table B-4, the pivot element is already equal to 1, so the pivot
row does not change. It is just rewritten in Table B-5. If the pivot element
had been 4, we would divide the entire pivot row (except the two leftmost
columns) by 4. The new form of the pivot row is always a multiple of the
current pivot row, so a multiple of this new form of the pivot row can be
added to or subtracted from the other rows.
To obtain a zero in the M column of the first constraint, we multiply the pivot
row (third row) by 2 and subtract from the first constraint row:
[2 3 1 0 0 400,000]
2 [1 0 0 0 1 90,000] [0 3 1 0 2 220,000]
The new form of the first constraint in shown in Table B-5. To obtain a zero in the M
column of the second constraint, multiply the pivot row by 3 and subtract from the
second constraint row:
[3 1.5 0 1 0 300,000]
3 [1 0 0 0 1 90,000] [0 1.5 0 1 3 30,000]
Basic M Y s1 s2 s3
cB Variable 0.65 0.45 0 0 0 b Ratio
0 s1 0 3 1 0 2 220,000 (220,000/3) 73,333
0 s2 0 1.5 0 1 3 30,000 (30,000/1.5) 20,000 ; Pivot row
0.65 M 1 0 0 0 1 90,000 no ratio
zj 0.65 0 0 0 0.65 58,500
cj zj 0 0.45 0 0 0.65
q
Pivot
column
B24 SUPPLEMENT B LINEAR PROGRAMMING
The result is shown in Table B-5. Note that we always use the pivot row to operate on
the other rows. If we add or subtract multiples of a row other than the pivot row to or
from a row, the columns for the other basic variables can become messed up. Also
note that because the new form of the pivot row always has a 1 in the pivot element,
we create a 0 in pivot column for any other constraint just by multiplying the new
form of the pivot row by the element in the pivot column of the other row and sub-
tracting the result from that row.
At this point, we determine the basic solution for the tableau in Table B-5. Y and
s3 are not in the basis, so they are set equal to zero. Then, s1 220,000, s2 30,000,
and M 90,000. We compute zj and cj zj elements for each column. For example,
z2 (3 0) (1.5 0) (0 0.65) 0. Note that the zj on the right-hand side
equals the objective function value, 58,500. We will call this term z from now on.
Basic M Y s1 s2 s3
cB Variable 0.65 0.45 0 0 0 b Ratio
0 s1 0 0 1 2 4 160,000 (160,000/4) = 40,000 ; Pivot row
0.45 Y 0 1 0 2/3 2 20,000 no ratio
0.65 M 1 0 0 0 1 90,000 (90,000/1) = 90,000
zj 0.65 0.45 0 0.30 0.25 67,500
cj zj 0 0 0 0.30 0.25
q
Pivot
column
USING ARTIFICIAL VARIABLES B25
Basic M Y s1 s2 s3
cB Variable 0.65 0.45 0 0 0 b
0 s3 0 0 1/4 1/2 1 40,000
0.45 Y 0 1 1/2 1/3 0 100,000
0.65 M 1 0 1/4 1/2 0 50,000
zj 0.65 0.45 0.0625 0.175 0 77,500
cj zj 0 0 0.0625 0.175 0
second constraint, it has a coefficient of 1; therefore, there is no variable in the sec-
ond constraint that can act as a basis variable (multiplying the second constraint by
1 makes the right-hand-side coefficient negative). The third constraint also has no
unique variable ready to be basic. In this case we create a basic but infeasible solution
by adding two new nonnegative variables, A2 A3, to the left-hand side for the second
Artificial variables are and third constraints. These are called artificial variables. (We use the notation Ai
needed when or con- where it is added to the ith constraint.) This gives the new form of the problem,
straints appear in the prob- which is in canonical form.
lem.
Maximize z 20A 6B 9C
Subject to 4A 3B C s1 24
2A 4B 12C s2 A2 30
2A 3B C A3 10
All variables 0
The artificial variables are put into the problem for only one purpose: to act as
basic variables to the algorithm started. If an artificial variable is in the problem, it
must be a basic variable. In the current canonical form the basic variables are s1, A2,
and A3, and the corresponding basic solution is A B C s2 0, s1 24, A2
30, and A3 10. This is a basic solution that occurs at the intersection of the con-
straint boundaries: A 0, B 0, C 0. However, this solution is infeasible because
these lines intersect outside the feasible set.
By modifying the objective function to “encourage” the artificial variables to
leave the basis, we use the simplex algorithm to move from an infeasible to a feasible
basic solution. The algorithm then proceeds exactly as in the previous section. There
are two ways to modify the problem. The first, called the Big-M method, is intuitively
simple and is demonstrated here.
Basic A B C s1 s2 Ac AB
cB Variable 20 6 9 0 0 1000 1000 b Ratio
0 s3 4 3 1 1 0 0 0 24 (24/1) = 24
1,000 A2 2 4 12 0 1 1 0 30 (30/12) = 2.5 ; Pivot row
1,000 A3 2 3 1 0 0 0 1 10 (10/1) = 10
zj 4,000 7,000 13,000 0 1,000 1,000 1,000 4,000
cj zj 4,020 7,006 13,009 0 1,000 0 0
q
Pivot column
USING ARTIFICIAL VARIABLES B27
Variable C has the most positive cj zj , so C enters the basis. The second row
has the smallest ratio, so the basis variable in that row, A2, will leave the basis. Per-
forming the pivot yields Table B-9. Note that the A2 column has been deleted in Table
B-9. As soon as an artificial variable leaves the basis, it is dropped from the problem.
(Do not confuse this with other types of variables.) The resulting solution is not optimal
so variable B enters the basis and replaces A3, giving Table B-10. Variable A then enters
the basis and B leaves, giving Table B-11.
The optimal solution is A 45/11 4.091, B 0, C 20/11 1.818, s1
64/11 5.818 , s2 0, and z 1080/11 98.181. Although the artificial variables
usually leave the basis quickly, they are not always the first variables to leave as they
were in this example.
Basic A B C s1 s2 Ac AB
cB Variable 20 6 9 0 0 1000 1000 b Ratio
0 s3 23/6 8/3 0 1 1/12 — 0 21.5 (21.5/(8/3)) = 8.06
9 C 1/6 1/3 1 0 1/12 — 0 2.5 (2.5/(1/3)) = 7.5
1000 A3 11/6 8/3 0 0 1/12 — 1 7.5 (7.5/(8/3)) = 2.81 ; Pivot row
zj 1831.8 2663.7 9 0 84.1 — 1000 7477.5
cj zj 1851.8 2669.7 0 0 84.1 — 0
q
Pivot column
Basic A B C s1 s2 Ac AB
cB Variable 20 6 9 0 0 1000 1000 b Ratio
0 s3 2 0 0 1 0 — — 14 (14/2) = 7
9 C 1/16 0 1 0 3/32 — — 25/16 no ratio
6 B 11/16 1 0 0 1/32 — — 45/16 (45/11) = 4.09 ; Pivot row
zj 57/16 6 9 0 21/32 — — 495/16
cj zj 263/16 0 0 0 21/32 — —
q
Pivot column
Basic A B C s1 s2 A2 A3
cB Variable 20 6 9 0 0 1000 1000 b
0 s3 0 32/11 0 1 1/11 — — 64/11
9 C 0 1/11 1 0 1/11 — — 20/11
20 A 1 16/11 0 0 1/22 — — 45/11
zj 20 329/11 9 0 1/11 — — 1080/11
cj zj 0 263/11 0 0 1/11 — —
B28 SUPPLEMENT B LINEAR PROGRAMMING
Infeasible Problem If for some tableau the cj zj values satisfy the optimality
conditions but at least one artificial variable is still positive (in the basis), then the
problem has no feasible solution.
Multiple Optima If the problem has more than one optimum, this is signaled by
the final tableau. In the optimal tableau, if cj zj for a nonbasic variable is zero, that
variable entering into the basis does not change the objective function value, so the
new solution is also optimal.
Degeneracy The right-hand sides of a tableau should never be negative, but they
can be zero. When a right-hand side is zero, a basic variable equals zero; this is a
A degenerate solution degenerate solution. You treat the zero just like any other number. It can be used as
occurs when a basic variable the numerator in the ratio test. Degeneracy simply means that the extreme point rep-
equals zero. resented by the basic solution is formed by the intersection of more constraints than
are needed. Therefore, the same extreme point can be expressed algebraically by sev-
eral basic solutions.
COMPUTER SOLUTIONS OF LINEAR PROGRAMS B29
Problem Input
Most linear programming packages use the following information to set up the prob-
lem:
1. Whether the user wants to enter a new problem, read an existing problem,
modify the current problem in memory, or solve a problem
2. An identifying name for the problem so that it can be stored and reused or
modified at a future time
3. Whether the problem involves maximization or minimization
4. The number of variables in the problem
5. The names of the variables or whether the user wants to use default names,
usually X1, X2, and so on
6. The number of constraints in the problem (excluding nonnegativity con-
straints on the variables)
7. The objective function and constraint coefficients. These can be entered as a
data matrix, or a problem template of the objective function constraints is
displayed with variables listed and spaces provided for the user to enter the
coefficients.
Computer Output
Most packages offer several output options: to display the optimum, the optimum
with sensitivity analysis, the initial simplex tableau and the optimum, and so forth. A
computer output for the Healthy Pet Food problem is shown in Figure B-4. Part (a) of
the figure lists the optimal values for the variables in the column labeled “solution”:
M 50,000, Y 100,000, S1 0, S2 0, and W3 40,000. The slack variables are
added to the problem automatically by the computer package, and their optimal val-
ues are listed. At the bottom of Figure B-4 is the objective function value: $77,500.
Sensitivity Analysis
An important use of linear programs is in determining how sensitive the optimal so-
lution is to parameter values in the problem. For example, how will the optimum
change if a price of availability of a resource is changed? This is called sensitivity
analysis or parametric analysis. Let’s look at the sensitivity analysis information pro-
vided by linear programming computer packages.
Figure B-4.
Computer solution for Healthy (a) Final Solution for Healthy
Pet Food
Opportunity
Variable Solution
Cost
M +50000.00 0
Y +100000.00 0
S1 0 +0.0625
S2 0 +0.1725
S3 +40000.00 0
Maximum Objective Function Value = 77500
Iterations = 3
CPU time = 0.4215
range over which each objective function coefficient can vary without the optimal val-
ues for the variables changing.
The notation C(j) refers to the objective function coefficient for the jth variable.
The values in the column labeled “Original” are the original objective function coeffi-
cients in the problem: 0.65 for M and 0.45 for Y. In the M row, the values 0.30 in the
“Min C(j)” column and 0.90 in the “Max C(j)” column mean that as long as all the
other data in the problem are held constant, the solution M 50,000 and Y
100,000 is optimal for any value of C(1) from a minimum of 0.30 to a maximum of
0.90. For example, suppose the profit per package of Meaties changes from $0.65 to
$0.85. The information in Figure B-4 (b) implies that M 50,000 and Y 100,000 is
still the optimal solution. However, the optimal amount of profit changes to $87,500.
One limitation of this analysis is that the range of coefficient values for which
the solution remains optimal is valid only when one coefficient is modified. If two or
more coefficients are changed simultaneously, the ranges given in Figure B-4 (b) do
not tell us what happens. In this case, we change the coefficient values and re-solve the
problem.
that constraint is altered. For example, dual price 0.0625 for constraint 1 implies that
if one addition pound of cereal is available (at $0.20 per pound), the optimum pro-
duction plan can be modified to produce $0.0625 more profit. Similarly, the dual
price of $0.175 means that if an additional pound is available (at $0.50 per pound),
the optimum can be modified to produce $0.175 more profit. It must be emphasized
that these dual prices are valid only if one right-hand side is modified. If two or more
changes are made simultaneously, these prices may not be valid.
Figure B-4(c) also gives the range of right-hand-side values over which the dual
prices will be valid. For example, B(1) is the right-hand-side coefficient of the first
constraint. The table says that keeping everything else the same, each additional
pound of cereal increases profit by $0.0625 until the right-hand side equals 600,000
(shown in the “Max B (I)” column. Similarly, a reduction in cereal reduces the profit
by $0.0625 per pound until the right-hand side reaches 240,000 pounds (“Min B
(i)”). If the amount of available cereal is changed enough to be outside these limits,
new dual prices apply. This analysis is sometimes called right-hand-side ranging.
Uncertainty Regarding Price and Cost Data We assumed that the data given
in Table B-1 were known with certainty. In fact, there is considerable uncertainty
about the price and cost estimates. Suppose that after seeing the preceding solution,
the vice president of marketing says, “If we’re only going to produce 50,000 packages
B32 SUPPLEMENT B LINEAR PROGRAMMING
of Meaties each month, we can charge $3.00 a package; demand for Meaties would
still be at least 50,000 per month at that price.” If we increase the price of Meaties by
$0.20 to $3.00 per package, how does this change the optimal production plan and
Healthy’s profits?
The only thing that changes is the profit per package for Meaties, which increases
from $0.65 to $0.85, so we want to
Maximize z $0.85 M $0.45 Y
Using the objective function sensitivity analysis information in Figure B-4 or re-
solving the problem with the new objective function, we determine that the optimal
production plan is still M 50,000, Y 100,000, but the month profit increases to
$87,500. Thus with the available resources, the change in the relative profit margins
for the two dog foods is not enough to change the optimal product mix, but the profit
does increase. The same type of analysis would apply if we believe that the previously
assumed material or packaging costs are not correct.
This analysis can be performed using a variety of scenarios for product and raw
material prices. It shows us if, and how, the optimal product mix changes depending
on the actual values of the parameters.
Meaties
Yummies
SUPPLEMENT HIGHLIGHTS
1 A mathematical model represents the essential features
of an object, system, or problem without unimportant
of the constraints. The feasible set or feasible region is
the set of all feasible solutions. Finally, an optimal solu-
details. Analyzing and manipulating the model gives in- tion is the feasible solution that produces the best objec-
sight into how the real system behaves under various tive function value possible.
conditions. From this we determine the best system de-
sign or action to take.
7 We can graphically solve an LP problem by using the
fundamental theorem of linear programming: If a finite
2 Constrained optimization models have three major
components: decision variables, objective function, and
optimal solution exists, then at least one extreme point is
optimal. To find the exact coordinate values for the opti-
constraints. Decision variables are physical quantities mum from the graphs, we identify the constraints that
controlled by the decision maker and represented by intersect to form the extreme point. We solve simultane-
mathematical symbols. The objective function defines ously the equations corresponding to the constraints to
the criterion for evaluating the solution. The constraints find the point that lies on both lines (the extreme point).
are a set of functional equalities or inequalities that rep-
resent physical, economic, technological, legal, ethical, or 8 The simplex algorithm has many desirable features in
practice. It only moves from one extreme point to a bet-
other restrictions on what numerical values can be as- ter or equally good extreme point, thereby skipping large
signed to the decision variables. numbers of suboptimal extreme points without explic-
3 The main benefit of optimization models is the ability to
evaluate possible solutions in a quick, safe, and inexpen-
itly identifying them. When it finds an optimum, it iden-
tifies this fact and stops. The algorithm detects whether
sive way without actually constructing and experiment- the problem is infeasible, is unbounded, or has multiple
ing with them. Other benefits include the following: they optima. The algorithm uses very simple mathematics
structure the thought process, increase objectivity, make that are easy to implement on a computer.
complex problems more tractable, make problems
amenable to mathematical and computer solution, and 9 In the Big-M method, we make the objective function
coefficients for the artificial variables either infinity for
facilitate “what if ” analysis. maximization problems or infinity for minimization
4 Linear programs are constrained optimization models
that satisfy three requirements. The decision variables
problems. The name comes from the fact that the letter
M represents some large number that replaces infinity.
must be continuous; they can take on any value within This method encourages the algorithm to drive the arti-
some restricted range. The objective function must be a ficial variables to zero by kicking them out of the basis.
linear function. The left-hand sides of the constraints
must be linear functions.
10 Most packages offer several output options: to display
the optimum, the optimum with sensitivity analysis, the
5 Model formulation is the most important and the most initial simplex tableau and the optimum, and so forth.
difficult aspect of solving a real problem. Solving a
model that does not accurately represent the real prob-
11 The formulations earlier in the supplement give the im-
pression that using linear programming is a clean, sim-
lem is useless. Model formulation includes identifying ple process. In practice, using linear programming and
and defining the decision variables for the problem, other optimization models is not so straightforward, nor
defining the objective function, and identifying and ex- is it static. Specifically, our goal in using models is to ob-
pressing mathematically all of the relevant constraints. tain usable solutions that are better than those we would
6 The characteristic that makes linear programs easy to
solve is their simple geometric structure. A solution for a
have obtained without the models, to use the models to
revise and update our decisions in a timely fashion, and
linear program is any set of numerical values for the to increase our confidence in our decisions.
variables. A feasible solution is a solution that satisfies all
KEY TERMS B35
KEY TERMS
model B2 certainty B7 simplex tableau B21
constrained optimization model B2 feasible solution B14 pivot column B23
decision variables B2 feasible region B14 ratio test B23
objective function B2 feasible set B14 pivot row B23
constraints B2 optimal solution B14 pivot element B23
linear program B5 extreme points B16 artificial variables B26
sensitivity analysis B6 simplex method B17 Big-M method B27
parameters B6 simplex algorithm B17 two-phase method B28
coefficients B6 canonical form B18 degenerate solution B28
proportionality B7 nonbasic variables B20 dual price B31
additivity B7 basic variables B20 shadow price B31
divisibility B7 basic solution B20
B36 SUPPLEMENT B LINEAR PROGRAMMING
SOLVED PROBLEMS
■ Solved Problem 1 Repeating this for the raw material restrictions yields the
Suppose a company manufactures two products, A and B, constraints
using three inputs, labor, material R, and materials S. To 6xA 12xB 900
make one unit of product A requires 6 pounds of R, 7.5 7.5xA 4.5xB 675
pounds of S, and 9 person-hours of labor; to make one unit
of product B requires 12 pounds of R, 4.5 pounds of S, and Finally the variables must be nonnegative:
6 person-hours of labor. The demands for the products are
xA, xB 0
such that the company can sell as much of each product as
it can produce and earn a profit of $3 per unit of A and $4 Putting all of this together gives the linear progamming
per unit of B. However, only 900 pounds of R, 675 pounds model:
of S, and 1200 person-hours of labor are available to the
Maximize z 3xA 4xB
company each day.
Subject to 9xA 6xB 1200
a. Formulate the company’s problem as a linear program to
maximize profit. 6xA 12xB 900
b. Graph the feasible region for this problem. 7.5xA 4.5xB 675
c. Solve the problem graphically by finding the best ex- xA, xB 0
treme point.
b. The nonnegativity constraints, xA 0 and xB 0, re-
strict the feasible solutions to the upper right-hand quad-
rant of Figure B-6. We then plot the inequality 9xA 6xB
Solution:
a. The decision maker controls the amount of each product
to make each day. Thus we can define the decision variables
as Figure B-5
xj No. of units of product j ( A, B) to make each day. Graphical solution of Solved Problem B-1
The company’s objective is to maximize the profit per day. xB
We want to express “profit per day” as a function of the de- 200
cision variables so that no matter what numerical values the
decision variables take on, the function will compute the 180
daily profit. Total profit per day is equal to
(profit/unit of A made) (units of A made/day) 160
(profit/unit of B made) (units of B made/day)
140
Substituting the appropriate numerical values and variables
for these quantities gives an objective function:
120
9 xA
=1
20
A +1 xA = 64.29
xB
B =9 z = 364.31
60 00
75
1200 by graphing its boundary line, 9xA 6xB 1200, and c. Figure B-5 shows objective function contours graphed
finding the side that satisfies the constraint. We first set xA for various profit levels (dotted lines). The contour with the
0 and solve for xB, which gives xB 200, and then set xB highest value intersects the extreme point formed by the in-
0 and solve for xA, which gives xA 133.33. The point xA tersection of the second and third constraints. To obtain the
0, xB 0 satisfies the inequality, so all the points on the coordinates of this point, we solve the two constraint equa-
same side of the line satisfy this inequality. Repeating this tions simultaneously:
procedure for the other constraints gives the feasible set in
6xA 12xB 900
Figure B-5. Note that the first constraint is redundant; that
is , it does not eliminate any solutions that are not already
eliminated by the other constraints. It can be eliminated 7.5xA 4.5xB 675
: xA 64.29 xB 42.86
from the problem without changing the feasible set. The The objective function value for the highest contour is then
feasible set is the four-sided shaded region. z 3(64.29) 4(42.86) 364.31.
is the only one that is negative), so we bring x2 into the ba- Table B-15 Third Tableau: Solved Problem 3
sis. Constraints 1 and 3 tie for the lowest ratio, so we arbi-
x1 x2 s1 s2 s3 A3
trarily select constraint 1 as the pivot row (actually, there are
Basic
tie-breaking rules, but they are beyond the scope of this
CB Variable 30 10 0 0 0 1,000 b
book). Performing the pivot operations gives the tableau in
Table B-15. No cj zj value is positive in this table, so the 10 x2 0 1 2/5 0 1/10 — 20
solution there is optimal. To get the solution, we set the 0 s2 0 0 1/10 1 1/10 — 5
nonbasic variables, s1 and s3, equal to zero and the basic 30 x1 1 0 3/10 0 2/10 — 0
variables equal to the values in the “b” column: x1 0, x2 zj 30 10 25 0 25 — 200
20, and s2 5, and the objective function value is z 200. cj zj 0 0 5 0 5 —
(Notice that this is a degenerate solution because a basic
variable equals zero.)
DISCUSSION QUESTIONS
1. What are the three primary components of a constrained 5. What does it mean when a problem has an unbounded
optimization model? solution? If you formulated a real problem and the solu-
2. Explain the difference between a parameter and a deci- tion? If you formulated a real problem and the solution
sion variable. was unbounded, what does this imply about your model?
3. What are the primary assumptions underlying linear pro- 6. What does it mean to perform sensitivity or “what if ”
gramming models? analysis?
4. If most parameters represent estimates that are not 7. Explain the meaning of dual prices. Why would one want
known with certainty, how can constrained optimization to know the value of a dual price, and how might it be
models be of any value for decision making? used?
PROBLEMS
1. Deutchlander Machine Company (DMC) makes two b. Solve the problem (either graphically, using the simplex
types of printing presses: a four-color litho and a two-color method, or using a computer) and explain in words DMC’s
litho. Demand for both products is booming and exceeds optimal solution.
DMC’s ability to satisfy it. Most raw materials are plentiful, 2. Robertville Furniture Company (RFC) makes two
but production is limited by three factors: a shortage of steel types of dressers: the Classic and the Modern. RFC sells the
rollers, gear cutting capacity, and roller polishing capacity. Classic for $310 and the Modern for $350. At these prices
Each four-color press requires 16 rollers, and each two-color RFC believes it can sell up to 20 Classic and 25 Modern
press requires 8 rollers. The four-color presses require 30 dressers per week. Each type of dresser is made of oak and
hours of gear cutting and 8 hours of polishing time, and the covered with a pecan veneer. The wood requirements for
two-color presses require 12 hours of gear cutting and 3 each dresser are given in the table. Oak costs $1.50 per board
hours of polishing time. DMC is able to buy 100 rollers per foot, and pecan veneer costs $2 per square foot. The dressers
week, and it has 160 hours of gear cutting time and 40 hours must go through two manufacturing departments: cutting
of polishing time available per week. and veneering. The machine hours required for each dresser
To avoid harming long-term sales, DMC does not want to are also given below. RFC has only 40 hours of production
raise prices. At current prices DMC will earn a profit of
DM24,000 on each four-color press made and DM10,000 on Oak/ Pecan/ Cutting Veneering
each two-color press made. So as not to abandon either Dresser Dresser Time Time
product market, DMC also wants to produce at least two (board ft) (sq/ft) (hr/dresser) (hr/dresser)
units of each press each week.
a. Formulate DMC’s problem as a linear program to max- Classic 90 50 1.20 1.00
imize its profit. Modern 100 60 0.90 1.20
B40 SUPPLEMENT B LINEAR PROGRAMMING
time available each week in each department, and it can ob- Fresh potatoes earn a profit of $0.40 per pound after
tain up to 2000 board feet of oak and 1500 square feet of processing costs, but only grade A potatoes can be sold as
pecan veneer each week. The cost of operating each manu- fresh potatoes. Frozen french fried potatoes earn $0.32 per
facturing department is essentially fixed, so RFC would like pound after processing costs, but the potatoes used must
to maximize its contribution to overhead (revenue minus have an average quality rating of at least 3.5. Hash balls earn
variable costs). $0.25 per pound after processing costs, but the potatoes used
a. Formulate RFC’s problem as a linear program, defin- must have an average quality rating of at least 3.0. Assume
ing your variables clearly. that these ratings are linear in the sense that the quality rat-
b. Solve the problem (graphically, using the simplex ing of a mixture equals the weighted average of the inputs.
method, or using a computer) and state what RFC should do VPC believes it can sell as much french fried and hash ball
(i.e., explain RFC’s optimal solution in words). potatoes as it can make, but it believes the total demand for
c. What resource is limiting RFC’s production? its fresh potatoes during the next two months is 2.5 million
3. Western Pulp (WP) produces recycled paperboard for pounds.
box manufacturers by combining four grades of recycled pa- a. Formulate a linear programming model to determine
per stock. Each grade of stock has a different strength, color, the best use for the potatoes so as to maximize VPC’s
and texture. The strength, color, and texture of the paper- profit.
board are approximately a weighted average of those charac- b. Solve the problem using a computer and explain the
teristics of the paper inputs. The table gives the characteris- answer in words.
tics of the paper stocks and their cost per ton. WP has c. Suppose VPC could buy additional grade A potatoes at
received an order for 500 tons of paperboard with a strength $0.35 per pound; how much should it buy? Explain.
rating of at least 7, a color of at least 5, and texture of at least 5. Manfred Leaks manages a large discount store. His
6. WP would like to determine the least costly mix required biggest problem has been scheduling cashiers so that he has
to produce this paperboard. an adequate number without having too many. The store is
open from 9 A.M. to 9 P.M. every day of the week. Based on
historical data, he found that the customer patterns for
Paper Grade Strength Color Texture Cost/Ton Monday to Thursday are essentially the same, but those
1 8 9 8 $150 for Friday, Saturday, and Sunday are all different. He
2 6 7 5 $110 divided the day into three 4-hour segments and esti-
3 5 5 6 $ 90 mated how many cashiers were needed for each time period
4 3 4 5 $ 50 for each day of the week. These are given in the following
table.
a. Formulate the problem as a linear program. Day of Week Mon – Thur Fri Sat Sun
b. Solve this problem on a computer and explain the op-
timal solution. 9 A.M.– 1 P.M. 6 3 10 4
4. Volcano Potato Company (VPC) grows potatoes, 1 P.M.– 5 P.M. 5 8 14 12
processes them, and then sells three potato products: fresh 5 P.M.– 9 A.M. 8 4 7 6
potatoes, frozen french fried potatoes, and frozen hash ball
potatoes (shredded and then reconstituted balls of potatoes
Employees must work continuous 8-hour shifts begin-
with a soft consistency). During the next two months, VPC
ning at 9 A.M. or 1 P.M., and their weekly schedules must be
expects to harvest 8 million pounds of potatoes. VPC would
made up of 5 consecutive days of work with 2 consecutive
like to determine how much of each product should be made
days off (and they work the same hours each workday).
from the potatoes. Potatoes are graded according to quality
Manfred would like to devise weekly schedules that will min-
on a 0 – 5 scale. VPC divides its potatoes into three grades: A,
imize the total number of cashiers needed, but the schedules
B, and C. Grade A potatoes have an average quality rating of
must be such that the minimum cashier requirements in the
4.5; grade B potatoes have an average quality rating of 2.5,
table are satisfied.
and grade C potatoes have a quality rating below 1 and are
a. Formulate Manfred’s problem as a linear program; be
not used for any products. From historical data and esti-
sure to define the variables precisely. (Hint: There are 14
mates based on the current growing season’s weather, VPC
possible schedules; there will be one variable correspond-
believes the distribution of potato quality will be:
ing to each schedule.)
b. Solve the problem using a computer.
Grade A B C c. Is the assumption of divisibility satisfied? Will your an-
% of Harvest 50 40 10 swer to this question be true in general? Explain.
PROBLEMS B41
6. Checker Credit Service provides credit information to sales. To maintain a reasonable presence in each market,
its customers throughout the country 24 hours a day. Ros- however, each district must be assigned at least one sales rep,
alind Hanks is the manager of phone services. She supervises and at least $50,000 must be spent on advertising in each
credit reps who answer customers’ calls. From historical data market.
she has estimated that the following number of credit reps a. Formulate a linear programming model to help Mr.
are needed during various times of the day. Stimpson solve his problem.
b. Solve the problem using a computer.
8. Great Plains Advertising Company (GPAC) has a
$150,000 advertising budget to advertise an automobile firm.
Time Period No. of Reps Needed
GPAC is considering advertising in newspapers and on tele-
Midnight – 4 A.M. 3 vision. The more GPAC advertises in a particular medium,
4 A.M.– 8 A.M. 6 the less effective additional ads are in reaching new cus-
8 A.M.– noon 13 tomers. The following table lists the number of new cus-
Noon – 4 P.M. 15
4 P.M.– 8 P.M. 12
8 P.M.– midnight 9 No. of Ads New Customers/Ad
Newspaper 1 – 10 900
11 – 20 600
Employees work shifts of 8 consecutive hours, and shifts 21 – 30 300
can start at the beginning of any of the six periods shown in Television 1–5 10,000
the table. Ms. Hanks has complete freedom in deciding the 6 – 10 5,000
number of days each employee works each week, so she is in- 11 – 15 2,000
terested only in knowing how many employees should start
work at the beginning of each time period to minimize the
total number of employees needed each day. tomers reached by each ad. Each newspaper ad costs $1500,
a. Formulate her problem as a linear program. (Hint: and each television ad costs $10,000. At most 30 newspaper
There will be six decision variables.) ads and 15 television ads can be placed. Also, GPAC would
b. Solve the problem using a computer. like to use at least as many newspaper ads as television ads.
c. Is the divisibility assumption satisified? Formulate a linear program that will maximize the number
d. Suppose full-time employees were paid $8 per hour, of new customers contacted subject to the previous restric-
and suppose part-time employees could be hired to work tions. (Hint: You need six variables, not two.)
4-hour shifts for $5 per hour. But part-time employees 9. The demand for a company’s product during the next
are only half as efficient as full-time employees are only four months is given here. It costs the company $9 per unit
half as efficient as full-time employees (i.e., Checker
needs two part-time employees to do the work of one
full-time employee). Formulate and solve the new prob- Month Demand
lem.
7. Ronald Stimpson is regional sales manager for an in- 1 450
dustrial products company. His region contains four sales 2 575
districts. He supervises 10 sales representatives and controls 3 490
an advertising budget of $800,000 per year. Mr. Stimpson be- 4 530
lieves that sales in a district are related to the amount of ad-
vertising and the number of sales reps assigned to the dis-
trict. Based on historical data, his estimates of incremental to produce the product using regular-time labor and $12 per
annual sales per dollar of advertising and sales per sales rep unit to produce the product using overtime labor. A maxi-
for each district are given in the following table. Mr. Stimp- mum of 500 units can be made each month using regular-
son would like to determine how to allocate sales reps and time labor. There is no limit on overtime productin. Excess
the advertising budget among the four districts to maximize units produced can be stored at a costs of $2 per unit per
month.
a. Formulate this company’s problem as a linear program
District 1 2 3 4 to minimize its total production and storage costs during
the next four months and to satisfy demand (there are no
$ sales/$ advertising 7 12 10 11 initial inventories).
$ sales (0000)/sales rep 38 25 36 41 b. Solve the problem using a computer.
B42 SUPPLEMENT B LINEAR PROGRAMMING
Alloy A Alloy B demanded by each wholesaler are also listed, along with the
At least 40% copper No more than 35% copper production capacity at each manufacturing plant. The com-
At least 10% nickel At least 40% nickel pany wishes to satisfy the demands of each wholesaler at
No more than 25% nickel minimum total cost (production plus shipping). However,
Aluminum content must no plant should be operating at less than 60% of its capacity.
be exactly twice that a. Formulate a linear program to solve the company’s
of nickel No more than 30% aluminum problem.
b. Solve the problem using a computer.
14. AMCHEM Chemical Company produces three prod-
a. Formulate the company’s problem as a linear program ucts: A, B, and C. Each product requires labor to produce it,
to maximize profit. and production of each product creates pollutants. By law
b. Solve the problem using a computer. the firm is not allowed to produce more than the following
12. Wilson Creek Farm has 200 acres of land available for pollutants per day: 200 pounds of sulfur dioxide, 300 pounds
planting. The owner is considering planting three crops: of carbon monoxide, 150 pounds of hydrogen sulfide, and 50
corn, soybeans, and wheat. The production yield, water re- pounds of benzene. The total number of person-hours of la-
quirements, and labor requirements for a salable crop are bor available per day is 6000. In addition, the total output
given here. The owner expects to have only 35,000 gallons of per day of products A and B combined cannot be more than
water available per week to use for the crops, and during the the output of product C. Each pound of product A generates
PROBLEMS B43
a profit of $5, each pound of B generates $7, and each Treatment Center* Daily Volume
pound of C generates $4. Pollutant and labor rates per hun-
District A B C (tons/day)
dred pounds of product are given here.
1 1.2 1.1 3.2 20
2 0.5 1.3 2.5 30
A B C 3 1.0 0.4 1.9 45
Pounds of Sulf dioxide .10 .05 .20 4 1.5 1.6 1.4 25
Pollutants/ Carb monoxide .18 .04 .03 5 2.4 1.5 1.6 20
100 lb Hydrogen sulfide .25 .15 .02 6 2.6 1.9 0.5 25
of Product Benzene .01 .06 .04 *Round-trip travel plus collection times in hours.
Pers-Hr/
100 l.b of product Labor 3.0 2.0 4.5 Each district is served by several trucks because each
truck can handle approximately 5 tons of wastes per load.
a. Formulate this problem as a linear program to maxi- Trucks are stationed at each treatment center and then they
mize daily profit. go to a district to collect wastes and return to the center. The
b. Solve the problem using a computer. cost of collection is approximately proportional to the travel
15. International Fiber Company (IFC) makes newsprint plus collection time because drivers are paid on a per-hour
for newspapers. IFC has three paper mills, A, B, and C, basis and do not work 8-hr days.
spread throughout the country. The cost of producing a. Enviroclean would like to determine how much of each
newsprint varies from mill to mill. IFC estimates that the district’s wastes should be collected and sent to each treat-
marginal production cost for each ton of newsprint is $210 ment center to minimize collection cost. Formulate this
at mill A, $225 at B, and $220 at C. IFC supplies five primary problem as a linear program.
geographical markets from these three mills. The monthly b. Solve the problem using a computer.
demand at each market, the per ton shipping cost between c. Does the fact that each truck can carry 5 tons of waste
each mill and each market, and the monthly production ca- violate the divisibility assumption? Does it make the formu-
pacity of each mill are as follows: lation and solution in (a) and (b) invalid? Explain.
17. The demand for Emca Inc.’s product during the next 4
months is given here. The product is made up of two compo-
Capacity
Market (tons/ Month Demand
Mill 1 2 3 4 5 month)
1 90
Shipping A 20 25 30 15 35 1200 2 85
Cost/Ton B 30 20 32 28 19 1500 3 95
C 25 18 28 23 31 900 4 100
Monthly
demand 600 1000 500 800 500
nents, A and B. Emca can either manufacture the components
itself or subcontract to another company. If Emca manufac-
IFC would like to satisfy all market demands at minimum tures the components, each component must go through two
total cost (production plus transportation). Formulate a lin- production departments: fabricating and finishing. Compo-
ear program to sove IFC’s problem. (Hint: Let xij tons of nent A requires 2 hours of fabricating time and 4 hours of
newsprint made at mill i and sent to market j each month, a finishing time; component B requires 3 hours of fabricating
total of 15 variables.) time and 2 hours of finishing time. Each department has 550
16. Enviroclean Waste Disposal Company collects toxic hours of time available each month for production. Emca has
wastes from commercial and industrial sites and transports determined that is costs $200 per unit of A that is made and
them to one of its three treatment centers, where the materi- $240 per unit of B. Emca believes that its production capacity
als are either incinerated, chemically treated to reduce their is insufficient to satisfy the demand, so it has arranged to buy
toxicity, or stored in an approved manner. Each treatment some units of A and B from a subcontractor for $220 per unit
center has a limited capacity: centers A and B can process 50 of A and $255 per unit of B. Any units of the components can
tons per day, and center C can process 75 tons per day. Envi- be held in inventory at a cost of $8 per month.
roclean serves six general districts. The round-trip travel and a. Formulate Emca’s planning problem as a linear pro-
collection times from the six regions to the treatment centers gram to minimize its cost during the next 4 months while
and the predicted daily volumes of waste generated in each delivering the amount demanded each month.
district are given in the following table. b. Solve the problem using a computer.
B44 SUPPLEMENT B LINEAR PROGRAMMING
18. (The previous problems all dealt with the issues faced 20. Solve the following linear program graphically.
by private firms. The following is a simplified version of an
Maximize z x1 2x2
actual public sector problem.) The Appleville School District
Subject to 6x1 3x2 15
has two high schools, each of which has a capacity of 4000
2x1 x2 4
students. Approximately one-third of the high school students
x1, x2 0
in the district are members of racial minorities. The district
can be divided into four distinct communities. The number 21. Solve the following linear program graphically.
of students in each community expected to attend a public
high school next year and the distance from the center of each Minimize z 4A B
community to each high school are listed in Table B-16. Subject to 3A 2B 12
2A 6B 18
A B2
A, B 0
Table B-16 Appleville School District Data
No. of No. of Miles Miles 22. Solve the following linear program using the simplex
Majority Minority to to algorithm.
Community Students Students H.S A H.S B Maximize z 2A 4B 3C
1 1900 250 3.4 1.5 Subject to 3A 4B 2C 60
2 1700 400 2.4 2.2 2A B 2C 40
3 800 650 1.1 2.9 A 3B 2C 80
4 550 1250 1.7 2.8 A, B, C 0
Total 4950 2550
23. Solve the following linear program using the simplex
algorithm.
Historically the two high schools have been racially un- Maximize z 5.0X 8.0Y
balanced, with school A having a disproportionately high en- Subject to 2.5X 5.0Y 50
rollment of minority students and school B having a dispro- 2.0X 1.0Y 20
portionately high enrollment of majority students. To satisfy 7.5X 2.0Y 60
a court agreement to achieve better racial balance between X, Y 0
the schools, each high school must have at least 24% and no 24. Solve the following linear program using the simplex
more than 44% of its enrollment made up of minority stu- algorithm.
dents (the overall minority enrollment in the district is
34%). The school district would like to determine how many Maximize z 15x1 25x2 10x3
students of each type (majority and minority) should be sent Subject to 6x2 3x3 12
from each community to each high school to minimize total x1 4x2 2x3 10
student bus miles traveled. All xjs 0
a. Formulate this problem as a linear program. (Hint: let 25. Solve the following linear program using the simplex
xij number of majority students from community i algorithm.
assigned to H.S. j Minimize z 3A 4B C
yij number of minority students from community i Subject to 2A B C 20
assigned to H.S. j A B 5C 15
A, B, C 0
where i 1, 2, 3, 4 and j A, B.)
26. Solve the following linear program using the simplex
b. Solve this problem using a computer. algorithm.
19. Solve the following linear program graphically: Maximize z 4x1 2x2 2x3
Minimize z 10A 7.5B Subject to 3x1 6x2 3x3 90
Subject to 4A 2B 10 3x1 x2 x3 180
3A 2B 3 x1 x2 x3 60
A B3 All xj s 0
A, B 3
BIBLIOGRAPHY B45
BIBLIOGRAPHY
Eppen, G. D., F. J. Gould, and C. P. Schmidt. Introductory Ravindran, A., Don. T. Philips, and James J. Solberg. Opera-
Management Science, 4th ed., Upper Saddle River, N.J.: tions Research: Principles and Practice, 2nd ed., New York:
Prentice-Hall, 1993. Wiley, 1986.
Hillier, Frederick S., and Gerald J. Leberman. Introduction to Winston, Wayne L. Operations Research: Applications and Al-
Operations Research, 4th ed., Oakland, Calif.: Holden- gorithms, 2nd ed., Boston: PWS-Kent, 1991.
Day, 1986.
Markland, Robert. Topics in Management Science, 3rd ed.,
New York: Wiley, 1989.