我不知道问题是在我和 Pyomo.DAE 之间还是在我和 IPOPT 之间。我在 Windows 上的 Ubuntu (WSL) 上使用 Bash 的命令行界面来完成这一切。当我运行时:
JAMPchip@DESKTOP-BOB968S:~/examples/dae$ python3 run_disease.py
我收到以下输出:
警告:无法找到求解器 ipopt Traceback 所需的“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 行,可用 raise ApplicationError(msg % self.name) pyutilib.common._exceptions.ApplicationError: No executable found for solver 'ipopt'
当我在 IPOPT 构建文件夹中运行“make test”时,我收到:
测试 AMPL Solver Executable... 测试通过!测试 C++ 示例...测试通过!测试 C 示例...测试通过!测试 Fortran 示例... 测试通过!
但我的一个主要担忧是,在“配置”输出中是以下内容:
检查 COIN-OR 包 HSL... 未给出:未找到包“coinhsl”
当我运行“make”时,也有一些警告。我完全不确定问题出在哪里。如何让 python3 找到 IPOPT,以及如何判断系统上是否有 IPOPT 供 pyomo.dae 查找?我非常有信心在 HSL 文件夹中有“coibhsl”,那么如何确保它被 IPOPT 找到?