Reading a Simplex Solver Log

Learn to interpret the diagnostic output produced by a simplex LP solver — the header with problem statistics, the per-iteration log of objective and infeasibility values, and the final termination status — and synthesize all three to extract optimal value, phase counts, and matrix density from a full log.

Step 1 of 157%

Tutorial

Anatomy of a Solver Log

A simplex solver log is the diagnostic text a solver prints while running. It is organized into three blocks:

  1. Header — problem dimensions after preprocessing.
  2. Iteration log — one line per recorded pivot, showing progress.
  3. Termination message — a one-line verdict.

A typical header line is

3 rows, 4 columns, 8 non-zeros\texttt{3 rows, 4 columns, 8 non-zeros}

The rows count is the number of constraints in the LP, the columns count is the number of decision variables, and non-zeros is the count of nonzero entries in the constraint matrix A.A.

The density of AA is

density=nonzerosrows×columns.\text{density} = \dfrac{\text{nonzeros}}{\text{rows} \times \text{columns}}.

For the header above, the density is 834=81266.7%.\dfrac{8}{3 \cdot 4} = \dfrac{8}{12} \approx 66.7\%. Real-world LPs are usually far sparser — often well under 1%1\% — which is precisely why revised simplex stores and factors AA using sparse data structures.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle