Coin-HSL
A collection of HSL packages for use with IPOPT
Technology No.
Latest version: 2024.05.15
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_circlecloud_downloadSupporting documents (3)Product brochureCoin-HSL.pdfChecksumssha256 checksums for CoinHSL distributableschecksums.txt (3 KB)DOWNLOADChangeLogA list of changes in each release of CoinHSLChangeLog.txt (3 KB)DOWNLOADAdditional 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.