Coin-HSL
Technology No.
Latest version: 2023.05.26
HSL provides a number of linear solvers that can be used in IPOPT. We provide several different ways for IPOPT users to download our codes.
Which solver?
For general use we recommend HSL_MA97. For small or highly sparse problems use MA57. For huge problems use HSL_MA86 (if factors fit in memory) or HSL_MA77 (if they don't).
Solver | Free to all | Free to academics | Problem size | Parallel | Repeatable answers | Notes |
---|---|---|---|---|---|---|
MA27 | Yes | Yes | Small | No | Yes | Outdated, relatively slow. Can be downloaded as a standalone package. |
MA57 | Yes | Small / Medium | Threaded BLAS | Yes | ||
HSL_MA77 | Yes | Huge | Limited | Yes | Out-of-core | |
HSL_MA86 | Yes | Large | Highly | No* | Designed for multicore | |
HSL_MA97 | Yes | Small / Medium / Large | Yes | Yes | Slower than HSL_MA86 on large problems |
* Note: HSL_MA86 achieves repeatable answers in serial, however when running in parallel operations may be reordered for better performance. This leads to different (but equally valid) solutions.
Performance tips
- Try different scaling options using solver specific settings in ipopt.opt.
- For many problems scaling is not necessary. In particular try "ma57_automatic_scaling no" when using MA57 on small problems.
- See our report On the effects of scaling on the performance of Ipopt for a review of these effects.
- When using HSL_MA86 or HSL_MA97 ensure MeTiS ordering is compiled into Ipopt to maximize parallelism.
-
swap_vertical_circlelibrary_booksReferences (0)
-
swap_vertical_circlecloud_downloadSupporting documents (2)Additional files may be available once you've completed the transaction for this product. If you've already done so, please log into your account and visit My account / Downloads section to view them.