First draft at integrating the leopard linear solver into Ipopt. #709
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For the last few years I have been playing with a side project to implement a multifrontal, sparse, indefinite direct matrix factorization algorithm, in the spirit of MA57 and similar.
Now I have something that works pretty well, and have made a first release.
The solver is very well suited for optimization algorithms like Ipopt. It is able to supply the matrix inertia and naturally handles indefinite systems.
See https://github.com/molysgaard/leopard for the full project description.
It would be interesting to see Leopard integrated into Ipopt. Currently, there are not many free solvers integrated into Ipopt, and this creates friction for ad-hoc experimentation and research. My hope is that contributing the leopard solver as a free solver will do a little to democratize research and experimentation within constrained optimization.
This PR currently works with leopard on my machine, but I have yet to understand all the autotools stuff to auto-detect and properly set linker flags during the Ipopt build. I would be very thankful for any insight into how to properly integrate leopard into the Ipopt-autotools build system.
Leopard is distributed as a
.deb
package and contains aleopard.pc
pkc-config
file, so I guess one way to do it is to use autotoolspkg-config
integration if that exists?I am prepared to work more to complete this integration, but I would like to first check if you would be positive to such an integration?
Regards Morten