Ipopt是一款用来计算大规模非线性优化的开源软件包,这里用来求解MPC。
GitHub地址 https://github.com/coin-or/Ipopt
安装所需功能包
sudo apt-get install cppad
sudo apt-get install gcc g++ gfortran subversion patch wget
下载源码
下载最新的源码
https://www.coin-or.org/download/source/Ipopt/
版本至少大于 3.12.7, 本文下载的为 3.12.7。下载完成后,解压。
编译安装
1. 安装第三方库
cd ~/Ipopt-3.12.7/ThirdParty/Blas
./get.Blas
cd ../ASL
./get.ASL
cd ../Lapack
./get.Lapack
cd ../Mumps
./get.Mumps
cd ../Metis
./get.Metis
下载完第三方库之后,回到 Ipopt-3.12.7 文件夹路径下,
cd ../../
mkdir build
cd build
安装在系统 /usr/local 目录下,默认是放在新建的 build 文件夹中
sudo ../configure --prefix=/usr/local/
sudo make
这一步测试可以不用,检测编译是否成功。
sudo make test
sudo make install
具体可以参考 ~/Ipopt-3.12.7/Ipopt/doc/documentation.pdf 文件,里面有详细说明。