使用Pyomo时无法将Cplex用作求解器

时间:2018-06-20 03:31:37

标签: cplex pyomo

在我使用Glpk解决抽象模型之前,但是由于Glpk可能比Cplex慢,所以我转向Cplex。但是在我安装了Cplex并将其用作求解器之后,我发现Cplex无法打开Pyomo创建的日志文件:

Content-Type: text/html

以上是我从tee = true获得的

路径包含中文字母,因此不确定是否重要。如果是这样,我可以更改Pyomo创建的日志文件的默认路径吗?

谢谢

1 个答案:

答案 0 :(得分:1)

这里的问题是Pyomo正在路径名中包含非字母数字字符的位置写入*.lp CPLEX输入文件。由于路径名,CPLEX调用失败,从而生成报告的错误消息。

要解决此问题,必须设置另一个临时目录。一种方法是在SolverFactory('cplex').solve(model)调用之前执行以下操作:

import pyutilib.services
pyutilib.services.TempfileManager.tempdir = 'C:\user_writable_path'

这类似于https://github.com/Pyomo/pyomo/pull/485中解决的问题。