Linear Programming Fundamentals

Preview:

DESCRIPTION

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

Citation preview

Linear Programming Fundamentals

Convexity

Definition: Line segment joining any 2 pts lies inside shape

convex NOT convex

Linear Programming Fundamentals..

Nice Property of Convex Shapes:

Intersection of convex shapes is convex

Linear Programming Fundamentals…

Every Half-space is convex

Set of feasible solutions is a convex polyhedron

Each constraint of an LP half space

Some definitions

y ≥ 0

x ≥ 0

x ≤ 500

2x+y ≤ 1500

x + y ≤ 1200(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

Boundary Feasible Solution

Corner points

Important Properties

(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

Property 1. IF: only one optimum solution => must be a corner point

(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

Important Properties..

(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

Property 2. IF: multiple optimum solutions => must include 2 adjacent corner pts

Important Properties…

(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

Property 4. Total number of corner pts is finite

Property 3. If a corner point is better than all its adjacent corners, it is optimal !

Important Properties....

(0,0)

1000

1500

500 1000 1500

500

y

x

Feasibleregion

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.

The algebra of Simplex

Good newsWe only need to search for the best feasible corner point

Good newsWe can use property 5 to guide our searching

Bad newsA problem with 50 variables, 100 constraints =>

100 !

50 ! (100-50) !

=> ~ 1029 corner points

The outline of Simplex

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

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]

x

y

x + y >= 0

The Algebra of Simplex: Slack

To allow us to use Gaussian elimination,

Convert the inequalities to equations by using SLACK Variables

2x + y ≤ 1500, x, y ≥ 0

2x + y + s = 1500, x, y, s ≥ 0

x + y ≥ 200 x, y ≥ 0

x + y – s = 200, x, y, s ≥ 0.

Inequality Equality, with slack variable

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.

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

The Algebra of Simplex…

Definitions: augmented solution

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Solution: Augmented solution(x1 x2) = (200, 200) (200, 200, 900, 800, 300)

Max Z = 15 x1 + 10x2

S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.

Definitions: BS, BFS

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Basic solution Augmented, corner-point solution

Max Z = 15 x1 + 10x2

S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.

Examplesbasic infeasible solution : ( 500, 700, -200, 0, 0) basic feasible solution: (500, 0, 500, 700, 0)

Definition: non-basic variables

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Max Z = 15 x1 + 10x2

S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.

CornerFeasiblesolution

Defining eqns Basic solution non-basic variables

(0, 0) x1 = 0

x2 = 0

(0, 0, 1500, 1200, 500)

x1, x2

(500, 0) x1 = 500

x2 = 0

(500, 0, 500, 700, 0) x2, x5

(500, 500) x1 = 500

2x1+x2= 1500

(500, 500, 0, 200, 0) x5, x3

(300, 900) x1+ x2 = 1200

2x1+x2= 1500

(300, 900, 0, 0, 200) x3, x4

(0, 1200) x1 = 0

x1+ x2 = 1200

(0, 1200, 300, 0, 500) x4, x1

The Algebra of Simplex

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Max Z = 15 x1 + 10x2

S.T. 2x1 + x2 + x3 = 1500 x1 + x2 + x4 = 1200 x1 + x5 = 500 xi ≥ 0 for all i.

Corner infeasiblesolution

Defining eqns Basicinfeasiblesolution

non-basic variables

(750, 0) x2 = 0

2x1+ x2 = 1500

(750, 0, 0, 450, -250) x2, x3

(1200, 0) x2 = 0

x1 + x2 = 1200

(1200, 0, -900, 0, -700) x2, x4

(500, 700) x1 + x2 = 1200

x1 = 500

(500, 700, -200, 0, 0) x4, x5

(0, 1500) x1 = 0

2x1+ x2 = 1500

(0, 1500, 0, -300, 500) x1, x3

The Algebra of Simplex: Standard form

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

STANDARD FORMMax

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.

The Algebra of Simplex: Step 1. Initial solution

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

MaxZ

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)

Initial non-basic variables: (x1, x2)

Initial basic variables: (x3, x4 , x5)

Initial BFS: (0, 0, 1500, 1200, 500)

The Algebra of Simplex: Step 2. Iteration Step

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Entering variable:

Z = 15 x1 + 10x2

Fastest rate of ascent

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.

Consider first constraint:

Entering

2x1 + x2 + x3 = 1500

x3 = 1500 - 2x1 - x2

Bound on x1: 1500/2 = 750

The Algebra of Simplex: Step 2. Iteration Step

Basic variable

Equation Upper bound for x1

x3 x3 = 1500 - 2x1 - x2 x2 = 0, so x1 ≤ 1500/2; UB = 750 x4 x4 = 1200 - x1 - x2 x2 = 0, so x1 ≤ 1200; UB = 1200

x5 x5 = 500 - x1 x1 ≤ 500 minimum

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

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]

ROW OPERATIONS so that

Each row has exactly one basic variable

The coefficient of each basic variable = +1

- [0-3]

- 2x [0-3]

+ 15x [0-3]

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]

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]

Row operations

Basic Feasible Solution: ( 500, 0, 500, 700, 0)

The Algebra of Simplex: Step 2. Iteration Step

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

Basic Feasible Solution: ( 500, 0, 500, 700, 0)

Objective value: 7500

The Algebra of Simplex: Step 3. Stopping condition

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]

Stopping Rule: Stop when objective cannot be improved.

New entering variable: x2

The Algebra of Simplex: Second Iteration..

Z -10x2 +15 x5 = 7500 [1-0]

x2 + x3 - 2x5 = 500 [1-1]

x2 + x4 - x5 = 700 [1-2]

x1 + x5 = 500 [1-3]

New entering variable: x2

Basic variable

Equation Upper bound for x2

x3 x3 = 500 – x2 + 2x5 x2 ≤ 500 minimum x4 x4 = 700 – x2 + x5 x2 ≤ 700 x1 x1 = 500 – x5 no limit on x2

Analysis for leaving variable:

The Algebra of Simplex: Step 2. Iteration Step

Enter: x2 Leave: x3

ROW OPERATIONS so that

Each row has exactly one basic variable

The coefficient of each basic variable = +1

- [1-1]

+ 10x [1-1] Z -10x2 +15 x5 = 7500 [1-0]

x2 + x3 - 2x5 = 500 [1-1]

x2 + x4 - x5 = 700 [1-2]

x1 + x5 = 500 [1-3]

The Algebra of Simplex: Step 2. Iteration Step

Basic Feasible Solution:

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]

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

( 500, 500, 0, 200, 0)

Have we found the OPTIMUM ?

The Algebra of Simplex: Third Iteration

New entering variable: x5

Analysis for leaving variable:

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 variable

Equation Upper bound for x5

x2 x2 = 500 + 2x5 - x3 no limit on x5

x4 x4 = 200 + x3 - x5 x5 ≤ 200 minimum

x1 x1 = 500 – x5 x5 ≤ 500

The Algebra of Simplex: Step 2. Third iteration..

ROW OPERATIONS so that

Each row has exactly one basic variable

The coefficient of each basic variable = +1

- [2-2]

+ 5x [2-2]

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]

+ 2x [2-2]

The Algebra of Simplex: Step 2. Iteration Step

Basic Feasible Solution:

x1 = 500

2x1+x2 = 1500

x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

x1 = 500x1 = 500

2x1+x2 = 15002x1+x2 = 1500

x1 + x2 = 1200x1 + x2 = 1200

(0,0)

1000

1500

500 1000 1500

500

x2

x1

( 300, 900, 0, 0, 200)

Have we found the OPTIMUM ?

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: Some important points

1. Higher dimensions

2. Many candidates for entering variable

Each step:ONE entering variableONE leaving variable

Each constraint equation hashas same format as our example

e.g. Z = 200 + 10x1 + x2 + 10x3

Just pick any one

The Algebra of Simplex: Some important points..

3. Many candidates for leaving variable

4. No candidate for leaving variable

5. Minimization problems

Degenerate case, rare.

Unbounded objective !?

Minimize Z == Maximize -Z

next topic: inventory control

Recommended