ネットワーク内の多数のマシンに負荷を分散するという次の問題に遭遇しました。問題は面接の質問です。受験者は、この問題に最適なアルゴリズムとデータ構造を指定する必要があります。
ネットワーク内に N 台のマシンがあります。各マシンは、最大 5 単位の負荷を受け入れることができます。要求されたアルゴリズムは、現在の負荷 (0 ~ 5 の範囲)、マシン間の距離行列、およびネットワーク上で分散させたい新しい負荷 M を含むマシンのリストを入力として受け取ります。
このアルゴリズムは、M 単位の負荷を処理でき、集合距離が最小のマシンのリストを返します。集合距離は、結果リスト内のマシン間の距離の合計です。
たとえば、結果のリストに 3 台のマシン A、B、および C が含まれている場合、これらのマシンは M 単位の負荷 (M=5 の場合、A は 3、B は 1、C は 1) と距離の合計をまとめて処理できます。 SUM = AB + BC は、M 単位の負荷をまとめて処理できる最小のパスです。
それにアプローチする方法について何か提案はありますか?