CppNumericalSolvers Benchmark — Constrained Track

29 Hock-Schittkowski 1981 problems (HS001..HS030 minus HS025) · three solvers: cppoptlib AugmentedLagrangian, IPOPT, ALGENCAN
Source · CppNumericalSolvers

Timing policy: wall-clock split into total, startup, and optimisation where the solver API permits the boundary. cppoptlib and IPOPT report all three; ALGENCAN's public API exposes no split point, so startup and optimisation are marked — for ALGENCAN rows. The ratio between startup and optimisation time matters on small problems where the solver's own framework overhead can dominate the optimisation itself.

Performance profiles (Dolan & Moré 2002)

Higher is better — a curve near the top means the solver was fast. The y-value at x = 1 is the fraction of problems on which the solver was the fastest. The y-value at x = τ is the fraction of problems on which the solver was within τ× of the fastest on that problem. A solver whose curve stays near the bottom of the plot was consistently beaten.

nfev (primary)

accuracy |f − f*|

total wall-clock time