我的情况:我想通过pyomo的SolverFactory在Python中使用SNOPT-Solver。我申请获得优化求解器SNOPT的C / C ++库并得到了
libsnopt7.dylib libsnopt7_cpp.dylib。
在管理完SolverFactory可以调用的虚拟可执行文件之后,它给出了以下错误消息:
IOError: [Errno 2] No such file or directory:
'/var/folders/_d/vnct15hn3.9j8dhgqr6gjf3rw0000gn/T/tmpoSB0fh.pyomo.sol'
然而,有一个带有该名称的文件,只有.nl后缀。
有谁知道为什么会出现这个问题以及如何解决它?
非常感谢。
答案 0 :(得分:0)
Pyomo没有专门的或库模式绑定到SNOPT。要从Pyomo使用SNOPT,您需要一个名为“snopt
”的已编译可执行文件,该可执行文件是针对ASL(AMPL解算器库接口)构建的。 ASL提供的接口可以读取Pyomo生成的.nl
输入文件,并生成Pyomo期望的.sol
解决方案文件。
您可以通过Netlib获取AMPL Solver Library界面的源代码以及SNOPT的包装器:http://www.netlib.org/ampl/solvers/。