You are on page 1of 3

Steps in the Simplex Method

Step 1. Convert the linear programming model into the standard form: a. For each less than or equal to ( ) constraint, add a slack variable. b. For each equation (=) constraint, add an artificial variable. c. For each greater than or equal to ( ) constraint, subtract a surplus variable and add an artificial variable. Whenever an artificial variable, for example A1 , is used, the objective function needs to be modified as following: a. For a maximization problem, subtract MA1 ( MA1 ). b. For a minimization problem, add MA1 ( + MA1 ). Step 2. Put the problem coefficients into a tableau, determine the initial basic variables, and compute the z j and c j z j rows. The initial basic variables are always the slack and artificial variables. Step 3. Determine an entering column that can improve the value of the objective function: a. For a maximization problem, select the column with the most positive c j z j value. b. For a minimization problem, select the column with the most negative c j z j value. If there is a tie, break the tie arbitrarily. The variable in the entering column is the entering variable. If there is no such a column, Stop. Step 4. Determining the leaving row by selecting the row with the minimal ratio. If there is a tie, break the tie arbitrarily (with one exception, when there are artificial variables in the tied rows, select a row with an artificial variable). The ratio for a row is computed in the following way: a. If the element in the entering column of the same row is positive, then the ratio is calculated as Ratio = RHS in the Row Element in the Same Row and in the Entering Column

b. If the element in the entering column and the same row is non-positive (0 or negative), then there is no ratio for that row.

c. If there is no positive element in the entering column, Stop. In this case, the objective function is unbounded. The element at the intersection of the entering column and the leaving row is called the pivoting element. The basic variable in the leaving row is called the leaving variable. Step 5. Update the tableau. a. Replace the leaving variable with the entering variable in the B.V. column and replace the objective coefficient of the leaving variable with the objective coefficient of the entering variable in the cB column. b. For the leaving row, divide each element (including the RHS) in the row by the pivoting element. c. For the entering column only, put a 0 in each row except for the leaving row. d. For all other elements, update each of them with the following formula:
The Number in the Same Row and in the Entering Column The Number in the Same Column and in the Leaving Row The Pivoting Element

NewValue = Old Value

The old value is always used as the minuend and the pivoting element is always used as the divider. There are other ways to update these elements. e. Compute the z j and c j z j rows.

Go back to Step 3.

Each tableau corresponds to a basic solution. The values of the nonbasic variables (variables not in the B.V. column) are all 0. The value of a basic variable is given in the RHS in the same row.

After the STOP criterion in Step 3 has been satisfied, determine the following: a. If there is no artificial variable in the B.V. column or if there are artificial variables in the B.V. column but their values are all zeros (0), the current solution is optimal. b. If there is one or more artificial variables in the B.V. column and at least one of them is positive, the problem does not have a feasible solution.

c. If the solution is optimal and if there is at least one nonbasic column (variable) with
c j z j = 0 , then the problem has alternative optimal solutions.

d. If the algorithm stopped in Step 4, i.e. if there is not a single positive value in the entering column (corresponding to the constraints), the objective function is unbounded.

You might also like