Vous êtes sur la page 1sur 37

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 wayto
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 prespecified 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

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 .

(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 (contd)


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

7million

10million 5million

$100,000

3million

5million

$60,000

4million

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 nonnegativity 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:

Goal 2: 10x1 + 5x2 60

7x1 + 3x2 40

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 + s1 s+1 = 40

Goal 2: 10x1 + 5x2 + s2 s+2 = 60

Goal 3:

5x1 + 4x2 + s3 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 + 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

So we set the problem up as


the Lexicographic linear
programming problem:
L min(s1, s2 , s3 )

7x1 + 3x2 + s1 s+1 = 40

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

Example continued ...


If we rank Goal 1 as the most important
goal, we then have to consider its slack
variable first:

min s1
s.t
Goal 1:

7x1 + 3x2 + s1 s+1 = 40

Goal 2: 10x1 + 5x2 + s2 s+2 = 60


Goal 3:

5x1 + 4x2 + s3 s+3 = 35


100x1 + 60x2 600

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

Goal 1: 7x1 + 3x2 + s1 s+1 = 40

100x1 + 60x2 600


x1, x2, s1, 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 s1= 0).
Note that if there was a unique solution wed stop
here.

24

Thus, our problem is now


min
s.t

s 2
s1 = 0

Goal 1:

7x1 + 3x2 + s1 s+1 = 40

Goal 2: 10x1 + 5x2 + s2 s+2 = 60


Goal 3:

5x1 + 4x2 + s3 s+3 = 35

100x1 + 60x2 600


x 1 , x 2 , s 1 , s +1 , s 2 , s +2 0
25

equivalently
min

s 2
s 1 = 0

Goal 1:

7x1 + 3x2 + s1 s+1 = 40

Goal 2: 10x1 + 5x2 + s2 s+2 = 60


Goal 3:

5x1 + 4x2 + s3 s+3 = 35


100x1 + 60x2 600

x 1, x 2, s 1 , s + 1, s 2 , s + 2, s 3 , s + 3 0

26

namely
min
Goal 1:

s 2

7x1 + 3x2 s+1

Goal 2: 10x1 + 5x2

= 40

+ s2 s+2 = 60

100x1 + 60x2 600


x1, x2, s+1, s2 , 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

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:

5x1 + 4x2 + s3 s+3 = 35


100x1 + 60x2 600

x1, x2, s1, s+1, s2 , s+2, s3 , s+3 0

29

min
s.t

s 3
s1 = 0, s2 = 0

Goal 1:

7x1 + 3x2 + s1 s+1 = 40

Goal 2: 10x1 + 5x2 + s2 s+2 = 60


Goal 3:

5x1 + 4x2 + s3 s+3 = 35


100x1 + 60x2 600

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

100x1 + 60x2 600


x1, x2, s+1 , s+2, s3 , 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:
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

Solve the problem:


z(2) := opt c(2)x
s.t.
Ax b
c(1)x = z(1)
x0
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)
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

Vous aimerez peut-être aussi