编辑:单纯形数学优化算法,不要与单纯形噪声或三角测量相混淆。
我正在实现自己的线性规划求解器,我想使用 32 位浮点数来实现。我知道 Simplex 对数字的精度非常敏感,因为它执行大量计算,如果使用的精度太低,可能会出现舍入误差。但是,我仍然想使用 32 位浮点数来实现它,这样我就可以将指令设为 4 宽,也就是说,我可以使用 SIMD 一次执行 4 次计算。我知道我可以使用双打并制作 2 宽的指令,但 4 大于 2 :)
我的浮点实现遇到了问题,其中解决方案不是最理想的,或者问题被认为是不可行的。这尤其发生在混合整数线性程序中,我用分支定界法解决了这个问题。
所以我的问题是:如何尽可能防止舍入错误导致不可行、无界或次优的解决方案?
我知道我可以做的一件事是缩放输入值,使它们接近一(http://lpsolve.sourceforge.net/5.5/scaling.htm)。还有什么我可以做的吗?