我一直在使用 Gurobi 来解决 MILP 问题,并使用 Pyomo 来生成模型。Gurobi 支持返回一个解决方案池,我希望能够使用这个池生成多个解决方案。这在 Pyomo 中支持吗?
我试过使用model.solCount 和model.params.SolutionNumber,但我发现它适用于gurobipy 模型,而不是Pyomo 中的模型。
是否有可能以某种方式将这些解决方案(迭代地)加载到模型中?如果不是,如果我必须对 Pyomo 执行此操作,我还有哪些其他选择?
您应该能够使用 Gurobi 将解决方案文件写入磁盘的功能。只需将参数SolFiles设置为某个名称,Gurobi 将保存所有解决方案:
from pyomo.opt import SolverFactory
opt = SolverFactory('gurobi')
opt.options['Solfiles'] = 'solution'
Run Code Online (Sandbox Code Playgroud)