Goal Programming
Goal Programming
PROGRAMMING
1
General Note
We will now address problems that involve
multiple, conflicting objectives that can be
tackled by linear programming techniques.
There are various methods that have been
proposed we will not look at all of them.
Bear in mind that there is no one right wayto
approach a problem involving multiple
conflicting objectives. (Ignizio and Cavalier
Linear Programming.)
2
Goal 2
Feasible Region
Goal 1
Ideal levels
Goal 2
Feasible Region
Goal 1
Ideal levels
Goal 2
Feasible Region
Distance based on
some metric
Goal 1
Ideal levels
Goal 2
Feasible Region
optimal solution
(minimum distance
to the ideal levels)
Goal 1
LEXICOGRAPHIC IDEA
9
One idea .
Footy
Show
Soap
Opera
HIM
LIP
HIW
7million
10million 5million
$100,000
3million
5million
$60,000
4million
Cost
12
x1,x2 0
13
Our Example
Goal 1:
7x1 + 3x2 40
Goal 3:
s 1 , s + 1 , s 2 , s + 2 , s 3 , s + 3 0
16
IDEA
Observation:
The original ( ) goals would be met, if the slack variables are
equal to zero.
eg.
Original goal: 7x1 + 3x2 40
Modified goal: 7x1 + 3x2 + s1 s+1 = 40
The original goal is satisfied if s 1 = 0 (observing the non
negativity constraints),
because then we have
7x1 + 3x2 = 40 + s+1 40
17
Question:
What guarantee do we have that we can set the
slack variables to zero?
Answer:
We dont have such guarantees, but ... we can
try the best we can ...
best = as small as possible
i.e. minimize !!!!
Want to min s1, min s2 , min s3 .
18
Difficulty
We have more than one slack variable!
How do we minimize three slack
variables simultaneously???
Generally, this cannot be done
WayOut: Measure of distance from
(0,0,...,0). (That is, how close are s1, s2,
and s3 to 0)?
eg. Lexicographic !!!
19
Ranking
Suppose we rank the goals in their
order of importance to us.
SUPPOSE THAT
most important is Goal 1
next: Goal 2
least important : Goal 3
(Major problem: How does the
decision maker rank the goals?)
20
10x1 +
5x2 + s2 s+2 = 60
5x1 +
4x2 + s3 s+3 = 35
100x1 + 60 x2
600
x 1 , x 2, s 1 , s + 1 , s 2 , s + 2 , s 3 , s + 3 0
L meaning Lexicographic.
21
min s1
s.t
Goal 1:
x1 , x 2 , s 1 , s + 1 , s 2 , s + 2 , s 3 , s + 3 0
22
observation
The second and third goals are
superfluous in the sense that we are not
worrying about what happens to them at
this stage.
thus, the above problem is equivalent to:
min s1
s.t
23
24
s 2
s1 = 0
Goal 1:
equivalently
min
s 2
s 1 = 0
Goal 1:
x 1, x 2, s 1 , s + 1, s 2 , s + 2, s 3 , s + 3 0
26
namely
min
Goal 1:
s 2
= 40
+ s2 s+2 = 60
min
s3
s.t
s1 = 0, s2 = 0
Goal 1: 7x1 + 3x2 + s1 s+1 = 40
Goal 2: 10x1 + 5x2 + s2 s+2 = 60
Goal 3:
29
min
s.t
s 3
s1 = 0, s2 = 0
Goal 1:
x 1 , x 2 , s 1 , s +1 , s 2 , s +2 , s 3 , s +3 0
30
min
s3
s.t
Goal 1: 7x1 + 3x2 s+1
Goal 2: 10x1 + 5x2 s+2
Goal 3: 5x1 + 4x2
= 40
= 60
+ s3 s+3 = 35
31
Optimal solution:
x*1 = 6; x*2 = 0;
s*1 = 0; s*2 = 0; s*3 = 5;
s+*1 = 2; s+*2 = 0; s+*3 = 0.
Conclusion
The optimal lexicographic solution will satisfy the
first two goals, but not the third (short by 5 units)
32
General Comment
The procedure that we described can be applied
more generally to lexicographic LP problems.
Set up:
Lopt {c(1)x, c(2)x, ...,c(k)x}
s.t.
Ax b
x0
There are k linear objectives, suppose they are
ranked in order of importance to the decision maker.
33
Procedure
Find the optimal solution for the first
objective:
z(1) := opt c(1)x
s.t.
Ax b
x0
If there is a unique solution stop!
Otherwise, continue.
34
35
etc
Solve the following problem:
z(p+1) := opt c(p+1)x
s.t.
Ax b
c(1)x = z(1)
c(2)x = z(2)
...................
c(p)x = z(p)
x0
If there is a unique solution, stop!
Otherwise continue.
36
Comment
Linear Goal programming
capabilities are now routinely
avialable by commercial LP
packages.
The packages do not use the
approach described above. (They
use some other approaches.)
37