308. Network Simplex

A specialization of the simplex method for network flow problems (transportation, transshipment, min-cost flow). Exploits the tree structure of basic feasible solutions for speed-up over generic simplex.

308.1. Key insight: basis = spanning tree

For a network with nodes, a basic feasible solution corresponds to a spanning tree of the network (plus a choice of source / sink directions). There are basic variables (one per tree arc), exactly matching the LP’s basis dimension.

Non-basic arcs have flow zero or equal to their capacity.

308.2. Why this matters

Operations that are in general simplex become on a tree:

308.3. Algorithm

Initialize a feasible spanning tree T (e.g., via big-M or two-phase)
While there exists a non-basic arc (i, j) with reduced cost < 0:
    Add (i, j) to T forming a cycle
    Push flow around the cycle until some basic arc hits zero or capacity
    Remove that arc from T (it leaves the basis)
Return optimal flow

308.4. Complexity

308.5. When to use

308.6. See also