Goal Programming

12
Goal Programming James P. Ignizio Carlos Romero Resource Management Associates Technical University of Madrid Encyclopedia of Information Systems, Volume 2 Copyright 2003, Elsevier Science (USA). All rights reserved. 489 I. INTRODUCTION II. HISTORICAL SKETCH III. THE MULTIPLEX MODEL IV. FORMS OF THE ACHIEVEMENT FUNCTION V. GENERAL FORM OF THE MULTIPLEX MODEL VI. THE MULTIDIMENSIONAL DUAL VII. ALGORITHMS FOR SOLUTION VIII. GOAL PROGRAMMING AND UTILITY OPTIMIZATION IX. EXTENSIONS X. THE FUTURE GLOSSARY achievement function The function that serves to measure the achievement of the minimization of unwanted goal deviation variables in the goal pro- gramming model. goal function A mathematical function that is to be achieved at a specified level (i.e., at a prespecified “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 multi phase simplex algorithm employed to solve linear goal programs. More recently it defines certain specific 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. satisfice An old Scottish word referring to the desire, in the real world, to find a practical solution to a given problem, rather than some utopian result for an oversimplified model of the problem. GOAL PROGRAMMING, a powerful and effective methodology for the modeling, solution, and analysis of problems having multiple and conflicting goals and objectives, has often been cited as being the “workhorse” of multiple objective optimization (i.e., the solution to problems having multiple, conflicting goals and objectives) as based on its extensive list of successful applications in actual practice. Here we de- scribe the method and its history, cite its mathemati- cal models and algorithms, and chronicle its evolu- tion from its original form into a potent methodology that now incorporates techniques from artificial in- telligence (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. I. INTRODUCTION A. Definitions and Origin Real-world decision problems—unlike those found in textbooks—involve multiple, conflicting objectives and goals, subject to the satisfaction of various hard and soft constraints. In short, and as the experienced prac- titioner is well aware, problems that one encounters outside the classroom are invariably massive, messy, changeable, complex, and resist treatment via con- ventional approaches. Yet the vast majority of tradi- tional approaches to such problems utilize conven- tional models and methods that idealistically and unrealistically (in most cases) presume the optimiza- tion of a single-objective subject to a set of rigid

Transcript of Goal Programming

Page 1: Goal Programming

Goal ProgrammingJames P. Ignizio Carlos RomeroResource Management Associates Technical University of Madrid

Encyclopedia of Information Systems, Volume 2Copyright 2003, Elsevier Science (USA). All rights reserved. 489

I. INTRODUCTIONII. HISTORICAL SKETCH

III. THE MULTIPLEX MODELIV. FORMS OF THE ACHIEVEMENT FUNCTIONV. GENERAL FORM OF THE MULTIPLEX MODEL

VI. THE MULTIDIMENSIONAL DUALVII. ALGORITHMS FOR SOLUTION

VIII. GOAL PROGRAMMING AND UTILITY OPTIMIZATIONIX. EXTENSIONSX. THE FUTURE

GLOSSARY

achievement function The function that serves tomeasure the achievement of the minimization ofunwanted goal deviation variables in the goal pro-gramming model.

goal function A mathematical function that is to beachieved at a specified level (i.e., at a prespecified“aspiration” level).

goal program A mathematical model, consisting oflinear or nonlinear functions and continuous ordiscrete variables, in which all functions have beentransformed into goals.

multiplex Originally this referred to the multiphasesimplex algorithm employed to solve linear goalprograms. More recently it defines certain specificmodels and methods employed in multiple- or single-objective optimization in general.

negative deviation The amount of deviation for agiven goal by which it is less than the aspirationlevel.

positive deviation The amount of deviation for a givengoal by which it exceeds the aspiration level.

satisfice An old Scottish word referring to the desire,in the real world, to find a practical solution to agiven problem, rather than some utopian result foran oversimplified model of the problem.

GOAL PROGRAMMING, a powerful and effectivemethodology for the modeling, solution, and analysisof problems having multiple and conflicting goals

and objectives, has often been cited as being the“workhorse” of multiple objective optimization (i.e.,the solution to problems having multiple, conflictinggoals and objectives) as based on its extensive list ofsuccessful applications in actual practice. Here we de-scribe the method and its history, cite its mathemati-cal models and algorithms, and chronicle its evolu-tion from its original form into a potent methodologythat now incorporates techniques from artificial in-telligence (particularly genetic algorithms and neuralnetworks). The article concludes with a discussion ofrecent extensions and a prediction of the role of goalprogramming in real-world problem solving in the21st century.

I. INTRODUCTION

A. Definitions and Origin

Real-world decision problems—unlike those found intextbooks—involve multiple, conflicting objectives andgoals, subject to the satisfaction of various hard andsoft constraints. In short, and as the experienced prac-titioner is well aware, problems that one encountersoutside the classroom are invariably massive, messy,changeable, complex, and resist treatment via con-ventional approaches. Yet the vast majority of tradi-tional approaches to such problems utilize conven-tional models and methods that idealistically andunrealistically (in most cases) presume the optimiza-tion of a single-objective subject to a set of rigid

Page 2: Goal Programming

constraints. Goal programming was introduced in anattempt to eliminate or, at the least, mitigate this dis-quieting disconnect. Conceived and developed byAbraham Charnes and William Cooper, goal pro-gramming was originally dubbed “constrained regres-sion.” Constrained regression, in turn, was and is apowerful nonparametric method for the developmentof regression functions (e.g., curve-fitting) subject toside constraints.

Charnes and Cooper first applied constrained re-gression in the 1950s to the analysis of executive com-pensation. Recognizing that the method could be ex-tended to a more general class of problems—that is,any quantifiable problem having multiple objectivesand soft, as well as rigid constraints—Charnes andCooper later renamed the method goal programmingwhen describing it within their classic 1961 two-volumetext Management Models and Industrial Applications ofLinear Programming.

B. Philosophical Basis

The two philosophical concepts that serve to best dis-tinguish goal programming from conventional (i.e.,single-objective) methods of optimization are the in-corporation of flexibility in constraint functions (asopposed to the rigid constraints of single-objectiveoptimization) and the adherence to the philosophy of“satisficing” as opposed to optimization. Satisficing, inturn, is an old Scottish word that defines the desire tofind a practical, real-world solution to a problem—rather than a utopian, optimal solution to a highlysimplified (and very possibly oversimplified) model ofthat problem. The concept of satisficing, as opposedto optimization, was introduced by Herbert Simon in 1956.

As a consequence of the principle of satisficing,the “goodness” of any solution to a goal programmingproblem is represented by an achievement function,rather than the objective function of conventional op-timization. The goal programming achievement func-tion measures the degree of nonachievement of theproblem goals. The specific way in which thisnonachievement is measured characterizes the partic-ular subtype of goal programming approach that isbeing employed, and may be defined so as to includethe achievement of commensurable as well as non-commensurable goals.

It should be emphasized that, because a goal pro-gramming problem is to be satisficed, it is possiblethat the solution derived may not fit, conveniently

and comfortably, into the concept of optimization orefficiency (i.e., nondominated solutions) as used bymore conventional forms of mathematical modeling.This is because, in goal programming, we seek a use-ful, practical, implementable, and attainable solutionrather than one satisfying the mathematician’s desirefor global optimality. (However, if one wishes, it is rel-atively trivial to develop efficient, or nondominatedsolutions for any goal programming problem. Thatmatter is briefly described in a section to follow.)

C. A Brief List of Applications

Goal programming’s label as the “workhorse” of multiple-objective optimization has been achieved byits successful solutions of important real-world prob-lems over a period of more than 50 years. Includedamong these applications are:

• The analysis of executive compensation forGeneral Electric during the 1950s

• The design and deployment of the antennas forthe Saturn II launch vehicle as employed in theApollo manned moon-landing program

• The determination of a siting scheme for thePatriot Air Defense System

• Decisions within fisheries in the United Kingdom• A means to audit transactions within the financial

sector (e.g., for the Commercial Bank of Greece)• The design of acoustic arrays for U.S. Navy

torpedos• As well as a host of problems in the general areas

of agriculture, finance, engineering, energy, andresource allocation.

D. Overview of Material to Follow

In this article, the topic of goal programming is cov-ered in a brief but comprehensive manner. Sectionsto follow discuss the past, present, and future of goalprogramming as well as the models and algorithmsfor implementation. The reader having previous ex-posure to the original goal programming approachwill (or should) immediately notice the many signifi-cant changes and extensions that occurred during the1990s. As just one example, powerful and practical hy-brid goal programming and genetic algorithm mod-eling and solution methods will be discussed. Readersseeking more detailed explanations of any of the ma-

490 Goal Programming

Page 3: Goal Programming

terial covered herein are referred to the Bibliographyat the end of this article.

II. HISTORICAL SKETCH

As mentioned, goal programming was conceived byAbraham Charnes and William Cooper nearly a halfcentury ago. The tool was extended and enhanced bytheir students and, later, by other investigators, mostnotably Ijiri, Jääskeläinen, Huss, Ignizio, Gass,Romero, Tamiz, and Jones.

In its original form, goal programming was strictlylimited to linear multiple-objective problems. Ignizio, inthe 1960s, extended the method to both nonlinear andinteger models, developed the associated algorithms forthese extensions, and successfully applied them to anumber of important real-world problems, including, aspreviously mentioned, the design of the antenna systemsfor the Saturn II launch vehicle as employed in theApollo manned moon-landing program. During thatsame period, and in conjunction with Paul Huss, Igniziodeveloped a sequential algorithm that permits one toextend—with minimal modification—any single-objec-tive optimization software package to the solution of anyclass of goal programming models (the approach wasalso developed, independently, by Dauer and Kruger).

Later in that same decade, Ignizio developed theconcept of the multidimensional dual, providing goalprogramming with an effective economic interpreta-tion of its results as well as a means to support sensi-tivity and postoptimality analysis. Huss and Ignizio’scontributions in engineering, coupled with the workof Charnes, Cooper, Ijiri, Jääskeläinen, Gass, Romero,Tamiz, Jones, Lee, Olson, and others in managementscience served to motivate the interest in multiple ob-jective optimization that continues today.

Goal programming is the most widely applied toolof multiple-objective optimization/multicriteria deci-sion making. However, today’s goal programmingmodels, methods, and algorithms differ significantlyfrom those employed even in the early 1990s. Goalprogramming, as discussed later, may be combinedwith various tools from the artificial intelligence sec-tor (most notably genetic algorithms and neural net-works) so as to provide an exceptionally robust andpowerful means to model, solve, and analyze a host ofreal-world problems. In other words, today’s goal pro-gramming—while maintaining its role as the “work-horse” of multiple-objective decision analysis—is amuch different tool than that described in most text-books, even those published relatively recently.

III. THE MULTIPLEX MODEL

A. Numerical Illustrations

Any single-objective problem, and most multiple-objective ones, can be placed into a model formatthat has been designated as the multiplex model, andthen solved via the most appropriate version of a mul-tiplex (or sequential goal programming) algorithm.For example, consider a conventional (albeit simple)linear programming problem taking on the followingtraditional form:

Maximize z � 10x1 � 4x2 (1)

Subject to: x1 � x2 � 100 (2)

x2 � 4 (3)

x � 0 (4)

Ignoring the fact that this undemanding single-objective model can be solved by inspection, let ustransform it into the multiplex form for the sake of il-lustration. To do so, we add a negative deviation vari-able to, and subtract a positive deviation variable from,each constraint. In addition, we transform the maxi-mizing objective function into a minimizing form bysimply multiplying the original objective function bya negative one. The resultant model, in multiplexform, can be written:

Lexicographically minimize U

� {(�1 � �2), (�10x1 � 4x2)} (5)

Satisfy: x1 � x2 � �1 � �1 � 100 (6)

x2 � �2 � �2 � 4 (7)

x, �, � � 0 (8)

The new variables (i.e., the negative and positive de-viation variables, that have been added to the con-straints) indicate that a solution to the problem mayresult, for a given constraint i, in a negative deviation(�i 0), or a positive deviation (�i 0), or no devi-ation (�i � �i � 0). That is to say that we can under-achieve a goal (be it a hard or soft constraint), over-achieve it, or precisely satisfy it. In the multiplexformulation, the deviation variables that are to beminimized have been shown in boldface, as well as ap-pearing in the first (highest priority) term of theachievement function of function (5).

While this new formulation may appear unusual(at least to those schooled in traditional, single-objective optimization), it provides an accurate

Goal Programming 491

Page 4: Goal Programming

representation of the linear programming problem orig-inally posed. To appreciate this, examine the achieve-ment function, as represented by formula (5).

The multiplex achievement function is a vector,rather than a scalar as in conventional single-objectiveoptimization (e.g., linear programming). The termsin this vector are ordered according to priority. Thefirst term [i.e., �1 � �2 in function (5)] is reserved forthe unwanted deviation variables for all rigid con-straints, or hard goals—restrictions that supposedlymust be satisfied for the solution to be deemed feasi-ble. Any solution in which this first term takes on avalue of zero is thus—in math programming terms—a feasible solution. In goal programming, such a so-lution is deemed “implementable,” inferring that itcould actually be implemented in the real-world prob-lem under consideration.

Once the first term has been minimized, the nextterm (the second term, or �10x1 � 4x2 in this case)can be dealt with. The algorithm will seek a solutionthat minimizes the value of this second term, but thismust be accomplished without degrading the value al-ready achieved in the higher priority term. And this is themanner in which one seeks the lexicographic minimumof an ordered vector.

Again, this formulation may appear unusual but itnot only accurately represents the linear programming(LP) problem, it also indicates the way in which mostcommercial software actually solves LP models. Specifi-cally, LP problems are generally solved by the two-phasesimplex algorithm, wherein the first phase attempts tofind a feasible solution and the second seeks an optimalsolution that does not degrade the feasibility achievedin phase 1. Multiplex algorithms simply extend this no-tion to any number of phases, according to the formu-lation employed to represent the given problem.

B. Multiplex Form of the Goal Programming Problem

While any single-objective optimization problem canbe represented in a manner similar to that describedabove, our interest lies in multiple-objective opti-mization and, more specifically, in goal programming(GP). Consequently, let us examine the multiplexmodel for a specific GP problem.

Consider the illustrative problem represented be-low, wherein there are two objective functions to beoptimized, functions (9) and (10), and a set of con-straints to be satisfied. For purposes of discussion, weassume that the constraints of (11) through (13) arehard, or rigid.

Maximize z1 � 3x1 � x2

(profit per time period) (9)

Maximize z2 � 2x1 � 3x2

(market shares captured per time period) (10)

Satisfy: 2x1 � x2 � 50(raw material limitations) (11)

x1 � 20(market saturation level, product 1) (12)

x2 � 30(market saturation level, product 2) (13)

x � 0(nonnegativity conditions) (14)

If the reader cares to graph this problem, he or shewill see that there is no way in which to optimize bothobjectives simultaneously—as is the case in virtuallyany nontrivial, real-world problem. However, the pur-pose of goal programming is to find a solution, or so-lutions, that simultaneously satisfice all objectives. Butfirst these objectives must be transformed into goals.To transform an objective into a goal, one must assignsome estimate (usually the decision maker’s prelimi-nary estimate) of the aspired level for that goal. Let’sassume that the aspiration level for profit [i.e., func-tion (9)] is 50 units while that of market shares [i.e.,function (10)] is 80 units. Consequently the multi-plex model for the goal programming problem isshown below, wherein the two transformed objectivesnow appear as (soft) goals (19) and (20), respectively:

Lexicographically minimize U� {(�1 � �2 � �3), (�4 � �5)} (15)

Satisfy: 2x1 � x2 � �1 � �1 � 50(raw material limitations) (16)

x1 � �2 � �2 � 20(market saturation level, product 1) (17)

x2 � �3 � �3 � 30(market saturation level, product 2) (18)

3x1 � x2 � �4 � �4 � 50(profit goal) (19)

2x1 � 3x2 � �5 � �5 � 80(market shares goal) (20)

x, �, � � 0(nonnegativity conditions) (21)

The multiplex model for the problem indicates—viathe achievement function—that the first priority is tosatisfy the hard goals of (16), (17), and (18). Note

492 Goal Programming

Page 5: Goal Programming

that the nonnegativity conditions of (21) will be im-plicitly satisfied by the algorithm.

Once the deviation variables (i.e., �1 � �2 � �3) as-sociated with those hard goals have been minimized(albeit not necessarily to a value of zero), the associ-ated multiplex (or sequential GP) algorithm proceedsto minimize the unwanted deviations (i.e., �4 � �5)associated with the profit and market share goals,while not degrading the values of any higher orderedachievement function terms.

Figure 1 serves to indicate the nature of the goal pro-gramming problem that now exists. Note that the solidlines represent the constraints, or hard goals, while thedashed lines indicate the original objectives—now trans-formed into soft goals. It is particularly important tonote that those solutions satisficing this problem form aregion, bounded by points A, B, C, and D, and includingall points within and on the edges of the bounded re-gion. This contrasts with conventional optimization inwhich the optimal solution is most often a single point.

The achievement functions for the linear pro-gramming and goal programming illustrations posedpreviously represent but two possibilities from a largeand growing number of choices. We describe a few ofthe more common achievement functions in the nextsection.

IV. FORMS OF THE ACHIEVEMENT FUNCTION

The three earliest, and still most common forms ofthe Multiplex achievement function are listed hereand discussed in turn:

1. Archimedean (also known as weighted goalprogramming)

2. Non-Archimedean (also known as lexicographic,or preemptive goal programming)

3. Chebyshev (also known as fuzzy programming).

A. Archimedean Goal Programming

The achievement function for an Archimedean GPmodel consists of exactly two terms. The first term al-ways contains all the unwanted deviation variables asso-ciated with the hard goals (rigid constraints) of theproblem. The second term lists the unwanted deviationvariables for all soft goals (flexible constraints), eachweighted according to importance. Returning to ourprevious goal programming formulation, assume thatthe market shares goal [i.e., function (20)] is consid-ered, by the decision maker, to be twice as important asthe profit goal. Consequently, the Archimedean formof the achievement function could be written as follows.Notice carefully that �5 has now been weighted by 2:

Lexicographically minimize U� {(�1 � �2 � �3), (�4 � 2�5)} (22)

Note that, as long as the unwanted deviations are min-imized, we have achieved a satisficing solution. Thismay mean that we reach a satisficing solution, for ourexample, whether the profit achieved is 50 or moreunits. This infers a one-sided measure of achievement.If we wish to reward an overachievement of the profit,then either the model should be modified or weshould employ one of the more recent developmentsin achievement function formatting. The latter mat-ter is discussed in a forthcoming section. For the mo-ment, however, our assumption is that we simply seeka solution to the achievement function given in Eq.(22), one that provides a satisficing result.

Realize that Archimedean, or weighted goal pro-gramming, makes sense only if you believe that nu-merical weights can be assigned to the nonachieve-ment of each soft goal. In many instances, goals arenoncommensurable and thus other forms of theachievement function are more realistic. One of theseis the non-Archimedean, or lexicographic achieve-ment function.

B. Non-Archimedean Goal Programming

The achievement function for a non-ArchimedeanGP model consists of two or more terms. As in the caseof the Archimedean form, the first term always con-tains the unwanted deviation variables for all the hardgoals. After that, the deviation variables for all soft

Goal Programming 493

0

10

20

30

40

50

0 10 20 30 40 50

A B

C

D

Figure 1 The satisficing region for the example.

Page 6: Goal Programming

goals are arranged according to priority—more specif-ically, a nonpreemptive priority.

To demonstrate, consider the problem previouslyposed as Archimedean GP. Assume that we are unable,or unwilling, to assign weights to the profit or marketshare goals. But we are convinced that the capture ofmarket share is essential to the survival of the firm. Itmight then make sense to assign a higher priority tomarket share than to profit, resulting in the non-Archimedean achievement function given here:

Lexicographically minimize U� {(�1 � �2 � �3), (�5), (�4)} (23)

While the achievement function of Eq. (23) consistsof but a single deviation variable for the second andthird terms, the reader should understand that sev-eral deviation variables may appear in a given term—if you are able to weight each according to its per-ceived importance.

C. Chebyshev (Fuzzy) Goal Programming

There are numerous forms of Chebyshev, or fuzzy,goal programming but we restrict our coverage to justone in this subsection. The notion of Chebyshev GPis that the solution sought is the one that minimizesthe maximum deviation from any single soft goal. Re-turning to our profit and market shares model, onepossible transformation is as follows:

Minimize (24)

Satisfy: 2x1 � x2 � 50(raw material limitations) (25)

x1 � 20(market saturation level, product 1) (26)

x2 � 30(market saturation level, product 2) (27)

� (U1 � z1)/(U1 � L1) (28)

� (U2 � z2)/(U2 � L2) (29)

, x � 0 (30)

where:

Uk � the best possible value for objective k (e.g., op-timize the problem without regard to any other ob-jectives but objective k)

Lk � the worst possible value for objective k (e.g., op-timize the problem without regard to objective k)

� a dummy variable representing the worst devia-tion level

zk � the value of the function representing the kth ob-jective (e.g., z1 � 3x1 � x2 and z2 � 2x1 � 3x2).

Given the specific model of (24) through (30), theresulting Chebyshev formulation is simply:

Minimize

Satisfy: 2x1 � x2 � 50(raw material limitations)

x1 � 20(market saturation level, product 1)

x2 � 30(market saturation level, product 2)

� (70 � 3x1 � x2)/(70 � 60)

� (110 � 2x1 � 3x2)/(110 � 70)

, x � 0

This model may be easily transformed into the multi-plex form by means of adding the necessary deviationvariables and forming the associated achievementfunction. However, it is clear that the Chebyshevmodel, as shown, is simply a single objective opti-mization problem in which we seek to minimize a sin-gle variable, . In other words, we seek to minimizethe single worst deviation from any one of the prob-lem goals/constraints.

While the Archimedean, non-Archimedean, andChebyshev forms of the achievement function are themost common, other, newer versions may offer cer-tain advantages. As mentioned, these newer forms ofthe achievement function are briefly described in alater section on extensions of GP.

V. GENERAL FORM OF THE MULTIPLEX MODEL

Whatever the form of the achievement function, themultiplex model takes on the following general form:

Lexicographically minimize U� {c(1)Tv, c(2)Tv, ..., c(K)Tv} (31)

Satisfy: F(v) � b (32)

v � 0 (33)

where:

K � the total number of terms (e.g., priority levels)in the achievement function

F(v) � the problem goals, of either linear or nonlin-ear form, and in which negative and positive devi-ation variables have been augmented

494 Goal Programming

Page 7: Goal Programming

b � the right-hand side vectorv � the vector of all structural (e.g., xj) and deviation

(i.e., �i and �i) variablesc(k) � the vector of coefficients, or weights, of v in the

kth term of the achievement functionc(K)T � the transpose of c(k).

We designate functions (31) through (33) as theprimal form of the muliplex model. Starting with thisprimal form, we may easily derive the dual of any goalprogramming, or multiplex, model.

VI. THE MULTIDIMENSIONAL DUAL

The real power underlying conventional single-objective mathematical programming, particularly lin-ear programming, lies in the fact that there exists adual for any conventional mathematical programmingmodel. For example, the dual of a maximizing LPmodel, subject to type I (�) constraints, is a mini-mizing LP model, subject to type II (�) constraints.The property of duality allows one to exploit, for ex-ample, LP models so as to develop additional theoriesand algorithms, as well as provide a useful economicinterpretation of the dual variables.

One of the alleged drawbacks of goal program-ming has been the “lack of a dual formulation.” It isdifficult to understand why this myth has endured asthe dual of goal programming problems was devel-oped, by Ignizio, in the early 1970s. It was later ex-tended to the more general multiplex model in the1980s. However, space does not permit any exhaustivesummary of the multidimensional dual (MDD) andthus we present only a brief description.

We listed the general form of the multiplex model in(31) through (33). Simply for sake of discussion, let’sexamine the dual formulation of a strictly linear multi-plex model, taking on the primal form listed below:

PRIMAL: Lexicographically minimize U� {c(1)Tv, c(2)Tv, ..., c(K)Tv} (34)

Satisfy: Av � b (35)

v � 0 (36)

where:

K � the total number of terms (e.g., priority levels)in the achievement function

v � the vector of all structural (e.g., xj) and deviation(i.e., �i and �i) variables

c(k) � the vector of coefficients, or weights, of v in thekth term of the achievement function

Av � b are the linear constraints and goals of theproblem, as transformed via the introduction ofnegative and positive deviation variables.

If you are familiar with single-objective optimization,you may recall that the dual of a linear programmingmodel is still a linear programming model. However, inthe case of a GP, or multiplex model, its dual—the mul-tidimensional dual—takes on the form of a model inwhich (1) the “constraints” have multiple, prioritizedright-hand sides and (2) the “objective function” is inthe form of a vector. More specifically, the general formof the multidimensional dual is given as:

DUAL:Find Y so as to lexicographically maximize w � bTY

(37)

Subject to: ATY ⇐ c(1), c(2), ..., c(K) (38)

Y, the dual variables, are unrestrictedand multidimensional (39)

Note that the symbol ⇐ indicates the lexicographic na-ture of the inequalities involved (i.e., the left-hand sideof each function is lexicographically less than or equal tothe multiple right-hand sides). Physically, this means thatwe first seek a solution subject to the first column ofright-hand side elements. Next, we find a solution sub-ject to the second column of right-hand side elements—but one that cannot degrade the solution achieved forthe previous column of right-hand side values. We con-tinue in this manner until a complete set of solutions hasbeen obtained for all right-hand side values.

The transformation from primal to dual may besummarized as follows:

• A lexicographically minimized achievementfunction for the primal translates into a set oflexicographically ordered right-hand sides for thedual.

• If the primal is to be lexicographically minimized,the dual is to be lexicographically maximized.

• For every priority level (achievement functionterm) in the primal, there is an associated vectorof dual variables in the dual.

• Each element of the primal achievement functioncorresponds to an element in the right-hand sideof the dual.

• The technological coefficients of the dual are thetranspose of the technological coefficients of theprimal.

The development of the MDD for goal programming(or general multiplex) models leads immediately to

Goal Programming 495

Page 8: Goal Programming

both a means for economic interpretation of the dualvariable matrix as well as supporting algorithms forsolution. A comprehensive summary of both aspects,as well as numerous illustrative numerical examples,are provided in the references.

VII. ALGORITHMS FOR SOLUTION

A. Original Approach

As noted, algorithms exist for the solution of goalprogramming (as well as any problem that can beplaced into the multiplex format) problems in eitherthe primal or dual form. The original emphasis ofgoal programming was, as discussed, on linear goalprograms, and the GP algorithms derived then (byCharnes and Cooper, and their students) were “mul-tiphase” simplex algorithms. That is, they were basedon a straightforward extension of the two-phase sim-plex algorithm.

B. Serial Algorithms: Basic Approach

Assuming that a serial algorithm (one in which only asingle solution exists at a given time, as is the casewith the well-known simplex algorithm for linear pro-gramming) is used to solve a goal programming prob-lem, the fundamental steps are as follows:

Step 1. Transform the problem into the multiplex format.

Step 2. Select a starting solution. [In the case of a lin-ear model, the starting solution is often the one inwhich all the structural variables (i.e., the xj’s) areset to zero.]

Step 3. Evaluate the present solution (i.e., determinethe achievement function vector).

Step 4. Determine if a termination criterion has beensatisfied. If so, stop the search process. If not, go tostep 5. [Note that, in the case of linear models, theshadow prices (dual variable values) are used to de-termine if optimality has been reached.]

Step 5. Explore the local region about the present bestsolution to determine the best direction of move-ment. (For linear models, we move in the directionindicated by the best single shadow price.)

Step 6. Determine how far to move in the direction ofbest improvement, and then do so. (In linear mod-els, this is determined by the so-called “Theta” or“blocking variable” rule.)

Step 7. Repeat steps 3 through 6 until a terminationrule is satisfied.

C. Parallel Algorithms: Basic Approach

The references provide details and illustrations of theuse of such serial multiplex algorithms, for linear,nonlinear, and integer goal programming problems.However, with the advent of hybrid multiplex algo-rithms, the use of parallel algorithms is both possibleand, in the minds of some, preferable.

A parallel algorithm follows somewhat the samesteps as listed previously for serial algorithms. The pri-mary difference is that rather than employing a singlesolution point at each step, multiple points—or pop-ulations of solutions—exist at each iteration (or “gen-eration”) of the algorithm. There are two very im-portant advantages to the employment of parallelalgorithms in goal programming. The first is that, ifthe algorithm is supported by parallel processors, thespeed of convergence to the final solution is signifi-cantly increased. The second advantage is less wellknown, but quite likely even more significant. Specif-ically, it would appear from the evidence so far thatsolutions to certain types (more specifically, those em-ploying evolutionary operations) of parallel algo-rithms are far more stable, and less risky, than thosederived by conventional means.

D. Hybrid Algorithm Employing Genetic Algorithms

The basics of a hybrid goal programming/genetic al-gorithm for solving multiplex models are listed below.Such an approach has been found, in actual practice,to achieve exceptionally stable solutions—and do sorapidly. Furthermore, it is particularly amenable toparallel processing.

Step 1. Transform the problem into the multiplex format.

Step 2. Randomly select a population of trial solutions(typically 20 to a few hundred initial solutions willcompose the first generation).

Step 3. Evaluate the present solutions (i.e., determinethe achievement function vector for each memberof the present population).

Step 4. Determine if a termination criterion has beensatisfied. If so, stop the search process. If not, go tostep 5.

Step 5. Utilize the genetic algorithm operations of se-lection, mating, reproduction, and mutation to de-velop the next generation of solutions (see the ref-erences for details on genetic algorithms).

Step 6. Repeat steps 3 through 5 until a terminationrule is satisfied.

496 Goal Programming

Page 9: Goal Programming

The parallel algorithm developed via combining goalprogramming with genetic algorithms offers a conve-nient way in which to address any single or multiob-jective optimization problem, be they linear, nonlin-ear, or discrete in nature. The single disadvantage isthat global optimality cannot be ensured.

VIII. GOAL PROGRAMMING AND UTILITY OPTIMIZATION

Although goal programming is developed within asatisficing framework, its different variants can be in-terpreted from the point of view of utility theory ashighlighted in this section. This type of analysis helpsto clarify goal programming variant as well as to pro-vide the foundations of certain extensions of theachievement function.

Let us start with lexicographic goal programming,where the noncompatibility between lexicographic or-derings and utility functions is well known. To properlyassess the effect of this property on the pragmatic valueof this approach, we must understand that the reason forthis noncompatibility is exclusively due to the nonconti-nuity of preferences underlying lexicographic orderings.

Therefore, a worthwhile matter of discussion wouldnot be to argue against lexicographic goal program-ming because it implicitly assumes a noncontinuoussystem of preferences but to determine if the charac-teristics of the problem situation justify or not a systemof continuous preferences. Hence, the possible prob-lem associated with the use of the lexicographic variantdoes not lie in its noncompatibility with utility func-tions, but in the careless use of this approach. In fact,in contexts where the decision maker’s preferences areclearly continuous, a model based on nonpreemptiveweights should be used. Moreover, it is also importantto note that a large number of priority levels can leadto a solution where every goal, except those situated inthe first two or three priority levels, is redundant. Inthis situation, the possible poor performance of themodel is not due to the lack of utility meaning of theachievement function but to an excessive number ofpriority levels or to overly optimistic aspiration levels(i.e., close to the ideal values of the goals).

Regarding weighted (Archimedean) goal pro-gramming, we know that this option underlies themaximization of a separable and additive utility func-tion in the goals considered. Thus, the Archimedeansolution provides the maximum aggregate achieve-ment among the goals considered. Consequently, itseems advisable to test the separability between at-tributes before the decision problem is modeled withthe help of this variant.

Regarding Chebyshev goal programming, it is rec-ognized that to this variant underlies a utility functionwhere the maximum (worst) deviation level is mini-mized. In other words, the Chebyshev option under-lies the optimization of a MINMAX utility function,for which the most balanced solution between theachievement of the different goals is achieved.

These insights are important for the appropriateselection of the goal programming variant. In fact,the appropriate variant should not be chosen in amechanistic way but in accordance with the decisionmaker’s structure of preferences. These results alsogive theoretical support to the extensions of theachievement function to be commented on in thenext section.

IX. EXTENSIONS

A. Transforming Satisficing Solutions into Efficient Solutions

The satisficing logic underlying goal programmingimplies that its formulations may produce solutionsthat do not fit classic optimality requirements like ef-ficiency; that is, solutions for which at least the achieve-ment of one of the goals can be improved without de-grading the achievement of the others. However, ifone wishes, it is very simple to force the goal pro-gramming approach to produce efficient solutions.To secure efficiency, it is enough to augment theachievement function of the multiplex formulationwith an additional priority level where the sum of thewanted deviation variables is maximized.

For instance, in the example plotted in Fig. 1 theclosed domain ABCD represents the set of satisficingsolutions and the edge BD the set of satisficing and ef-ficient solutions. Thus, if the achievement function ofthe multiplex model (15) through (21) is augmentedwith the term (��4 � �5) placed in a third prioritylevel, then the lexicographic process will produce so-lution point B, a point that is satisficing and efficientat the same time. Note that there are more refinedmethods capable of distinguishing the efficient goalsfrom the inefficient ones, as well as simple techniquesto restore the efficiency of the goals previously classi-fied as inefficient. Technical details about this type ofprocedure can be found in the Bibliography.

B. Extensions of the Achievement Function

According to the arguments developed in SectionVIII, from a preferential point of view the weighted

Goal Programming 497

Page 10: Goal Programming

and the Chebyshev goal programming solutions rep-resent two opposite poles. Thus, since the weightedoption maximizes the aggregate achievement amongthe goals considered, then the results obtained withthis option can be biased against the performanceachieved by one particular goal. On the other hand,because of the preponderance of just one of thegoals, the Chebyshev model can provide results withpoor aggregate performance between differentgoals. The extreme character of both solutions canlead in some cases to possibly unacceptable solutionsby the decision maker. A possible modeling solutionfor this type of problem consists of compromisingthe aggregate achievement of the Archimedeanmodel with the MINMAX (balanced) character ofthe Chebyshev model. Thus, the example of the ear-lier section can be reformulated with the help of thefollowing multiplex extended goal programmingmodel:

Lexicographically minimize U� {(�1� �2 � �3), [(1 � Z ) � Z(�4 � �5)]} (40)

Satisfy: 2x1 � x2 � �1 � �1 � 50(raw material limitations) (41)

x1 � �2 � �2 � 20(market saturation level, product 1) (42)

x2 � �3 � �3 � 30(market saturation level, product 2) (43)

3x1 � x2 � �4 � �4 � 50(profit goal) (44)

2x1 � 3x2 � �5 � �5 � 80(market shares goal) (45)

(1 � Z) �4 � � 0 (46)

(1 � Z) �5 � � 0 (47)

, x, �, � � 0 (48)

where the parameter Z weights the importance at-tached to the minimization of the sum of unwanteddeviation variables. For Z � 0, we have a Chebyshevgoal programming model. For Z � 1 the result is aweighted goal programming model, and for other val-ues of parameter Z belonging to the interval (0, 1) in-termediate solutions between the solutions providedby the two goal programming options are considered.

Hence, through variations in the value of parame-ter Z, compromises between the solution of the max-imum aggregate achievement and the MINMAX so-lution can be obtained. In this sense, this extendedformulation allows for a combination of goal pro-gramming variants that, in some cases, can reflect a

decision maker’s actual preferences with more accu-racy than any single variant.

Other extensions of the achievement function havebeen derived taking into account that in all tradi-tional goal programming formulations there is theunderlying assumption that any unwanted deviationwith respect to its aspiration level is penalized ac-cording to a constant marginal penalty. In otherwords, any marginal change is of equal importanceno matter how distant it is from the aspiration level.This type of formulation only allows for a linear rela-tionship between the value of the unwanted deviationand the penalty contribution. This corresponds to thecase of the achievement functions underlying aweighted goal programming model or to each prior-ity level of a lexicographic model.

This type of function has been termed a one-sidedpenalty function, when only one deviation variable isunwanted, or V-shaped penalty function when bothdeviation variables are unwanted. However, otherpenalty function structures have been used. Thus, wehave the two-sided penalty functions when the deci-sion maker feels satisfied when the achievement of agiven goal lies within a certain aspiration level inter-val, or the U-shaped penalty function if the marginalpenalties increase monotonically with respect to theaspiration levels. Several authors have proposed im-provements and refinements to the goal program-ming model with penalty functions. Details about thistype of modeling are described in the Bibliography.

C. Goal Programming and MCDM

Goal programming is but one of several approachespossible within the broader field of multiple criteriadecision making (MCDM). It is a common practicewithin MCDM to present its different approaches inan independent, disjoint manner, giving the impres-sion that each approach is completely autonomous.However, this is not the case. In fact, significant simi-larities exist among most of the MCDM methods. Inthis sense, the multiplex approach presented in Sec-tion V is a good example of a goal programming structure encompassing several single- and multiple-objective optimization methods.

Furthermore, goal programming can provide a uni-fying basis for most MCDM models and methods. Withthis purpose, extended lexicographic goal program-ming has recently been proposed. To illustrate thisconcept, consider the representation provided in Eqs.(49) through (52):

498 Goal Programming

Page 11: Goal Programming

Lexicographically minimize U

� {�1 1 � �1 �i�h1

( i �i � �i�i)p, ..., �j j

��j �i�hj

( i �i � �i�i)p, ...,

�Q Q � �Q �i�hQ

( i �i � �i�i)p} (49)

Satisfy: �j ( i �i � �i�i) � j � 0

i � hj j � {1, ..., Q} (50)

fi (x) � �i � �i � ti i � {1, ..., q} (51)

�, �, � � 0 x � F (52)

where p is a real number belonging to the interval [1, ∞) or ∞. Parameters i and �i are the weights re-flecting preferential and normalizing purposes attachedto the negative and positive variables of the ith goal, re-spectively; �j and �j are control parameters; and hj rep-resents the index set of goals placed in the jth prioritylevel. The block of rigid constraints x � F, can be trans-ferred to an additional first priority level in order to for-mulate the model within a multiplex format.

If the above structure is considered the primarymodel, then it is easy to demonstrate that an importantnumber of multiple-criteria methods are just secondarymodels of the extended lexicographic goal program-ming model. Thus, the following multicriteria meth-ods can be straightforwardly deduced just by applyingdifferent parameter specifications to the above model:

1. Conventional single-objective mathematicalprogramming model

2. Nonlinear and linear weighted goal programming3. Lexicographic linear goal programming4. Chebyshev goal programming5. Reference point method6. Compromise programming (L1 bound) and (L∞

bound or fuzzy programming with a linearmembership function)

7. Interactive weighted Tchebycheff procedure.

The use of goal programming as a unifying frame-work seems interesting at least for the following rea-sons. The extended lexicographic goal programmingmodel stresses similarities between MCDM methodsthat can help reduce gaps between advocates of differ-ent approaches. Moreover, this unifying approach canbecome a useful teaching tool in the introduction ofMCDM, thus avoiding the common presentation basedupon a disjoint system of methods. Finally, the extendedlexicographic goal programming approach allows us to

model decision-making problems for which a good rep-resentation of a decision maker’s preferences requiresa mix of goal programming variants. In short, this typeof general formulation can increase the enormous po-tential flexibility inherent to goal programming.

X. THE FUTURE

In the nearly half century since its development, goalprogramming has achieved and maintained its repu-tation as the workhorse of the multiple-objective op-timization field. This is due to a combination of sim-plicity of form and practicality of approach. The morerecent extensions to the approach have, thankfully,not negatively impacted on these attributes.

We envision a future in which goal programmingwill continue to utilize methods from other sectors,particularly artificial intelligence. The most signifi-cant advances, from a strictly pragmatic perspective,involve combining goal programming with evolution-ary search methods, specifically genetic algorithms.Such extensions permit the rapid development of ex-ceptionally stable solutions—the type of solutionsneeded in most real-world situations.

SEE ALSO THE FOLLOWING ARTICLES

Decision Support Systems • Evolutionary Algorithms • Exec-utive Information Systems • Game Theory • Industry, Artifi-cial Intelligence in • Model Building Process • Neural Net-works • Object-Oriented Programming • Strategic Planningfor/of Information Systems • Uncertainty

BIBLIOGRAPHY

Charnes, A., and Cooper, W. W. (1961). Management models andindustrial applications of linear programming, Vols. 1 and 2.New York: John Wiley.

Charnes, A., and Cooper, W. W. (1977). Goal programmingand multiple objective optimization. Part I. European Journalof Operational Research, Vol. 1, 39–54.

Dauer, J. P., and Kruger, R. J. (1977). An iterative approach togoal programming. Operational Research Quarterly, Vol. 28,671–681.

Gass, S. I. (1986). A process for determining priorities andweights for large-scale linear goal programming models.Journal of the Operational Research Society, Vol. 37, 779–784.

Ignizio, J. P. (1963). S-II trajectory study and optimum antennaplacement, Report SID-63. Downey, CA: North AmericanAviation Corporation.

Ignizio, J. P. (1976). Goal programming and extensions. LexingtonSeries. Lexington, MA: D. C. Heath & Company.

Goal Programming 499

Page 12: Goal Programming

Ignizio, J. P. (1985). Introduction to linear goal programming. Bev-erly 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 prop-erties of the lexicographic LGP dual. Large Scale Systems, Vol.5, 115–121.

Romero, C. (1991). Handbook of critical issues in goal program-ming. Oxford, UK: Pergamon Press.

Romero, C. (2001). Extended lexicographic goal program-ming: A unifying approach. OMEGA, International Journal ofManagement Science, Vol. 29, 63–71.

Simon, H. A. (1956). Rational choice and the structure of theenvironment. Psychological Review, Vol. 63, 129–138.

Tamiz, M., and Jones, D. (1996). Goal programming and Paretoefficiency. Journal of Information and Optimization Sciences, Vol.17, 291–307.

Tamiz, M., Jones, D. F., and Romero, C. (1998). Goal pro-gramming for decision making: An Overview of the currentstate-of-the-art. European Journal of Operational Research, Vol.111, 569–581.

Vitoriano, B., and Romero, C. (1999). Extended interval goalprogramming. Journal of the Operational Research Society, Vol.50, 1280–1283.

500 Goal Programming