假設有一個網格包含兩個牆(被阻塞的單元格)以及放置在網格上任何位置的食物。最優蟻羣定位算法
現在假設我們正試圖決定最佳的位置來放置蟻羣在這個電網,使得螞蟻有旅遊的最小距離(在任何方向往/返的起點殖民地)獲得最大數量的食物。
到目前爲止,我已經想出最好的辦法是:
for each square on the grid
use a shortest path algorithm to find the distance to/from each food source from this square
sum these distances to find a number and put the number in that square
select the square with the smallest number
請問這種方法甚至工作?有沒有更有效的解決方案?
優化是跟蹤最短距離,並停止計算任何超過最短路徑的總和。 – tofi9 2015-02-07 06:33:33
目前還不清楚你想在這裏優化哪些功能。食物顆粒是否都是相同的大小?假設在(0,0)和(4,0)有一個粒子。 (0,0)(在一個顆粒上面,另一個顆粒在4個單位上)或者在(2,0)上(兩個顆粒之間的中間位置)有個菌落?如果你認爲顆粒食物的價值/距離,第一個更好。如果您將顆粒作爲食物的價值 - 距離,顆粒之間的所有位置都同樣好。一隻螞蟻能在一次旅行中將整個小球帶回殖民地嗎? – 2015-02-07 06:48:38
@robmayoff我認爲「讓螞蟻走得最遠」這一點非常清楚--OP正試圖將一個特定點與所有含有食物的細胞之間的距離總和最小化。 – 2015-02-07 10:45:18