1
GOAL PROGRAMMING
2
• 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 way”to approach a problem involving multiple conflicting objectives. (Ignizio and Cavalier – Linear Programming.)
General Note
3
3.3 Goal Programming
• Basic Idea:
• Instead of optimizing a single valued objective function, try to meet a number of pre–specified goals:
• Eg
• Goal 1: Total cost ≤ $306.75
• Goal 2: Total reliability ≥ 0.95
4
How do you handle the goals?
• There are many approaches. For example, you can use the following approach:
• 1. Determine a set of “ideal” goals.
• 2. Determine a metric in the goal space to measure the distance to the ideal goal.
• 3. Minimize the distance to the “ideal” goal.
5Goal 1
Goal 2
Feasible Region
6
Goal 1
Goal 2
Feasible Region
Ideal levels
7
Goal 1
Goal 2
Feasible Region
Ideal levels
Distance based onsome metric
8
Goal 1
Goal 2
Feasible Region
Ideal levels
optimal solution(minimum distanceto the ideal levels)
9
LEXICOGRAPHIC IDEA
10
One idea .…(there are other ways, see e.g. Winston)
• Rank the goals
• Use the lexicographic order :
Try to do the best you can with regard to the first (most important) goal.
If there is a tie, break it by doing the best you can with regard to the second goal (keeping the first goal at the optimal level)
• etc ....
11
An example (adapted from Winston p. 775)
• BBDO is trying to determine a TV advertising schedule for Fricke Automobile. Fricke has three goals:
• Goals– Goal 1: ad seen by at least 40 million high-income
men
– Goal 2: ad seen by at least 60 million low income people
– Goal 3: ad seen by at least 50 million high-income women
12
Our example (cont’d)
• advertising on 2 types of programs:– footy games (x1 dollars spent)
– soap operas (x2 dollars spent)
• at most $600,000 be spent
HIM LIP HIW CostFootyShow
7 million 10 million 5 million $100,000
SoapOpera
3 million 5 million 4 million $60,000
13
Question: How do we incorporate Goals in Optimization Problems?
• There are three goals:
• Goal 1: 7x1 + 3x2 ≥ 40
• Goal 2: 10x1 + 5x2 ≥ 60
• Goal 3: 5x1 + 4x2 ≥ 35
• There is also the following constraint:
• 100x1 + 60x2 ≤ 600
• and the usual non–negativity constraint:
• x1,x2 ≥ 0
14
Can we use linear programming?• Dilemma:
• There is no objective function:
• the goals are not expressed as “functions”, rather they are expressed like “constraints”.
• How do we “reformulate” the goals as objective functions?
• How do we then use linear programming techniques in this environment?
15
Basic Idea ....
• Use slack and surplus variables to measure “distance” to the goal (RHS)
• Minimise distance to the ideal levels
• Regard these variables as (degenerate) objective functions
16
• Goal 1: 7x1 + 3x2 ≥ 40
• Goal 2: 10x1 + 5x2 ≥ 60
• Goal 3: 5x1 + 4x2 ≥ 35
• We introduce slack and surplus variables to measure the “distance” from the prescribed levels of the goals.
• Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
• Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
• Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
• s–1 , s+
1 , s–2 , s+
2 , s–3 , s+
3 ≥ 0
Our Example
17
• 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 + s–1 – 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
IDEA
18
• Question:
• What guarantee do we have that we can set the slack variables to zero?
• Answer:
• We don’t have such guarantees, but ... we can try the “best” we can ...
• “best” = as small as possible
• i.e. minimize !!!!
• Want to min s–1, min s–
2 , min s–3 .
19
Difficulty
• We have more than one slack variable! How do we minimize three slack variables simultaneously???
• Generally, this cannot be done
• Way–Out: Measure of distance from (0,0,...,0). (That is, how close are s–
1, s–2,
and s–3 to 0)?
• eg. Lexicographic !!!
20
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?)
21
So we set the problem up as the Lexicographic linear programming problem:• L– min(s–
1, s–2 , s–
3 )
• 7x1 + 3x2 + s–1 – s+
1 = 40
• 10x1 + 5x2 + s–2 – s+
2 = 60
• 5x1 + 4x2 + s–3 – s+
3 = 35
• 100x1 + 60 x2 ≤ 600
• x1, x2, s–1 , s+
1 , s–2 , s+
2 , s–3 , s+
3 ≥ 0
• L meaning Lexicographic.
22
Example continued ...• If we rank Goal 1 as the most important
goal, we then have to consider its slack variable first:
• min s–1
• s.t
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+
1, s–2 , s+
2, s– 3 , s+
3 ≥ 0
23
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 s–1
• s.t
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+
1 ≥ 0
1
24
• Solving this problem we obtain the optimal solution s–
*1= 0. This means that we can meet the first goal.
• See lecture for details.
• In this problem there are multiple optimal solutions. Which one should we pick?
• According to the lexicographic order, we now have to break ties by optimizing the second goal (keeping the first goal at its optimal level i.e. keeping s–
1= 0).
• Note that if there was a unique solution we’d stop here.
25
Thus, our problem is now
• min s–2
• s.t
s–1 = 0
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+
1, s–2 , s+
2 ≥ 0
26
min s–2
s–1 = 0
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+
1, s–2 , s+
2, s–3 , s+
3 ≥ 0
equivalently
27
namely
min s–2
Goal 1: 7x1 + 3x2 – s+1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
100x1 + 60x2 ≤ 600
x1, x2, s+1, s
–2 , s+
2 ≥ 0
28
• If we solve this problem we obtain the optimal solution s–*
2= 0
• If there are ties (multiple optimal solutions, as there are here) we have to resolve the situation by looking at the third goal.
• Thus, our next problem is:
29
•min s–3
•s.t
s–1 = 0, s–
2 = 0
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s–
1, s+1, s
–2 , s+
2, s–
3 , s+3 ≥ 0
30
• min s–3
• s.t
s–1 = 0, s–
2 = 0
Goal 1: 7x1 + 3x2 + s–1 – s+
1 = 40
Goal 2: 10x1 + 5x2 + s–2 – s+
2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+
1, s–2 , s+
2, s–3 , s+
3 ≥ 0
31
• min s–3
• s.t
Goal 1: 7x1 + 3x2 – s+1 = 40
Goal 2: 10x1 + 5x2 – s+2 = 60
Goal 3: 5x1 + 4x2 + s–3 – s+
3 = 35
100x1 + 60x2 ≤ 600
x1, x2, s+1 , s+
2, s–
3 , s+3 ≥ 0
Solving this we get:
32
• 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)
33
General Comment• The procedure that we described can be applied
more generally to lexicographic LP problems.
• Set up:
L–opt {c(1)x, c(2)x, ...,c(k)x}
s.t.
Ax ≤ b
x ≥ 0
• There are k linear objectives, suppose they are ranked in order of importance to the decision maker.
34
Procedure
• Find the optimal solution for the first objective:
z(1) := opt c(1)x
s.t.
Ax ≤ b
x ≥ 0
• If there is a unique solution stop! Otherwise, continue.
35
• Solve the problem:
z(2) := opt c(2)x
s.t.
Ax ≤ b
c(1)x = z(1)
x ≥ 0
• If there is a unique solution, stop!
• Otherwise, continue...
36
• 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)
x ≥ 0
• If there is a unique solution, stop!
• Otherwise continue.
37
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.)