# Goal Programming

date post

19-Dec-2015Category

## Documents

view

215download

1

Embed Size (px)

description

Goal Programming has been first discussed by Charles and Cooper in their research work A lot of research has taken place since the evolution of goal programming. It is used as a tool by operations researchers for finding optimal conditions for their problems . Goal Programming is divided to two types as shown in the document.

### Transcript of Goal Programming

4.5 Goal Programming (NILN)General Note

We will now address problems that involve multiple, conflicting objectives that can be tackled by linear programming techniques.

*

Basic Idea:

Instead of optimizing a single valued objective function, try to meet a number of pre–specified goals:

Eg

*

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.

*

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

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

*

footy games (x1 dollars spent)

soap operas (x2 dollars spent)

at most $600,000 be spent

HIM

LIP

HIW

Cost

Footy

Show

There are three goals:

There is also the following constraint:

100x1 + 60x2 ≤ 600

x1,x2 ≥ 0

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?

*

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

*

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

*

Observation:

The original ( ≥ ) goals would be met, if the slack variables are equal to zero.

eg.

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

IDEA

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

*

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

Ranking

Suppose we rank the goals in their order of importance to us.

SUPPOSE THAT

next: Goal 2

*

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.

Example continued ...

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

min s–1

100x1 + 60x2 ≤ 600

*

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

100x1 + 60x2 ≤ 600

1

*

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

*

min s–2

100x1 + 60x2 ≤ 600

*

100x1 + 60x2 ≤ 600

*

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

100x1 + 60x2 ≤ 600

*

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:

*

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

*

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

*

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:

s–*1 = 0; s–*2 = 0; s–*3 = 5;

s+*1 = 2; s+*2 = 0; s+*3 = 0.

Conclusion

*

General Comment

The procedure that we described can be applied more generally to lexicographic LP problems.

Set up:

s.t.

Ax ≤ b

x ≥ 0

*

z(1) := opt c(1)x

*

Otherwise, continue...

s.t.

Otherwise continue.

Linear Goal programming capabilities are now routinely avialable by commercial LP packages.

We will now address problems that involve multiple, conflicting objectives that can be tackled by linear programming techniques.

*

Basic Idea:

Instead of optimizing a single valued objective function, try to meet a number of pre–specified goals:

Eg

*

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.

*

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

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

*

footy games (x1 dollars spent)

soap operas (x2 dollars spent)

at most $600,000 be spent

HIM

LIP

HIW

Cost

Footy

Show

There are three goals:

There is also the following constraint:

100x1 + 60x2 ≤ 600

x1,x2 ≥ 0

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?

*

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

*

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

*

Observation:

The original ( ≥ ) goals would be met, if the slack variables are equal to zero.

eg.

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

IDEA

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

*

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

Ranking

Suppose we rank the goals in their order of importance to us.

SUPPOSE THAT

next: Goal 2

*

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.

Example continued ...

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

min s–1

100x1 + 60x2 ≤ 600

*

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

100x1 + 60x2 ≤ 600

1

*

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

*

min s–2

100x1 + 60x2 ≤ 600

*

100x1 + 60x2 ≤ 600

*

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

100x1 + 60x2 ≤ 600

*

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:

*

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

*

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

*

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:

s–*1 = 0; s–*2 = 0; s–*3 = 5;

s+*1 = 2; s+*2 = 0; s+*3 = 0.

Conclusion

*

General Comment

The procedure that we described can be applied more generally to lexicographic LP problems.

Set up:

s.t.

Ax ≤ b

x ≥ 0

*

z(1) := opt c(1)x

*

Otherwise, continue...

s.t.

Otherwise continue.

Linear Goal programming capabilities are now routinely avialable by commercial LP packages.