1-Goal-Programming (1)
1-Goal-Programming (1)
Goal programming
1
This example is based on Chissman and Associates, 1989.
341
342 Chapter 8 Goal Programming
Let the variables xp, xf , and xs represent the tax rates (expressed as proportions of taxation
bases) for property, food and drug, and general sales and define the variable xg as the gasoline
tax in cents per gallon. The goals of the city council are then expressed as
Each of the inequalities of the model represents a goal that the city council aspires to
satisfy. Most likely, however, the best that can be done is a compromise solution involving these
conflicting goals.
The manner in which GP finds a compromise solution is to convert each inequality into a
flexible goal in which the corresponding constraint may be violated, if necessary. In terms of the
Fairville model, the flexible goals are expressed as follows:
The nonnegative variables si- and si+ , i = 1, 2, 3, 4, are deviational variables representing the de-
viations below and above the right-hand side of constraint i.
The deviational variables si- and si+ are by definition dependent, and hence cannot be basic
variables simultaneously (per the theory of the simplex method). This means that in any sim-
plex iteration, at most one of the two deviational variables can assume a positive value. If the
original ith inequality is of the type … and its si- Ú 0, then the ith goal is satisfied; otherwise,
goal i is not satisfied. In essence, the definition of si- and si+ allows meeting or violating the ith
goal at will. This is the type of flexibility that characterizes GP when it seeks a compromise
8.2 Goal Programming Algorithms 343
solution. Logically, a good compromise solution seeks to minimize the amount by which each
goal is violated.
In the Fairville model, given that the first three constraints are of the type Ú and the fourth
constraint is of the type … , the deviational variables s1-, s2-, s3- , and s4+ (shown in the model in
bold) represent the amounts by which the respective goals are violated. Thus, the compromise
solution seeks to satisfy the following four objectives as much as possible:
Minimize G1 = s1-
Minimize G2 = s2-
Minimize G3 = s3-
Minimize G4 = s4+
These functions are minimized subject to the constraint equations of the model.
How can we optimize a multiobjective model with conflicting goals? Two methods have
been developed for this purpose: (1) the weights method and (2) the preemptive method. Both
methods are based on converting the multiple objectives into a single function. Section 8.2
provides the details.
Minimize Gi, i = 1, 2, c, n
The combined objective function used in the weights method is then defined as
The parameters wi, i = 1, 2, c, n, are positive weights that reflect the decision
maker’s preferences regarding the relative importance of each goal. For example,
wi = 1, for all i, signifies that all goals are of equal importance. The determination of
the specific values of these weights is subjective. Indeed, the apparently sophisticated
analytic procedures developed in the literature (see, e.g., Cohon, 1978) are still rooted
in subjective assessments.
344 Chapter 8 Goal Programming
Example 8.2-1
TopAd, a new advertising agency with 10 employees, has received a contract to promote a new
product. The agency can advertise by radio and television. The following table gives the num-
ber of people reached daily by each type of advertisement and the cost and labor requirements.
Radio Television
The contract prohibits TopAd from using more than 6 minutes of radio advertisement.
Additionally, radio and television advertisements need to reach at least 45 million people. TopAd
has a budget goal of $100,000 for the project. How many minutes of radio and television adver-
tisement should TopAd use?
Let x1 and x2 be the minutes allocated to radio and television advertisements. The GP for-
mulation for the problem is given as
subject to
TopAd’s management estimates that the exposure goal is twice as important as the budget
goal. The combined objective function thus becomes
The optimum solution is z = 10, x1 = 5 min, x2 = 2.5 min, s1- = 5 million persons, s1- = 0,
and s2- = 0.
The fact that the optimum value of z is not zero indicates that at least one of the goals is not
met. Specifically, s1- = 5 means that the exposure goal (of at least 45 million persons) is missed
by 5 million individuals. Conversely, the budget goal (of not exceeding $100,000) is not violated,
because s2+ = 0.
expecting eternal life) in possession of a bottle of fine wine. The wine gets tastier with age and the
immortal must decide when to consume it. The satisficer would choose a reasonable future time
to open the bottle but the maximizer would say never!
Though GP is presented in the context of optimized linear programs, its end result
seeks a satisficing rather than an optimum solution. This conclusion can be demonstrated by
Example 8.2-1, where the “optimum” GP solution yields x1 = 5 min and x2 = 2.5 min with ex-
posure of 40 million persons and a cost $100,000. By contrast, the feasible solution x1 = 6 min
and x2 = 2 min yields the same exposure 14 * 6 + 8 * 2 = 40 million persons2 but costs less
18 * 6 + 24 * 2 = $96,0002. In essence, what GP does is to find a satisficing rather than an
optimum solution. The failure to find the best solution raises doubts about the viability of GP as
an optimization technique (see Example 8.2-3 for further discussion).
The variable ri is the component of the deviational variables, si- or si+, representing
goal i. For example, in the TopAd model (Example 8.2-1), r1 = s1- and r2 = s2+.
The solution procedure starts with optimizing the highest priority, G1, and termi-
nates with optimizing the lowest, Gn. The preemptive method is designed such that a
lower-priority solution never degrades a higher-priority solution.
The literature on GP presents a “special” simplex method that guarantees the
nondegradation of higher-priority solutions. The method uses the column-dropping
rule that calls for eliminating a nonbasic variable xj with nonzero reduced cost
1zj - cj ≠ 02 from the optimal tableau of goal Gk prior to solving the problem of goal
Gk + 1. The rule recognizes that such nonbasic variables, if elevated above zero level in
the optimization of succeeding goals, may degrade (but never improve) the quality of a
higher-priority goal. The procedure requires including the objective functions of all the
goals in the simplex tableau of the model.
The proposed column-dropping modification needlessly complicates GP. In this
presentation, we show that the same results can be achieved in a more straightforward
manner using the following steps:
Step 0. Identify the goals of the model and rank them in order of priority:
G1 = r1 ≻ G2 = r2 ≻ g ≻ Gn = rn
Set i = 1.
General Step. Solve LPi that minimizes Gi, and let ri = r*i define the correspond-
ing optimum value of the deviational variable ri. If i = n, stop; LPn solves
346 Chapter 8 Goal Programming
the n-goal program. Otherwise, add the constraint ri = r*i to the constraints
of the Gi-problem to ensure that the value of ri is not degraded in future
problems. Set i = i + 1, and repeat step i.
The successive addition of the special constraints ri = r*i may not be as “elegant”
theoretically as the column-dropping rule. Nevertheless, it achieves the exact same
result. More importantly, it is easier to implement and to understand.
remarks. Some may argue that the column-dropping rule offers computational
advantage because the rule makes the problem successively smaller by removing vari-
ables, whereas our procedure makes the problem larger by adding new constraints.
Considering the nature of the additional constraints 1ri = r*i 2, we can modify the sim-
plex algorithm to implement the additional constraint implicitly by substituting out
ri = r*i . The substitution (affecting only the constraint in which ri appears) reduces the
number of variables as the algorithm moves from one goal to the next. Alternatively, we
can use the bounded simplex method of Section 7.4.2 by replacing ri = r*i with ri … r*i ,
in which case the additional constraints are accounted for implicitly. In this regard, the
column-dropping rule, theoretical appeal aside, does not appear to offer a particular
computational advantage.
For the sake of completeness, Example 8.2-3 will illustrate how the column-
dropping rule works.
Example 8.2-2
The problem of Example 8.2-1 is solved by the preemptive method. Assume that the exposure
goal has a higher priority.
Step 0. G1 ≻ G2
Minimize G1 = s1-
subject to
the exposure goal, G1, is violated by 5 million persons. The additional constraint to be
added to the G2-problem is s1- = 5 1or, equivalently, s1- … 52.
Minimize G2 = s2+
The constraints are the same as in step 1 plus the additional constraint s1- = 5.
(TORA’s MODIFY option can be used conveniently to represent the new constraint
by assigning 5 to both the lower and upper bounds of s1- .)
In general, the additional constraint s1- = 5 can also be accounted for by substitut-
ing out s1- in the first constraint. The result is that the right-hand side of the exposure
goal constraint will be changed from 45 to 40, thus reducing LP2 to
Minimize G2 = s2+
subject to
The new formulation is one variable less than the one in LP1, which is the general idea
advanced by the column-dropping rule.
Actually, the optimization of LP2 is not necessary in this problem, because the op-
timum solution to problem G1 already yields s2+ = 0; that is, it is already optimum for
LP2. Such computational-saving opportunities should be exploited during the course
of implementing the preemptive method.
The specific goal limits for exposure and cost 1 = 45 and 1002 in Examples 8.2-1 and 8.2-2
are removed, because we will allow the simplex method to determine these limits optimally.
The new problem can thus be stated as
x1 + 2x2 … 10
x1 … 6
x1, x2 Ú 0
We first solve the problem using the procedure introduced in Example 8.2-2.
subject to
x1 + 2x2 … 10
x1 … 6
x1, x2 Ú 0
Step 2. Add the constraint 4x1 + 8x2 Ú 40 to ensure that goal G1 is not degraded. Thus, we
solve LP2 as
Minimize P2 = 8x1 + 24x2
subject to
x1 + 2x2 … 10
x1 … 6
4x1 + 8x2 Ú 40 1additional constraint2
x1, x2 Ú 0
The optimum solution of LP2 is P2 = $96,000, x1 = 6 min, and x2 = 2 min. It yields the
same exposure (P1 = 40 million people) but at a smaller cost than the one in Example 8.2-2,
where we seek to satisfy rather than optimize the goals.
The same problem is solved now by using the column-dropping rule. The rule calls for carry-
ing the objective rows associated with all the goals in the simplex tableau, as we will show below.
8.2 Goal Programming Algorithms 349
Lp1 (exposure maximization). The LP1 simplex tableau carries both objective rows
P1 and P2. The optimality condition applies to the P1-objective row only. The P2-row
plays a passive role in LP1 but must be updated (using the simplex row operations)
with the rest of the simplex tableau in preparation for the optimization of LP2.
LP1 is solved in two iterations as follows:
1 P1 -4 -8 0 0 0
P2 -8 - 24 0 0 0
s1 1 2 1 0 10
s2 1 0 0 1 6
2 P1 0 0 4 0 40
P2 4 0 12 0 120
x2 1 1 1 0 5
2 2
s2 1 0 0 1 6
1 P1 40
P2 4 0 0 120
x2 1 1 0 5
2
s2 1 0 1 6
2 P1 40
P2 0 0 -4 96
x2 0 1 - 12 2
x1 1 0 1 6