我不知道问题出在我和Pyomo.DAE之间还是我和IPOPT之间。我正在Windows(WSL)上的Ubuntu上的Bash中的命令行界面中完成所有这些工作。当我跑步时:
JAMPchip @ DESKTOP-BOB968S:〜/ examples / dae $ python3 run_disease.py
我收到以下输出:
警告:无法找到“ ipopt”可执行文件,这是必需的 对于求解器 ipopt追溯(最近一次通话):文件“ run_disease.py”,第15行,在 结果= Solver.solve(instance,tee = True)文件“ /usr/lib/python3.6/site-packages/pyomo/opt/base/solvers.py”,第 541,在解决 self.available(exception_flag = True)文件“ /usr/lib/python3.6/site-packages/pyomo/opt/solver/shellcmd.py”,行 122,可用 引发ApplicationError(msg%self.name)pyutilib.common._exceptions.ApplicationError:未找到可执行文件 求解器“ ipopt”
当我在IPOPT构建文件夹中运行“ make test”时,我重新访问:
测试AMPL求解器可执行文件... 通过测试!测试C ++示例... 通过测试!测试C示例... 通过测试!测试Fortran示例... 测试通过!
但是我主要关心的是在“配置”输出中是以下内容:
正在检查COIN-OR软件包HSL ...未给出:没有软件包'coinhsl' 找到
我运行“ make”时也有一些警告。我完全不确定问题出在哪里。我如何使python3找到IPOPT,以及如何判断我的系统上是否有IPOPT供pyomo.dae查找?我非常有信心HSL文件夹中有“ coibhsl”,那么如何确保IPOPT找到了它?
答案 0 :(得分:0)
如sascha所述,您需要确保包含IPOPT可执行文件的目录(可能是build
文件夹)在系统PATH
中。这样,如果您要打开终端并从任意目录调用ipopt
,它将被检测为有效命令。这不同于能够从IPOPT构建文件夹中调用make test
。