我让它运行起来。希望这个简短的指南/建议对其他人有用,除了我未来的自己。
首先,当你problem
在 OMG-tools 中声明一个 new 时,options
语法应该是这样的:
options = {'horizon_time': horizon_time, 'solver_options': {'ipopt':{'ipopt.linear_solver': 'ma57'}}};
如果您Invalid_Option
在 each 的终端中打印出错误update_time
,则该ipopt
命令未被识别。
如果程序退出,说明ma57
求解器有问题,则安装了 HSL,只是找不到正确的求解器 - 您可能拥有 HSL 的存档版本。
要安装,请转到有关获取 HSL 的 Casadi 指南,请按照第一个选项,从源代码构建。请注意,您也可以使用and代替libblas3gf
and 。完成后,您需要获取 HSL。下载使用学术许可访问的两个包(RC、stable)之一的源代码。在此步骤中,您需要填写一些表格并等待一两个 daz 以接收下载文件的链接。liblapack3gf
libblas3
liblapack3
准备好环境并下载所有必要的文件后,按照指南中的说明运行配置,我建议使用/usr/local
,这将在以下位置安装包/usr/local/lib
:
$> ./configure --prefix=(where_you_want_to_install) LIBS="-llapack" --with-blas="-L/usr/lib -lblas" CXXFLAGS="-g -O2 -fopenmp" FCFLAGS="-g - O2 -fopenmp" CFLAGS="-g -O2 -fopenmp"
配置后,运行 make 和 (sudo) install。最后,添加/usr/local/lib
到$LD_LIBRARY_PATH
. 通过将路径回显到终端来确保路径有效。
现在ma27
和ma57
求解器都应该工作。有关哪些求解器以及如何使用它们的更多信息,请访问http://www.hsl.rl.ac.uk/。
PS:每个Coin-HSL
包都有自己的 README。此外,您可以运行configure --help
以了解命令本身。如果您在安装过程中遇到任何问题,请务必阅读两者。