簡體   English   中英

如何捆綁成對的旅行?

[英]How to bundle pairs of trips?

我有一個可選的實時旅行需求數據庫。 每個都有可以從出發點運送到目的地的負載:

ID,EndDateEnd,EndDateStart,StartDateEnd,StartDateStart,DepX,DepY,ArrX,ArrY
1,2021-03-04,2021-03-03,2021-03-02,2021-03-01,2.83689,47.3324,-0.5854,44.83814
2,2021-03-04,2021-03-03,2021-03-02,2021-03-01,2.44774,47.56044,0.13888,49.49015
3,2021-03-10,2021-03-09,2021-03-08,2021-03-07,2.76755,47.97472,0.65567,48.78064
...

它是公司需要在特定位置和時間交付的負載報價列表。

我的目標是捆綁成對的貨物,以增加卡車的付費里程。 我通常有一個固定的目的地和起點。 假設我要從紐約市去芝加哥。 然后我在行程數據庫中搜索需要沿該路線運送的負載。 想象一下,我找到了一個在匹茲堡取貨並在克利夫蘭送貨的人。 那么我的付費里程就是從匹茲堡到克利夫蘭的行駛距離。 但我從紐約到匹茲堡或從克利夫蘭到芝加哥並沒有得到報酬。 一張圖更能說明問題:

在此處輸入圖像描述

您可以在藍色中看到付費里程,在紅色中看到未付費里程。 如果我能找到另一個從紐約到匹茲堡的負載,那就太好了,或者克利夫蘭-芝加哥也是如此。

現在的問題是,我如何通過算法找到go給定一條路線的負載對? 我知道我的部分和旅行的終點。 我只需要 go 通過旅行列表來找到最適合我的。

- 相處融洽是一個寬松的定義。 一般來說,增加付費里程的百分比是目標。

我研究過的一種解決方案:

如果僅一輛卡車承擔兩種負載所行駛的英里數低於兩輛卡車承擔每一種負載所行駛的英里數,則您可以定義兩種負載“一起進行得很好”。

這就是克拉克和賴特儲蓄法背后的直覺。

在此處輸入圖像描述

being d your favorite distance function. 在我們的例子中,開始是紐約,結束是芝加哥。 提貨和送貨來自候選的包裹對。 如果儲蓄高,那么它是一個很好的捆綁包。


這是一種車輛路徑問題,有時稱為帶時間窗的取貨和送貨(PDPTW)我正在嘗試解決其中的一小部分問題。 只是找到有用的旅行對。

還有其他解決方案嗎? 可擴展的捆綁方法?

相關研究論文:

十字郵: https://or.stackexchange.com/questions/8159/how-to-bundle-pairs-of-trips

路由庫中有一個pdptw的例子:

C++ 中的簡單取貨和送貨問題

暫無
暫無

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

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