簡體   English   中英

使用Optaplanner和Google Maps進行車輛路線選擇

[英]Vehicle Routing with Optaplanner and Google Maps

我目前正在構建一個類似於Optaplanner車輛路線示例的應用程序。 區別在於:它是基於Web的,可視化和距離計算將使用GWT Google Maps V3方向服務。 就像這里的optaplanner博客文章一樣: 使用Leaflet和Google Maps可視化車輛路線

我實際上對計算每個位置之間的距離有些困惑,應該實時進行嗎? 我的意思是實時是在開始求解階段之前,首先加載位置(大約350個位置),然后計算每個位置之間的距離(這將導致350 x 350 = 122500方向請求)。

我可以考慮的另一種方法是,計算每個位置的距離並將其存儲在數據庫中,然后在開始求解階段之前加載數據。 但是,如果我選擇這種方式,該如何處理位置變化? 即添加新位置還是刪除現有位置?

我還閱讀了有關Google Maps API的限制,它指出該服務每24小時僅可用於2500請求。 如何解決這個限制?

任何意見和答案將不勝感激。 謝謝並恭祝安康。

我已經成功地將MapPoint與MPMileage和CDXZipStream一起使用,以使用MapPoint和CDXZipStream維護位置(地址+坐標)的數據庫。 使用MPMileage和MapPoint可以保持兩點之間的行駛時間。 Microsoft不再出售MapPoint,但您可以在eBay上找到副本或找到替代品。 MPMileage和CDX簡化了我的工作。 我可以根據需要查詢MapPoint-它提供了大約每秒8次旅行的旅行時間-沒有限制,但您需要花費時間。 我的數據庫現在擁有超過60萬次旅行和15,000個位置。 而且,這些產品需要約$的支出。 我花了300美元買了我提到的這三種產品,比Google的商業許可少得多。 Maptitude可以替代MapPoint,但是Maptitude可能無法控制街道速度。

在運行解決方案之前,我先進行查詢,以確保對所需的坐標進行了地理編碼,並且潛在的支腿(兩點之間的行程)在數據庫中。 如果沒有,我將使用我提到的工具填寫或更新值。 我的特定方法不利於按需工作,但是您可以自己編寫這樣的過程。

我通過施加一些合理的假設來限制搜索空間,例如,在我的情況下,沒有旅行超過13英里。 您可能可以施加類似的約束來限制搜索空間。 在任何時候,我可能只使用大約60,000的旅行時間,因為僅加載了所需的時間-其余的保留在數據庫中,以備將來日后使用時使用。 在OptaPlanner解決方案中,這些是事實,而不是實體或變量。 這些事實提供了兩點之間的旅行時間。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM