Goal Programming
Goal Programming
James P. Ignizio
Resource Management Associates
Carlos Romero
Technical University of Madrid
INTRODUCTION HISTORICAL SKETCH THE MULTIPLEX MODEL FORMS OF THE ACHIEVEMENT FUNCTION GENERAL FORM OF THE MULTIPLEX MODEL
THE MULTIDIMENSIONAL DUAL ALGORITHMS FOR SOLUTION GOAL PROGRAMMING AND UTILITY OPTIMIZATION EXTENSIONS THE FUTURE
GLOSSARY
achievement function The function that serves to measure the achievement of the minimization of unwanted goal deviation variables in the goal programming model. goal function A mathematical function that is to be achieved at a specied level (i.e., at a prespecied aspiration level). goal program A mathematical model, consisting of linear or nonlinear functions and continuous or discrete variables, in which all functions have been transformed into goals. multiplex Originally this referred to the multiphase simplex algorithm employed to solve linear goal programs. More recently it denes certain specic models and methods employed in multiple- or single-objective optimization in general. negative deviation The amount of deviation for a given goal by which it is less than the aspiration level. positive deviation The amount of deviation for a given goal by which it exceeds the aspiration level. satisce An old Scottish word referring to the desire, in the real world, to nd a practical solution to a given problem, rather than some utopian result for an oversimplied model of the problem.
and objectives, has often been cited as being the workhorse of multiple objective optimization (i.e., the solution to problems having multiple, conicting goals and objectives) as based on its extensive list of successful applications in actual practice. Here we describe the method and its history, cite its mathematical models and algorithms, and chronicle its evolution from its original form into a potent methodology that now incorporates techniques from articial intelligence (particularly genetic algorithms and neural networks). The article concludes with a discussion of recent extensions and a prediction of the role of goal programming in real-world problem solving in the 21st century.
GOAL PROGRAMMING, a powerful and effective methodology for the modeling, solution, and analysis of problems having multiple and conicting goals
489
490 constraints. Goal programming was introduced in an attempt to eliminate or, at the least, mitigate this disquieting disconnect. Conceived and developed by Abraham Charnes and William Cooper, goal programming was originally dubbed constrained regression. Constrained regression, in turn, was and is a powerful nonparametric method for the development of regression functions (e.g., curve-tting) subject to side constraints. Charnes and Cooper rst applied constrained regression in the 1950s to the analysis of executive compensation. Recognizing that the method could be extended to a more general class of problemsthat is, any quantiable problem having multiple objectives and soft, as well as rigid constraintsCharnes and Cooper later renamed the method goal programming when describing it within their classic 1961 two-volume text Management Models and Industrial Applications of Linear Programming.
Goal Programming and comfortably, into the concept of optimization or efciency (i.e., nondominated solutions) as used by more conventional forms of mathematical modeling. This is because, in goal programming, we seek a useful, practical, implementable, and attainable solution rather than one satisfying the mathematicians desire for global optimality. (However, if one wishes, it is relatively trivial to develop efcient, or nondominated solutions for any goal programming problem. That matter is briey described in a section to follow.)
B. Philosophical Basis
The two philosophical concepts that serve to best distinguish goal programming from conventional (i.e., single-objective) methods of optimization are the incorporation of exibility in constraint functions (as opposed to the rigid constraints of single-objective optimization) and the adherence to the philosophy of satiscing as opposed to optimization. Satiscing, in turn, is an old Scottish word that denes the desire to nd a practical, real-world solution to a problem rather than a utopian, optimal solution to a highly simplied (and very possibly oversimplied) model of that problem. The concept of satiscing, as opposed to optimization, was introduced by Herbert Simon in 1956. As a consequence of the principle of satiscing, the goodness of any solution to a goal programming problem is represented by an achievement function, rather than the objective function of conventional optimization. The goal programming achievement function measures the degree of nonachievement of the problem goals. The specic way in which this nonachievement is measured characterizes the particular subtype of goal programming approach that is being employed, and may be dened so as to include the achievement of commensurable as well as noncommensurable goals. It should be emphasized that, because a goal programming problem is to be satisced, it is possible that the solution derived may not t, conveniently
Goal Programming terial covered herein are referred to the Bibliography at the end of this article.
491
Any single-objective problem, and most multipleobjective ones, can be placed into a model format that has been designated as the multiplex model, and then solved via the most appropriate version of a multiplex (or sequential goal programming) algorithm. For example, consider a conventional (albeit simple) linear programming problem taking on the following traditional form: Maximize z Subject to: 10x1 x1 x2 x x2 4 0 4x2 100 (1) (2) (3) (4)
Ignoring the fact that this undemanding singleobjective model can be solved by inspection, let us transform it into the multiplex form for the sake of illustration. To do so, we add a negative deviation variable to, and subtract a positive deviation variable from, each constraint. In addition, we transform the maximizing objective function into a minimizing form by simply multiplying the original objective function by a negative one. The resultant model, in multiplex form, can be written: Lexicographically minimize U {( Satisfy: x1 x2 x, ,
1 2),
( 10x1
1 2 1
4x2)} 100
x2
2
The new variables (i.e., the negative and positive deviation variables, that have been added to the constraints) indicate that a solution to the problem may result, for a given constraint i, in a negative deviation ( i 0), or a positive deviation ( i 0), or no deviation ( i 0). That is to say that we can underi achieve a goal (be it a hard or soft constraint), overachieve it, or precisely satisfy it. In the multiplex formulation, the deviation variables that are to be minimized have been shown in boldface, as well as appearing in the rst (highest priority) term of the achievement function of function (5). While this new formulation may appear unusual (at least to those schooled in traditional, singleobjective optimization), it provides an accurate
492 representation of the linear programming problem originally posed. To appreciate this, examine the achievement function, as represented by formula (5). The multiplex achievement function is a vector, rather than a scalar as in conventional single-objective optimization (e.g., linear programming). The terms in this vector are ordered according to priority. The rst term [i.e., 1 2 in function (5)] is reserved for the unwanted deviation variables for all rigid constraints, or hard goalsrestrictions that supposedly must be satised for the solution to be deemed feasible. Any solution in which this rst term takes on a value of zero is thusin math programming terms a feasible solution. In goal programming, such a solution is deemed implementable, inferring that it could actually be implemented in the real-world problem under consideration. Once the rst term has been minimized, the next term (the second term, or 10x1 4x2 in this case) can be dealt with. The algorithm will seek a solution that minimizes the value of this second term, but this must be accomplished without degrading the value already achieved in the higher priority term. And this is the manner in which one seeks the lexicographic minimum of an ordered vector. Again, this formulation may appear unusual but it not only accurately represents the linear programming (LP) problem, it also indicates the way in which most commercial software actually solves LP models. Specically, LP problems are generally solved by the two-phase simplex algorithm, wherein the rst phase attempts to nd a feasible solution and the second seeks an optimal solution that does not degrade the feasibility achieved in phase 1. Multiplex algorithms simply extend this notion to any number of phases, according to the formulation employed to represent the given problem. Maximize z1 3x1
(9)
Maximize z2 2x1 3x2 (market shares captured per time period) (10) Satisfy: 2x1 x2 50 (raw material limitations) (11) (12) (13) (14)
x1 20 (market saturation level, product 1) x2 30 (market saturation level, product 2) x 0 (nonnegativity conditions)
If the reader cares to graph this problem, he or she will see that there is no way in which to optimize both objectives simultaneouslyas is the case in virtually any nontrivial, real-world problem. However, the purpose of goal programming is to nd a solution, or solutions, that simultaneously satisce all objectives. But rst these objectives must be transformed into goals. To transform an objective into a goal, one must assign some estimate (usually the decision makers preliminary estimate) of the aspired level for that goal. Lets assume that the aspiration level for prot [i.e., function (9)] is 50 units while that of market shares [i.e., function (10)] is 80 units. Consequently the multiplex model for the goal programming problem is shown below, wherein the two transformed objectives now appear as (soft) goals (19) and (20), respectively: Lexicographically minimize U {( 1 2 Satisfy: 2x1 x2
3),
5)}
x1 20 2 2 (market saturation level, product 1) x2 30 3 3 (market saturation level, product 2) 3x1 2x1 x, , x2 3x2 0 (nonnegativity conditions)
4 4
50 (prot goal)
The multiplex model for the problem indicatesvia the achievement functionthat the rst priority is to satisfy the hard goals of (16), (17), and (18). Note
Goal Programming
493 2. Non-Archimedean (also known as lexicographic, or preemptive goal programming) 3. Chebyshev (also known as fuzzy programming).
50 40 A 30 20 10 0 0 10 20 30 40 50 C D B
that the nonnegativity conditions of (21) will be implicitly satised by the algorithm. Once the deviation variables (i.e., 1 2 3) associated with those hard goals have been minimized (albeit not necessarily to a value of zero), the associated multiplex (or sequential GP) algorithm proceeds to minimize the unwanted deviations (i.e., 4 5) associated with the prot and market share goals, while not degrading the values of any higher ordered achievement function terms. Figure 1 serves to indicate the nature of the goal programming problem that now exists. Note that the solid lines represent the constraints, or hard goals, while the dashed lines indicate the original objectivesnow transformed into soft goals. It is particularly important to note that those solutions satiscing this problem form a region, bounded by points A, B, C, and D, and including all points within and on the edges of the bounded region. This contrasts with conventional optimization in which the optimal solution is most often a single point. The achievement functions for the linear programming and goal programming illustrations posed previously represent but two possibilities from a large and growing number of choices. We describe a few of the more common achievement functions in the next section.
5)}
(22)
Note that, as long as the unwanted deviations are minimized, we have achieved a satiscing solution. This may mean that we reach a satiscing solution, for our example, whether the prot achieved is 50 or more units. This infers a one-sided measure of achievement. If we wish to reward an overachievement of the prot, then either the model should be modied or we should employ one of the more recent developments in achievement function formatting. The latter matter is discussed in a forthcoming section. For the moment, however, our assumption is that we simply seek a solution to the achievement function given in Eq. (22), one that provides a satiscing result. Realize that Archimedean, or weighted goal programming, makes sense only if you believe that numerical weights can be assigned to the nonachievement of each soft goal. In many instances, goals are noncommensurable and thus other forms of the achievement function are more realistic. One of these is the non-Archimedean, or lexicographic achievement function.
494 goals are arranged according to prioritymore specifically, a nonpreemptive priority. To demonstrate, consider the problem previously posed as Archimedean GP. Assume that we are unable, or unwilling, to assign weights to the prot or market share goals. But we are convinced that the capture of market share is essential to the survival of the rm. It might then make sense to assign a higher priority to market share than to prot, resulting in the nonArchimedean achievement function given here: Lexicographically minimize U {( 1 2
3),
Goal Programming zk the value of the function representing the kth objective (e.g., z1 3x1 x2 and z2 2x1 3x2).
Given the specic model of (24) through (30), the resulting Chebyshev formulation is simply: Minimize Satisfy: 2x1 x1 x2 x2 20 (market saturation level, product 1) 30 (market saturation level, product 2) (70 (110 ,x 0 3x1 2x1 x2)/(70 60) 70) 50 (raw material limitations)
5),
4)}
(23)
While the achievement function of Eq. (23) consists of but a single deviation variable for the second and third terms, the reader should understand that several deviation variables may appear in a given term if you are able to weight each according to its perceived importance.
3x2)/(110
This model may be easily transformed into the multiplex form by means of adding the necessary deviation variables and forming the associated achievement function. However, it is clear that the Chebyshev model, as shown, is simply a single objective optimization problem in which we seek to minimize a single variable, . In other words, we seek to minimize the single worst deviation from any one of the problem goals/constraints. While the Archimedean, non-Archimedean, and Chebyshev forms of the achievement function are the most common, other, newer versions may offer certain advantages. As mentioned, these newer forms of the achievement function are briey described in a later section on extensions of GP.
x1 20 (market saturation level, product 1) x2 30 (market saturation level, product 2) (U1 (U2 ,x where: 0 z1)/(U1 z2)/(U2 L1) L2)
the best possible value for objective k (e.g., optimize the problem without regard to any other objectives but objective k) Lk the worst possible value for objective k (e.g., optimize the problem without regard to objective k) a dummy variable representing the worst deviation level Uk
Goal Programming the right-hand side vector the vector of all structural (e.g., xj) and deviation (i.e., i and i) variables c(k) the vector of coefcients, or weights, of v in the kth term of the achievement function c(K)T the transpose of c(k). b v We designate functions (31) through (33) as the primal form of the muliplex model. Starting with this primal form, we may easily derive the dual of any goal programming, or multiplex, model. Av
495 b are the linear constraints and goals of the problem, as transformed via the introduction of negative and positive deviation variables.
If you are familiar with single-objective optimization, you may recall that the dual of a linear programming model is still a linear programming model. However, in the case of a GP, or multiplex model, its dualthe multidimensional dualtakes on the form of a model in which (1) the constraints have multiple, prioritized right-hand sides and (2) the objective function is in the form of a vector. More specically, the general form of the multidimensional dual is given as: DUAL: Find Y so as to lexicographically maximize w Subject to: ATY c(1), c(2), ..., c(K) bTY (37) (38) (39)
Note that the symbol indicates the lexicographic nature of the inequalities involved (i.e., the left-hand side of each function is lexicographically less than or equal to the multiple right-hand sides). Physically, this means that we rst seek a solution subject to the rst column of right-hand side elements. Next, we nd a solution subject to the second column of right-hand side elements but one that cannot degrade the solution achieved for the previous column of right-hand side values. We continue in this manner until a complete set of solutions has been obtained for all right-hand side values. The transformation from primal to dual may be summarized as follows: A lexicographically minimized achievement function for the primal translates into a set of lexicographically ordered right-hand sides for the dual. If the primal is to be lexicographically minimized, the dual is to be lexicographically maximized. For every priority level (achievement function term) in the primal, there is an associated vector of dual variables in the dual. Each element of the primal achievement function corresponds to an element in the right-hand side of the dual. The technological coefcients of the dual are the transpose of the technological coefcients of the primal. The development of the MDD for goal programming (or general multiplex) models leads immediately to
496 both a means for economic interpretation of the dual variable matrix as well as supporting algorithms for solution. A comprehensive summary of both aspects, as well as numerous illustrative numerical examples, are provided in the references.
Goal Programming
Goal Programming The parallel algorithm developed via combining goal programming with genetic algorithms offers a convenient way in which to address any single or multiobjective optimization problem, be they linear, nonlinear, or discrete in nature. The single disadvantage is that global optimality cannot be ensured.
497 Regarding Chebyshev goal programming, it is recognized that to this variant underlies a utility function where the maximum (worst) deviation level is minimized. In other words, the Chebyshev option underlies the optimization of a MINMAX utility function, for which the most balanced solution between the achievement of the different goals is achieved. These insights are important for the appropriate selection of the goal programming variant. In fact, the appropriate variant should not be chosen in a mechanistic way but in accordance with the decision makers structure of preferences. These results also give theoretical support to the extensions of the achievement function to be commented on in the next section.
498 and the Chebyshev goal programming solutions represent two opposite poles. Thus, since the weighted option maximizes the aggregate achievement among the goals considered, then the results obtained with this option can be biased against the performance achieved by one particular goal. On the other hand, because of the preponderance of just one of the goals, the Chebyshev model can provide results with poor aggregate performance between different goals. The extreme character of both solutions can lead in some cases to possibly unacceptable solutions by the decision maker. A possible modeling solution for this type of problem consists of compromising the aggregate achievement of the Archimedean model with the MINMAX (balanced) character of the Chebyshev model. Thus, the example of the earlier section can be reformulated with the help of the following multiplex extended goal programming model: Lexicographically minimize U {( 1 Z) 2 3), [(1 Satisfy: 2x1 x2 Z(
4 5)]}
Goal Programming decision makers actual preferences with more accuracy than any single variant. Other extensions of the achievement function have been derived taking into account that in all traditional goal programming formulations there is the underlying assumption that any unwanted deviation with respect to its aspiration level is penalized according to a constant marginal penalty. In other words, any marginal change is of equal importance no matter how distant it is from the aspiration level. This type of formulation only allows for a linear relationship between the value of the unwanted deviation and the penalty contribution. This corresponds to the case of the achievement functions underlying a weighted goal programming model or to each priority level of a lexicographic model. This type of function has been termed a one-sided penalty function, when only one deviation variable is unwanted, or V-shaped penalty function when both deviation variables are unwanted. However, other penalty function structures have been used. Thus, we have the two-sided penalty functions when the decision maker feels satised when the achievement of a given goal lies within a certain aspiration level interval, or the U-shaped penalty function if the marginal penalties increase monotonically with respect to the aspiration levels. Several authors have proposed improvements and renements to the goal programming model with penalty functions. Details about this type of modeling are described in the Bibliography.
x1 20 2 2 (market saturation level, product 1) x2 30 3 3 (market saturation level, product 2) 3x1 2x1 (1 (1 x2 3x2 Z) Z)
4 5 4 4
50 (prot goal)
, x, ,
where the parameter Z weights the importance attached to the minimization of the sum of unwanted deviation variables. For Z 0, we have a Chebyshev goal programming model. For Z 1 the result is a weighted goal programming model, and for other values of parameter Z belonging to the interval (0, 1) intermediate solutions between the solutions provided by the two goal programming options are considered. Hence, through variations in the value of parameter Z, compromises between the solution of the maximum aggregate achievement and the MINMAX solution can be obtained. In this sense, this extended formulation allows for a combination of goal programming variants that, in some cases, can reect a
499 model decision-making problems for which a good representation of a decision makers preferences requires a mix of goal programming variants. In short, this type of general formulation can increase the enormous potential exibility inherent to goal programming. (49)
i i)
, ...,
p i i) ,
...,
p i i) }
Satisfy:
i i)
X. THE FUTURE
In the nearly half century since its development, goal programming has achieved and maintained its reputation as the workhorse of the multiple-objective optimization eld. This is due to a combination of simplicity of form and practicality of approach. The more recent extensions to the approach have, thankfully, not negatively impacted on these attributes. We envision a future in which goal programming will continue to utilize methods from other sectors, particularly articial intelligence. The most signicant advances, from a strictly pragmatic perspective, involve combining goal programming with evolutionary search methods, specically genetic algorithms. Such extensions permit the rapid development of exceptionally stable solutionsthe type of solutions needed in most real-world situations.
i fi (x)
i i
ti 0
, ,
where p is a real number belonging to the interval [1, ) or . Parameters i and i are the weights reecting preferential and normalizing purposes attached to the negative and positive variables of the ith goal, respectively; j and j are control parameters; and hj represents the index set of goals placed in the jth priority level. The block of rigid constraints x F, can be transferred to an additional rst priority level in order to formulate the model within a multiplex format. If the above structure is considered the primary model, then it is easy to demonstrate that an important number of multiple-criteria methods are just secondary models of the extended lexicographic goal programming model. Thus, the following multicriteria methods can be straightforwardly deduced just by applying different parameter specications to the above model: 1. Conventional single-objective mathematical programming model 2. Nonlinear and linear weighted goal programming 3. Lexicographic linear goal programming 4. Chebyshev goal programming 5. Reference point method 6. Compromise programming (L1 bound) and (L bound or fuzzy programming with a linear membership function) 7. Interactive weighted Tchebycheff procedure. The use of goal programming as a unifying framework seems interesting at least for the following reasons. The extended lexicographic goal programming model stresses similarities between MCDM methods that can help reduce gaps between advocates of different approaches. Moreover, this unifying approach can become a useful teaching tool in the introduction of MCDM, thus avoiding the common presentation based upon a disjoint system of methods. Finally, the extended lexicographic goal programming approach allows us to
BIBLIOGRAPHY
Charnes, A., and Cooper, W. W. (1961). Management models and industrial applications of linear programming, Vols. 1 and 2. New York: John Wiley. Charnes, A., and Cooper, W. W. (1977). Goal programming and multiple objective optimization. Part I. European Journal of Operational Research, Vol. 1, 3954. Dauer, J. P., and Kruger, R. J. (1977). An iterative approach to goal programming. Operational Research Quarterly, Vol. 28, 671681. Gass, S. I. (1986). A process for determining priorities and weights for large-scale linear goal programming models. Journal of the Operational Research Society, Vol. 37, 779784. Ignizio, J. P. (1963). S-II trajectory study and optimum antenna placement, Report SID-63. Downey, CA: North American Aviation Corporation. Ignizio, J. P. (1976). Goal programming and extensions. Lexington Series. Lexington, MA: D. C. Heath & Company.
500
Ignizio, J. P. (1985). Introduction to linear goal programming. Beverly Hills, CA: Sage Publishing. Ignizio, J. P., and Cavalier, T. M. (1994). Linear programming. Upper Saddle River, NJ: Prentice Hall. Markowski, C. A., and Ignizio, J. P. (1983). Theory and properties of the lexicographic LGP dual. Large Scale Systems, Vol. 5, 115121. Romero, C. (1991). Handbook of critical issues in goal programming. Oxford, UK: Pergamon Press. Romero, C. (2001). Extended lexicographic goal programming: A unifying approach. OMEGA, International Journal of Management Science, Vol. 29, 6371.
Goal Programming
Simon, H. A. (1956). Rational choice and the structure of the environment. Psychological Review, Vol. 63, 129138. Tamiz, M., and Jones, D. (1996). Goal programming and Pareto efciency. Journal of Information and Optimization Sciences, Vol. 17, 291307. Tamiz, M., Jones, D. F., and Romero, C. (1998). Goal programming for decision making: An Overview of the current state-of-the-art. European Journal of Operational Research, Vol. 111, 569581. Vitoriano, B., and Romero, C. (1999). Extended interval goal programming. Journal of the Operational Research Society, Vol. 50, 12801283.