2013-11-04 37 views
0

我是運輸優化和OptaPlanner的新手,但我需要解決一個問題,其中約1400輛車需要從9000個位置起飛,並在某些地點倍。我的目標是制定一項運輸計劃,利用車輛來接載多個目的地,並使用多輛車輛抵達目的地。帶有OptaPlanner問題的自行車信使/ TSPPD似乎表明可以適應我的需求的結構。使用OptaPlanner進行大規模優化 - 具有目的地時間窗口的VRPPD

我是新來的java,但不是編程新手 - 我在過去用C,C++和SQL編程。我也看過jsprit,並且正在尋找最佳路徑。 Drools很吸引人,因爲它似乎提供了一個連貫的方式來組織不斷變化的約束。我已經開始使用時間/距離矩陣 - 而且應該儘快完成。

任何意見,想法或建議,非常感謝!我只想開始一個好的方向,如果有的話。

+0

查看'6.0.0.CR5'或更高版本中的VRP示例。玩弄時間窗口的數據集。看看參考手冊。如果你有一個具體的問題,回到這裏:) –

+0

大規模('9000'位置)應該沒問題。在一個kaggle比賽中,我處理了150,000個位置:我最終編寫了一個自定義的MoveListFactory(用於改進已經工作的原始原型),但是[this jira](https://issues.jboss.org/browse/PLANNER-202)甚至應該對這個自定義的'MoveListFactory'作廢。 –

回答

0

您可以使用Clark的&賴特保存算法,但它不是一個確切的求解器。

0

您是否可以找到與OptaPlanner的解決方案?我假設你做了,因此如果你仍然對比較你的結果感興趣(「我正在尋找最佳路徑」),那麼這可能是有趣的。如果沒有,你可能會更好地堅持使用成熟的軟件OptaPlanner。

否則,請再次查看jsprit。我進一步發展了它。它現在可以處理拾取和交付以及多個倉庫/車輛起始位置。但是,考慮到底層VRP的性質,您的問題非常大。我建議你先問你的問題,即用1%或10%的樣本進行實驗,找出最佳的算法配置。也許,那麼你可以調整你的約束,使你的問題更容易處理,並更好地擴大問題的規模。

您提到Bicycle messenger example是一個很好的起點。我實現了它。所以看看this並從那裏開始。如果您有任何疑問,請不要猶豫與我聯繫。請讓我知道你的比較。

相關問題