如何使用 Gurobi 找到多个最优解

问题描述

我正在通过 Julia 使用 Gurobi,目前已对其进行设置,以便为我感兴趣的 LP 提供最佳解决方案。

但是,如果有一种方法可以提供多个最佳解决方案,那将非常有帮助。即使只是给我两个解决方案而不是一个,对我的项目也非常有用。

有人知道怎么做吗?

解决方法

一个连续的 LP 有 0、1 或无限多个最优解。所以枚举它们很困难。

我们可以尝试枚举最佳角点(又名基解)。这也不是那么简单。这是一种方法:https://yetanothermathprogrammingconsultant.blogspot.com/2016/01/finding-all-optimal-lp-solutions.html

注意事项:

  • 使用具有随机系数的目标,您可以找到一些解决方案。要将搜索限制为最优解,请将原始目标添加为约束。
  • 如果问题是 MIP,Gurobi 可以找到所有最佳整数解(或其中的一个子集)。这是使用解决方案池(非常有效)完成的。