在 CPLEX 问题中修复与移除变量

Fixing vs removing variables in a CPLEX problem

我正在使用 CPLEX 的 C API。我有一堆可选的二进制变量(它们可以占变量总数的任意百分比)。我尝试用两种方法解决我的 BIP 模型:(i) 将它们固定为 0 和 (ii) 在模型中完全不包含这些变量。平均而言,我在计算时间上找不到任何显着差异。我想知道是否有问题或 CPLEX 以这种方式工作。我预计在第二种情况下,使用更少的变量,模型应该 运行 快得多。

这是预期的行为。固定变量在通常非常快的第一个预求解路径中被删除。然后 CPLEX 在内部仅在预求解模型上工作,即与最初没有这些变量的模型相同的模型。