Dual Simplex Method

Work in progress. This note is still being written and incomplete.

3 min read Last updated Fri Aug 28 2026 11:38:57 GMT+0000 (Coordinated Universal Time)

Applies when a tableau is optimal (objective row satisfies the optimality criterion) but infeasible (some RHS is negative). Common after adding a new constraint to an already-optimal tableau.

Iteration Steps

Select Leaving Variable

The basic variable with the most negative RHS.

Select Entering Variable

Among columns with a negative entry in the leaving row, the one minimizing the ratio of objective row coefficient to that entry (absolute value).

If no negative entry exists in the leaving row, the problem is infeasible. Stop.

Pivot

Same as the primal simplex algorithm’s pivot step.

Repeat until every RHS is 0\ge 0, at which point the tableau is both optimal and feasible.

Worked Example

Take the optimal tableau from the simplex algorithm example (z=3x1+5x2z = 3x_1 + 5x_2, optimum x1=2x_1 = 2, x2=6x_2 = 6, z=36z = 36) and add the constraint x1+x25x_1 + x_2 \le 5, which the current optimum violates (2+6=82 + 6 = 8).

Adding slack s4s_4 gives x1+x2+s4=5x_1 + x_2 + s_4 = 5. Substituting the x1x_1 and x2x_2 rows to eliminate the basic variables leaves 16s213s3+s4=3-\tfrac{1}{6}s_2 - \tfrac{1}{3}s_3 + s_4 = -3. The objective row is unchanged, so the tableau is still optimal but now infeasible.

1 /

entering column leaving row pivot element updated this step

Most negative RHS is 3-3, so s4s_4 leaves. Negative entries in that row are under s2s_2 (16-\tfrac16) and s3s_3 (13-\tfrac13). Ratios of objective row coefficient to entry magnitude: 3/21/6=9\tfrac{3/2}{1/6} = 9 and 11/3=3\tfrac{1}{1/3} = 3. Minimum is 33, so s3s_3 enters. Pivot on 13-\tfrac13.

Still infeasible: x1=1x_1 = -1. The only negative entry in that row is under s2s_2 (12-\tfrac12), so s2s_2 enters. Pivot on 12-\tfrac12.

Every RHS is 0\ge 0 and the objective row is still non-negative. Optimal at x1=0x_1 = 0, x2=5x_2 = 5, z=25z = 25.

Was this helpful?