如何限制 Gurobi 整数程序消耗的内存

How to limit the memory consumed by a Gurobi integer program

我想知道是否有一种方法可以限制 Gurobi 在使用分支定界求解 MIP 时可以使用的最大内存量。

我有一台 16GB 的机器,但我希望 Gurobi 只使用 4GB 的 RAM,如果超过这个,我希望它停止执行分支和价格。

没有直接的方法来限制 Gurobi 的内存使用,我不知道另一个求解器有类似的功能。操作系统通常有办法限制特定进程的内存使用,但超过限制通常会终止整个进程。

在 Gurobi MIP 中有多种方法可以减少内存使用;一些关键想法是:

  1. 设置预求解=2
  2. 设置方法=1 或 2(避免并发 LP)
  3. 将 NodefileStart 设置为较小的值,例如 0.5 或 1.0

但是,这些可能会增加求解时间。