Is a iterative method used when number of variables are more than number of constraint s equation ...

45
CHAPTER 5: LINEAR PROGRAMMING: THE SIMPLEX METHOD

Transcript of Is a iterative method used when number of variables are more than number of constraint s equation ...

Page 1: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

CHAPTER 5:LINEAR PROGRAMMING:THE SIMPLEX METHOD

Page 2: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHOD

Is a iterative method used when number of variables are more than number of constraint s equation

Basic Solution Given a linear program in standard

form with n variables and m equations , a basis solution is obtained by setting n-m of the variables equal to zero and solving the constrain equation for other values of m variables

Page 3: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

OVERVIEW OF THE SIMPLEX METHOD Steps Leading to the Simplex

Method

FormulateProblem

as LP

FormulateProblem

as LP

Put InStandard

Form

Put InStandard

Form

Put InTableau

Form

Put InTableau

Form

ExecuteSimplex Method

ExecuteSimplex Method

Page 4: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

EXAMPLE: INITIAL FORMULATION

MIN 2x1 - 3x2 - 4x3

s. t. x1 + x2 + x3 < 30

2x1 + x2 + 3x3 > 60 x1 - x2 + 2x3 = 20

x1, x2, x3 > 0

Page 5: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

STANDARD FORM

An LP is in standard form when: All variables are non-negative All constraints are equalities

Putting an LP formulation into standard form involves: Adding slack variables to “<“

constraints Subtracting surplus variables from

“>” constraints.

Page 6: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

EXAMPLE: STANDARD FORM

Problem in Standard Form

MIN 2x1 - 3x2 - 4x3

s. t. x1 + x2 + x3 + s1 = 30

2x1 + x2 + 3x3 - s2 = 60

x1 - x2 + 2x3 = 20

x1, x2, x3, s1, s2 > 0

Page 7: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHODNonbasic Variables

One of the n-m variables set equal to zero to obtained a basic solution

Basic VariablesOne of the m variables not required

to equal zero in a basic solutionBasic Feasible Solution

A basis feasible solution corresponds to an extreme point, it should satisfy the non-negativity constraints

Page 8: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

A set of equations is in tableau form if for each equation: its right hand side (RHS) is non-negative, and there is a basic variable. (A basic variable for

an equation is a variable whose coefficient in the equation is +1 and whose coefficient in all other equations of the problem is 0.)

To generate an initial tableau form: An artificial variable must be added to each

constraint that does not have a basic variable.

Page 9: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHOD

Tableau Form A required form in which the given linear

problem must be written before starting the initial simplex tableau.

c1 c2 …………….. Cn a11 a22 a33…..a1n b1 a21 a22 a33 ….a2n b2 . . .am1 am2 am3…amnbm

cj=coefficient of objective functionaij =coefficient associated with variable j in ith constraint. The column of aij matrix corresponds to basis variablesbi=RHS of ith constraint. It shows the values of basis variables

Page 10: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHOD Three different simplex method

exist for three different type of constraints.

Constraints having less than equal to at RHS Ax1+bx2 <=c

Constraints having greater or equal to at RHS AX1+bx2 >=c

Constraints having equal to at RHS AX1 +bx2=c

Page 11: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHOD FOR <= CONSTRAINT

o Formulate a linear programming model of the problem

o Add slack variable to each constraint to obtained standard form

o Obtained a basic feasible solution by putting the nonbasis variable equal to zero ensuring that all of the nonbasis variables should be positive thus satisfying non-negativity constraints.

o …….

Page 12: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

Max 50x1+ 40x2 S.t 3x1+5x2+ 1s1<=150 1x2+ 1s2<=20 8x1+5x2 + 1s3<=300

Page 13: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

STANDARD FORM WITH SLACK VARIABLES Max 50x1+ 40x2 +0s1 +0s2 +0s3 S.t 3x1+5x2+ 1s1=150 1x2+ 1s2=20 8x1+5x2 + 1s3=300 X1,x2,s1,s2,s3 >=0

Page 14: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

DETERMINE BASIC SOLUTION

Chose non-basic variables : n-m= 2 variables

x2=0 s1=0 3X1=150 1s2=20 8X1+1s3=300 X1=50;x2=0;s1=0;s2=20;s3=-100 Not a feasible basic solution

because s3=-100 does not satisfy the non-negativity condition

Page 15: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

Lets put x1=0 x2= 0 so now the basic variables are s1,s2,s3

S1=150 S2=20 S3=300 X1=0 X2=0 It is feasible basic solution as all

variables satisfy the non-negativity condition

Page 16: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM For each constraint equation , the

coefficient of one of m basic variables in that equation must be 1 and coefficient for all remaining basic variables in that equation must be 0

The coefficient for each basis variable must be 1 in only one constraint equation.

In Present case s1,s2,s3 are basic variables and x1 and x2 are nonbasis variable.

Page 17: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

X1 x2 s1 s2 s3

50 40 0 0 0 3 5 1 0 0 150 0 1 0 1 0 20 8 5 0 0 1 300

Objective function coefficient

B column

A matrix; m rows and n columns of coefficient of variable in constraint equation

Each column of the basis variable is a unit vector, a row is associated with basis variable. Value of each basis variable is then given by bi value bi value in the row associated with basic variable

S1=b1=150;s2=b2=20;s3=b3=300

Page 18: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

STEP 3:MOVING FROM INITIAL BASIC TO BETTER BASIC FEASIBLE

Requires changing of set of basic variables One of nonbasic variable is made basic One of current basic variable is made non-basic

Add two New Columns to simplex tableau One Column is labelled Basic ( in present case

S1,S2,S3) , other column is labelled ‘Cb’ (coefficient of objective

function for each of basic variables) Add two Row Zj,Cj-Zj Zj:is decrease in coefficient of objective function

when one unit of variable corresponding to jth column of A matrix is brought in to basis.

Page 19: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

CALCULTION OF ZJ

Multiply the element in the cb column by the corresponding element in jth column of A matrix

Z1=0(3)+0(0)+0(8)=0 Z2=0(5)+0(1)+0(5)=0 Z3=0(1)+0(0)+0(0)=0 Z4=0(0)+0(1)+0(0)=0 Z5=0(0)+0(0)+0(1)=0

Value of objective function associated with current basic variable:It is obtained by multiplying the objective function coefficient in ‘Cb’ column by corresponding value of basic variable in ‘B’ Column.

0(150)+0(20)+0(300)=0

Page 20: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 s1 0 3 5 1 0 0 150 s2 0 0 1 0 1 0 20 s3 0 8 5 0 0 1 300 Zj 0 0 0 0 0 0 Cj-Zj 50 40 0 0 0

The initial simplex tableau:X1=0;x2=0;s1=150;s2=20;s3=300, objective function value=0

Coefficient in X1 column indicate amount of decrease in current basic variables when nonbasic variable x1 is increased from 0 to 1. it is true for all other columns i.e. X2,X3.If X1 is increased by 1 then s1 is decreased by 3,s2=0,S3 by 8 keeping X2=0If X2 is increased by 1 then s1 decreased by 5,s2 by 1,s3 by 5 keeping X1=0

Page 21: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

IMPROVING SOLUTION

Criteria for Entering a new variable into basis

Each unit of x1 increases the value of objective function by 50

Each unit x2 increased the value of objective function by 40 Looking in cj-zj row select the

variable to enter the basis that will cause largest per unit improvement value in objective function.

Page 22: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

IMPROVING SOLUTION

Criteria for Removing a variable from current basis If incoming basic variable is from column j For each row i, compute the ratio bi/aij for each aij greater

than zero. the basic variable that will be removed from the basis corresponds to minimum of these ratios.

150/3= 50; 300/8= 37.5 X1 is new basic variable, and variable associated with row

3 i.e s3 will be leaving . Thus a31=8 corresponding to first column to is to enter the basic variable and basic variable corresponding to third row is leaving the basic variable. A31 is called pivot element

Page 23: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

CALCULATING THE NEXT TABLEAU Make the column of new basic variable a unit

column, the column should look like exactly the column s3 the incoming nonbasic variable.

A11=0;a21=0;a31=1 Elementary operation

Convert the pivot column to 1 i.e set a31=1 Row operation multiple pivot row by 1/8-> 1X1+5/8x2+ 0s1+0s2+1/8s3=75/2--- > new pivot roe To set a11=0 multiply new pivot row by 3 and subtract it

from row 1 (3x1-5x2+1s1)-(3x1+15/8x2+3/8s3)=150-225/2

0X1+25/8x2+1s1-3/8s3=75/2 a21 is already zero so do nt need to do any row

operation

Page 24: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3

50 40 0 0 0 s1 0 0 25/8 1 0 -3/8 75/2

s2 0 0 0 0 1 0 20 X1 50 1 5/8 0 0 1/8 75/2 Zj

1875 Cj-Zj

New solution after 1 iteration:S1=75/2S2=20;s3=0X1=75/2;X2=0Obj function value:0(75/2)+0(20)+50(75/2)=1875

Page 25: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

NEXT ITERATION

Calcualte Zj and cj-zj again after first iteration

Z1=0(0)+0(0) +50(1)=50 Z2=0(25/8)+0(1)+50(5/8)=250/8 Z3=0(1)+0(0)+50(0)=0 z4= 0(0)+0(1)+50(0)=0 Z5=0(-3/8)+0(0)+50(1/8)=50/8

Page 26: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 s1 0 0 25/8 1 0 -3/8 75/2

s2 0 0 0 0 1 0 20 X1 50 1 5/8 0 0 1/8 75/2

Zj 50 250/8 0 0 50/8 1875 Cj-Zj 0 70/8 0 0 -50/8

Now again choose which variable will be used as new basis: checking the rule we select x2 because it has highest cofficient in cj-zj row

Page 27: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SELECTING NEW BASIS AND NONBASIS VARIABLE

To determine which variable will removed from the basis when x2 enters we need to compute bi/aij. In this case j is 2 because X2 lies in second column

B1/a12=75/2*8/25=12 B2/a22=20/1=20 B3/a23=75/2*8/5=60 The smallest one is b1/a12 hence s1 will leave the

basis. the pivot element is a21=25/8 Nonbasic variable X2 must be made basic which

means we a21=1,a22=0 ;a23=0

Page 28: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

ROW OPERATION

Step1: multiply every element in row 1by 8/25 for a12=1

Step2: subtract new row from row 2 to make a22=0

Step3 multiply the new pivot row by 5/8 and subtract from row 3 to make a32=0

Page 29: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 X2 40 0 1 8/25 0 -3/25 12 s2 0 0 0 -8/25 1 3/25 8 X1 50 1 0 -5/25 0 5/25 30 Zj 50 40 14/5 0 26/5 1980 Cj-Zj 0 0 -14/5 0 -26/5

Objfunction: 40(12)+0(8)+50(30)=1980Third itertation is not possible becaz cj-zj is either zero or negative.Final solution: X1=30;X2=12;S1=0;S2=8;S3=0

Page 30: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SIMPLEX METHOD Greater than or equal to constraint

( Artificial Variable technique) Add an artificial variable in the >= constraint Add an artificial variable to the objective

function Adding an artificial variable would violates

the constraint and hence it should not be appear in final solution.

This is achieved by a very high penalty –M for maximization and +M for Minimization problem

Assume highest negative contribution to the profit due to this artificial variable, hence this variable should be removed ASAP. why

Page 31: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

Create the initial tableau using the artificial table

Start the iteration of changing the basis variable to non basic variable

Check on every iteration if the artificial variable is equal to zero, if yes remove it from the tableau

Repeat the iteration without the artificial variable until cj-zj row has non positive number left.

Page 32: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

REVISED PROBLEM WITH >0 CONSTRAINT Max 50x1+ 40x2 S.t 3x1+5x2+ <=150 1x2+ <=20 8x1+5x2 <=300 1x1+1x2>=25 X1,x2>=0

Page 33: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

STANDARD FORM WITH SLACK VARIABLES Max 50x1+ 40x2 +0s1 +0s2 +0s3 S.t 3x1+5x2+ 1s1=150 1x2+ 1s2=20 8x1+5x2 + 1s3=300 1x1+1x2+ - 1s4>=25 X1,x2,s1,s2,s3 >=0

Page 34: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

SETTING NON BASIC VAIABLES

X1=x2=0 X1=0;x2=0;s1=150;s2=20;s3=300;s4=-25 Is it basis solution ???? Addition of an artificial variable a4 in >=0

constraint 3x1+5x2+ 1s1=150 1x2+ 1s2=20 8x1+5x2 + 1s3=300 1x1+1x2+ -1s4 +a4 >=25

Page 35: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

S1,s2,s3 and a4 appear in different constraint with coefficient of 1 and RHS is non negative both requirement of tableau has satisfied

Initial basic feasible solution X1=x2=0;s1=150;s2=20;s3=300;s4=0

;a4=25

Page 36: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 a4 50 40 0 0 0 0 -M s1 0 3 5 1 0 0 0 0

150 s2 0 0 1 0 1 0 0 0

20 s3 0 8 5 0 0 1 0 0

300 a4 0 1 1 0 0 0 -1 0

25

Page 37: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 a4 50 40 0 0 0 0 -M s1 0 3 5 1 0 0 0 0 150 s2 0 0 1 0 1 0 0 0 20 s3 0 8 5 0 0 1 0 0 300 a4 0 1 1 0 0 0 -1 0 25 Zj -M -M 0 0 0 M -M -25M Cj-zj 50+M 40+M 0 0 0 -M 0

Is this is a basic feasible solution ????

Page 38: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

X1=x2=s4=0 (Non basis) S1=150;s2=20;s3=300;a4=25 (basic) Which is basic and non basic variable

to leave and enter the tableau. Largest value in the cj-zj ??? X1 has to leave non basic to become

the basis variable

Page 39: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

Divide the ‘b’ column matrix with x1 column matrix and find the lowest value

150/3=50;300/8=37.5;25/1 a4 has to go to non basis variable.

Page 40: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 a4 50 40 0 0 0 0 -M s1 0 0 2 1 0 0 3 -3 75 s2 0 0 1 0 1 0 0 0 20 s3 0 0 -3 0 0 1 8 -8 100 x1 50 1 1 0 0 0 -1 1 25 Zj 50 50 0 0 0 -50 50 1250 Cj-zj 0 -10 0 0 0 50 -M-50

A4=0 , now drop its associated column from tableau as it has been eliminated . Now the simplex tableau is

Page 41: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 50 40 0 0 0 0 s1 0 0 2 1 0 0 3 75 s2 0 0 1 0 1 0 0 20 s3 0 0 -3 0 0 1 8 100 x1 50 1 1 0 0 0 -1 25 Zj 50 50 0 0 0 -50 1250 Cj-zj 0 -10 0 0 0 50

Start the new iteration find the new basic and non basic variable ???

Page 42: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

S4 is new non basic variable as cj-zj is highest

Divide b column matrix with s4 column matrix

75/3=25;100/8=12.525/-1 This means s3 will be going to non

basic We need to find A16=0;a26=0;a36=1;a46=0 Applying row operation

Page 43: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 50 40 0 0 0 0 s1 0 0 25/8 1 0 -3/8 0 75/2 s2 0 0 1 0 1 0 0 20 s4 0 0 -3/8 0 0 1/8 1 25/2 x1 50 1 5/8 0 0 1/8 0 75/2 Zj 50 250/8 0 0 50/8 0

1875 Cj-zj 0 70/8 0 0 -50/8 0

Require one more iterationBasis and non basic variable ????

Page 44: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.

TABLEAU FORM

Basic cb X1 x2 s1 s2 s3 s4 50 40 0 0 0 0 x2 40 0 1 8/25 0 -3/25 0 12 s2 0 0 0 -8/25 1 3/25 0 8 s4 0 0 -3/25 0 2/25 1 17 x1 50 1 0 -5/25 0 5/25 0

30 Zj 50 40 14/5 0 26/5 0 1980 Cj-zj 0 0 -14/5 0 -26/5 0X2 and S1

Page 45: Is a iterative method used when number of variables are more than number of constraint s equation  Basic Solution  Given a linear program in standard.