9
Goal programming
9.1 Introduction
This chapter explains the theory and practical use of the goal programming meth-
ods. After a theoretical section, Section 9.3 explains how to solve goal programming
problems with Microsoft Excel. Three variants of goal programming are presented.
This chapter does not include a black box section as the algorithm behind the goal
programming is the well-known simplex method (see Ignizio and Cavalier 1994;
Schniederjans 1984). Since goal programming is an extension of linear program-
ming to handle multiple conflicting objectives, the reader is advised to first read the
Appendix on linear programming to ensure a better understanding.
The companion website provides illustrative examples with Microsoft Excel.
9.2 Essential concepts of goal programming
The idea of goal programming is that there is an ideal goal to be achieved while also
satisfying hard constraints. This goal is composed of several objectives that may be
conflicting. The main difficulty is the modelling of the problem: to find the goal and
the soft and hard constraints. Case Study 9.1 will be used to illustrate this point.
Case Study 9.1
A company produces two types of product: A and B. To manufacture, product A
requires 5 parts of type I and 3 parts of type II; B requires 4 parts of type I and 2
parts of type II. The profit is £20 for A and £30 for B. The company aims to achieve
a weekly profit of £2000. The production time per unit of A is 7 man-hours and per
unit of B is 3 man-hours. The company employs seven people in the production
department and would like to keep within the 250 available hours of work each
Multi-Criteria Decision Analysis: Methods and Software, First Edition. Alessio Ishizaka and Philippe Nemery.
© 2013 John Wiley & Sons, Ltd. Published 2013 by John Wiley & Sons, Ltd.
GOAL PROGRAMMING 223
week. A contract has been signed with a supplier to deliver up to 80 parts of type
I and 60 parts of type II. It is possible to order more parts but they would be much
more expensive. The manufacturing capacity of the machine for both products
combined is limited to a maximum of 80 products per week. The company has a
strategic target to produce at least 50 units of each product per week.
The modelling of the problem requires first the identification of the decision
variables, goals and constraints.
Identification of the decision variables. The decision variables are indepen-
dent variables that are changed until the desired quantity is obtained. In
Case Study 9.1, they are given by x1 , the number of units of product A manu-
factured per week, and x2 , the number of units of product B manufactured per
week.
Identification of the goals and soft and hard constraints. A hard constraint is an
inequality that describes a threshold that cannot be exceeded as it represents an
unfeasible region of solution. All solutions below the threshold have the same
preference. A goal with a soft constraint has a threshold which is an ideal point,
but can be exceeded because solutions over this point are feasible even if they
are not attractive. In this case, both deviational variables should be added. Why
should unattractive solutions be accepted? As there are often several goals, not
all can be achieved simultaneously; therefore, some good solutions may be
unattractive to some goals. A goal with a hard constraint has a threshold which
is an ideal point and cannot be exceeded. The nearest solutions to the ideal
point are preferred. In this case, only the deviational variable to be minimized
should be introduced into the equation.
In Case Study 9.1, there are seven constraints:
r The profit target of the company of £2000 sets the first constraint:
30x1 + 20x2 ≥ 2000.
Is this a soft or hard constraint? The company will still survive if the benefit is
lower; therefore it is a desirable goal. The inequality can be transformed into
an equality with two adjustment variables: n1 for a negative deviation of the
goal and p1 for a positive deviation:
30x1 + 20x2 + n1 − p1 = 2000.
One direction of the deviation will be preferred over the other. In this case, it
is preferable to have a greater than a lesser benefit. The deviational variable n1
is thus to be minimized.
224 MULTI-CRITERIA DECISION ANALYSIS
r The second constraint is set by the total working hours in a week:
7x1 + 3x2 ≤ 250.
Again, is it a soft or hard constraint? As employees can do overtime or tempo-
rary staff can be hired, this inequality can be considered a goal and transformed
into:
7x1 + 3x2 + n 2 − p2 = 250.
In this case, the extra hours variable (p2 ) is the deviational variable to minimize.
r The next two constraints are set by the capacity of the suppliers: for parts of
type I,
5x1 + 4x2 ≤ 80;
For parts of type II,
3x1 + 2x2 ≤ 60.
As the suppliers are able to deliver additional parts, these are soft constraints
and can be transformed into:
5x1 + 4x2 + n 3 − p3 = 80,
3x1 + 2x2 + n 4 − p4 = 60.
Additional parts are more expensive and as a result, the positives deviations p3
and p4 are to be minimized.
r The following two constraints are set by the strategic aims of the company,
which is to produce a minimum of 50 units of product A and B. The constraints
can be written as:
x1 ≥ 50,
x2 ≥ 50.
It is possible to produce less, therefore the constraints above are transformed
into goals:
x1 + n5 − p5 = 50,
x2 + n6 − p6 = 50.
GOAL PROGRAMMING 225
r The last constraint is set by the capacity of the machine:
x1 + x2 ≤ 80.
This is a hard constraint because the machine cannot produce more than its
capacity. Therefore, it cannot be transformed into a goal.
Putting all goals and constraints together, we have the following goal program:
min z = n 1 + p2 + p3 + p4 + n 5 + n 6
subject to:
30x1 + 20x2 + n1 − p1 = 2000
7x1 + 3x2 + n 2 − p2 = 250
5x1 + 4x2 + n 3 − p3 = 80
3x1 + 2x2 + n 4 − p4 = 60
x1 + n5 − p5 = 50
x2 + n6 − p6 = 50
x1 + x2 ≤ 80
x1 , x2 ≤ 0
n i , pi ≥ 0, i = 1, . . . , 6.
Note that the goal program does not contain any weight. They will be introduced in
the section 9.4.1. In the program modelling, supplementary constraints are added to
ensure that all decisional and deviational variables are positives.
It is important to transform hard constraints into goals where possible. This allows
the examination of a larger solution space, which may contain potentially good or
optimal solutions. It is also important to incorporate both deviational variables n and
p, when possible, for the same reason.
The goal programming method cannot detect a Pareto front. A Pareto front
contains the set of solutions that, when compared to other solutions, are at least
as good with respect to all objectives and strictly better with respect to at least
one objective. This is problematic if the goals are set too low because a better
solution may exist but will not be proposed as it is too far from the goal set by
decision maker. For example, if the Pareto optimum is at profit of £10 000, it
will not be detected if the decision maker sets a low goal as £2000. Techniques
have been developed to detect and restore the Pareto inefficiency (Hannan 1980;
Romero 1991).
226 MULTI-CRITERIA DECISION ANALYSIS
Exercise 9.1
The following multiple-choice questions allow you to test your knowledge on the
basics of goal programming. Only one answer is correct. Answers can be found on
the companion website.
1. How many deviational variables are in the objective function of goal program-
ming?
a) Equivalent to the number of goals
b) Twice the number of goals
c) Equivalent to the number of soft and hard constraints
d) Twice the number of soft and hard constraints
2. What is a soft constraint?
a) An inequality
b) A constraint with a threshold indicating unfeasible solutions
c) A goal
d) A constraint that is not needed in the modelling of the problem
3. Which statement is incorrect?
a) All deviational variables should be included in the equation
b) A hard constraint is not a goal
c) Several solutions may exist
d) All goals are always satisfied
4. What type of problems can goal programming solve?
a) Problems with a discrete solution space
b) Problems with continuous solution space
c) Problems with a binary solution space
d) Sorting problems
5. Goal programming is a generalization of which method?
a) MACBETH
b) Linear programming
c) TOPSIS
d) DEA
GOAL PROGRAMMING 227
Figure 9.1 Microsoft Excel spreadsheet for the Case Study 9.1 goal program.
9.3 Software description
Linear goal programs can be solved using linear programming software, for exam-
ple the Microsoft Excel Solver add-in or LINGO package. The widespread use and
knowledge of Microsoft Excel is the main reason to opt for the Microsoft Excel Solver.
This section describes how to use it.
9.3.1 Microsoft Excel Solver
To explain the Microsoft Excel Solver, Case Study 9.1 will be used. The essential first
step to solving a goal programming problem is correct modelling. A goal program
must be written by hand as in Section 9.2 as the software is unable to do this. When
it has been defined, it must be rewritten in a Microsoft Excel spreadsheet. There is no
strict rule on how to enter it, but it is helpful to have a clear structure.
In Figure 9.1:
r Line 4 determines the deviational variables to be minimized. In this case, they
all have the same weight. Section 9.4 describes how to weight them differently.
r Lines 5–10 contain the goals, and line 11 the hard constraint.
r Line 13 contains the decision and deviational variables that need to be found
by the solver.
r Cell E15 represents the objective to minimized, which is the sum of n1 , n5 , n6 ,
p2 , p3 and p4 . This information is entered in the Solver parameters shown in
Figure 9.2.
Exercise 9.2
You will learn the use of the Microsoft Excel Solver for solving goal programs.
Learning Outcomes
Understand the modelling of a goal programme
Understand the parameters in Microsoft Excel Solver
228 MULTI-CRITERIA DECISION ANALYSIS
Figure 9.2 Solver parameters.
Tasks
Open the file [Link] on the un-weighted GP tab. It contains a spreadsheet
with the goal programme of the problem of the Case Study 9.1.
Answer the following questions:
a) In the spreadsheet, find the objective of the problem, the decision variables,
the goals and hard constraints. (Read the comments in the red square in case
of difficulty.)
b) Open the Solver. What is entered in the set target cell? What is entered in the
box ‘by changing cells’? What is entered in the box ‘Subject to constraints?’
9.4 Extensions of the goal programming
As not all goals have the same importance, several variants have been conceived to
weight goals differently (Jones and Mehrdad 2010).
9.4.1 Weighted goal programming
In weighted goal programming, penalty weights are attached to the unwanted devi-
ational variables. These weights are composed of two parts: a conversion factor in
order to assure a commensurability of the deviational variables, and the importance
of the penalization given at each deviation.
There are different ways to normalize deviational variables. A practical way is
to use percentage normalization, which indicates the percentage away from the goal.
For this purpose, the deviational variable is divided by the goal of the objective. The
GOAL PROGRAMMING 229
weights are set in the numerator part. For example, in Case Study 9.1, we consider
1% deviation from the target of 250h/week is five times more important than the
other goals. The new weighted goal program is:
1 5 1 1 1 1
min z = n1 + p2 + p3 + p4 + n 5 + n 6
2000 250 80 60 50 50
subject to:
30x1 + 20x2 + n1 − p1 = 2000
7x1 + 3x2 + n 2 − p2 = 250
5x1 + 4x2 + n 3 − p3 = 80
3x1 + 2x2 + n 4 − p4 = 60
x1 + n5 − p5 = 50
x2 + n6 − p6 = 50
x1 + x2 ≤ 80
x1 , x2 ≥ 0
n i , pi ≥ 0, i = 1, . . . , 6
(the deviational variables to be minimized are in bold).
Exercise 9.3
You will learn the use of the Microsoft Excel Solver for solving a weighted goal
program.
Learning Outcomes
Understand the modelling of a weighted goal program
Understand the parameters in Microsoft Excel Solver
Tasks
Open the file [Link] on the weighted GP tab. It contains a spreadsheet
with the weighted goal program of the problem in Case Study 9.1.
Answer the following questions:
a) In the spreadsheet, find the objective of the problem, the decision variables,
the goals, the hard constraints and weights. (Read the comments in the red
square in case of difficulty.)
b) How has the optimal result changed?
230 MULTI-CRITERIA DECISION ANALYSIS
9.4.2 Lexicographic goal programming
The lexicographic goal programming is used when the decision maker has a clear
preference order for satisfying the goals. For example, in Case Study 9.1, the goal of
the total working hours in a week is strictly preferable to the other goals because the
staff could strike. The first step is to minimize this goal:
min z = p2
Subject to:
30x1 + 20x2 + n1 − p1 = 2000
7x1 + 3x2 + n 2 − p2 = 250
5x1 + 4x2 + n 3 − p3 = 80
3x1 + 2x2 + n 4 − p4 = 60
x1 + n5 − p5 = 50
x2 + n6 − p6 = 50
x1 + x2 ≤ 80
x1 , x2 ≥ 0
n i , pi ≥ 0, i = 1, . . . , 6
(the deviational variables to be minimized are in bold).
An optimum is found at p2 = 0. Then the second priority level is optimized. This
goal program has all the goals and constraints of the previous formulation plus the
additional constraint p2 = 0:
min z = n 1 + p3 + p4 + n 5 + n 6
subject to:
30x1 + 20x2 + n1 − p1 = 2000
7x1 + 3x2 + n 2 − p2 = 250
5x1 + 4x2 + n 3 − p3 = 80
3x1 + 2x2 + n 4 − p4 = 60
x1 + n5 − p5 = 50
x2 + n6 − p6 = 50
x1 + x2 ≤ 80
p2 = 0
x1 , x2 ≥ 0
n i , pi ≥ 0, i = 1, . . . , 6.
GOAL PROGRAMMING 231
Figure 9.3 Lexographic goal program, first-level priority.
Figure 9.4 Lexographic goal program, second-level priority.
In Microsoft Excel, each priority level is solved in a new spreadsheet (Figure 9.3
and Figure 9.4). The model is solved for each priority level at a time by adding a
constraint in the spreadsheet (line 18 in Figure 9.4) and in the Microsoft Excel Solver
parameters box. For a large number of priority levels, the process can be automated
by programming a macro in Visual Basics for Applications.
Exercise 9.4
You will learn the use of the Microsoft Excel Solver for solving a lexicographic goal
program.
Learning Outcomes
Understand the modelling of a lexicographic goal program
Understand the parameters in Microsoft Excel Solver
232 MULTI-CRITERIA DECISION ANALYSIS
Tasks
Open the file [Link] on the LGP1 and LGP12 tabs. It contains two spread-
sheets with the lexicographic goal program of the problem in Case Study 9.1.
Answer the following questions:
a) In the two spreadsheets, find the objective of the problem, the decision vari-
ables, the goals, the hard constraints and weights. (Read the comments in the
red square in case of difficulty.)
b) Compare the Solver box of the two spreadsheets. How do the parameters
differ?
c) How has the optimal result changed from the traditional goal program?
9.4.3 Chebyshev goal programming
Unweighted, weighted and lexographic goal programming often find extreme points
(intersections of goals, constraints and axes), which lead to an unbalanced solution:
some goals are achieved and others are far from satisfactory. In order to counter this
problem, Chebyshev goal programming has been developed (Flavell 1976). The idea
of this method is to introduce additional constraints to the model to ensure a balance
between the objectives.
If we assume equal preferential weights and a percentage normalization, the
Chebyshev goal programme of Case Study 9.1 is given by:
min z = λ
subject to:
1
n1 ≤ λ
2000
5
p2 ≤ λ
250
1
p3 ≤ λ
80
1
p4 ≤ λ
60
1
n5 ≤ λ
50
1
n6 ≤ λ
50
30x1 + 20x2 + n1 − p1 = 2000
7x1 + 3x2 + n 2 − p2 = 250
5x1 + 4x2 + n 3 − p3 = 80
GOAL PROGRAMMING 233
Figure 9.5 Chebyshev goal program.
3x1 + 2x2 + n 4 − p4 = 60
x1 + n5 − p5 = 50
x2 + n6 − p6 = 50
x1 + x2 ≤ 80
p2 = 0
x1 , x2 ≥ 0
n i , pi ≥ 0, i = 1, . . . , 6
(the deviational variables to be minimized are in bold). In the Microsoft Excel spread-
sheet, the additional constraints are also added (lines 13–18 in Figure 9.5).
Exercise 9.5
You will learn the use of the Microsoft Excel Solver for solving a Chebyshev goal
program.
Learning Outcomes
Understand the modelling of a Chebyshev goal program
Understand the parameters in Microsoft Excel Solver
Tasks
Open the file [Link] on the Chebyshev tab. It contains a spreadsheet with
the Chebyshev goal program of the problem in Case Study 9.1.
234 MULTI-CRITERIA DECISION ANALYSIS
Answer the following questions:
a) In the spreadsheet, find the objective of the problem, the decision variables,
the goals, the hard constraints and weights. (Read the comments in the red
square in case of difficulty.)
b) Open the Solver in the spreadsheets. How have the parameters of the Solver
boxes been changed compared to Exercise 9.2?
c) How has the optimal result changed from the traditional goal program?
References
Flavell, R. (1976). A new goal programming formulation. Omega, 4(6), 731–732.
Hannan, E. (1980). Non-dominance in goal programming. INFOR, 18(4), 300–309.
Ignizio, J., and Cavalier, T. (1994). Linear programming. Englewood Cliffs, NJ: Prentice Hall.
Jones, D., and Mehrdad, T. (2010). Practical Goal Programming. New York: Springer-Verlag.
Romero, C. (1991). Handbook of Critical Issues in Goal Programming. Oxford: Pergamon
Press.
Schniederjans, M. (1984). Linear Goal Programming. Princeton, NJ: Petrocelli Books.