Presentation on theme: "Chapter 5: Linear Programming: The Simplex Method"— Presentation transcript:
1Chapter 5: Linear Programming: The Simplex Method
2Simplex MethodIs a iterative method used when number of variables are more than number of constraint s equationBasic SolutionGiven 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
3Overview of the Simplex Method Steps Leading to the Simplex MethodFormulateProblemas LPPut InStandardFormPut InTableauFormExecuteSimplexMethod
5Standard Form An LP is in standard form when: All variables are non-negativeAll constraints are equalitiesPutting an LP formulation into standard form involves:Adding slack variables to “<“ constraintsSubtracting surplus variables from “>” constraints.
6Example: Standard Form Problem in Standard FormMIN 2x1 - 3x2 - 4x3s. t x1 + x2 + x3 + s = 302x1 + x2 + 3x s2 = 60x x2 + 2x = 20x1, x2, x3, s1, s2 > 0
7Basic Variables SIMPLEX METHOD Nonbasic Variables One of the n-m variables set equal to zero to obtained a basic solutionBasic VariablesOne of the m variables not required to equal zero in a basic solutionBasic Feasible SolutionA basis feasible solution corresponds to an extreme point, it should satisfy the non-negativity constraints
8Tableau FormA set of equations is in tableau form if for each equation:its right hand side (RHS) is non-negative, andthere 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.
9Simplex method Tableau Form A required form in which the given linear problem must be written before starting the initial simplex tableau.c1 c2 …………….. Cna11 a22 a33…..a1n b1a21 a22 a33 ….a2n b2.am1 am2 am3…amnbmcj=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
10Constraints having less than equal to at RHS Simplex methodThree different simplex method exist for three different type of constraints.Constraints having less than equal to at RHSAx1+bx2 <=cConstraints having greater or equal to at RHSAX1+bx2 >=cConstraints having equal to at RHSAX1 +bx2=c
11Simplex method for <= constraint Formulate a linear programming model of the problemAdd slack variable to each constraint to obtained standard formObtained 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.…….
13Standard form with slack variables Max 50x1+ 40x2 +0s1 +0s2 +0s3S.t3x1+5x2+ 1s1=1501x s2=208x1+5x s3=300X1,x2,s1,s2,s3 >=0
14Determine basic solution Chose non-basic variables : n-m= 2 variablesx2=0 s1=03X1=1501s2=208X1+1s3=300X1=50;x2=0;s1=0;s2=20;s3=-100Not a feasible basic solution because s3=-100 does not satisfy the non-negativity condition
15Lets put x1=0 x2= 0 so now the basic variables are s1,s2,s3 It is feasible basic solution as all variables satisfy the non-negativity condition
16TABLEAU FORMFor 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 0The 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.
17TABLEAU FORMObjective function coefficientX1 x2 s1 s2 s3B columnEach 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 variableA matrix; m rows and n columns of coefficient of variable in constraint equationS1=b1=150;s2=b2=20;s3=b3=300
18Step 3:Moving From Initial Basic to better basic Feasible Requires changing of set of basic variablesOne of nonbasic variable is made basicOne of current basic variable is made non-basicAdd two New Columns to simplex tableauOne 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-ZjZj:is decrease in coefficient of objective function when one unit of variable corresponding to jth column of A matrix is brought in to basis.
19Calcultion of ZjMultiply the element in the cb column by the corresponding element in jth column of A matrixZ1=0(3)+0(0)+0(8)=0Z2=0(5)+0(1)+0(5)=0Z3=0(1)+0(0)+0(0)=0Z4=0(0)+0(1)+0(0)=0Z5=0(0)+0(0)+0(1)=0Value 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
20TABLEAU FORM Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 s1 0 3 5 1 0 0 150 The initial simplex tableau:X1=0;x2=0;s1=150;s2=20;s3=300,objective function value=0Basic cb X1 x2 s1 s2 s3sssZjCj-ZjCoefficient 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
21Improving solution Criteria for Entering a new variable into basis Each unit of x1 increases the value of objective function by 50Each unit x2 increased the value of objective function by 40Looking in cj-zj row select the variable to enter the basis that will cause largest per unit improvement value in objective function.
22Improving solution Criteria for Removing a variable from current basis If incoming basic variable is from column jFor 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.5X1 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
23Calculating 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=1Elementary operationConvert the pivot column to 1 i.e set a31=1Row operation multiple pivot row by 1/8->1X1+5/8x2+ 0s1+0s2+1/8s3=75/2--- > new pivot roeTo set a11=0 multiply new pivot row by 3 and subtract it from row 1(3x1-5x2+1s1)-(3x1+15/8x2+3/8s3)= /20X1+25/8x2+1s1-3/8s3=75/2a21 is already zero so do nt need to do any row operation
24TABLEAU FORM Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 s / / /2sX / /8 75/2ZjCj-ZjNew 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
25Next iteration Calcualte Zj and cj-zj again after first iteration
26TABLEAU FORM Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 s / / /2sX / / /2Zj / /Cj-Zj / /8Now 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
27Selecting 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 columnB1/a12=75/2*8/25=12B2/a22=20/1=20B3/a23=75/2*8/5=60The smallest one is b1/a12 hence s1 will leave the basis. the pivot element is a21=25/8Nonbasic variable X2 must be made basic which means we a21=1,a22=0 ;a23=0
28ROW operation Step1: multiply every element in row 1by 8/25 for a12=1 Step2: subtract new row from row 2 to make a22=0Step3 multiply the new pivot row by 5/8 and subtract from row 3 to make a32=0
29TABLEAU FORM Basic cb X1 x2 s1 s2 s3 50 40 0 0 0 X / /s / /X / /Zj / /Cj-Zj / /5Objfunction: 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
30Simplex methodGreater than or equal to constraint ( Artificial Variable technique)Add an artificial variable in the >= constraintAdd an artificial variable to the objective functionAdding 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 problemAssume highest negative contribution to the profit due to this artificial variable, hence this variable should be removed ASAP. why
31Create the initial tableau using the artificial table Start the iteration of changing the basis variable to non basic variableCheck on every iteration if the artificial variable is equal to zero, if yes remove it from the tableauRepeat the iteration without the artificial variable until cj-zj row has non positive number left.
32Revised Problem with >0 constraint Max 50x1+ 40x2S.t3x1+5x2+ <=1501x <=208x1+5x2 <=3001x1+1x2>=25X1,x2>=0
33Standard form with slack variables Max 50x1+ 40x2 +0s1 +0s2 +0s3S.t3x1+5x2+ 1s1=1501x s2=208x1+5x s3=3001x1+1x s4>=25X1,x2,s1,s2,s3 >=0
34Setting non basic vaiables X1=x2=0X1=0;x2=0;s1=150;s2=20;s3=300;s4=-25Is it basis solution ????Addition of an artificial variable a4 in >=0 constraint3x1+5x2+ 1s1=1501x s2=208x1+5x s3=3001x1+1x s4 +a4 >=25
35S1,s2,s3 and a4 appear in different constraint with coefficient of 1 and RHS is non negative both requirement of tableau has satisfiedInitial basic feasible solutionX1=x2=0;s1=150;s2=20;s3=300;s4=0;a4=25
37TABLEAU FORM Is this is a basic feasible solution ???? Basic cb X1 x2 s s2 s3 s4 a4MsssaZj M -M M M MCj-zj M 40+M MIs this is a basic feasible solution ????
38X1=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
39Divide the ‘b’ column matrix with x1 column matrix and find the lowest value 150/3=50;300/8=37.5;25/1a4 has to go to non basis variable.
40TABLEAU FORM A4=0 , now drop its associated column from tableau Basic cb X1 x2 s s2 s3 s4 a4MsssxZjCj-zj M-50A4=0 , now drop its associated column from tableauas it has been eliminated . Now the simplex tableauis
41TABLEAU FORM Start the new iteration find the new basic and non Basic cb X1 x2 s s2 s3 s4sssxZjCj-zjStart the new iteration find the new basic and nonbasic variable ???
42S4 is new non basic variable as cj-zj is highest Divide b column matrix with s4 column matrix75/3=25;100/8=12.525/-1This means s3 will be going to non basicWe need to findA16=0;a26=0;a36=1;a46=0Applying row operation
43TABLEAU FORM Require one more iteration Basic cb X1 x2 s s2 s3 s4s / / /2ss / / /2x / / /2Zj / /Cj-zj / /8 0Require one more iterationBasis and non basic variable ????
44TABLEAU FORM X2 and S1 Basic cb X1 x2 s1 s2 s3 s4 50 40 0 0 0 0 x / /s / /s / /x / /Zj / /Cj-zj / /5 0X2 and S1