The problem it solves
- When
v_B > 0fails (a basic variable is already zero), the optimality case is still fine — a non-negative reduced cost still certifies optimality (17:34). - The trouble is the other branch: with some
c̃_j < 0you must addjtoBand kickkout ofB, and it is not obvious whichjand whichk(18:08). - Careless choices produce an infinite loop — the same variables swap back and forth with no progress (
18:53). There may be severaljwith negative reduced cost and several already-zerov_k(19:05). - Multiple pivoting rules exist; some do not terminate. Bland's rule does terminate (
19:44). The proof is left to a link in the course notes (19:20).
The rule
Entering variable j — pick j minimizing c̃_j among those with c̃_j < 0; on ties take the first such j (19:44).
Leaving variable k (20:53, 21:43, 22:35):
- Define
rwithr_B = 0andr_N = c̃_N(the reduced cost). - Define
A' = A_B⁻¹ Aandb' = A_B⁻¹ b. - Define the ratio
q = min_i { b'_i / A'_{ij} : A'_{ij} > 0 }. - Pick
kattaining that minimum; on ties take the first suchk.