The Simplex Procedure Daniel B. Taylor AAEC 5024 Department of Agricultural and Applied Economics Virginia Tech
The Basic Model Max Z=3X1+5x2 stX1<=4 2X2<=12 3x1+2x2<=18
Completing the Initialization Step Add slack (Si) variables so that the constraints may be specified as equality constraints Reformulate the objective function by moving all the terms to the left hand side of the equality sign – in part to make the interpretation of the solution more straight forward
The Model to Enter in the Simplex Tableau Max Z-3X1-5x2-0S1-0S2-0S3=0 stX1+S1=4 2X2+S2=12 3X1+2X2+S3=18
The Simplex Tableau Construct the Simplex Tableau
Iter- ation RNBVRHSb i /a ij Coefficient of
Begin to Fill out the Tableau The purpose of the first two columns is to give reference numbers to refer to when discussing the tableau
Iter- ation RNBVRHSb i /a ij Coefficient of
Begin to Fill out the Tableau The purpose of the first two columns is to give reference numbers to refer to when discussing the tableau –The iteration column records the number of the iteration you are performing –Conventionally the first tableau which really is the last phase of the initialization step is labeled zero.
Iter- ation RNBVRHSb i /a ij 0 Coefficient of
Continue to Fill out the Tableau RN just stands for the row number. We label the objective function row “0”
Iter- ation RNBVRHSb i /a ij 0 0 Coefficient of
Continue to Fill out the Tableau RN just stands for the row number. We label the objective function row 0 The remaining rows contain the constraints, and in this example are labeled 1-3
Iter- ation RNBVRHSb i /a ij 0 01 Coefficient of
Iter- ation RNBVRHSb i /a ij Coefficient of
Iter- ation RNBVRHSb i /a ij Coefficient of
“Coefficients of” Area of the Table
Iter- ation RNBVRHSb i /a ij Coefficient of
“Coefficients of” Area of the Table Is where the decision making variables (Xj) and the slack variables (Si) are listed
Iter- ation RNBV X1 RHSb i /a ij Coefficient of
Iter- ation RNBV X1X2 RHSb i /a ij Coefficient of
Iter- ation RNBV X1X2S1 RHSb i /a ij Coefficient of
Iter- ation RNBV X1X2S1S2 RHSb i /a ij Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij Coefficient of
Basic Variables The column labeled BV just keeps track of the basic variables following each iteration
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij Coefficient of
Basic Variables The column labeled BV just keeps track of the basic variables following each iteration Since there is not a basic variable in the objective function, we simply label the BV row “OBJ”
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ Coefficient of
Basic Variables The column labeled BV just keeps track of the basic variables following each iteration Since there is not a basic variable in the objective function, we simply label the BV row “OBJ” In the initial tableau (0) the slack variables associated with each constraint are our basic variables
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ 01S1 2 3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ 01S1 2S2 3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ 01S1 2S2 3S3 Coefficient of
Right Hand Side The column labeled RHS contains the numbers on the right hand side of the equations in the linear programming problem
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ 01S1 2S2 3S3 Coefficient of
Completing the Initialization Step Coefficients are taken from each equation and entered into the appropriate row of the tableau So for the first row, the objective function
The Model to Enter in the Simplex Tableau Max Z-3X1-5x2-0S1-0S2-0S3=0 stX1+S1=4 2X2+S2=12 3X1+2X2+S3=18
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ-3 01S1 2S2 3S3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S1 2S2 3S3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S1 2S2 3S3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S1 2S2 3S3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S1 2S2 3S3 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S1 2S2 3S3 Coefficient of
Completing the Initialization Step For the second row which is the first constraint
The Model to Enter in the Simplex Tableau Max Z-3X1-5x2-0S1-0S2-0S3=0 stX1+S1=4 2X2+S2=12 3X1+2X2+S3=18
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S S2 3S3 Coefficient of
Completing the Initialization Step For the second constraint
The Model to Enter in the Simplex Tableau Max Z-3X1-5x2-0S1-0S2-0S3=0 stX1+S1=4 2X2+S2=12 3X1+2X2+S3=18
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S S S3 Coefficient of
Completing the Initialization Step For the third constraint
The Model to Enter in the Simplex Tableau Max Z-3X1-5x2-0S1-0S2-0S3=0 stX1+S1=4 2X2+S2=12 3X1+2X2+S3=18
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S S S Coefficient of
Select the Entering Basic Variable Choose the most negative objective function coefficient Why? Because with the reformulated objective function that coefficient will increase the objective function value most rapidly The column of the entering basic variable is referred to as the pivot column
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ S S S Coefficient of
Determine the Leaving Basic Variable Choose the minimum of the of the result of dividing the RHS coefficients by the coefficients in the pivot column: (b i /a ij ) for a ij >0 Why the minimum? Otherwise the solution will either be infeasible or unbounded.
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 Coefficient of
Pivot Row The row selected for the leaving basic variable is referred to as the pivot row
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 Coefficient of
Pivot Number The number at the intersection of the pivot row and pivot column is referred to as the pivot number
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 Coefficient of
Number the Next Tableau Tableau Number 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 1 Coefficient of
Renumber the Rows 1 2 3
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2= Coefficient of
Write Down the Remaining Basic Variables S2 has left the basis as it was the basic variable in the pivot row
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ 11S1 2 3S3 Coefficient of
Write Down the Remaining Basic Variables S2 has left the basis as it was the basic variable in the pivot row X2 enters the basis replacing S2
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ 11S1 2X2 3S3 Coefficient of
Prepare the Pivot Row to Perform Row Operations Divide the coefficients in the pivot row by the pivot number and write them down in the same row in the next tableau – tableau number 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ 11S1 2X20101/206 3S3 Coefficient of
Row Operations Now the idea is to use row operations to drive all of the other entries in the pivot column to zero, using the row that you just divided by 2 and moved down into tableau 1 Remind any one of Gauss-Jordan reduction?
Row Operations Now the idea is to use row operations to drive all of the other entries in the pivot column to zero, using the row that you just divided by 2 and moved down into tableau 1 Remind any one of Gauss-Jordan reduction? In case you were wondering, you use this and only this row for the row operations on the other rows. The fact that you know what row to use for the operations coupled with the entering and leaving basic variable rules is what makes the simplex solution process “easy” – well I guess we can at least say straight forward in that you always know exactly what row operations to perform.
Row Operations Now the idea is to use row operations to drive all of the other entries in the pivot column to zero, using the row that you just divided by 2 and moved down into tableau 1 Remind any one of Gauss-Jordan reduction? Since the coefficient in row 1 is already zero all you have to do is copy that row into tableau 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ 11S X20101/206 3S3 Coefficient of
Work On Row Three Subtract 2 times the new row two from the old row 3 in tableau 0 and write down the results in the new row 3 in tableau 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ 11S X20101/206 3S Coefficient of
Complete the Iteration Add 5 times the new row 2 to the old row 0 in tableau 0 and write down the results in row 0 in tableau 1 The iteration is complete because all entries in the old pivot column are now zero except for the old pivot number, which is 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/ S X20101/206 3S Coefficient of
Start the Next Iteration Select the entering basic variable
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/ S X20101/206 3S Coefficient of
Start the Next Iteration Select the entering basic variable X1
Start the Next Iteration Select the entering basic variable X1 Calculate (b i /a ij ) for a ij >0
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 Coefficient of
Start the Next Iteration Select the entering basic variable X1 Calculate (b i /a ij ) for a ij >0 Select the leaving basic variable
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 Coefficient of
Start the Next Iteration Select the entering basic variable X1 Calculate (b i /a ij ) for a ij >0 Select the leaving basic variable S3
Start the Next Iteration Select the entering basic variable X1 Calculate (b i /a ij ) for a ij >0 Select the leaving basic variable S3 The pivot number is 3
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 Coefficient of
Begin to Fill Out the Next Tableau Specify the iteration number (2) Write down the row numbers Specify the basic variables
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ 21S1 2X2 3X1 Coefficient of
Prepare the Pivot Row to Perform Row Operations Divide the coefficients in the pivot row by the pivot number and write them down in the same row in the next tableau – tableau number 2
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ 21S1 2X2 3X1100-1/31/32 Coefficient of
Prepare the Pivot Row to Perform Row Operations Divide the coefficients in the pivot row by the pivot number and write them down in the same row in the next tableau – tableau number 2 Since the coefficient in row 2 is already zero all you have to do is copy that row into tableau 2
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ 21S1 2X20101/206 3X1100-1/31/32 Coefficient of
Work On Row One Subtract 1 times the new row three from the old row 1 in tableau 1 and write down the results in the new row 1 in tableau 2
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ 21S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
Complete the Iteration Add 3 times the new row 3 to the old row 0 in tableau 1 and write down the results in row 0 in tableau 2 The iteration is complete because all entries in the old pivot column are now zero except for the old pivot number, which is 1
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
You are Done! You have arrived at the optimal solution to the problem (assuming no math errors). Why? Because there are no negative objective function coefficients – thus no candidates for a leaving basic variable
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
You are Done! You have arrived at the optimal solution to the problem (assuming no math errors). Why? Because there are no negative objective function coefficients – thus no candidates for a leaving basic variable And your solution is feasible – because all RHS values are positive
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
Interpretation of the Final Tableau The Objective Function Value is 36
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
Interpretation of the Final Tableau The Objective Function Value is 36 The Values of the basic variables are: –S1=2 –X2=6 –X1=2 The non-basic variables are –S2=0 –S3=0
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
Interpretation of the Final Tableau The Values of the basic variables are: –S1=2 –X2=6 –X1=2 The non-basic variables are –S2=0 –S3=0 The shadow prices are: –0 for constraint 1 –3/2 for constraint 2 –1 for constraint 3
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
The Slack Variable Matrix Remember you have essentially been using Gauss-Jordan reduction to solve the problem Among other things this matrix keeps track of the net effects (in mathematical terms) of the row operations that you have preformed
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of
Iter- ation RNBV X1X2S1S2S3 RHSb i /a ij 0OBJ NA 01S NA 2S /2=6 3S /2=9 0OBJ-3005/2030NA 11S /1=4 2X20101/206NA 3S /3=2 0OBJ0003/ S10011/3-1/32 2X20101/206 3X1100-1/31/32 Coefficient of