针对一个实际的优化问题,可能会有多种可行解。在Gurobi中,若不做额外设置,则只会生成一种解方案。但Gurobi是支持多种可行解方案的输出的,官方文档中提供了相关例子(点击查看)
以下基于官方案例,对内容的部分细节进行解读。
1. 执行model.optimize()
前
建模完成后,需补充如下代码:
# Limit how many solutions to collect
model.setParam(GRB.Param.PoolSolutions, 1024)
# Limit the search space by setting a gap for the worst possible solution
# that will be accepted
model.setParam(GRB.Param.PoolGap, 0.1)
# do a systematic search for the k- best solutions
model.setParam(GRB.Param.PoolSearchMode, 2)
这样,模型将保存上限1024个可行解。详细说明请参考官方文档,常规设置这样就可以了。
2. 执行完model.optimize()
后
(1)首先,检查模型的优化