首页 > 解决方案 > Scip 与 Pyomo 接口的问题

问题描述

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

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

Pyomo 能够看到求解器,因为当我运行以下命令时,它返回 True。

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'

我试图在互联网上查看这是什么意思,但到目前为止我一直不走运。如果有人能阐明这可能是什么原因,我将不胜感激?

谢谢。

标签: pythonoptimizationpyomoamplscip

解决方案


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


推荐阅读