Closed hongkai-dai closed 8 years ago
we need to decide if we will add support for IPOPT in the c++ optimization stack or not. @hongkai-dai thinks that it is a better alternative than nlopt in terms of performance (but has the downside that it did not have support for windows last time we checked)
(currently we have limited ipopt support in the matlab optimization classes only)
IPOPT ... did not have support for windows last time we checked
We didn't have any trouble including IPOPT in Simbody for all platforms, including Windows.
@sherm1 , did you need to use cygwin or MinGW to compile IPOPT on Windows? I have not found how to install ipopt on Windows without Cygwin or MinGW, according to this page http://www.coin-or.org/Ipopt/documentation/node15.html
No, we build it in Visual Studio along with the everything else. @chrisdembia, I know you ported a newer version of IpOpt to Simbody recently -- were you able to build it on Windows?
@chrisdembia, I know you ported a newer version of IpOpt to Simbody recently -- were you able to build it on Windows?
You are correct; I did not try building that newer version of IpOpt on Windows. It seems like the issue is that IpOpt does not use CMake? This website says COIN-OR provides Visual Studio solution files for a number of its projects, but not for IpOpt.
Some other notes about IpOpt:
The version of IpOpt that ships with Simbody does build with CMake. We must have added that at some point. @chrisdembia, did you build IpOpt separately with its own build system then and just link with it?
The version of IpOpt that ships with Simbody does build with CMake. We must have added that at some point.
Yeah I think Simbody globs up the IpOpt sources with its own CMakeLists.txt.
@chrisdembia, did you build IpOpt separately with its own build system then and just link with it?
I haven't built or used IpOpt on Windows (aside from within Simbody).
I just checked to see if IpOpt has a Chocolatey package, and it does not. The conda package manager (used mostly for python packages) does have IpOpt binaries (https://anaconda.org/cachemeorg/ipopt_bin).
I just found a link to IpOpt's mailing list from 2014 with CMakeLists files that someone created for Ipopt.
Awesome -- thanks, Chris!
@chrisdembia @sherm1, that is great! Thanks a lot!
Assigning to sammy as he is already working this problem.
Marking as closed. Remaining work is being tracked in #2578 and #2569
Currently Ipopt with Mumps solver is slower than SNOPT and fmincon on small size problems. Should add test of Ipopt for problems with different sizes. Add try different linear solvers for Ipopt.