Using sIPOPT with with casadi 2.2.0 and IPOPT 3.2.1

340 views
Skip to first unread message

Lukas M

unread,
Feb 12, 2015, 10:27:10 AM2/12/15
to casadi...@googlegroups.com
Hi there,

I tried to install the versions casadi 2.2.0 and IPOPT 3.2.1 (including the hsl solvers) on a Ubuntu 14.04 system using the instructions from https://github.com/casadi/casadi/wiki/InstallationLinux with option 1 and 2 for IPOPT.
However, the sIPOPT is not built correctly, which can be seen using when doing the casadi cmake -DWITH_PYTHON=ON .
in the file FindIPOPT.cmake  line 36  "find_library(SIPOPT_LIBRARY sipopt HINTS ${IPOPT_LIBDIR})"  must fail, since the *.hpp files are in the respective folders.

I also tried this on Windows using python(x,y). There, python.exe crashes when running parametric_sensitivities.py from the casadi-2.2.0+146.fd28759_example_pack.

Did I do something wrong during the installation or is there a previous version, which supports sIPOPT?

Thank you very much,
Lukas










Joel Andersson

unread,
Feb 13, 2015, 12:14:30 PM2/13/15
to
Hello Lukas,

The sIPOPT support is a bit poor (and always has been). The support is quite fragile both on the IPOPT side (where it's really just an add-on with a quite horrible syntax) and on the CasADi side. I plan to add a generic NLP sensitivity analysis functionality to CasADi that is much more flexible, works with any NLP solver and uses natural syntax, e.g. "nlp_solver.hessian("p","f")" to get the Hessian of the optimal cost with respect to a set of parameters. I'll try to take time to add this during the spring as it should be really useful and be a relatively simple thing to add. There is no reason why CasADi derivative calculations couldn't be extended to NLP solvers, it's really just an extension to how derivatives are calculated for Newton solvers. With that, sIPOPT support will also be dropped. Just to give you heads up.

I know that sIPOPT has been working fine on Windows earlier, so I don't know why it didn't work for you. I would try an earlier version of CasADi. I am quite sure that sIPOPT support has been included in some Windows binaries, not sure if in the latest versions though.

Hope this helps you further. And apologies for the poor state of the NLP parametric sensitivity calculations.

Joel
Reply all
Reply to author
Forward
0 new messages