Scip 与 Pyomo 接口的问题

Problems in Interfacing Scip with Pyomo

我正在尝试使用 Pyomo 解决非线性优化问题。起初,我尝试了 Ipopt 求解器,我得到了 运行ning 的东西。然后我想尝试求解器 Scip 来尝试全局优化,因为 Ipopt 是一个局部求解器。但是,我在使用它时遇到无法理解的错误。

让 Scip 与 Pyomo 一起工作并不简单,但是通过互联网上的一些帮助和一些反复试验,我能够从 here 获得 windows 的 scip 可执行文件。我将可执行文件命名为 scipampl 并将其添加到我的路径中。

当我 运行 以下命令时,Pyomo 能够看到求解器,它 returns 正确。

SolverFactory('scip').available() 

我对自己的工作充满信心,然后尝试 运行 我的代码。我按如下方式设置我的 Solverfactory:

solver     =  'scip'               
solver_io  =  'nl'                  
opt        =   SolverFactory(solver, solver_io = solver_io)

但令我失望的是,我最后收到以下错误:

[Errno 2] No such file or directory: 'C:\Users\NITINN~1.SIN\AppData\Local\Temp\tmpc0hzo5_7.pyomo.sol'

我试图在 Internet 上查看这是什么意思,但到目前为止我一直运气不好。如果有人能阐明造成这种情况的可能原因是什么,我将不胜感激?

谢谢。

您需要 SCIP/AMPL 接口的可执行文件。正常的 SCIP 可执行文件(可能是您得到的那个)不包含一个。 目前,SCIP 下载页面上 Windows 可用的最后一个是这个:https://scip.zib.de/download.php?fname=scipampl-6.0.0.win.x86_64.intel.opt.spx2.exe.zip