|
1 | 1 | # CppNumericalSolvers |
2 | 2 |
|
3 | 3 | A header-only C++17 optimization library that is fast, reliable, and |
4 | | -easy to integrate. On an [82-problem benchmark][bench] it converges on 98% of |
5 | | -problems (tied for best) with the lowest mean function-evaluation count |
6 | | -of any solver tested -- ahead of Nocedal's Fortran L-BFGS, libLBFGS, |
7 | | -and LBFGSpp. |
| 4 | +easy to integrate. On an [83-problem benchmark][bench] it converges on 95% of |
| 5 | +problems with the most first-place wins and the lowest mean |
| 6 | +function-evaluation count of any solver tested -- ahead of Nocedal's |
| 7 | +Fortran L-BFGS, libLBFGS, LBFGSpp, and LBFGS-Lite. |
8 | 8 |
|
9 | 9 | [bench]: https://patwie.github.io/CppNumericalSolversBenchmark/ |
10 | 10 |
|
@@ -185,14 +185,14 @@ verify your derivatives against finite differences during development. |
185 | 185 |
|
186 | 186 | Tested on the 35-problem Moré-Garbow-Hillstrom (1981) set plus 47 |
187 | 187 | unconstrained Hock-Schittkowski / Toint-Petrova problems from |
188 | | -NLSProblems.jl, against Nocedal's Fortran L-BFGS, libLBFGS, and |
189 | | -LBFGSpp: |
190 | | -
|
191 | | -| Metric | cppoptlib | Fortran L-BFGS | libLBFGS | LBFGSpp | |
192 | | -|---|---|---|---|---| |
193 | | -| Convergence | 80/82 (98%) | 80/82 (98%) | 78/81 (96%) | 78/82 (95%) | |
194 | | -| 1st-place wins | 37 | 36 | 37 | 29 | |
195 | | -| Mean nfev | **63.7** | 84.7 | 69.0 | 72.1 | |
| 188 | +NLSProblems.jl plus logistic regression on Iris, against Nocedal's |
| 189 | +Fortran L-BFGS, libLBFGS, LBFGSpp, and LBFGS-Lite: |
| 190 | +
|
| 191 | +| Metric | cppoptlib | Fortran L-BFGS | libLBFGS | LBFGSpp | LBFGS-Lite | |
| 192 | +|---|---|---|---|---|---| |
| 193 | +| Convergence | 79/83 (95%) | 78/83 (94%) | 76/82 (93%) | 76/83 (92%) | 59/83 (71%) | |
| 194 | +| 1st-place wins | **45** | 34 | 28 | 23 | 32 | |
| 195 | +| Mean nfev | **56.9** | 81.9 | 65.6 | 67.4 | 51.1 | |
196 | 196 |
|
197 | 197 | Full reproducible benchmark with driver sources, per-iteration |
198 | 198 | convergence traces, and interactive results: |
|
0 commit comments