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