Skip to the content

Topics Covered

Artificial Variables Big-M Method Two-Phase Method Degeneracy Cycling Special Cases Simultaneous Equations
On this page
  1. 1. The Need for Artificial Variables
  2. 2. Big-M (Charnes Penalty) Method
  3. 3. Two-Phase Simplex Method
  4. 4. Degeneracy in LPP
  5. 5. Special Cases via the Simplex Method
  6. 6. Solving Simultaneous Equations via Simplex
  7. 7. Algorithm Decision Tree
  8. Key Take-aways

1. The Need for Artificial Variables

The standard simplex method needs an obvious starting basic feasible solution (BFS) — typically the slack variables. But for LPPs with = or ≥ constraints, there is no immediate identity submatrix to use as the basis. To create one, we add artificial variables with a large penalty in the objective.

Two popular approaches use this idea:

  1. Big-M (penalty) method — assign artificial variables a coefficient of \(+M\) (where \(M\) is a very large positive number) in a minimisation problem, or \(-M\) in a maximisation problem.
  2. Two-Phase method — minimise the sum of artificials first; once they leave the basis, solve the actual LPP.

2. Big-M (Charnes Penalty) Method

Steps

  1. Convert all \(\ge\) and = constraints to equalities; add a non-negative surplus for ≥ and an artificial for both.
  2. In the objective function, give each artificial variable a coefficient of \(+M\) (for Min) or \(-M\) (for Max), where \(M\) is so large that no optimal solution will keep an artificial positive.
  3. Set up the initial simplex tableau with artificials as the starting basis.
  4. Apply the regular simplex algorithm.
  5. Interpretation of final tableau:
    • If no artificial appears in the basis (or all artificial basic variables = 0): optimal solution found.
    • If any artificial remains positive at optimality: the original LPP is infeasible.

2.1 Worked Example (Minimisation)

PROBLEM

Min \(Z = 5 x_1 + 4 x_2\) subject to \(2 x_1 + x_2 \ge 12,\;\; x_1 + 2 x_2 \ge 12,\;\; x_1, x_2 \ge 0\).

Step 1 — Standard form

Introduce surplus \(s_1, s_2\) and artificials \(A_1, A_2\):

\[ \begin{aligned} \text{Min } Z &= 5 x_1 + 4 x_2 + 0 s_1 + 0 s_2 + M A_1 + M A_2 \\ 2 x_1 + x_2 - s_1 + A_1 &= 12 \\ x_1 + 2 x_2 - s_2 + A_2 &= 12 \\ x_1, x_2, s_1, s_2, A_1, A_2 &\ge 0. \end{aligned} \]

Step 2 — Initial tableau

cBBasisxBx₁ (5)x₂ (4)s₁ (0)s₂ (0)A₁ (M)A₂ (M)θ
MA₁1221−101012/2 = 6
MA₂12120−10112/1 = 12
Zj24M3M3M−M−MMM
cj−Zj5−3M4−3MMM00

For Min, we want all \(c_j - Z_j \ge 0\). Both \(x_1\,(5 - 3M)\) and \(x_2\,(4 - 3M)\) are strongly negative for large \(M\), so either may enter; we bring in \(x_1\) (both choices reach the same optimum). Smallest θ ratio = 6 ⇒ row 1 leaves; pivot at (1, x₁) with element 2.

Step 3 — Iteration 2

Normalise row 1 (divide by 2), then eliminate x₁ from row 2 (subtract row 1).

cBBasisxBx₁ (5)x₂ (4)s₁ (0)s₂ (0)A₂ (M)θ
5x₁611/2−1/2006/(1/2) = 12
MA₂603/21/2−116/(3/2) = 4
Zj30+6M55/2 + 3M/2−5/2 + M/2−MM
cj−Zj03/2 − 3M/25/2 − M/2M0

Most negative is \(3/2 - 3M/2\) ⇒ x₂ enters; smallest ratio = 4 ⇒ A₂ leaves; pivot = 3/2.

Step 4 — Iteration 3 (Final)

After pivoting, the basis becomes \(\{x_1, x_2\}\) with values \(x_1 = 4, x_2 = 4\), Z = 5(4) + 4(4) = 36.

All artificials have left the basis ⇒ feasible. Check optimality: all \(c_j - z_j \ge 0\) ⇒ optimum.

Solution: \(x_1 = 4,\; x_2 = 4,\; Z_{\min} = 36\).

3. Two-Phase Simplex Method

An alternative to Big-M that avoids the algebraic awkwardness of a large symbolic \(M\). It proceeds in two phases:

  1. Phase 1 — Minimise the sum of artificial variables (\(W = \sum A_i\)). If \(W = 0\) at the end of Phase 1, a feasible BFS to the original LPP has been found; otherwise the original LPP is infeasible.
  2. Phase 2 — Use the BFS from Phase 1 (with artificials dropped) and the original objective function. Apply standard simplex.

3.1 Worked Example (Same as Big-M Example)

PROBLEM

Min \(Z = 5 x_1 + 4 x_2\) s.t. \(2 x_1 + x_2 \ge 12,\; x_1 + 2 x_2 \ge 12,\; x_1, x_2 \ge 0\).

Phase 1

Minimise \(W = A_1 + A_2\) subject to the same constraints.

cBBasisxBx₁ (0)x₂ (0)s₁ (0)s₂ (0)A₁ (1)A₂ (1)
1A₁1221−1010
1A₂12120−101
cj−Zj−3−31100

x₁ enters (or x₂ — both tied). Choose x₁. Ratios 6, 12 ⇒ A₁ exits.

After two iterations the artificials are eliminated and \(W = 0\), giving BFS \((x_1, x_2) = (4, 4)\). Phase 1 successful.

Phase 2

Use the BFS \((x_1 = 4, x_2 = 4)\) with the original objective Min \(Z = 5 x_1 + 4 x_2\). Compute \(c_j - z_j\) ⇒ already all ≥ 0 ⇒ optimal.

Solution: Same as Big-M: \(x_1 = 4, x_2 = 4, Z_{\min} = 36\).

Big-M vs Two-Phase — Comparison

AspectBig-MTwo-Phase
How handles artificialsLarge penalty M in objectiveAuxiliary objective W in Phase 1
Numerical stabilitySensitive to choice of MMore stable; avoids large numbers
Pen-and-paper feelOne passTwo passes
Used in softwareRareMore common

4. Degeneracy in LPP

DEFINITION

A basic feasible solution is degenerate if one or more basic variables take the value zero. In the simplex method, degeneracy is detected by a tie in the minimum-ratio test.

Why is degeneracy a problem?

Methods to Resolve Degeneracy

  1. Perturbation method (Charnes) — add small perturbations \(\epsilon, \epsilon^2, \ldots\) to the right-hand sides, breaking ties in the ratio test.
  2. Bland's rule — when ties occur, choose the entering and leaving variable with the smallest index. Guarantees no cycling but can slow convergence.
  3. Lexicographic rule — compare entire rows lexicographically to choose the leaving variable.
EXAMPLE 1

Consider an LPP whose simplex tableau gives, at some iteration, two rows with identical ratios. Pick any one of them as the pivot row (or apply Bland's rule). The iteration may produce a BFS with one basic variable = 0 — that's degeneracy. Proceed with the next iteration; the algorithm should still terminate.

5. Special Cases via the Simplex Method

5.1 Alternative (Multiple) Optimal Solutions

Detection: In the final simplex tableau, a non-basic variable has \(c_j - z_j = 0\). It can enter the basis without changing \(Z\), giving another optimal BFS.

The set of optimal solutions is the convex combination of these alternative BFSs.

5.2 Unbounded Solution

Detection: The entering column has all non-positive entries. No row gives a positive ratio ⇒ the entering variable can be increased indefinitely without violating any constraint. \(Z\) is unbounded.

5.3 Infeasible Solution

Detection: At optimality of the Big-M (or Phase 1 of Two-Phase), an artificial variable remains in the basis with a positive value. There is no feasible solution.

5.4 Degenerate Solution

Detection: A basic variable in the optimum BFS equals zero, or a tie occurs in a minimum-ratio test.

Indication in tableauMeaning
Non-basic variable has \(c_j - z_j = 0\) at optimumAlternative optima
Entering column has all ≤ 0 entriesUnbounded
Artificial variable basic at positive value at endInfeasible
Tie in min-ratio test / basic variable = 0Degenerate

6. Solving Simultaneous Equations via Simplex

The simplex method's pivoting machinery can solve a system of linear equations \(A\mathbf{x} = \mathbf{b}\) — treat the system as the equality constraints of an LPP with a dummy objective.

Procedure

  1. Add an artificial variable to each equation (since they are equalities).
  2. Minimise \(W = \sum A_i\) (Phase 1 only — no real objective needed).
  3. If \(W = 0\) at the end, the values of \(x_j\) form the unique solution (if the system has one).
  4. If \(W > 0\), the system is inconsistent — no solution.
EXAMPLE 2

Solve \(2 x_1 + x_2 = 8,\;\; x_1 + 3 x_2 = 9\) using simplex (Phase 1).

Add artificials: \(2 x_1 + x_2 + A_1 = 8,\; x_1 + 3 x_2 + A_2 = 9\). Min \(W = A_1 + A_2\).

After two simplex iterations, \(W = 0\) with \(x_1 = 3, x_2 = 2\). Verify: \(2(3) + 2 = 8\) ✓; \(3 + 3(2) = 9\) ✓.

7. Algorithm Decision Tree

  1. Express LPP in standard form.
  2. Are all constraints "≤" with non-negative b's? → Use ordinary simplex (Unit 3).
  3. Otherwise add surplus + artificial variables.
    • Use Big-M (penalty in objective) OR
    • Use Two-Phase (auxiliary objective \(W\) first).
  4. Run simplex.
    • Tie in ratio test ⇒ degeneracy.
    • All-≤ entering column ⇒ unbounded.
    • Artificial stays positive at optimum ⇒ infeasible.
    • Non-basic \(c_j - z_j = 0\) ⇒ alternative optima.

Key Take-aways