3

編集:シンプレックスノイズや三角測量と混同しないように、数学的最適化アルゴリズムをシンプレックスします。

私は独自の線形計画法ソルバーを実装していますが、32 ビット浮動小数点数を使用して実装したいと考えています。シンプレックスは多くの計算を実行し、精度が低すぎると丸め誤差が発生する可能性があるため、数値の精度に非常に敏感であることを知っています。それでも、32 ビット浮動小数点を使用して実装したいので、命令を 4 幅にすることができます。つまり、SIMD を使用して一度に 4 つの計算を実行できます。double を使用して 2 幅の命令を作成できることは承知していますが、4 は 2 よりも大きくなります :)

浮動小数点の実装に問題があり、解決策が最適ではないか、問題が実行不可能であると言われました。これは特に混合整数線形プログラムで発生し、分枝限定法で解決します。

私の質問は次のとおりです。丸め誤差が発生して、実行不可能な、無制限の、または最適ではないソリューションが発生するのをできるだけ防ぐにはどうすればよいですか?

私ができることの 1 つは、入力値をスケーリングして 1 に近づけることです ( http://lpsolve.sourceforge.net/5.5/scaling.htm )。他にできることはありますか?

4

1 に答える 1