求解器软件,用于查找纯整数MIP的所有解

Solver software for finding ALL solutions to a pure integer MIP

本文关键字:MIP 整数 查找 软件 用于      更新时间:2023-10-16

我有一组问题(方程组和不等式),我知道所有变量都必须是整数,并且有有限多个解决方案。我知道,如果我采用任何随机目标函数并让 lp 或 mip 求解器进入它,它会找到解决方案,但是我希望问题的所有解决方案,当然,尽可能高效。我并不真正关心优化任何东西,但显然大多数处理它的软件都这样做。有没有可以做到这一点的求解器?如果是这样,哪一个是最好/最简单的,或者你会推荐哪一个?充其量可以用作C/C++库。

保罗·鲁宾(Paul Rubin)有一篇关于如何找到K最佳解决方案的博客文章,可以很容易地概括以获得所有解决方案。正如阿里所建议的那样,其中一种方法是使用解决方案池。另外两种方法是:

  1. 使用现有回调来跟踪和拒绝解决方案。
  2. 使用带有解决方案注入的现有回调。

有关详细信息,请参阅博客文章。

IBM ILOG CPLEX 具有解决方案池功能,可用于学术目的。

我想如果您将最大池大小设置得足够大,您可能会获得所有解决方案。我不确定,从未尝试过。