Goal Programming
Goal Programming
Goal Programming
Goal Programming
Till Now
➢ Transportation
➢ Transshipment
➢ Assignment Problems
➢ Integer Programming
➢ Network Models
➢ Data Envelopment
2
Till Now
➢ Transportation
➢ Transshipment
➢ Assignment Problems
➢ Integer Programming
➢ Network Models
➢ Data Envelopment
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.
❑ 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
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+
Min d 2-
➢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.
❑ 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
37
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
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
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