1

次のような問題があります。

  1. さまざまな機能 (整数) を持つオフィスの場所とリソースはほとんどありません。
  2. すべてのリソースをさまざまなオフィスの場所に分散して、すべてのオフィスの場所の機能が可能な限りバランスがとれるように、それらを場所間でほぼ均等に分割する最善の方法を見つけたいと考えています。注意すべき点がいくつかあります。

• 各オフィス ロケーションのリソース数の差は 1 を超えてはなりません。• 各オフィス ロケーションの機能 (個々の機能を追加することによって達成される) は、互いに可能な限りほぼ等しくする必要があります。

インターネットで調べたところ、この問題に近いと思われる Knapsack アルゴリズムと Bin-pack アルゴリズムについて知りました。

例: オフィスの場所の数 = 3; 人数 = 8; 人の能力 = 10、20、5、150、90、200、250、140 (8 つのリソースの能力値);

上記の数値はサンプルです。リソースとそれぞれの機能の値が 1000 以上になる可能性があります。オフィスの場所の数も変更できます。

正しいパスをたどる自信がない限り、プログラミングの部分を開始しませんでした。これを解決するための正しい方向に私を導くためにあなたの助けを求めています.

また、これの可能性のある疑似コードを共有できれば、非常に役立ちます。

ありがとう!

4

1 に答える 1

0

これはナップサック問題であるか、少なくとも同じくらい難しいので(オフィスが2つしかない場合を考えてみてください)、最良の解決策を得るのは非常に困難です。シミュレーテッドアニーリングのような一般的な最適化ヒューリスティックを使用してみてください:http://en.wikipedia.org/wiki/Simulated_annealing

于 2011-07-22T09:48:26.877 に答える