Download Presentation
## GOAL PROGRAMMING

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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. • Bear in mind that there is no “one right way”to approach a problem involving multiple conflicting objectives. (Ignizio and Cavalier – Linear Programming.)**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**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.**Goal 2**Feasible Region Goal 1**Ideal levels**Goal 2 Feasible Region Goal 1**Ideal levels**Goal 2 Distance based on some metric Feasible Region Goal 1**Ideal levels**Goal 2 optimal solution (minimum distance to the ideal levels) Feasible Region Goal 1**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 ....**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**advertising on 2 types of programs:**footy games (x1 dollars spent) soap operas (x2 dollars spent) at most $600,000 be spent Our example (cont’d)**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**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?**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**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**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 • 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 .**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–3to 0)? • eg. Lexicographic !!!**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?)**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 + 60x2 ≤ 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 • 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**1**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**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.**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**equivalently**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**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**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:**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**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**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:**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)**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.**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.**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...**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.**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.)