First draft at integrating the leopard linear solver into Ipopt.#709
First draft at integrating the leopard linear solver into Ipopt.#709molysgaard wants to merge 2 commits into
Conversation
|
|
|
Yes, positive on integrating another linear solver interface, especially when most of the work is already done. |
|
@svigerske that's exciting! I have updated the Leopard API to v0.2.0. This is a breaking change that adds support for changing settings during numerical factorization. I have tested the changes on my machine, and pushed the required changes to this PR. |
|
I think that it does not make much sense for Ipopt to add support for a binary-only solver ("free" only as in "beer") that has had 2 blob drops within 3 days and then… nothing! No updates whatsoever for soon 1½ years. If you were willing to release your source code, so that your solver is actually Free Software, and so that others can continue the work that you seem to have no time to work on anymore, this might be worth it. But an abandoned fire&forget blob release? |
|
I don't mind supporting it if it finds use. There are not many places where something like this would be used, but Ipopt really could use it :) |
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
.debpackage and contains aleopard.pcpkc-configfile, so I guess one way to do it is to use autotoolspkg-configintegration 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