Examples..
Basic difference between GP and AHP
GP answers “how much?”, whereas AHP answers “which
one?”
GP: In many situations, a company wants to achieve several
objectives. Given limited resources, it may prove impossible
to meet all objectives simultaneously. If the company can
prioritize its objectives, then Goal Programming can be used
to make good decisions.
AHP: Method for ranking decision alternatives and selecting
the best one when the decision maker has multiple
objectives, or criteria
Multi-Objective Decision Making: Goal
Programming
Goal Constraints
General form of goal constraint:
Steps Required:
1. Define the decision variables
2. Define the goals and deviational variables
3. Formulate the GP Model’s Parameters:
Economic Constraints
Goal Constraints
Objective Function
4. Solve the GP using the graphical approach
GP: Example 2
Step 1: Define the decision variables:
X1 = the number of current clients visited
X2 = the number of new clients visited
Step 2: Define the goals:
Goal 1 – Contact 200 current clients
Goal 2 – Contact 120 new clients
Objective Function:
Minimize Weighted Deviations
i.e., Minimize Z = d1- + d2-
GP: Example 2
Complete formulation:
Minimize Z = d1- + d2-
Subject to:
2X1 + 3X2 <= 640
X1 + d1- - d1+ = 200
X2 + d2- - d2+ = 120
X1, X2 => 0
d1+, d1-, d2+, d2- => 0
Graph constraint???
2X1 + 3X2 = 640
If X1 = 0, X2 = 213
If X2 = 0, X1 = 320
Plot points (0, 213) and (320, 0)
Graphical Solution: Example 2
X2
(0,213)
200
150
100
50
(320,0)
X1
0 50 100 150 200 250 300 350
Graphical Solution: Example 2
X2
Goal 1
(0,213)
200
d1-
d1+
150 d2+
Goal 2
(140,120)
100 d2-
(200,80)
50
(320,0)
X1
0 50 100 150 200 250 300 350
Graphical Solution: Example 2
Want to Minimize d1- + d2-
So we evaluate each of the candidate solution
points:
Z = 40
Example 3: An electric company
An electric company produces two products: Grinders and ceiling
fans. Both the products require a two-step production process
involving wiring and assembly. It takes 2 hours to wire each
grinder and 3 hours to wire a ceiling fan. Final assembly of the
grinders and fans requires 6 and 5 hours, respectively.
The production capability is such that only 30 hours of assembly
time are available. At least 12 hours of wiring have to be utilized
due to certain rental constraints. If each grinder produced gives the
firm Rs. 700 and each fan Rs. 600, the LPP is
Formulate it as a GP.
Example 3
The Goals can be stated as :
7x1+ 6x2 > 30
2x1+ 3x2 > 12 (wiring)
6x1+ 5x2 < 30 (assembly)
x2 > 7
x1 > 0
Let’s define :
di+ : amount by which we numerically exceed the ith goal
di- : amount by which we are numerically below the ith goal.
di+, di- : deviational variables
Example 3
The goal programming problem can be
formulated as:
Min Z = d1- + d2- +d3+ + d4- .
St
7x1+ 6x2 –d1+ + d1- = 30
2x1+ 3x2 –d2+ + d2- =12
6x1+ 5x2 –d3+ + d3- =30
x2 –d4+ + d4- = 7
x1, x2 , di+, di- >0 i =1,2,3,4.
Goal Programming Algorithms
Step-1:
o Solve LPi that minimizes Gi, and let pi = pi* define the
corresponding optimum value of the deviational variable pi.
o If i = n, stop; LPn solves the n-goal program.
o Otherwise, add the constraint pi = pi* to the constraints of the
Gi-problem to ensure that the value of pi will not be degraded
in future problem.
Set i = i+1, and repeat step i.
Example 5: Religare Securities Ltd
Religare Securities Ltd has a client with $80,000 to invest
in a portfolio of only two stocks:
NOTE: Here, P1 and P2 are not weights, they are labels that indicate priority
Solution
Graph
Priority 1 Goal
Resource Constraint
Priority 2 Goal
Example – 4 (Revisited)
The goal programming formulation for the problem is given
as.
Minimize G1 = d1- (Satisfy exposure goal)
Minimize G2 = d2+ (Satisfy budget goal)
Subject to
4x1 + 8 x2 + d1- –d1+ = 45 (Exposure Goal)
8x1 + 24x2 + d2- –d2+ = 100 (Budget Goal)
x1+ 2x2 < 10 (Personnel limit)
x1 < 6 (Radio limit)
x1, x2, d1+ , d1- , d2+ , d2- > 0
Example – 4 (Preemptive method)
Assume that the exposure goal has a higher priority.
Step 1. G1 > G2
G1 = Minimize d1- (Satisfy exposure goal)
G2 = Minimize d2+ (Satisfy budget goal)
Step 2. Solve LP1
Minimize G1 = d1-
Subject to
4x1 + 8 x2 –d1+ + d1- = 45 (Exposure Goal)
8x1 + 24x2 –d2+ + d2- = 100 (Budget Goal)
x1+ 2x2 < 10 (Personnel limit)
x1 < 6 (Radio limit)
x1, x2, d1+ , d1- , d2+ , d2- > 0
Example – 4 (Preemptive method)
The optimal solution is x1=5, x2=2.5 and d1- = 5 with remaining
variables equal to zero.
Step 3. Solve LP2
Minimize G2 = d2+
Subject to
4x1 + 8 x2 –d1+ = 40 (Exposure Goal) , (d1- = 5 )
8x1 + 24x2 –d2+ + d2- = 100 (Budget Goal)
x1+ 2x2 < 10 (Personnel limit)
x1 < 6 (Radio limit)
x1, x2, d1+ , d2+ , d2- > 0
Functional Constraints
Availability of memory modules: 2x1 + x2 < 1000
Availability of external hard drives: x2 < 500
Availability of cases: x1 + x2 < 600
EX6. Goal Programming: 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
EX6. Goal Programming: Formulation
Objective Functions
x1, x2, d1-, d1+, d2-, d2+, d3-, d3+, d4-, d4+ > 0
EX6. Goal Programming: Solution
Graphical Solution
Iteration 1
To solve graphically, first graph the functional constraints.
Then graph the first goal: x1 = 200.
EX6. Goal Programming: Solution
Functional Constraints and Goal 1 Graphed
x2
1000 2x1 + x2 < 1000
400
Points
Satisfying
200
Goal 1
x1
200 400 600 800 1000 1200
EX6. Goal Programming: Solution
Iteration 2
Now keeping 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 (i.e.; d2- = 0).
EX6. Goal Programming: Solution
Goal 1 (Constraint) and Goal 2 Graphed
x2
1000
2x1 + x2 < 1000
800 Goal 1: x1 > 200
x2 < 500
600 x1 + x2 < 600
x1
200 400 600 800 1000 1200
EX6. Goal Programming: Solution
Iteration 3
Now keeping Goal 1, Goal 2, plot 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.
EX6. Goal Programming: Solution
Goal 2 (Constraint), Goal 3 and Goal 4 Graphed
x2
2x1 + x2 < 1000
1000
Goal 1: x1 > 200
800
x1 + x2 < 600 x2 < 500
600
(200,400)
400
Goal 2: x1 + x2 > 500
200
Goal 3: .2x1 + .5x2 > 250
x1
200 400 600 800 1000 1200
Goal 4: x1 + 1.5x2 < 400
Example – 3 Revisited (An electric company):
(Preemptive method)
The goal programming problem can be formulated as:
Millions of Viewers
Ad HIM LIP HIW Cost (S)
Football 7 10 5 100,000
Soap Opera 3 5 4 60,000
Leon Burnit must determine how many football ads and soap
opera ads to purchase for Priceler.
Summary
If a decision maker has a linear cost function, goal programming can be
used in two different ways to represent tradeoffs between different goals. In
both the methods, deviational variables are used to convert each goal into a
constraint.
Assign a penalty per unit of deviation from each goal and use linear programming to
minimize the total penalty incurred because of unmet goals.
Ranks goals in priority from highest to lowest and use preemptive goal programming and
the goal programming simplex.
(Preemptive goal programming finds all points that come as close as
possible to meeting goal 1. Then among these points, find the points that
come as close as possible to meeting the next goal. Continue this until any
improvement in a goal can come only at the expense of a higher-priority
goal.)
Multi Objective Optimization
There exists many methods to solve MOO problems.
For example, Evolutionary Algorithms using Genetic Algorithms, Neural
Computing, etc.
Evolutionary algorithms seem particularly suitable to solve multi-objective optimization
problems, because they deal simultaneously with a set of possible solutions (the so-called
population). This allows us to find several members of the Pareto optimal set in a single
run of the algorithm, instead of having to perform a series of separate runs as in the case
of the traditional mathematical programming techniques.
Simulated Annealing
Epsilon Constraint Methods
Posterior Preference
Particle Swarm Optimization
…