Open stephane-caron opened 4 years ago
Yes, I did some benchmarks that I should put properly in form.
The computations done by the two implementations are usually very close and, as a result, the timing are almost identical in a number of situations.
Where GoldfarbIdnaniSolver
is faster (for now) is when handling double sided inequalities (slight edge) and bounds (larger difference). I'll soon be adding warm start as well, which could give quite substantial gains.
For now, GoldfarbIdnaniSolver
is missing a robust handling of quasi linear dependencies in the active-set, what eiquadprog++
has. This is the very first item on my todo list.
Edit: you can actually run and play with the benchmarks comparing some solvers (LSSOL, QLD, Quadprog, eiquadprog++ and GoldfarbIdnani) with `benchmarks/Solvers.cpp
The eiquadprog++ solver from Luca Di Gaspero et al. is another Eigen-based implementation of Goldfarb-Idnani. Have you tried it out?
I'd be curious to know how it compares to your implementation in
GoldfarbIdnaniSolver.cpp
:slightly_smiling_face: