与比较楼层相比具有相同数量级的更一般测试(log10(abs(n)))

时间:2017-08-11 06:30:20

标签: c++ comparison big-o magnitude

我正在实施一种优化算法,并且对于解决方案的上下限没有或大不相同的情况有不同的启发式方法。

要检查,我的第一种方法就是采取

if(abs(floor(log10(abs(LBD))) - floor(log10(abs(UBD)))) < 1 )
{ //(<1 e.g. for 6, 13)
  //Bounds are sufficiently close for the serious stuff 
}
else {
  //We need some more black magic
}

但是这个requires previous checks要归纳为NAN,±INFINITY。 此外,在LBD为负且UBD为正的情况下,我们不能假设上述检查单独确保它们在任何接近于相等数量级的任何地方。

是否有专门的方法或我是否坚持这个hackery?

0 个答案:

没有答案