有人能帮我做以下事情吗?在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解决方案,但仍然没有运气
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
调用,以分别包括glpk
或cbc
的executable=executable_path
相关问题 更多 >
编程相关推荐