公差和user-scaling


公差和user-scaling

Gurobi将根据用户的定义来求解模型。然而,在评估候选解决方案的可行性时,为了考虑浮点计算中可能的舍入误差,我们必须允许一些误差公差

更确切地说,是令人满意的最优性条件要求我们至少测试以下三个标准:

IntFeasTol
解的完整性,即是否是整数变量< span > < /美元跨度> x < span > < / span >美元是否接受整数值。更准确地说,< span > < /美元跨度> x < span > < / span >美元将被视为积分如果Abs (x -底(x + 0.5))< span > < /美元跨度> \ mathtt {\ leq} < span > < / span >美元IntFeasTol
FeasibilityTol
原始约束的可行性,即是否 <span>$</span>a \cdot x \leq b<span>$</span>持有的原始的解决方案。更准确地说, <span>$</span>a \cdot x \leq b<span>$</span>会被认为是持有,如果a * x - b< span > < /美元跨度> \ mathtt {\ leq} < span > < / span >美元FeasibilityTol
OptimalityTol
双重约束的可行性,即是否 <span>$</span>a \cdot y \leq c<span>$</span>持有的解决方案。更准确地说, <span>$</span>a \cdot y \leq c<span>$</span>会被认为是持有,如果(a * y) - c< span > < /美元跨度> \ mathtt {\ leq} < span > < / span >美元OptimalityTol
注意这些公差是绝对;它们不依赖于计算中涉及的数量的规模。这意味着,在制定一个问题时,应该考虑这些公差,特别是在选择变量和约束将表示的单位时。

注意这些的用法是非常重要的公差隐式地定义了一个灰色地带在搜索空间中,稍微不可行的解仍然可以被认为是可行的。然而,求解器将不会显式地寻手机万博登录找这样的解决方案。

由于这个原因,一个模型实际上是有可能同时报告为两种情况的(尽管对于适定问题来说非常不可能)可行的不可行(在上述意义上)。如果模型在精确的算法中是不可行的,但存在一个在求解器容限内可行的解,就会发生这种情况。手机万博登录例如,考虑:

{displaymath} \ \开始开始{数组}{微光}\ min&0 \ \ s.t, x \ leq&0 \ \ x \组10 ^{-10}\ \ \{数组}\ {displaymath}结束结束



部分