我試圖找到是否有任何解決方案,我有問題。 我有X個人和Y位置來放置他們。有時可能會有更多的人比位置,但在默認情況下X == Y。 我想分配人員,使任何一個人必須移動的距離最小化。 所以,如果我不得不讓人1-5和立場AE:最大限度地減少移動的最大距離
1 2 3 4 5
A B C D E
的簡單的實現我已經被分配{A2,B3,C4,D5,E1},導致在電子商務活動遠遠超出其他任何人,當我更喜歡比賽是{A1,B2,C3,D4,E5},這意味着每個人都會進一步移動,但最壞的情況要小得多。
我正在爲每個人創建一個數組,包含每個位置,按距離排序(升序)。然後,我將所有人的陣列進行反向排序,使距離他最佳位置的距離最遠的球員成爲第一名。我將他分配到一個位置,然後從每個其他玩家的名單中刪除該位置,並反向排序並重復,直到所有位置都被填滿。
這給我合理的結果,但似乎非常低效的(除去各陣元和每次訴諸)
顯然這個問題不必與人打交道和距離的位置,但也可說分配資源,其中每個資源都可以執行具有某種適應性的任務,並且我想避免使用嚴重不適合於給定任務的工具,即使這意味着每個工具都在執行稍微不合適的任務說得通。
我懷疑這裏有一些經典的優化問題,但我不知道是哪一個。
這裏的距離是什麼意思? – PengOne 2011-06-17 02:09:36