Goal programming

Goal programming

Goal programming is a branch of multiobjective optimization, which in turn is a branch of multi-criteria decision analysis (MCDA), also known as multiple-criteria decision making (MCDM). It can be thought of as an extension or generalisation of linear programming to handle multiple, normally conflicting objective measures. Each of these measures is given a goal or target value to be achieved. Unwanted deviations from this set of target values are then minimised in an achievement function. This can be a vector or a weighted sum dependent on the goal programming variant used. As satisfaction of the target is deemed to satisfy the decision maker(s), an underlying satisficing philosophy is assumed.


Goal programming was first used by Charnes, Cooper and Ferguson [A Charnes, WW Cooper, R Ferguson (1955) Optimal estimation of executive compensation by linear programming, Management Science, 1, 138-151. ] in 1955, although the actual name first appear in a 1961 text by Charnes and Cooper. [A Charnes, WW Cooper (1961) Management models and industrial applications of linear programming, Wiley, New York] Seminal works by Lee [SM Lee (1972) Goal programming for decision analysis, Auerback, Philadelphia] , Ignizio JP Ignizio (1976) Goal programming and extensions, Lexington Books, Lexington, MA.] , Ignizio and Cavalier [JP Ignizio, TM Cavalier (1994) Linear programming, Prentice Hall.] , and Romero C Romero (1991) Handbook of critical issues in goal programming, Pergamon Press, Oxford.] followed. Schniederjans [MJ Scniederjans (1995) Goal programming methodology and applications, Kluwer publishers, Boston.] gives in a bibliography of a large number of pre 1995 articles relating to goal programming and Jones and Tamiz give an annotated bibliography of the period 1990-2000. DF Jones, M Tamiz (2002) Goal programming in the period 1990-2000, in Multiple Criteria Optimization: State of the art annotated bibliographic surveys, M. Ehrgott and X.Gandibleux (Eds.), 129-170. Kluwer]

The first engineering application of goal programming, due to Ignizio in 1962, was the design and placement of the antennas employed on the second stage of the Saturn V. This was used to launch the Apollo space capsule that landed the first men on the moon.


The initial goal programming formulations ordered the unwanted deviations into a number of priority levels, with the minimisation of a deviation in a higher priority level being of infinitely more importance than any deviations in lower priority levels. This is known as "lexicographic" or pre-emptive goal programming. Ignizio gives an algorithm showing how a lexicographic goal programme can be solved as a series of linear programmes. Lexicographic goal programming should be used when there exists a clear priority ordering amongst the goals to be achieved.

If the decision maker is more interested in direct comparisons of the objectives then "Weighted" or non pre-emptive goal programming should be used. In this case all the unwanted deviations are multiplied by weights, reflecting their relative importance, and added together as a single sum to form the achievement function. It is important to recognise that deviations measured in different units cannot be summed directly due to the phenomenon of incommensurability.

Hence each unwanted deviation is multiplied by a normalisation constant to allow direct comparison. Popular choices for normalisation constants are the goal target value of the corresponding objective (hence turning all deviations into percentages) or the range of the corresponding objective (between the best and the worst possible values, hence mapping all deviations onto a zero-one range). For decision makers more interested in obtaining a balance between the competing objectives, "Chebyshev" goal programming should be used. Introduced by Flavell in 1976 [RB Flavell (1976) A new goal programming formulation, Omega, 4, 731-732.] , this variant seeks to minimise the maximum unwanted deviation, rather than the sum of deviations. This utilises the Chebyshev distance metric, which emphasizes justice and balance rather than ruthless optimisation.

Strengths and weaknesses

A major strength of goal programming is its simplicity and ease of use. This accounts for the large number of goal programming applications in many and diverse fields. As weighted and Chebyshev goal programmes can be solved by widely available linear programming computer packages, finding a solution tool is not difficult in most cases. Lexicographic goal programmes can be solved as a series of linear programming models, as described by Ignizio and Cavalier.

Goal programming can hence handle relatively large numbers of variables, constraints and objectives. A debated weakness is the ability of goal programming to produce solutions that are not Pareto efficient. This violates a fundamental concept of decision theory, that is no rational decision maker will knowingly choose a solution that is not Pareto efficient. However, techniques are available [EL Hannan (1980) Non-dominance in goal programming, INFOR, 18, 300-309] [M Tamiz, SK Mirrazavi, DF Jones (1999) Extensions of Pareto efficiency analysis to integer goal programming, Omega, 27, 179-188. ] to detect when this occurs and project the solution onto the Pareto efficient solution in an appropriate manner.

The setting of appropriate weights in the goal programming model is another area that has caused debate, with some authors [SI Gass (1987) A process for determining priorities and weights for large scale linear goal programmes, Journal of the Operational Research Society, 37, 779-785.] suggesting the use of the Analytic Hierarchy Process or interactive methods [BJ White (1996) Developing Products and Their Rhetoric from a Single Hierarchical Model, 1996 Proceedings of the Annual Conference of the Society for Technical Communication, 43, 223-224.] for this purpose.


External links

* [http://techfaculty.port.ac.uk/research/mmg/GPInfoSiteMain.html Goal programming information site]
* [http://www.mopgp06.org Conference on multiobjective and goal programming, 2006]
* [ftp://garbo.uwasa.fi/pc/ts/tslin35c.zip Linear programming and linear goal programming] - freeware program for MS-DOS

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Goal — For other uses, see Goal (disambiguation). A goal or objective is a desired result an animal or a system envisions, plans and commits to achieve a personal or organizational desired end point in some sort of assumed development. Many people… …   Wikipedia

  • Goal seeking — In computing, goal seeking is the ability to calculate backward to obtain a valid input. For example, given the desired goal gross margin = 50% and the range of possible inputs, goal seeking attempts to obtain the optimum input. This can also be… …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Programming paradigm — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concu …   Wikipedia

  • Programming in the large and programming in the small — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computin …   Wikipedia

  • Goal (disambiguation) — Goal may refer to: * An objective or desired outcome ** Goal (management), a desired state of affairs of a person or of a system ** Goal in systemics and socio cognitive engineering, a state of the domain of activity of an intelligent entity… …   Wikipedia

  • Programming style — is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers to read and understand source code conforming to the style, and help …   Wikipedia

  • Programming in the large — In software development, programming in the large can involve programming by larger groups of people or by smaller groups over longer time periods. Either of these conditions will result in large, and hence complicated, programs that can be… …   Wikipedia

  • Programming the Universe — Infobox Book name = Programming the Universe: A Quantum Computer Scientist Takes On the Cosmos title orig = translator = image caption = author = Seth Lloyd illustrator = cover artist = country = language = series = subject = Quantum mechanics,… …   Wikipedia

  • Constraint logic programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia