
6.4 GOAL PROGRAMMING 151
is not a rigid constraint since it need not be satisfied. In this case we call the right
hand side of the budget restriction a goal. Depending on how important it is to stay
within budget, we can attach a penalty cost to the violation of the budget goal.
The goal programming problem as defined above falls under a class of problems
called separable nonlinear programming. When the constraints are linear, we can
easily convert the problem into a linear programming problem as long as the weights
α
k
and β
k
are nonnegative for all k =1,...,K. Define
g
k
− z
k
= u
+
k
− u
−
k
,u
+
k
≥ 0,u
−
k
≥ 0,k=1,...,K.
Each φ
k
can then be replaced by the linear function
φ
k
(g
k
− z
k
)=α
k
u
+
k
+ β
k
u
−
k
,
together with the additional constraints u
+
k
≥ 0 and u
−
k
≥ 0. The resulting problem
is a linear program provided α
k
and β
k
are nonnegative for all k =1,...,K.
PRIORITY GOAL PROGRAMMING
In Priority Goal Programming the objectives fall into different priority classes. We
assume that no two goals have equal priority. In this case we first satisfy the
highest priority objectives and then if different solutions tie for the optimum, the
tie is resolved by the next set of priorities, and so on.
We will describe two methods for solving such problems. The first solves a
number of linear programs sequentially. First, order the objectives so that z
1
has
the highest priority, z
2
has the next highest priority, and so on. The objective of the
first linear program is the linear form z
1
with highest priority. The resulting linear
program is solved. Nonbasic variables with reduced costs different from zero are
dropped (this technique for identifying alternative optimal solutions was discussed in
Section 3.2.4) and the next priority objective form z
2
is made into the new objective
function. (Alternatively, we could optimize using z
2
and setting the upper and lower
bounds on the nonbasic variables with positive reduced costs to be 0.) After the new
linear program is solved, the process is continued until all the priorities have been
converted into objective forms. The process also terminates if a unique solution
is found. There is a technique that was discussed in Section 3.2.4 for finding out
whether or not an optimal solution is unique.
Exercise 6.7 Another technique would be to make the first objective z
1
a constraint
by setting the value of z
1
equal to its optimal value and then using the next priority
objective form z
2
as the new objective function. Discuss what numerical difficulties may be
encountered. Suggest a method that may possibly help in getting around such difficulties.
Exercise 6.8 Solve, using the software, Exercise 6.6 by the method of Exercise 6.7.
Show that if the optimal value of z
1
is not correctly inputted into the second linear program
it can cause numerical difficulties if set too small. Graph the dual problem and identify
the corner solutions that are tied for minimum costs. Which corner solution was selected
and why?