Installing IPOPT

From Wiki for iCub and Friends
Revision as of 11:43, 12 June 2013 by (talk | contribs) (Binary distributions)
Jump to: navigation, search

IpOpt is an open-source tool from COIN-OR project for nonlinear constrained optimization. It is required to install it in order to enable IpOpt-based features of iKin library.

IpOpt can be compiled by getting the sources directly from the web, or it can be installed from binaries. Binary releases are available for Windows and Linux, see below.

Remember to set the environment variable IPOPT_DIR pointing to the local directory where you have installed the libraries.

Compiling IpOpt

You can compile the library yourself. Visit the IpOpt web site, download the source code archive (we support releases from 3.5.4 onward) and follow the documentation to compile it carefully. Among all the possible sparse symmetric linear solvers IpOpt can rely on, we suggest to use MUMPS: it is fully open source and it turns to be suitable for our needs. Moreover, if you are a linux user, make sure that the package gfortran is installed.

Hint: to check whether IpOpt is working along with iKin framework, compile and execute the examples located under the iKin tutorials directory: if the IpOpt banner is displayed when the examples are launched then IpOpt is correctly configured.

Hereafter a simple list is given resuming all the basic steps you need to compile IpOpt under Linux:

  1) do "apt-get install gfortran" (if you do not have it yet)
  2) download IpOpt source code and put it wherever you like; call this location IPOPT_DWN_DIR
  3) "cd $IPOPT_DWN_DIR/ThirdParty/Blas" and launch "./get.Blas"
  4) "cd $IPOPT_DWN_DIR/ThirdParty/Lapack" and launch "./get.Lapack"
  5) "cd $IPOPT_DWN_DIR/ThirdParty/MUMPS" and launch "./get.Mumps"
  6) "cd $IPOPT_DWN_DIR/ThirdParty/Metis" and launch "./get.Metis"
  7) create a build directory wherever you like; call this location IPOPT_DIR and export it from within .bashrc
  8) "cd $IPOPT_DIR" and launch "$IPOPT_DWN_DIR/configure"
  9) launch "make"
 10) launch "make test"
 11) launch "make install"

Binary distributions

  • Windows. MSVC users can download a precompiled version of IpOpt; this version is compatible with YARP (compiled with Multi-threaded DLL switch enabled and packed using lib command). Further, IpOpt binaries distributed with MUMPS need to have the bin subdirectory (containing some Fortran DLL) within the path.
  • Linux. Compiling IpOpt on Linux is easy. If you really want to download precompiled versions, pick the version that matches your system; some are available from the IpOpt official web site, some are provided by us. However, remember that the use of precompiled versions tends to generate unexpected results such as compilation errors, since the match between your machine and the machine where that version has been produced is likely to be not exact.