この最適化問題について何か学びたい:負でない整数について、式を最小化する関数見つける
別の定式化を使用した例では、より明確になる場合があります。次のような一連のベクトルのセットが与えられます。
{
{(3, 0, 0, 0, 0), (1, 0, 2, 0, 0)},
{(0, 1, 0, 0, 0), (0, 0, 0, 1, 0)},
{(0, 0, 0, 2, 0), (0, 1, 0, 1, 0)}
}
各セットから1つのベクトルを選択して、それらの合計の最大成分が最小になるようにします。たとえば、
(1, 0, 2, 0, 0) + (0, 1, 0, 0, 0) + (0, 1, 0, 1, 0) = (1, 1, 2, 1, 0)
最大成分は2で、ここでは明らかに最適です。
これがよく知られている問題であり、どのような問題固有の近似解法が利用できるか知りたいです。プログラミングは高速かつ簡単でなければなりません(ILPソルバーなどはありません)。これは実際の問題の近似にすぎないため、正確な解決策は必要ありません。
興味のある問題のインスタンスに関する詳細を追加する必要があったことがわかります。
- 、つまり、常に64行あります(上記の例のように記述した場合)。
- 、つまり、行ごとに2つのベクトルしかない。
- ここで、(ベクトルの長さ)は10から1000の間です。
さらに、各行で、すべてのベクトルの要素の合計は同じです。つまり、
そして、和ベクトルの要素の和は、その長さよりも短い、すなわち、