求解器pospt的原链接如下:
PSOPT/psopt: PSOPT Optimal Control Software (github.com)
在该文件夹下提供了安装的指导文件,文件内容如下:
在 Ubuntu 22.04 中,如果按照适用于 Ubuntu 20.04 的说明执行 PSOPT 代码,目前会报告与 adolc 库相关的运行时错误。以下是在 Ubuntu 22.04 下安装 PSOPT 所需的具体说明。
首先,应在终端窗口运行以下程序,安装一些必要的软件包:
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install gfortran
sudo apt-get install g++
sudo apt-get install libboost-dev
sudo apt-get install libboost-system-dev
sudo apt-get install coinor-libipopt-dev
sudo apt-get install gnuplot
sudo apt-get install libeigen3-dev
sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
其次,运行以下命令下载、编译并安装 adolc 和 ColPack。
安装 ColPack
1. 下载 ColPack 源代码
进入一个工作目录并下载 ColPack 源代码:
cd $HOME/ThirdParty
wget http://archive.ubuntu.com/ubuntu/pool/universe/c/colpack/colpack_1.0.10.orig.tar.gz
tar zxvf colpack_1.0.10.orig.tar.gz
2. 编译和安装 ColPack
进入 ColPack 源代码目录并编译安装:
cd ColPack-1.0.10
./autoconf.sh
./configure
make
sudo make install
3. 确认安装
确认 ColPack 的库文件和头文件是否在正确的位置:
ls /usr/local/lib/libColPack.so
ls /usr/local/include/ColPack
安装 ADOL-C
1. 下载 ADOL-C 源代码
确保你已经在工作目录中有 ADOL-C 源代码。
2. 配置 ADOL-C
通过设置 CPPFLAGS
和 LDFLAGS
环境变量明确指定 ColPack 的路径来配置 ADOL-C:
cd $HOME/ADOL-C-2.6.3
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-sparse --with-colpack=/usr/local
3. 编译 ADOL-C 和安装ADOL-C
make
sudo make install
4.确认安装
ls /usr/local/lib/libadolc.so
ls /usr/local/include/adolc
安装psopt:
先安装其他依赖库:
sudo apt-get update
sudo apt-get install git cmake gfortran g++ libboost-dev libboost-system-dev coinor-libipopt-dev gnuplot libeigen3-dev libblas-dev liblapack-dev
下载代码并进入构建目录:
cd $HOME
git clone https://github.com/PSOPT/psopt.git
cd psopt
mkdir build
cd build
配置:
cmake -DBUILD_EXAMPLES=ON ..
编译安装:
make
sudo make install
验证安装:
cd ~/MyOpt/psopt/examples/goddard/build
cmake ..
make
./goddard
经过上述步骤,即可完成对psopt的安装,可以顺利使用。
注:经过上述安装,adolc库在我电脑中位置是:
- 库文件 :在
/home/gz/adolc_base/lib64
- 头文件 :在
/home/gz/adolc_base/include/adolc
另外参考:
一、最优控制软件包PSOPT安装方法_依赖库 hsl(通常是high speed library的简写,用于线性代数和数值优化的库)没有正-CSDN博客