370 likes | 382 Views
Learn about the fundamentals of linear programming, including convexity and the properties of convex shapes. Understand how to solve linear programming problems using simplex method.
E N D
Linear Programming Fundamentals Convexity Definition: Line segment joining any 2 pts lies inside shape NOT convex convex
Linear Programming Fundamentals.. Nice Property of Convex Shapes: Intersection of convex shapes is convex
Linear Programming Fundamentals… Every Half-space is convex Each constraint of an LP half space Set of feasible solutions is a convex polyhedron
y Boundary Feasible Solution x ≥0 1500 1000 500 y ≥0 x 500 1000 (0,0) 1500 x + y ≤ 1200 x ≤ 500 2x+y ≤ 1500 Some definitions Corner points Feasible region
y y 1500 1500 1000 1000 500 500 Feasible region Feasible region x x 500 500 1000 1000 (0,0) (0,0) 1500 1500 Important Properties Property 1. IF: only one optimum solution => must be a corner point
y 1500 1000 500 Feasible region x 500 1000 (0,0) 1500 Important Properties.. Property 2. IF: multiple optimum solutions => must include 2 adjacent corner pts
y 1500 1000 500 Feasible region x 500 1000 (0,0) 1500 Important Properties… Property 3. If a corner point is better than all its adjacent corners, it is optimal ! Property 4. Total number of corner pts is finite
y 1500 1000 500 Feasible region x 500 1000 (0,0) 1500 Important Properties.... Note: Corner point intersection of some constraint boundaries (lines) Property 5. Moving from a corner point to any adjacent corner point Exactly one constraint boundary is exchanged.
Bad news A problem with 50 variables, 100 constraints => 100 ! 50 ! (100-50) ! => ~ 1029 corner points The algebra of Simplex Good news We only need to search for the best feasible corner point Good news We can use property 5 to guide our searching
The outline of Simplex • Start at a corner point feasible solution • 2. If (there is a better adjacent corner feasible point) then • go to one such adjacent corner point; • repeat Step 2; • else (report this point as the optimum point). Why does this method work ? 1. Constant improvement (=> no cycling) 2. Finite number of corners
The Algebra of Simplex: Gauss elimination Solving for corner points solving a set of simultaneous equations Method: Gaussian elimination Example: x + y = 2 [1] x – 2y = 1 [2] Solve by: 2x[1] + [2]: 3x = 5 => x = 5/3 [1] - 1x[2]: 3y = 1 => y = 1/3
y x x + y >= 0 The Algebra of Simplex: need for Slack ! Cannot add (multiples of) INEQUATIONS !! Consider: x >= 0 [1] y >= 0 [2] [1] + [2]: x + y >= 0 [3]
Inequality Equality, with slack variable 2x + y + s = 1500, x, y, s ≥ 0 2x + y ≤ 1500, x, y ≥ 0 x + y ≥ 200 x, y ≥ 0 x + y – s = 200, x, y, s ≥ 0. The Algebra of Simplex: Slack To allow us to use Gaussian elimination, Convert the inequalities to equations by using SLACK Variables
The Algebra of Simplex.. Conversion of the Product mix problem ORIGINAL Maximize z( x, y) = 15 x + 10y subject to 2x + y ≤ 1500 x + y ≤ 1200 x ≤ 500 x ≥ 0, y ≥ 0 (almost) STANDARD FORM Maximize Z = 15 x1 + 10x2 subject to 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.
The Algebra of Simplex… ORIGINAL Maximize z( x, y) = 15 x + 10y subject to 2x + y ≤ 1500 x + y ≤ 1200 x ≤ 500 x ≥ 0, y ≥ 0 (almost) STANDARD FORM Maximize Z = 15 x1 + 10x2 subject to 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i. Original problem: n variables, m constraints Standard form: (m+n) variables, m constraints
The Algebra of Simplex… Original problem: n variables, m constraints Standard form: (m+n) variables, m constraints How to use Gaussian elimination ?? Force some variables = 0 How many to be forced to be 0 ?
Definitions: augmented solution Max Z = 15 x1 + 10x2 S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i. Solution: Augmented solution (x1 x2) = (200, 200) (200, 200, 900, 800, 300)
Definitions: BS, BFS Max Z = 15 x1 + 10x2 S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i. Basic solution Augmented, corner-point solution Examples basic infeasible solution : ( 500, 700, -200, 0, 0) basic feasible solution: (500, 0, 500, 700, 0)
Definition: non-basic variables Max Z = 15 x1 + 10x2 S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.
The Algebra of Simplex Max Z = 15 x1 + 10x2 S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.
The Algebra of Simplex: Standard form STANDARD FORM Max Z S.T. Z -15 x1 -10 x2 = 0 2 x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.
( 0, 0) The Algebra of Simplex: Step 1. Initial solution Initial non-basic variables: (x1, x2) Initial basic variables: (x3, x4 , x5) Max Z S.T. Z -15 x1 -10 x2 = 0 2 x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i. Initial BFS: (0, 0, 1500, 1200, 500)
Fastest rate of ascent The Algebra of Simplex: Step 2. Iteration Step Entering variable: Z = 15 x1 + 10x2
The Algebra of Simplex: Step 2. Iteration Step Entering Max Z S.T. Z -15 x1 - 10x2 = 0 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i. Leaving variable Consider first constraint: 2x1 + x2 + x3 = 1500 x3 = 1500 - 2x1 - x2 Bound on x1: 1500/2 = 750
The Algebra of Simplex: Step 2. Iteration Step Leaving variable Max Z S.T. Z -15 x1 - 10x2 = 0 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.
The Algebra of Simplex: Step 2. Iteration Step Enter: x1 Leave: x5 Z -15 x1 -10x2 = 0 [0-0] 2 x1 + x2 + x3= 1500 [0-1] x1 + x2 + x4 = 1200 [0-2] x1 + x5 = 500 [0-3] + 15x [0-3] - 2x [0-3] - [0-3] ROW OPERATIONS so that Each row has exactly one basic variable The coefficient of each basic variable = +1
The Algebra of Simplex: Step 2. Iteration Step Z -15 x1 -10x2 = 0 [0-0] 2 x1 + x2 + x3= 1500 [0-1] x1 + x2 + x4 = 1200 [0-2] x1 + x5 = 500 [0-3] Row operations Z -10x2 +15 x5 = 7500 [1-0] x2 + x3- 2 x5 = 500 [1-1] x2 + x4 - x5 = 700 [1-2] x1 + x5 = 500 [1-3] Basic Feasible Solution: ( 500, 0, 500, 700, 0)
The Algebra of Simplex: Step 2. Iteration Step Basic Feasible Solution: ( 500, 0, 500, 700, 0) Objective value: 7500
The Algebra of Simplex: Step 3. Stopping condition Stopping Rule: Stop when objective cannot be improved. Z -10x2 +15 x5 = 7500 [1-0] x2 + x3- 2 x5 = 500 [1-1] x2 + x4 - x5 = 700 [1-2] x1 + x5 = 500 [1-3] New entering variable: x2
The Algebra of Simplex: Second Iteration.. New entering variable: x2 Z -10x2 +15 x5 = 7500 [1-0] x2 + x3- 2x5 = 500 [1-1] x2 + x4 - x5 = 700 [1-2] x1 + x5 = 500 [1-3] Analysis for leaving variable:
ROW OPERATIONS so that Each row has exactly one basic variable The coefficient of each basic variable = +1 The Algebra of Simplex: Step 2. Iteration Step Enter: x2 Leave: x3 Z -10x2 +15 x5 = 7500 [1-0] x2 + x3 - 2x5 = 500 [1-1] x2 + x4 - x5 = 700 [1-2] x1 + x5 = 500 [1-3] + 10x [1-1] - [1-1]
The Algebra of Simplex: Step 2. Iteration Step After row operations: Z +10 x3 -5 x5 = 12,500 [2-0] x2 + x3 - 2x5 = 500 [2-1] - x3 + x4 + x5 = 200 [2-2] x1 + x5 = 500 [2-3] Basic Feasible Solution: ( 500, 500, 0, 200, 0) Have we found the OPTIMUM ?
The Algebra of Simplex: Third Iteration New entering variable: x5 Z +10 x3 -5 x5 = 12,500 [2-0] x2 + x3 - 2x5 = 500 [2-1] - x3 + x4 + x5 = 200 [2-2] x1 + x5 = 500 [2-3] Analysis for leaving variable:
Enter: x5 Leave: x4 Z +10 x3 -5 x5 = 12,500 [2-0] x2 + x3 - 2x5= 500 [2-1] - x3 + x4 + x5 = 200 [2-2] x1 + x5= 500 [2-3] ROW OPERATIONS so that Each row has exactly one basic variable The coefficient of each basic variable = +1 The Algebra of Simplex: Step 2. Third iteration.. + 5x [2-2] + 2x [2-2] - [2-2]
After row operations: Z +5 x3 + 5x4 = 13,500 [3-0] x2 - x3 + 2x4 = 900 [3-1] - x3 + x4 + x5 = 200 [3-2] x1 + x3 - x4= 300 [3-3] The Algebra of Simplex: Step 2. Iteration Step Basic Feasible Solution: ( 300, 900, 0, 0, 200) Have we found the OPTIMUM ?
The Algebra of Simplex: Some important points 1. Higher dimensions Each step: ONE entering variable ONE leaving variable Each constraint equation has has same format as our example 2. Many candidates for entering variable e.g. Z = 200 + 10x1 + x2 + 10x3 Just pick any one
The Algebra of Simplex: Some important points.. 3. Many candidates for leaving variable Degenerate case, rare. 4. No candidate for leaving variable Unbounded objective !? 5. Minimization problems Minimize Z == Maximize -Z next topic: inventory control