Scip与Pyomo的接口问题

时间:2019-07-04 10:10:29

标签: python optimization pyomo ampl scip

我正在尝试使用Pyomo解决非线性优化问题。最初,我尝试了Ipopt求解器,然后一切正常运行。然后,我想尝试使用求解器Scip进行全局优化,因为Ipopt是本地求解器。但是,出现一个我无法理解的错误。

让Scip与Pyomo一起工作并不是一件容易的事,但是通过Internet上的一些帮助以及经过反复试验,我能够从here获取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'

我试图在互联网上了解这是什么意思,但到目前为止我还很走运。如果有人可以提出一些可能的原因,我将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:5)

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