1

我正在用 C++ 编写代码并调用 CPLEX 来解决它。它可以快速找到一个非常好的解决方案,但需要很长时间才能尝试改进它。所以我想将间隙设置为更大的值来终止代码,这就是我使用的:

    cplex_model.setParam(EpGap, 0.01);

但是编译器给了我一个错误,说EpGap是一个未声明的标识符。相对间隙的默认名称是什么?

4

2 回答 2

5

EpGap 是 IloCplex 类中枚举的一部分

cplex_model.setParam(IloCplex::EpGap, 0.01);
于 2012-03-05T15:56:47.500 回答
-1

cplex_model.setParam(IloCplex::EpGap, 0.01);是正确的

如果EpGap是 1 (1%),它会转到下一个可行的解决方案,该解决方案提供 1% 或更少的对偶差距,因此一旦它低于 1%,它应该停止并为您提供该解决方案。因此,在您的情况下,它可能会从 > 1% 的对偶差距变为 0.43%!

于 2015-01-27T07:48:41.610 回答