現在、次の問題を解決しようとしていますが、どのアルゴリズムを使用すればよいかわかりません。質量識別の分野です。
私は一連の「重み」、*w_i* を持っています。これらを合計すると、合計の重みになります。測定時の総重量には誤差が伴うため、正確ではありません。
総重量Tが与えられた場合、合計に達することができる最も近いk 個の可能な重みの組み合わせを見つける必要があります。ここで、kはユーザーからの入力です。各ウェイトは複数回使用できます。
さて、これは境界整数複数ナップザック問題のように疑わしく聞こえますが、
- 重量を超える可能性があり、
- また、エラーの観点からランク付けされたすべてのソリューションが必要です
おそらく、ナップザック問題の複数のスイープを使用して、重み-エラー->重み+エラーから、十分に小さな増分をステップインすることで解決できますが、増分が大きすぎて、使用できる特定の重みの組み合わせを見逃す可能性があります。
通常、ウェイトの数は少なく (4 -> 10 ウェイト)、平均ウェイトに対する合計ウェイトの比率は、通常、約 2 または 3 です。
ここに適している可能性のあるアルゴリズムの名前を知っている人はいますか?