首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pyomo中更改Bonmin选项(IPOPT线性求解器)

在Pyomo中更改Bonmin选项(IPOPT线性求解器)
EN

Stack Overflow用户
提问于 2020-04-20 01:39:01
回答 1查看 839关注 0票数 2

我在Windows机器上通过Pyomo/Python使用Bonmin。Bonmin正在通过二进制文件使用,HSL解决器也在使用。我可以成功地更改Bonmin的默认解决程序,但是IPOPT仍然使用腮腺炎作为线性求解器。

我尝试过在文件夹中包含一个bonmin.opt文件(Bonmin的可执行文件或.py文件),但是Pyomo没有解释它。

为了将线性求解器分配给Bonmin,我使用下面的命令行:

选项‘线性求解器’= 'ma27‘

为了在Bonmin中将线性求解器分配给IPOPT,我尝试了许多不同的命令,但没有找到任何有效的命令。示例包括:

选项‘ipopt.linesolver’= 'ma27‘

选项‘’ipopt_linear‘= 'ma27’

以及其他许多不同的语法。我已经搜索过Bonmin和IPOPT的手册,但是如果语法被接受,我仍然会收到同样的警告:

注意:默认情况下,您使用的是Ipopt和腮腺炎线性求解器。其他线性求解器可能更有效(请参阅Ipopt文档)。

否则,语法甚至不被接受。

你有什么意见建议?

EN

回答 1

Stack Overflow用户

发布于 2020-04-20 08:52:40

根据BONMIN文档这里,如果您想为Ipopt设置选项(当在BONMIN中使用时),则必须在文件bonmin.opt中设置它们。

像这样的东西,跳

代码语言:javascript
复制
import pyomo.opt
with pyomo.opt.SolverFactory("bonmin") as solver:
    solver.options.option_file_name = "bonmin.opt"
    with open("bonmin.opt", "w") as f:
        # f.write() # Here you can specify options for BONMIN using the "bonmin." prefix
        f.write("linear_solver ma27\n") # This is the IPOPT option
    solver.solve(model)

有关IPOPT选项文件的更多信息可以找到这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61313897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档