Finding an Initial BFS: The Two-Phase Method
Use artificial variables and an auxiliary objective (Phase 1) to construct an initial basic feasible solution for an LP whose constraints include equalities or inequalities, then transition to Phase 2 with the original objective.
Tutorial
Setting Up Phase 1
The tableau simplex method needs an initial basic feasible solution (BFS) whose basic columns form an identity matrix. When every constraint is with a nonnegative right-hand side, the slack variables provide this identity automatically. But many LPs include or constraints, for which no obvious starting basis exists.
The two-phase method handles this by temporarily adding artificial variables to manufacture an identity basis, then driving them out in a first auxiliary LP called Phase 1.
The setup rules (assuming each constraint's RHS satisfies ) are:
- A constraint gets a slack added:
- A constraint gets a surplus subtracted and an artificial added:
- A constraint gets only an artificial added:
If any RHS is negative, multiply that row by first so that .
The Phase 1 objective is to minimize the sum of artificial variables:
The initial Phase 1 BFS sets each artificial equal to its row's RHS, each slack equal to its RHS, and every other variable to . The artificials (and any usable slacks) form an identity, so we can begin pivoting immediately.
For example, consider
The Phase 1 standard form is
with . The initial BFS is , all others .