我正在尝试使用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'
我试图在互联网上了解这是什么意思,但到目前为止我还很走运。如果有人可以提出一些可能的原因,我将不胜感激。
谢谢。
答案 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