欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados

【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados

2025/4/23 10:44:32 来源:https://blog.csdn.net/qq_40964267/article/details/143760237  浏览:    关键词:【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados

20241114 记录一下 Ubuntu 20.04 下安装 MPC 中两种常用开源 NLP 优化器 CasADi + Ipopt / acados

可以新建一个文件夹,保存所有源码安装下载的代码

mkdir ~/mpc_dep

1. 安装依赖

# **IPOPT**
sudo apt-get install gcc g++ gfortran git patch wget pkg-config libmetis-dev# IPOPT - BLAS 和 LAPACK
sudo apt install libblas-dev  liblapack-dev# Casadi - Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
sudo apt-get install swig# Mumps
sudo apt install libmumps-seq-dev

2. 安装 Ipopt

参考官网

Ipopt: Installing Ipopt

Ipopt 使用一些外部包,这些包不包括在 Ipopt 源代码分发中,例如 ASL(如果您想编译 Ipopt AMPL 求解器可执行文件,需要 AMPL 求解库),Blas 和 Lapack。

Ipopt 还至少需要一个线性求解器来处理稀疏对称不定矩阵。根据不同的需求,有多种选择。请注意,通常优化器中的计算时间大部分都花在求解线性系统上,且选择的线性求解器会影响 Ipopt 的速度和稳定性。因此,尝试不同的线性求解器可能对应用有益。

由于这些第三方软件的许可证与 Ipopt 不同,ipopt 不能将它们的代码与 Ipopt 包一起分发,因此必须自行获取。对于 ASL、HSL 和 MUMPS,COIN-OR 提供了专门的构建系统,这些系统可以生成与 Ipopt 构建系统兼容的库。部分专门的构建系统还配有脚本,可以使用 wget 或 curl 轻松下载代码。

接下来先安装 Ipopt 依赖的库,再安装本体

Pardiso/SPRAL/WSMP/ASL 都是一些特殊应用的库,可以参考官网按需安装。下面是必须和比较通用的依赖。

2.1. BLAS 和 LAPACK

Ipopt 的构建系统会尝试在系统中找到 BLAS 和 LAPACK 的安装版本。在 Ubuntu 上,可以通过安装 libblas-devliblapack-dev 来提供这些库。

# 刚才安装过了
# sudo apt install libblas-dev  liblapack-dev

2.2. HSL(较复杂)

2.2.1 克隆仓库

cd ~/mpc_dep
git clone https://github.com/coin-or-tools/ThirdParty-HSL
cd ThirdParty-HSL
git checkout releases/2.2.4 # 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词