Download - Goal Programming

Transcript
Page 1: Goal Programming

1

GOAL PROGRAMMING

Page 2: 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

Page 3: Goal Programming

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

Page 4: Goal Programming

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.

Page 5: Goal Programming

5Goal 1

Goal 2

Feasible Region

Page 6: Goal Programming

6

Goal 1

Goal 2

Feasible Region

Ideal levels

Page 7: Goal Programming

7

Goal 1

Goal 2

Feasible Region

Ideal levels

Distance based onsome metric

Page 8: Goal Programming

8

Goal 1

Goal 2

Feasible Region

Ideal levels

optimal solution(minimum distanceto the ideal levels)

Page 9: Goal Programming

9

LEXICOGRAPHIC IDEA

Page 10: Goal Programming

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 ....

Page 11: Goal Programming

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

Page 12: Goal Programming

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

Page 13: Goal Programming

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

Page 14: Goal Programming

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?

Page 15: Goal Programming

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

Page 16: Goal Programming

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

Page 17: Goal Programming

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

Page 18: Goal Programming

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 .

Page 19: Goal Programming

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 !!!

Page 20: Goal Programming

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?)

Page 21: Goal Programming

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.

Page 22: Goal Programming

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

Page 23: Goal Programming

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

Page 24: Goal Programming

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.

Page 25: Goal Programming

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

Page 26: Goal Programming

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

Page 27: Goal Programming

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

Page 28: Goal Programming

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:

Page 29: Goal Programming

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

Page 30: Goal Programming

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

Page 31: Goal Programming

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:

Page 32: Goal Programming

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)

Page 33: Goal Programming

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.

Page 34: Goal Programming

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.

Page 35: Goal Programming

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...

Page 36: Goal Programming

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.

Page 37: Goal Programming

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.)