Linear Goal Programming
and Its Solution Procedures
All the algorithms presented in Chap. 7 are for problems that fit the format of linear
programming as introduced in Chap. 3. We now turn to an important extension of
linear programming and consider how it can be reformulated so that the algorithms of linear programming can again be applied.
We have assumed throughout Chaps. 3–7 that the objectives of the organization conducting the linear programming study can be encompassed within a single overriding objective, such as maximizing total profit or minimizing total cost. However, this assumption is not always realistic. In fact, as we discussed in Sec. 2.1, studies have found that
the management of U.S. corporations frequently focuses on a variety of other objectives,
e.g., to maintain stable profits, increase (or maintain) market share, diversify products,
maintain stable prices, improve worker morale, maintain family control of the business,
and increase company prestige. Goal programming provides a way of striving toward several such objectives simultaneously.
The basic approach of goal programming is to establish a specific numeric goal for
each of the objectives, formulate an objective function for each objective, and then seek
a solution that minimizes the (weighted) sum of deviations of these objective functions
from their respective goals. There are three possible types of goals:
1. A lower, one-sided goal sets a lower limit that we do not want to fall under (but exceeding the limit is fine).
2. An upper, one-sided goal sets an upper limit that we do not want to exceed (but falling
under the limit is fine).
3. A two-sided goal sets a specific target that we do not want to miss on either side.
Goal programming problems can be categorized according to the type of mathematical programming model (linear programming, integer programming, nonlinear programming, etc.) that it fits except for having multiple goals instead of a single objective. In
this book, we only consider linear goal programming—those goal programming problems
that fit linear programming otherwise (each objective function is linear, etc.) and so we
will drop the adjective linear from now on.
Another categorization is according to how the goals compare in importance. In one
case, called nonpreemptive goal programming, all the goals are of roughly comparable
hil61217_ch07_supplement.qxd 5/12/04 17:20 Page 7S-1
importance. In another case, called preemptive goal programming, there is a hierarchy
of priority levels for the goals, so that the goals of primary importance receive firstpriority attention, those of secondary importance receive second-priority attention, and so
forth (if there are more than two priority levels).
We begin with an example that illustrates the basic features of nonpreemptive goal
programming and then discuss the preemptive case.
Prototype Example for Nonpreemptive Goal Programming
The DEWRIGHT COMPANY is considering three new products to replace current models
that are being discontinued, so their OR department has been assigned the task of determining which mix of these products should be produced. Management wants primary consideration given to three factors: long-run profit, stability in the workforce, and the level of capital
investment that would be required now for new equipment. In particular, management has established the goals of (1) achieving a long-run profit (net present value) of at least $125 million from these products, (2) maintaining the current employment level of 4,000 employees,
and (3) holding the capital investment to less than $55 million. However, management realizes that it probably will not be possible to attain all these goals simultaneously, so it has discussed priorities with the OR department. This discussion has led to setting penalty weights
of 5 for missing the profit goal (per $1 million under), 2 for going over the employment goal
(per 100 employees), 4 for going under this same goal, and 3 for exceeding the capital investment goal (per $1 million over). Each new product’s contribution to profit, employment
level, and capital investment level is proportional to the rate of production. These contributions per unit rate of production are shown in Table 1, along with the goals and penalty weights.
Formulation. The Dewright Company problem includes all three possible types of goals:
a lower, one-sided goal (long-run profit); a two-sided goal (employment level); and an upper, one-sided goal (capital investment). Letting the decision variables x1, x2, x3 be the production rates of products 1, 2, and 3, respectively, we see that these goals can be stated as
12×1 9×2 15×3 125 profit goal
5×1 3×2 4×3 40 employment goal
5×1 7×2 8×3 55 investment goal.
More precisely, given the penalty weights in the rightmost column of Table 1, let Z
be the number of penalty points incurred by missing these goals. The overall objective
then is to choose the values of x1, x2, and x3 so as to
Minimize Z 5(amount under the long-run profit goal)
2(amount over the employment level goal)
4(amount under the employment level goal)
3(amount over the capital investment goal),
7S-2 SUPPLEMENT TO CHAPTER 7 LINEAR GOAL PROGRAMMING
¦ TABLE 1 Data for the Dewright Co. nonpreemptive goal programming problem
Factor 1 2 3 Goal (Units) Weight
Long-run profit 12 9 15 125 (millions of dollars) 5
Employment level 5 3 4 40 (hundreds of employees) 2(), 4()
Capital investment 5 7 8 55 (millions of dollars) 3
hil61217_ch07_supplement.qxd 5/12/04 17:20 Page 7S-2
Linear Goal Programming