The central path

The central path is the smooth curve that interior point methods chase: it starts at the most "central" point of your feasible region and ends at the optimum. Unlike the other buttons in lpviz, this one doesn't visualize a practical solver — it computes the ideal object itself.

A smooth curve inside a polygon running from its analytic center to the optimal vertex, with points clustered at both ends.
Equal steps in log µ: the dots bunch where the path lingers (near the analytic center and the optimum) and spread out where it moves.

The log barrier

Take the LP maximize cx s.t. aixbi and replace the hard constraints with a logarithmic barrier. For a parameter µ > 0, solve

maximize  cx + µ Σi log(biaix)

The log of each slack acts as an infinitely tall wall at the boundary: as the point approaches any constraint, its slack goes to zero and the barrier term plunges to −∞. The objective is strictly concave, so each µ has a unique maximizer x*(µ) strictly inside the region. The curve of these maximizers, traced as µ varies, is the central path:

How lpviz traces it

The N slider picks how many points to compute (default 75, up to 100). lpviz spaces N values of µ evenly on a log scale from 10³ down to 10⁻⁵ and, for each one, maximizes the barrier objective with damped Newton's method:

  1. Form the gradient c − µ Σ ai/si and Hessian curvature µ Σ aiaiᵀ/si² from the current slacks si = biaix, and solve for the Newton step.
  2. Backtrack the step (halving, with an Armijo sufficient-increase test) until it improves the barrier objective while staying strictly feasible — the barrier itself rejects any step that would cross the boundary.
  3. Stop when the gradient's ∞-norm falls below 10⁻⁴.

Each solve is warm-started from the previous µ's optimizer, which is exactly why path-following works: neighboring points on the path are close, so a few Newton steps suffice. The very first solve starts from the centroid of your polygon (or the interior point supplied in 3-variable mode) — the method needs a strictly feasible starting point, which is also why the Central Path button disables when your region is unbounded in the objective direction (the path would escape to infinity).

Reading the picture

Connection to interior point methods

A path-following IPM never computes x*(µ) exactly; it takes one Newton-ish step per µ and stays within a loose neighborhood of the path. To see this correspondence, enable Trace, run Central Path, then run IPM with a small αmax: the two curves shadow each other, converging to the same point of the optimal face. Central Path is the platonic route; IPM is the practical approximation with error bars.

Behavior to watch for