Operations Research For Effective Managerial
Decision Making: Concepts, Models & Practices
Goal Programming:
Concepts & Applications
Dr. S.P. Singh
Deptt. of Management Studies
IIT Delhi
1
GOAL PROGRAMMING
It is an extension of Linear Programming that
enables the planner to come as close as possible to
satisfying various goals and constraints.
It allows the decision maker, at least in a heuristic
sense, to incorporate his or her preference system
in dealing with multiple conflicting goals.
GP is sometimes considered to be an attempt to put
into a mathematical programming context, the
concept of satisfying.
Coined by Herbert Simon, it communicates the idea
that individuals often do not seek optimal solutions,
but rather solutions that are “good enough” or
“close enough.”
In many applications, the planner has more than one
objective. The presence of multiple objectives is
frequently referred to as the problem of “combining
apples and oranges.”
Consider a corporate planner whose long-range
goals are to:
1. Maximize discounted profits
2. Maximize market share at the end of the
planning period
3. Maximize existing physical capital at the end
of the planning period
These goals are not commensurate (i.e., they cannot
be directly combined or compared).
It is also clear that the goals are conflicting (i.e.,
there are trade-offs in the sense that sacrificing the
requirements on any one goal will tend to produce
greater returns on the others.
These models, although not applied as often in
practice as some of the other models (such as linear
programming, forecasting, inventory control, etc.),
have been found to be especially useful on problems
in the public sector.
Goal Programming Example
An Example # 1:
Beaver Creek Pottery Company:
Maximize Z = $40x1 + 50x2
subject to:
1x1 + 2x2 40 hours of labor
4x1 + 3x2 120 pounds of clay
x1, x2 0
Where: x1 = number of bowls produced
x2 = number of mugs produced
Adding objectives (goals) in order of importance, the
company:
Does not want to use fewer than 40 hours of labor
per day.
Would like to achieve a satisfactory profit level of
$1,600 per day.
Prefers not to keep more than 120 pounds of clay on
hand each day.
Would like to minimize the amount of overtime.
Goal Programming
Goal Constraint Requirements
All goal constraints are equalities that include deviational
variables d- and d+.
A positive deviational variable (d+) is the amount by which a
goal level is exceeded.
A negative deviation variable (d-) is the amount by which a
goal level is underachieved.
At least one or both deviational variables in a goal
constraint must equal zero.
The objective function in a goal programming model seeks
to minimize the deviation from the respective goals in the
order of the goal priorities.
Goal Programming Model Formulation
Goal Constraints
Labor goal:
x1 + 2x2 + d1- - d1+ = 40 (hours/day)
Profit goal:
40x1 + 50 x2 + d2 - - d2 + = 1,600 ($/day)
Material goal:
4x1 + 3x2 + d3 - - d3 + = 120 (lbs of clay/day)
Labor goals constraint (priority 1 - less than 40 hours labor;
priority 4 - minimum overtime):
Minimize P1d1-, P4d1+
Add profit goal constraint (priority 2 - achieve profit of $1,600):
Minimize P1d1-, P2d2-, P4d1+
Add material goal constraint (priority 3 - avoid keeping more
than 120 pounds of clay on hand):
Minimize P1d1-, P2d2-, P3d3+, P4d1+
Complete Goal Programming Model:
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40 (labor)
40x1 + 50 x2 + d2 - - d2 + = 1,600 (profit)
4x1 + 3x2 + d3 - - d3 + = 120 (clay)
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Goal Programming
Some More Additional Goal Constraints
Changing fourth-priority goal “limits overtime to 10 hours”
instead of minimizing overtime:
d1- + d4 - - d4+ = 10
minimize P1d1 -, P2d2 -, P3d3 +, P4d4 +
Addition of a fifth-priority goal- “important to achieve the
goal for mugs”:
x1 + d5 - = 30 bowls
x2 + d6 - = 20 mugs
minimize P1d1 -, P2d2 -, P3d3 +, P4d4 +, 4P5d5 - + 5P5d6 -
Complete Model with Added New Goals:
Minimize P1d1-, P2d2-, P3d3+, P4d4+, 4P5d5- + 5P5d6-
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50x2 + d2- - d2+ = 1,600
4x1 + 3x2 + d3- - d3+ = 120
d1+ + d4- - d4+ = 10
x1 + d5- = 30
x2 + d6- = 20
x1, x2, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d6- 0
Goal Programming
Through Graphical Interpretation
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 +
0
Figure: Goal Constraints
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Figure: The First-Priority Goal: Minimize
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Figure: The Second-Priority Goal: Minimize
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Figure: The Third-Priority Goal: Minimize
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Figure: The Fourth-Priority Goal: Minimize
Goal programming solutions do not always achieve all goals
and they are not “optimal”, they achieve the best or most
satisfactory solution possible.
Minimize P1d1-, P2d2-, P3d3+, P4d1+
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50 x2 + d2 - - d2 + = 1,600
4x1 + 3x2 + d3 - - d3 + = 120
x1, x2, d1 -, d1 +, d2 -, d2 +, d3 -, d3 + 0
Solution: x1 = 15 bowls
x2 = 20 mugs
d1+ = 15 hours
Goal Programming
Computer Solution Using Excel
Exhibit: 1
Exhibit: 2
Exhibit: 3
Goal Programming
Solution for Problem with additional goal constraints
Minimize P1d1-, P2d2-, P3d3+, P4d4+, 4P5d5- + 5P5d6-
subject to:
x1 + 2x2 + d1- - d1+ = 40
40x1 + 50x2 + d2- - d2+ = 1,600
4x1 + 3x2 + d3- - d3+ = 120
d1+ + d4- - d4+ = 10
x1 + d5- = 30
x2 + d6- = 20
x1, x2, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d6- 0
Exhibit: 4
Exhibit: 5
Exhibit: 6
Exhibit: 7
Exhibit: 8
?