使用gdpopt pyomo时指定mip_解算器对应的可执行文件

2024-09-30 08:20:26 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我做以下事情吗?在pyomo中使用gdpopt时,我需要指定可执行解算器的路径

通常,对于glpk解算器,可以在SolverFactory中将此路径指定为:

executable_path = '/home/user/lib/glpsol'

opt = SolverFactory('glpk',executable=executable_path)

但如果我想使用gdpopt并以与以下示例相同的方式指定glpk的可执行文件,则此设计不起作用:

opt = SolverFactory('gdpopt',executable=executable_path)

我尝试过使用mip_solver_args参数,如下所示,但没有成功

opt = SolverFactory('gdpopt')

results = opt.solve(model, mip_solver='glpk', mip_solver_args={'executable':executable_path})

最后,我尝试了同样的cbc解决方案,但仍然没有运气


Tags: path路径homeargs事情中将pyomo算器
1条回答
网友
1楼 · 发布于 2024-09-30 08:20:26

GDPopt的当前解算器参数不允许在SolverFactory调用中指定可执行参数。我现在没有足够的带宽来完成新解算器选项的PR过程,但是开源的好处是,您可以修改Pyomo的安装,以包含所需的executable=参数

您需要在mip_solve.py文件中搜索SolverFactory调用:https://github.com/Pyomo/pyomo/blob/main/pyomo/contrib/gdpopt/mip_solve.py。此文件应负责GDPopt进行的任何MIP subsolver调用。从那里,您可以根据需要更改文件中的SolverFactory调用,以分别包括glpkcbcexecutable=executable_path

相关问题 更多 >

    热门问题