CLP求解器硬币或的精度是多少?

问题描述

我正在尝试比较LP解算器,以查看可以将其用于我的问题。因此,我需要一个准确的求解器。我可以找到公差,尽管我不确定这是否是正确的指标。

对于GUROBI,完整性公差定义为10 ^ -6(作为认值,请参见source) 对于CPLEX,原始/双重可行性公差为10 ^ -6,完整性公差为10 ^ -5(作为认值,请参见source

CON-OR的CLP的(认)公差是多少?这是衡量准确性的好方法吗?

解决方法

CLP适用于连续LP问题,因此没有整数可行性公差。 MIP求解器称为CBC。在CBC提示符下键入integerT??,您会看到类似以下内容的

D:\Python\Python37\Scripts>cbc
Welcome to the CBC MILP Solver
Version: 2.9.0
Build Date: Feb 12 2015

CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:integerT??
integerT(olerance) : For an optimal solution no integer variable may be this away from an integer value
Beware of setting this smaller than the primal tolerance.
<Range of values is 1e-020 to 0.5;
        current 1e-006>
Coin:

这是旧版本,请与CBC.EXE一起检查。

请注意,有许多公差在起作用:可行性公差,最优公差。此外,缩放和解决可能会产生影响。我通常将所有这些容差保持不变。恕我直言,固定模型通常要好于修改这些公差。

如果需要极高的精度,可以使用所谓的有理MIP求解器。但是它们往往很慢。