You are on page 1of 30

Chapter 14: Goal Programming

Goal programming is 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.

Slide 1
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.

Slide 2
Goal Programming Formulation

Step 1: Decide the priority level of each goal.

Step 2: Decide the weight on 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.
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.
Slide 3
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
w1d1+ + w2d2- = k
Go to step 4. (Repeat steps 4 and 5 until all priority
levels have been examined.)
Slide 4
GP Example: Conceptual Products

Conceptual Products produces CP400 and CP500


computers that use memory modules, external hard
drives, and cases. 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.
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.

Slide 5
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)

Slide 6
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

Slide 7
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

Slide 8
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+

Slide 9
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

Slide 10
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).

Slide 11
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
Satisfying
200
Goal 1
x1
200 400 600 800 1000 1200
Slide 12
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).

Slide 13
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


Both Goals 1 and 2
200 Goal 2: x1 + x2 > 500

x1
200 400 600 800 1000 1200
Slide 14
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.

Slide 15
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)
Points Satisfying
400 Both Goals 1 and 2
Goal 2: x1 + x2 > 500
200
Goal 3: .2x1 + .5x2 = 250
x1
200 400 600 800 1000 1200
Slide 16
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.

Slide 17
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.

Slide 18
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.

Slide 19
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.

Slide 20
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

Slide 21
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

Slide 22
GP Example 2: Conceptual Products

Objective Functions

Priority 1: Minimize the number of CP400 under


200 units: 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+

Slide 23
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

Slide 24
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

Slide 25
GP Example 2: Conceptual Products

Priority 2 Formulation
Min d2-
( include the previous 7 constraints,
i.e. 3 functional constraints and 4 goal
constraints )
( add the constraint: d1- = 0 )

Slide 26
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

Slide 27
GP Example 2: Conceptual Products

Priority 3 Formulation
Min 5d3- + d4+
( include the previous 8 constraints
i.e. 3 functional constraints and 4 goal
constraints and d1- = 0 )

( add the constraint: d2- = 0 )

Slide 28
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

Slide 29
GP Example 2: Conceptual Products

Final Solution

Thus the optimal recommendation is to produce


285.714 CP400 computers, 0 CP500 computers, and
weekly and 214.286 CP600 computers weekly.
All goals will be met except goal 4. 314.286 extra
man-hours or a total of 714.286man-hours will be
used.

Slide 30

You might also like