4.5 Goal Programming (NILN)

advertisement
GOAL
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 way”to
approach a problem involving multiple
conflicting objectives. (Ignizio and Cavalier –
Linear Programming.)
2
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
3
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.
4
Goal 2
Feasible Region
Goal 1
5
Ideal levels
Goal 2
Feasible Region
6
Goal 1
Ideal levels
Goal 2
Feasible Region
Distance based on
some metric
7
Goal 1
Ideal levels
Goal 2
Feasible Region
optimal solution
(minimum distance
to the ideal levels)
8
Goal 1
LEXICOGRAPHIC IDEA
9
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 ....
10
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
11
Our example (cont’d)
• advertising on 2 types of programs:
– footy games
– soap operas
(x1 dollars spent)
(x2 dollars spent)
• at most $600,000 be spent
Footy
Show
Soap
Opera
HIM
LIP
HIW
7 million
10 million 5 million
$100,000
3 million
5 million
$60,000
4 million
Cost
12
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
13
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?
14
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
15
Our Example
•
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
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 + s–1 – s+1 = 40
• The original goal is satisfied if s–1 = 0
(observing the non–negativity constraints),
• because then we have
17
• 7x1 + 3x2 = 40 + s+1 ≥ 40
• 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 .
18
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 !!!
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
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.
21
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
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 s–1
• s.t
1
Goal 1: 7x1 + 3x2 + s–1 – s+1 = 40
100x1 + 60x2 ≤ 600
x1, x2, s–1, s+1 ≥ 0
23
• 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 24
we’d stop here.
Thus, our problem is now
• min
• s.t
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 ≥ 0
25
equivalently
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
min
26
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
27
• 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:
28
•min
•s.t
s –3
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
29
• min
• s.t
s–3
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
•
• s.t
min
s–3
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:
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:
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 33
the decision maker.
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.
34
• 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...
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)
x≥0
• 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
Download