项目场景:
混合整数规划模型有多个最优解
例如:某模型有3个最优解,gurobi通常只给出一个最优解,如果想获得所有最优解应该如何做?
解决方案:
根据Gurobi工作人员回复Gurobi 中获得多个(全部)可行解(最优解)的方法
Gurobi 提供了 Solution Pool (解集合)的功能。但需要明确的是这个功能仅限于混合整数模型。在 Gurobi 中,二个解定义为不同,只有当其中某个整数变量的值不同时,这二个解为不同。
如果希望获得多个或者全部的可行解,可以将 PoolSearchMode 设置为 2, 将 PoolSolutions 设置为希望获得可行解数量。如果希望获得多个或者全部最优解,除了上述设置之外,同时将 PoolGap 设置为 0。如果 PoolSolutions 数值大于全部可行解数量,Gurobi 会找到全部可行解(最优解),然后终止。但需要注意,寻找多个可行解或者最优解将可能会延长优化时间。