GOAL PROGRAMMING

37
1 GOAL PROGRAMMING

description

GOAL PROGRAMMING. 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. - PowerPoint PPT Presentation

Transcript of GOAL PROGRAMMING

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