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