Goal Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

Risk Analysis

Goal Programming
Till Now
➢ Transportation
➢ Transshipment
➢ Assignment Problems
➢ Integer Programming
➢ Network Models
➢ Data Envelopment

■ Single criterion (e.g. maximize profit, minimize cost, etc) to


arrive at best decision.

2
Till Now
➢ Transportation
➢ Transshipment
➢ Assignment Problems
➢ Integer Programming
➢ Network Models
➢ Data Envelopment

■ Single criterion (e.g. maximize profit, minimize cost, etc) to


arrive at best decision.
Today’s Session
■ Multiple criterion in arriving at the overall best decisions.
3
Example
Let us consider a problem facing Nicolo Investment Advisors. A client has
$80,000 to invest and, as an initial strategy, would like the investment portfolio
restricted to two stocks:
Stock Price/Share Estimated Annual Risk Index /
Return / Share Share
U.S. Oil $25 $3 (i.e. 12%) 0.50
Hub Properties $50 $5 (i.e. 10%) 0.25
Example
Let us consider a problem facing Nicolo Investment Advisors. A client has
$80,000 to invest and, as an initial strategy, would like the investment portfolio
restricted to two stocks:
Stock Price/Share Estimated Annual Risk Index /
Return / Share Share
U.S. Oil $25 $3 (i.e. 12%) 0.50
Hub Properties $50 $5 (i.e. 10%) 0.25

Nicolo’s client would like to avoid a high-risk portfolio; thus, investing all
funds in U.S. Oil would not be desirable. However, the client agreed that an
acceptable level of risk would correspond to portfolios with a maximum total
risk index of 700. Thus, considering only risk, one goal is to find a portfolio
with a risk index of 700 or less.
Another goal of the client is to obtain an annual return of at least $9000.
Example
❑ Goal 1:
Find a portfolio that has a risk index of 700 or less.

❑ Goal 2
Find a portfolio that will provide an annual return of at least $9000.
Example
❑ The portfolio selection problem is a multi-criteria decision problem
involving two conflicting goals:
➢ one dealing with risk and one dealing with annual return.
❑ The goal programming approach was developed precisely for this kind of
problem.
❑ Goal programming can be used to identify a portfolio that comes closest to
achieving both goals.
❑ Before applying the methodology, the client must determine which, if
either, goal is more important.
Example
❑ Primary Goal (Priority Level 1)
Goal 1: Find a portfolio that has a risk index of 700 or less.

❑ Secondary Goal (Priority Level 2)


Goal 2: Find a portfolio that will provide an annual return of at least $9000.
Goal Programming: Formulation
❑ Variables
U = number of shares of U.S. Oil to be purchased
H = number of shares of Hub Properties to be purchased
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 funds:
25U + 50H < 80,000
Goal Programming: Formulation
❑ Goals
(1) Risk index of 700 or less: 0.50U + 0.25H ≤ 700
0.50U + 0.25H = 700 + d1+ - d1-
(2) Annual return of at least $9000: 3U + 5H ≥ 9,000
3U + 5H = 9,000 + d2+ - d2-
Non-negativity:
U, H, di-, di+ > 0 for all i

d1+=the amount by which the portfolio risk index exceeds the target value of 700
d1- =the amount by which the portfolio risk index is less than the target value of 700
d2+ = the amount by which the annual return for the portfolio is greater than the target
value of $9000
d2- =the amount by which the annual return for the portfolio is less than the target value
of $9000
Goal Programming: Formulation
❑ Objective Functions

Priority 1:
Minimize the amount by which the portfolio risk index exceeds the target
value of 700, i.e. Min d1+

Priority 2:
Minimize the amount by which the annual return for the portfolio is less than
the target value of $9000, i.e. Min d2-
Goal Programming: Formulation
❑ Formulation Summary

Min P1(d1+) + P2(d2-)

s.t. 25U + 50H < 80,000 (Funds available)


0.50U + 0.25H - d1+ + d1- = 700 (P1 goal)
3U + 5H - d2+ + d2- = 9,000 (P2 goal)
U, H, d1-, d1+, d2-, d2+ > 0
Goal Programming: Graphical Solution
❑ Iteration 1 : Graph the functional constraints.
Goal Programming: Graphical Solution
❑ Iteration 2 : Graph the first goal.
Goal Programming: Graphical Solution
❑ Iteration 3 : Graph the second goal.
Goal Programming: Graphical Solution
❑ Iteration 2 : Graph the first goal.
Goal Programming: Graphical Solution
❑ Iteration 3 : Graph the second goal.
Goal Programming: Graphical Solution
❑ Summary

Thus, the goal programming solution for the Nicolo Investment problem
recommends that
➢ $80,000 available for investment be used to purchase 800 shares of U.S.
Oil and 1200 shares of Hub Properties.
➢ Priority level 1 goal of a portfolio risk index of 700 or less has been
achieved.
➢ However, the priority level 2 goal of at least a $9000 annual return is not
achievable.
➢ The annual return for the recommended portfolio is $8400.
Goal Programming: Graphical Solution
❑ Summary

Step 1. Identify the feasible solution points that satisfy the problem
constraints.
Step 2. Identify all feasible solutions that achieve the highest priority goal; if
no feasible solutions will achieve the highest priority goal, identify the
solution(s) that comes closest to achieving it.
Step 3. Move down one priority level, and determine the “best” solution
possible without sacrificing any achievement of higher priority goals.
Step 4. Repeat step 3 until all priority levels have been considered.
Solution using Excel-Solver

20
Priority Level 1 Goals

Min d 1+

s.t. 25U + 50H < 80,000 (Funds available)


0.50U + 0.25H - d1+ + d1- = 700 (P1 goal)
3U + 5H - d2+ + d2- = 9,000 (P2 goal)
U, H, d1-, d1+, d2-, d2+ > 0
Priority Level 1 Goals

Decision U H d1+ d1- d2+ d2-  Name


Variables 0 0 0 0 0 0  Value
Obj function 0 0 1 0 0 0 0 Z
Coefficients LHS RHS
25 50 0 0 0 <= 80000
Constraints 0.50 0.25 -1 1 0 0 0 = 700
3 5 -1 1 0 = 9000
Priority Level 1 Goals

Decision U H d1+ d1- d2+ d2-  Name


Variables 0 1600 0 300 0 1000  Value
Obj function 0 1 0
0 0 0 0 Z
Coefficients LHS RHS
25 50 0 0 80000 <= 80000
Constraints 0.50 0.25 -1 1 0 0 700 = 700
3 5 -1 1 9000 = 9000

➢The solution shows H =1600.


➢Because d1+ =0, we see that the solution achieves goal 1.
➢Alternatively, the value of the objective function is 0, confirming that the priority level 1 goal has
been achieved.
Priority Level 1 & 2 Goals

Min d 2-

s.t. 25U + 50H < 80,000 (Funds available)


0.50U + 0.25H - d1+ + d1- = 700 (P1 goal)
3U + 5H - d2+ + d2- = 9,000 (P2 goal)
d1+ = 0 (Maintain achievement of P1 goal)
U, H, d1-, d1+, d2-, d2+ > 0
Priority Level 1 & 2 Goals
Decision U H d1+ d1- d2+ d2-  Name
Variables 0 0 0 0 0 0  Value
Obj function 0 0 0 0 0 1 0 Z
Coefficients LHS RHS
25 50 0 0 0 <= 80000
0.50 0.25 -1 1 0 0 0 = 700
Constraints
3 5 -1 1 0 = 9000
1 0 = 0
Priority Level 1 & 2 Goals

Decision U H d1+ d1- d2+ d2-  Name


Variables 800 1200 0 0 0 600  Value
Obj function 0 0 0 0 0 1 600 Z
Coefficients LHS RHS
25 50 0 0 80000 <= 80000
0.50 0.25 -1 1 0 0 700 = 700
Constraints
3 5 -1 1 9000 = 9000
1 0 = 0

➢Objective function value of 600 indicates that the priority level 2 goal cannot be achieved.
➢Because d2--=600, the optimal solution of U = 800 and H = 1200 results in $600 less return than
desired.
➢However, the fact that we solved the P2 problem tells us the goal programming solution comes as
close as possible to satisfying priority level 2 goal given the achievement of the priority level 1 goal.
Practice Problem

27
Example 2
Management of Suncoast Office Supplies establishes monthly goals, or quotas, for the
types of customers contacted. For the next 4 weeks, Suncoast's customer contact
strategy calls for the sales force, which consists of four salespeople, to make 200
contacts with customers who have previously purchased supplies from the firm. In
addition, the strategy calls for 120 contacts of new customers. The purpose of this
latter goal is to ensure that the sales force is continuing to investigate new sources of
sales.

Making allowances for travel and waiting time, as well as for demonstration and direct
sales time, Suncoast has allocated 2 hours of sales force effort to each contact of a
previous customer. New customer contacts tend to take longer and require 3 hours per
contact. Normally, each salesperson works 40 hours per week, or 160 hours over the 4-
week planning horizon; under a normal work schedule, the four salespeople will have
4(160)=640 hours of sales force time available for customer contacts.

28
Example 2
Management is willing to use some overtime, if needed, but is also willing to accept a
solution that uses less than the scheduled 640 hours available. However, management
wants overtime of at most 40 hours and underutilization of the work force limited to at
most 40 hours over the 4-week period. Thus, from an overtime perspective,
management’s goal is to use no more than 640+40=680 hours of sales force time, and
from a labor utilization perspective, management’s goal is to use at least 640-40=600
hours of sales force time.

In addition to the customer contact goals, Suncoast has established a goal regarding
sales volume. Based on past experience, Suncoast estimates that each previous
customer contacted will generate $250 of sales and each new customer contacted will
generate $125 of sales. Management would like to generate sales of at least $70,000
for the next month.

Given Suncoast’s small sales force and the short time frame involved, management has
decided that the overtime goal and the labor utilization goal are both priority level 1
goals. Management also concluded that the $70,000 sales goal should be a priority
level 2 goal and that the two customer contact goals should be priority level 3 goals.

29
Goals
❑ Priority Level 1 Goals
Goal 1: Do not use any more than 680 hours of salesforce time.
Goal 2: Do not use any less than 600 hours of salesforce time.

❑ Priority Level 2 Goals


Goal 3: Generate sales revenue of at least $70,000.

❑ Priority Level 3 Goals


Goal 4: Call on at least 200 established customers.
Goal 5: Call on at least 120 new customers.
Goal Programming: Formulation
❑ Variables
E = the number of established customers contacted
N = the number of new customers contacted
di- = amount the right hand side of goal i is deficient
di+ = amount the right hand side of goal i is exceeded

❑ Functional Constraints
Nil
Goal Programming: Formulation
❑ Goals
(1) Do not use any more than 680 hours of salesforce time:
2E + 3N = 680 + d1+ - d1-
(2) Do not use any less than 600 hours of salesforce time:
2E + 3N = 600 + d2+ - d2-
(3) Generate sales revenue of at least $70,000:
250E + 125N = 70,000 + d3+ - d3-
(4) Call on at least 200 established customers:
E = 200 + d4+ - d4-
(5) Call on at least 120 new customers:
N = 120 + d5+ - d5-
Non-negativity:
E, N, di-, di+ > 0 for all i
Goal Programming: Formulation
d1+=the amount by which the number of hours used by the salesforce is greater than the
target value of 680 hours
d1- =the amount by which the number of hours used by the salesforce is less than the
target value of 680 hours

d2+ = the amount by which the number of hours used by the salesforce is greater than
the target value of 600 hours
d2- =the amount by which the number of hours used by the salesforce is less than the
target value of 600 hours

d3+ = the amount by which the sales revenue is greater than the target value of $70,000
d3- = the amount by which the sales revenue is less than the target value of $70,000
Goal Programming: Formulation
d4+ = the amount by which the number of established customer contacts is greater than
the target value of 200 established customer contacts
d4- = the amount by which the number of established customer contacts is less than the
target value of 200 established customer contacts

d5+ = the amount by which the number of new customer contacts is greater than the
target value of 120 new customer contacts
d5- = the amount by which the number of new customer contacts is less than the target
value of 120 new customer contact
Goal Programming: Formulation
❑ Objective Functions

Priority 1: Min d1 + + d2 -
Priority 2: Min d3 -
Priority 3: Min d4 - + d5 -
Priority 3 (Updated) :
Suppose that management believes that generating new customers is vital to the long-
run success of the firm and that goal 5 should be weighted more than goal 4. If
management believes that goal 5 is twice as important as goal 4, the objective function
for the priority level 3 problem would be
Min d4- + 2d5-
Goal Programming: Formulation
❑ Formulation Summary

Min P1(d1+) + P1(d2-) + P2(d3-) + P3(d4-) + P3(2d5-)

s.t. 2E + 3N - d1+ + d1- = 680 (Goal 1)


2E + 3N - d2+ + d2- = 600 (Goal 2)
250E + 125N – d3+ + d3- = 70,000 (Goal 3)
E - d4+ + d4- = 200 (Goal 4)
N – d5+ + d5- = 120 (Goal 5)
E, N, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d5+ > 0
Solution using Excel-Solver

37
Priority Level 1 Goals

Min d1+ + d2-


s.t. 2E + 3N - d1+ + d1- = 680 (Goal 1)
2E + 5N - d2+ + d2- = 600 (Goal 2)
250E + 125N – d3+ + d3- = 70,000 (Goal 3)
E - d4+ + d4- = 200 (Goal 4)
N – d5+ + d5- = 120 (Goal 5)
E, N, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d5+ > 0
Priority Level 1 Goals

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 0 0 0 0 0 0 0 0 0 0 0 0  Value
Obj function 0 0 1 0 0 1 0 0 0 0 0 0 0 Z
Coefficients LHS RHS
2 3 -1 1 0 = 680
2 3 -1 1 0 = 600
Constraints 250 125 -1 1 0 = 70000
1 -1 1 0 = 200
1 -1 1 0 = 120
Priority Level 1 Goals

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 250 60 0 0 80 0 0 0 50 0 0 60  Value
Obj function 0 0 1 0 0 1 0 0 0 0 0 0 0 Z
Coefficients LHS RHS
2 3 -1 1 680 = 680
2 3 -1 1 600 = 600
Constraints 250 125 -1 1 70000 = 70000
1 -1 1 200 = 200
1 -1 1 120 = 120

➢The solution shows E =250 established customer contacts and N =60 new customer contacts.
➢Because d1+ =0 and d2- =0, we see that the solution achieves both goals 1 and 2.
➢Alternatively, the value of the objective function is 0, confirming that both priority level 1 goals
have been achieved.
Priority Level 1 & 2 Goals

Min d3-
s.t. 2E + 3N - d1+ + d1- = 680 (Goal 1)
2E + 5N - d2+ + d2- = 600 (Goal 2)
250E + 125N – d3+ + d3- = 70,000 (Goal 3)
E - d4+ + d4- = 200 (Goal 4)
N – d5+ + d5- = 120 (Goal 5)
d1+ + d 2- = 0 (Maintain achievement of P1 goal)
E, N, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d5+ > 0
Priority Level 1 & 2 Goals

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 0 0 0 0 0 0 0 0 0 0 0 0  Value
Obj function 0 0 0 0 0 0 0 1 0 0 0 0 0 Z
Coefficients LHS RHS
2 3 -1 1 0 = 680
2 3 -1 1 0 = 600
250 125 -1 1 0 = 70000
Constraints
1 -1 1 0 = 200
1 -1 1 0 = 120
0 0 1 0 0 1 0 0 0 0 0 0 0 = 0
Priority Level 1 & 2 Goals

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 250 60 0 0 80 0 0 0 50 0 0 60  Value
Obj function 0 0 0 0 0 0 0 1 0 0 0 0 0 Z
Coefficients LHS RHS
2 3 -1 1 680 = 680
2 3 -1 1 600 = 600
250 125 -1 1 70000 = 70000
Constraints
1 -1 1 200 = 200
1 -1 1 120 = 120
0 0 1 0 0 1 0 0 0 0 0 0 0 = 0

➢The solution shows E =250 established customer contacts and N =60 new customer contacts.
➢Because d3--=0, we see that the solution achieves goal 3.
➢Alternatively, the value of the objective function is 0, confirming that priority level 2 goals has been
achieved.
Priority Level 1, 2 & 3 Goals

Min d4- + 2d5-


s.t. 2E + 3N - d1+ + d1- = 680 (Goal 1)
2E + 5N - d2+ + d2- = 600 (Goal 2)
250E + 125N – d3+ + d3- = 70,000 (Goal 3)
E - d4+ + d4- = 200 (Goal 4)
N – d5+ + d5- = 120 (Goal 5)
d1+ + d 2- = 0 (Maintain achievement of P1 goal)
d3- = 0 (Maintain achievement of P2 goal)
E, N, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d5+ > 0
Priority Level 1, 2 & 3 Goals
Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 0 0 0 0 0 0 0 0 0 0 0 0  Value
Obj function 0 0 0 0 0 0 0 0 0 1 0 2 0 Z
Coefficients LHS RHS
2 3 -1 1 0 = 680
2 3 -1 1 0 = 600
250 125 -1 1 0 = 70000
Constraints 1 -1 1 0 = 200
1 -1 1 0 = 120
0 0 1 0 0 1 0 0 0 0 0 0 0 = 0
0 0 0 0 0 0 0 1 0 0 0 0 0 = 0
Priority Level 1, 2 & 3 Goals
Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Name
Variables 250 60 0 0 80 0 0 0 50 0 0 60  Value
Obj function 0 0 0 0 0 0 0 0 0 1 0 2 120 Z
Coefficients LHS RHS
2 3 -1 1 680 = 680
2 3 -1 1 600 = 600
250 125 -1 1 70000 = 70000
Constraints 1 -1 1 200 = 200
1 -1 1 120 = 120
0 0 1 0 0 1 0 0 0 0 0 0 0 = 0
0 0 0 0 0 0 0 1 0 0 0 0 0 = 0
➢Objective function value of 120 indicates that the priority level 3 goals cannot be achieved.
➢Because d5--=60, the optimal solution of E = 250 and N = 60 results in 60 fewer new customer
contacts than desired
➢However, the fact that we solved the P3 problem tells us the goal programming solution comes as
close as possible to satisfying priority level 3 goals given the achievement of both the priority level 1
and 2 goals.
Goal Programming: Summary
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.
Goal Programming: Summary
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.)
Goal Programming with one Priority Level

Min d1++ d2- + d3-+ d4- + 2d5-

s.t. 2E + 3N - d1+ + d1- = 680 (Goal 1)


2E + 5N - d2+ + d2- = 600 (Goal 2)
250E + 125N – d3+ + d3- = 70,000 (Goal 3)
E - d4+ + d4- = 200 (Goal 4)
N – d5+ + d5- = 120 (Goal 5)
E, N, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+, d5-, d5+ > 0
Goal Programming with one Priority Level

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Names
Variables 0 0 0 0 0 0 0 0 0 0 0 0  Values
Obj function 0 0 1 0 0 1 0 1 0 1 0 2 0 Z
Coefficients LHS RHS
2 3 -1 1 0= 680
2 3 -1 1 0= 600
Constraints 250 125 -1 1 0= 70000
1 -1 1 0= 200
1 -1 1 0= 120
Goal Programming with one Priority Level

Decision E N d1+ d1- d2+ d2- d3+ d3- d4+ d4- d5+ d5-  Names
Variables 250 60 0 0 80 0 0 0 50 0 0 60  Values
Obj function 0 0 1 0 0 1 0 1 0 1 0 2 120 Z
Coefficients LHS RHS
2 3 -1 1 680 = 680
2 3 -1 1 600 = 600
Constraints 250 125 -1 1 70000 = 70000
1 -1 1 200 = 200
1 -1 1 120 = 120
Thank You

52

You might also like