8

3 次元ポイントの 2 つのセット、ソース セットと宛先セットが与えられます。各セットのポイント数は任意です (ゼロの場合もあります)。タスクは、すべての距離の合計が最小になるように、すべての宛先ポイントに 1 つまたはまったくソース ポイントを割り当てないことです。宛先ポイントよりも多くのソース ポイントがある場合、追加のポイントは無視されます。

この問題には力ずくで解決する方法がありますが、ポイントの数が多くなる可能性があるため、実行できません。この問題は集合サイズが等しい 2D では簡単だと聞きましたが、残念ながらこれらの前提条件はここでは示されていません。

近似と正確な解の両方に興味があります。

編集:ははは、はい、宿題のように聞こえると思います。実際、そうではありません。多数の車の位置を受け取るプログラムを書いており、それらをそれぞれの駐車セルにマップしようとしています。:)

4

3 に答える 3

1

頭のてっぺんから、空間ソートとそれに続くシミュレーテッドアニーリング。

スペースをグリッド化し、セットを空間セルに並べ替えます。

各セル内、次にセル近傍内などでO(NM)問題を解いて、試行マッチングを取得します。

最後に、近くの空間を探索するために、マッチをランダムに変更するシミュレーテッドアニーリングのサイクルをたくさん実行します。

これはヒューリスティックであり、必ずしも最良ではありませんが、良い答えが得られます。最初のグリッドソートにより、かなり効率的であるはずです。

于 2009-03-10T11:44:06.767 に答える