7. Simplex Algorithm Flashcards
How can inequalities be transformed into equations?
Using slack variables
What are slack variables?
Represent the amount of ‘slack’ between an actual quantity and the maximum possible value of that quantity
What 2 things does the simplex algorithm allow you to do?
- Determine if a particular vertex (on the edge of feasible region) is optimal
- Decide which adjacent vertex you should move to in order to increase the value of the objective function
Where does the simplex method start?
From a basic feasible solution, at the origin
How does the simplex method progress with each iteration?
Moves to an adjacent point within the feasible region until optimal solution is found
First step to solving a maximising linear programming problem using a simplex tableau
Draw the tableaux.
Basic variable column on the left, column for each variable (including slacks) and a value column.
One row for each constraint and bottom row for objective function.
Second step to solving a maximising linear programming problem using a simplex tableau
Create the initial tableau.
Enter coefficients of variables in appropriate row and column.
Third step to solving a maximising linear programming problem using a simplex tableau
Look along objective row for most negative entry which indicates the pivot column
Fourth step to solving a maximising linear programming problem using a simplex tableau
Calculate the θ values for each of the constraint rows where θ = (term in value column) / (term in pivot column)
Fifth step to solving a maximising linear programming problem using a simplex tableau
Select the row with the smallest, positive θ value to become the pivot row
Sixth step to solving a maximising linear programming problem using a simplex tableau
The element in the pivot row and the pivot column is the pivot
Seventh step to solving a maximising linear programming problem using a simplex tableau
Divide row found in step 5 by the pivot and change basic variable at start of row to variable at top of pivot column. This is now the pivot row.
Eighth step to solving a maximising linear programming problem using a simplex tableau
Use pivot row to eliminate pivot’s variable from other rows. Pivot column now contains one 1 and zeros.
Ninth step to solving a maximising linear programming problem using a simplex tableau
Repeat steps 3 to 8 until there are no more negative numbers in the objective row.
Tenth step to solving a maximising linear programming problem using a simplex tableau
Tableau is now optimal and non-zero values can be read off using basic variable column and value column.
Name the 2 ways solving a minimising linear programming problem is different to maximising
- First, define a new objective function that is the negative of the original objective function.
- After you have maximised this new objective function, write solution as the negative of this value, which minimises original objective function.
What are the 5 steps to the two-stage simplex method that include >= constraints?
- Use slack, surplus and artificial variables, as necessary, to write all constraints as equations.
- Define a new objective function to minimise sum of all artificial variables.
- Use simplex method to solve this problem.
- If minimum sum of artificial values is 0, the solution is a basic feasible solution of the original problem, which is then the starting point for the second stage. Use the simplex method again to solve the problem.
- If the minimum sum is not 0 then the original problem has no feasible solution.
What 2 methods can be used to solve linear programming problems with >= constraints?
- Two-stage simplex method
2. Big-M method
What does the Big-M method do?
Uses an arbitrarily large number, M, in the objective function. Its purpose is to drive the artificial variables towards 0.
What are the 5 steps to the Big-M method?
- Introduce a slack variable for each constraint of the form <=.
- Introduce a surplus variable and an artificial variable for each constraint of the form >=.
- For each artificial variable, subtract M(a1, a2, a3…) from the objective function
- Eliminate the artificial variables from your objective function so the variables remaining in your objective function are non-basic variables
- Formulate an initial tableau, and apply the simplex method normally