2017-06-17 20 views
1

我可以命名的問題,因爲「多旅行商問題與共同節點」之旅。我有一羣來自城市不同地點的人。他們想要計劃參觀特定商店。我怎麼解決這個問題?我如何建模問題以使用元啓發式算法,如GA或ACO?規劃一批業務員的成員有不同的起源

+2

你有什麼試過?你需要包括一個最小的工作示例。 –

+0

@ThomasW問題是我還沒有找到任何文件或研究或類似的項目來完成這項任務。通常使用元啓發式方法來解決這些問題。但是使用這些方法存在問題。爲不同用戶組成不同路線的計劃旅程是該問題的單一解決方案(在GA中,它是染色體)。我們如何才能形成這個單一的解決方案?我們如何應用演化算子將解決方案發展成更好的答案? ACO也是如此。我們如何形成解決方案? – Ebola

回答

1

我會認爲問題是如下;

  • 每個人都可能想從大地圖去任何一組城市。

  • 兩個或更多的人可以在同一時間在同一城市

  • 兩個或更多的人可以在同一時間使用相同的邊緣。

對於遺傳算法,每個染色體看起來像這樣;

的人1路線| 路線爲人2 |對人3路線..

一個例子代即可;

1號染色體= 2,6,7,1 | 4,7,2 | 3,5,6-
2號染色體= 6,7,2,1 | 2,4,7- | 3,5,6-

您需要分別爲每條路線應用交叉和變異操作。您可以使用交叉方法(如PMX(部分映射交叉))進行置換表示。您可以使用隨機交換,插入,爭奪突變等操作。

對於蟻羣優化,每隻螞蟻需要爲每個人在每個迭代構建解決方案。另外,應該爲每個人的路線存儲不同的信息素值。因爲即使他們有共同的位置(例如他們都有城市2和3),這並不意味着這些城市之間的邊緣應該具有相同的願望(2和3之間的邊緣可能適合person1,但它可以不適合person2)。

所以,我認爲這將是最好的分別找到每個人的路線。因爲每個人的路線不能有解決方案之間的信息交換。

+0

您的回答非常有幫助,但我認爲最好一起考慮所有旅行團,因爲所有旅行團長度的總和必須最小化,除此之外,它應該管理訪問的POI次序。 – Ebola