使用 gdpopt pyomo 时指定 mip_solver 对应的可执行文件
Specify the mip_solver corresponding executable while using gdpopt pyomo
有人可以帮我解决以下问题吗?在 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 子求解器调用。从那里,您可以根据需要更改文件中的 SolverFactory
调用,以分别包含 glpk
或 cbc
的 executable=executable_path
。
有人可以帮我解决以下问题吗?在 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 子求解器调用。从那里,您可以根据需要更改文件中的 SolverFactory
调用,以分别包含 glpk
或 cbc
的 executable=executable_path
。