MGMT 196:
Decision Analysis
Week 6: Goal
Programming
1
Agenda
▪ MCDM_ Goal Programming
▪ Goal Programming: Formulation
and Graphical Solution
▪ Goal Programming: Solving More
Complex Problems
▪ Examples
▪ References:
▪ Anderson. Sweeney, Williams, Camm, Cochran, Fry &
Ohlmann, An Introduction to Management Science -
Quantitative Approaches to Decision Making, 16th Edition. ©
2023 Cengage Group, 9780357715468
▪ Chapter 14
Week 6: Goal Programming 2
Goal Programming
▪ Goal programming may be used to solve linear
programs with multiple objectives, with each
objective viewed as a "goal".
▪ In goal programming, di+ and di-, deviation variables,
are the amounts a targeted goal i is overachieved
or underachieved, respectively.
▪ The goals themselves are added to the constraint
set with di+ and di- acting as the surplus and slack
variables.
Week 6: Goal Programming 3
Goal Programming
▪ One approach to goal programming is to satisfy goals in a priority
sequence. Second-priority goals are pursued without reducing the
first-priority goals, etc.
▪ For each priority level, the objective function is to minimize the
(weighted) sum of the goal deviations.
▪ Previous "optimal" achievements of goals are added to the
constraint set so that they are not degraded while trying to achieve
lesser priority goals.
Week 6: Goal Programming 4
Goal Programming Formulation
Step 1: Decide the priority level of each goal.
Step 2: Decide the weight of each goal.
If a priority level has more than one goal, for each goal
i decide the weight, wi , to be placed on the
deviation(s), di+ and/or di-, from the goal.
Week 6: Goal Programming 5
Goal Programming Formulation
Step 3: Set up the initial linear program.
Min w1d1+ + w2d2-
s.t. Functional Constraints,
and Goal Constraints
Step 4: Solve the current linear program.
If there is a lower priority level, go to step 5.
Otherwise, a final solution has been reached.
Week 6: Goal Programming 6
Goal Programming Formulation
Step 5: Set up the new linear program.
Consider the next-lower priority level goals and formulate a
new objective function based on these goals. Add a constraint
requiring the achievement of the next-higher priority level goals to
be maintained. The new linear program might be:
Min w3d3+ + w4d4-
s.t. Functional Constraints,
Goal Constraints, and
w 1 d1 + + w 2 d2 - = k
Go to step 4. (Repeat steps 4 and 5 until all priority levels have
been examined.)
Week 6: Goal Programming 7
GP Example: Conceptual Products
Conceptual Products is a computer company that
produces the CP400 and CP500 computers. Many of
the components used in the two computer models are
produced in abundant supply by the company.
However, the memory modules, external hard drives,
and cases are bought from suppliers.
The CP400 model uses two memory modules and
no external hard drive, whereas the CP500 uses one
memory module and one external hard drive. Both
models use one case.
Week 6: Goal Programming 8
GP Example: Conceptual Products
Suppliers can provide Conceptual Products with
1000 memory modules, 500 external hard drives, and
600 cases on a weekly basis. It takes one hour to
manufacture a CP400 and its profit is $200 and it takes
one and one-half hours to manufacture a CP500 and
its profit is $500.
Week 6: Goal Programming 9
GP Example: Conceptual Products
The company has four goals:
Priority 1: Meet a state contract of 200 CP400 machines weekly. (Goal 1)
Priority 2: Make at least 500 total computers weekly. (Goal 2)
Priority 3: Make at least $250,000 weekly. (Goal 3)
Priority 4: Use no more than 400 man-hours per week. (Goal 4)
Week 6: Goal Programming 10
GP Example: Formulation
▪ Variables
x1 = number of CP400 computers produced weekly
x2 = number of CP500 computers produced weekly
di- = amount the right-hand side of goal i is deficient
di+ = amount the right-hand side of goal i is exceeded
▪ Functional Constraints
Availability of memory modules: 2x1 + x2 < 1000
Availability of external hard drives: x2 < 500
Availability of cases: x1 + x2 < 600
Week 6: Goal Programming 11
GP Example: Formulation
▪ Goals
(1) 200 CP400 computers weekly:
x1 + d1- - d1+ = 200
(2) 500 total computers weekly:
x1 + x2 + d2- - d2+ = 500
(3) $250(in thousands) profit:
.2x1 + .5x2 + d3- - d3+ = 250
(4) 400 total man-hours weekly:
x1 + 1.5x2 + d4- - d4+ = 400
Non-negativity:
x1, x2, di-, di+ > 0 for all i
Week 6: Goal Programming 12
GP Example: Formulation
▪ Objective Functions
Priority 1: Minimize the amount the state contract is not met:
Min d1-
Priority 2: Minimize the number under 500 computers produced weekly:
Min d2-
Priority 3: Minimize the amount under $250,000 earned weekly:
Min d3-
Priority 4: Minimize the man-hours over 400 used weekly:
Min d4+
Week 6: Goal Programming 13
GP Example: Formulation
▪ Formulation Summary
Min P1(d1-) + P2(d2-) + P3(d3-) + P4(d4+)
s.t. 2x1 +x2 < 1000
+x2 < 500
x1 +x2 < 600
x1 +d1- -d1+ = 200
x1 +x2 +d2- -d2+ = 500
.2x1+ .5x2 +d3- -d3+ = 250
x1+1.5x2 +d4- -d4+ = 400
x1, x2, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+ > 0
Week 6: Goal Programming 14
GP Example: Graphical Solution
▪ Iteration 1
To solve graphically, first graph the functional constraints.
Then graph the first goal: x1 = 200. Note on the next slide that
there is a set of points that exceed x1 = 200 (where d1- = 0).
Week 6: Goal Programming 15
GP Example: Graphical Solution
▪ Functional Constraints and Goal 1 Graphed
x2
1000
2x1 + x2 < 1000
800 Goal 1: x1 > 200
x2 < 500
600
x1 + x2 < 600
400
Points
200 Satisfying
Goal 1
x1
200 400 600 800 1000 1200
Week 6: Goal Programming 16
GP Example: Graphical Solution
▪ Iteration 2
Now add Goal 1 as x1 > 200 and graph Goal 2:
x1 + x2 = 500.
Note on the next slide that there is still a set of points
satisfying the first goal that also satisfies this second
goal (where d2- = 0).
Week 6: Goal Programming 17
GP Example: Graphical Solution
▪ Goal 1 (Constraint) and Goal 2 Graphed
x2
1000
2x1 + x2 < 1000
800
Goal 1: x1 > 200
x2 < 500
600
x1 + x2 < 600
400
Points Satisfying
200 Both Goals 1 and 2
Goal 2: x1 + x2 > 500
x1
200 400 600 800 1000 1200
Week 6: Goal Programming 18
GP Example: Graphical Solution
▪ Iteration 3
Now add Goal 2 as x1 + x2 > 500 and Goal 3:
.2x1 + .5x2 = 250
Note on the next slide that no points satisfy the previous functional constraints
and goals and satisfy this constraint.
Thus, to Min d3-, this minimum value is achieved when we
Max .2x1 + .5x2.
Note that this occurs at x1 = 200 and x2 = 400, so that
.2x1 + .5x2 = 240 or d3- = 10
Week 6: Goal Programming 19
GP Example: Graphical Solution
▪ Goal 2 (Constraint) and Goal 3 Graphed
x2
2x1 + x2 < 1000
1000
Goal 1: x1 > 200
800
x1 + x2 < 600 x2 < 500
600
(200,400)
400 Points Satisfying
Both Goals 1 and 2
200 Goal 2: x1 + x2 > 500
Goal 3: .2x1 + .5x2 = 250
x1
200 400 600 800 1000 1200
Week 6: Goal Programming 20
Goal Programming: More Complex Problems
▪ Now we will formulate and solve a GP problem that
involves multiple goals within the same priority level.
▪ No tradeoffs occur in the achievement of goals with
different priorities. However, tradeoffs can occur in the
achievement of goals with the same priority and
different weights.
▪ A GP problem with p preemptive goal priorities can be
solved as a series of p linear programming problems.
▪ Solving a GP problem as a series of LPs, the objective
functions (always to be minimized) will include only
relevant deviation variables and not decision variables.
Week 6: Goal Programming 21
GP Example 2: Conceptual Products
Conceptual Products is a computer company that
produces the CP400, CP500, and CP600 computers.
Many of the components used in the three computer
models are produced in abundant supply by the
company. However, the memory modules, external
hard drives, and cases are bought from suppliers.
The CP400 model uses two memory modules and
no external hard drive, the CP500 uses one memory
module and one external hard drive, and the CP600
uses two memory modules and one external hard
drive . All three models use the same case.
Week 6: Goal Programming 22
GP Example 2: Conceptual Products
Suppliers can provide Conceptual Products with
1000 memory modules, 500 external hard drives, and
600 cases on a weekly basis. It takes one hour to
manufacture a CP400 and its profit is $200; it takes
one and one-half hours to manufacture a CP500 and
its profit is $500, and it takes two hours to manufacture
a CP600 and its profit is $900.
Week 6: Goal Programming 23
GP Example 2: Conceptual Products
The company has four goals:
Priority 1: Meet a state contract of 200 CP400 machines weekly.
(Goal 1)
Priority 2: Make at least 500 total computers weekly. (Goal 2)
Priority 3: Make at least $250,000 profit weekly. (Goal 3)
Priority 3: Use no more than 400 man-hours per week. (Goal 4)
Each $1000 underachieved from its profit goal is five times as
important as an extra man-hour.
Week 6: Goal Programming 24
GP Example 2: Formulation
▪ Variables
x1 = number of CP400 computers produced weekly
x2 = number of CP500 computers produced weekly
x3 = number of CP600 computers produced weekly
di- = amount the right-hand side of goal i is deficient
di+ = amount the right-hand side of goal i is exceeded
▪ Functional Constraints
Availability of memory modules: 2x1 + x2 + x3 < 1000
Availability of external hard drives: x2 + x3 < 500
Availability of cases: x1 + x2 + x3 < 600
Week 6: Goal Programming 25
GP Example 2: Formulation
▪ Goals
(1) 200 CP400 computers weekly:
x1 + d1- - d1+ = 200
(2) 500 total computers weekly:
x1 + x2 + x3 + d2- - d2+ = 500
(3) $250(in thousands) profit:
.2x1 + .5x2 + .9x3 + d3- - d3+ = 250
(4) 400 total man-hours weekly:
x1 + 1.5x2 + 2x3 + d4- - d4+ = 400
Non-negativity:
x1, x2, x3, di-, di+ > 0 for all i
Week 6: Goal Programming 26
GP Example 2: Conceptual Products
▪ Objective Functions
Priority 1: Minimize the amount the state contract
is not met: Min d1-
Priority 2: Minimize the number under 500
computers produced weekly: Min d2-
Priority 3: Minimize the amount under $250,000
earned weekly: Min 5d3-
Priority 3: Minimize the man-hours over 400 used
weekly: Min d4+
Week 6: Goal Programming 27
GP Example 2: Conceptual Products
Priority 1 Formulation
Min d1-
s.t. 2x1 +x2 +x3 < 1000
+x2 +x3 < 500
x1 +x2 +x3 < 600
x1 +d1- -d1+ = 200
x1 +x2 +x3 +d2- -d2+ = 500
.2x1+ .5x2 +.9x3 +d3- -d3+ = 250
x1+1.5x2 +2x3 +d4- -d4+ = 400
x1, x2, x3, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+ > 0
Week 6: Goal Programming 28
GP Example 2: Conceptual Products
Computer Solution (First LP)
Objective Function Value = 0.000
Variable Value Reduced Cost
x1 200.000 0.000
x2 0.000 0.000
x3 233.333 0.000
d1- 0.000 1.000
d1+ 0.000 0.000
d2- 66.667 0.000
d2+ 0.000 0.000
d3- 0.000 0.000
d3+ 0.000 0.000
d4- 0.000 0.000
d4+ 266.667 0.000
Week 6: Goal Programming 29
GP Example 2: Conceptual Products
Priority 2 Formulation
Min d2-
( include the previous 7 constraints )
( add the constraint: d1- = 0 )
Week 6: Goal Programming 30
GP Example 2: Conceptual Products
Computer Solution (Second LP)
Objective Function Value = 0.000
Variable Value Reduced Cost
x1 285.714 0.000
x2 0.000 0.000
x3 214.286 0.000
d1- 0.000 0.000
d1+ 85.714 0.000
d2- 0.000 1.000
d2+ 0.000 0.000
d3- 0.000 0.000
d3+ 0.000 0.000
d4- 0.000 0.000
d4+ 314.286 0.000
Week 6: Goal Programming 31
GP Example 2: Conceptual Products
Priority 3 Formulation
Min 5d3- + d4+
( include the previous 8 constraints )
( add the constraint: d2- = 0 )
Week 6: Goal Programming 32
GP Example 2: Conceptual Products
Computer Solution (Third LP)
Objective Function Value = 314.286
Variable Value Reduced Cost
x1 285.714 0.000
x2 0.000 0.071
x3 214.286 0.000
d1- 0.000 0.000
d1+ 85.714 0.000
d2- 0.000 0.000
d2+ 0.000 0.714
d3- 0.000 3.571
d3+ 0.000 1.429
d4- 0.000 1.000
d4+ 314.286 0.000
Week 6: Goal Programming 33
GP Example 2: Conceptual Products
Final Solution
▪ Thus the optimal recommendation is to
produce 285.714 CP400 computers, 0
CP500 computers, and 214.286 CP600
computers weekly.
▪ All goals will be met except goal 4.
314.286 extra man-hours or a total of
714.286 man-hours will be used.
Week 6: Goal Programming 34