Goal programming
From Wikipedia, the free encyclopedia
Goal programming is a branch of multiple objective programming, 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.
Contents |
[edit] History
Goal programming was first used by Charnes, Cooper and Ferguson [1] in 1955, although the actual name first appear in a 1961 text by Charnes and Cooper [2]. Seminal works by Lee [3], Ignizio [4], Ignizio and Cavalier [5], and Romero [6] followed. Scniederjans [7] 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 [8].
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 which landed the first men on the moon.
[edit] Variants
The original 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 [4] 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 maping all deviations onto a zero-one range)[6]. For decision makers more interested in obtaining a balance between the competing objectives, Chebyshev goal programming should be used. Introduced by Flavell in 1976 [9], this variant seeks to minimise the maximum unwanted deviation, rather than the sum of deviations. This utilises the Chebyshev distance metric, which emphasises justice and balance rather than ruthless optimisation.
[edit] 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 [8]. 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 [5]. 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 [10,6,11] 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 [12] suggesting the use of the Analytic Hierarchy Process or interactive methods for this purpose.
[edit] References
[1] A Charnes, WW Cooper, R Ferguson (1955) Optimal estimation of executive compensation by linear programming, Management Science, 1, 138-151.
[2] A Charnes, WW Cooper (1961) Management models and industrial applications of linear programming, Wiley, New York
[3] SM Lee (1972) Goal programming for decision analysis, Auerback, Philadelphia
[4] JP Ignizio (1976) Goal programming and extensions, Lexington Books, Lexington, MA.
[5] JP Ignizio, TM Cavalier (1994) Linear programming, Prentice Hall.
[6] C Romero (1991) Handbook of critical issues in goal programming, Pergamon Press, Oxford.
[7] MJ Scniederjans (1995) Goal programming methodology and applications, Kluwer publishers, Boston.
[8] 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
[9] RB Flavell (1976) A new goal programming formulation, Omega, 4, 731-732.
[10] EL Hannan (1980) Non-dominance in goal programming, INFOR, 18, 300-309
[11] M Tamiz, SK Mirrazavi, DF Jones (1999) Extensions of Pareto efficiency analysis to integer goal programming, Omega, 27, 179-188.
[12] 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.