張 超 宋 偉 胡 鵬 陳 輝 汪 明 全 鵬
(1.中國煙草總公司湖北省公司 武漢 430030)(2.武漢大學計算機學院 武漢 430072)(3.湖北省煙草公司十堰市公司 十堰 442099)
由于卷煙配送系統中,客戶所處地點、卷煙的銷售量,以及交通路線,都會隨著時間發生改變。因此,我們必須定期自適應地更改卷煙的物流配送路線。然而,定期改變配送路線,存在一系列的風險與挑戰。首先,配送時長與送達時間是評估配送路線的重要指標。雖然可以使用人工經驗來衡量配送路線,但這顯然無法高效地對比大量路線方案,也無法保證始終得到高準確的評估結果。我們的現有系統中缺少高效的路線方案對比的相關功能;其次,配送路線的改變,是高成本與長周期的。根據我們的經驗,一次配送路線的改變,會至少耗費2 個月到5 個月的時間,用于小范圍使用實車進行試點配送、優化路線方案、擴大試點范圍、把方案投入實際使用等流程;最后,由于新配送路線不一定盡善盡美,因此在試運行期間,我們無法準確把控卷煙的配送時長與送達時間,這會影響我們的服務質量,從而降低用戶的體驗。
為降低傳統卷煙配送路線調整帶來的不利影響,本文提出一套卷煙配送時間預測仿真模型,運用模擬仿真理論、XGBoost 模型和數字地圖,對配送路線時間進行更精確的模擬仿真,降低調整配送路線所需的成本與時間。與此同時,為客戶預測精確的預計送達時間,提高服務質量與服務滿意度,為卷煙物流路線優化提供了一種有效的輔助工具。
卷煙送貨時間預測仿真有三個核心部分:配送總時長預測仿真、單戶行車時間預測和單戶上門服務時間預測。
配送總時長預測仿真模擬了車組進行一次配送的全部流程,包括配送車從出發到返回、完成路線上所有需要送貨的客戶的卷煙配送,并得到配送流程的整體時間。
我們的卷煙配送流程如下:物流中心或中轉站發出車組,按照送貨上門、客戶核查與簽收、配送下一戶的流程嚴格執行。一對一服務每一位客戶,手把手送達每一份貨物,直至完成所有的配送任務,各車組返回出發點。具體流程見圖1。

圖1 單個車組配送作業流程
從圖1 可知單個車組配送總時長=去往送貨區行車時間+送貨區工作時間(多個單戶服務時間)+回物流中心行車時間。
圖2是圖1中的單戶送貨流程,單戶服務時間=單戶行車時間+單戶上門服務時間。配送總時長預測仿真包含下述三條特征:
1)連續兩戶的送貨流程與簽收流程的發生時間是隨機的。這是因為每兩位客戶之間的路程不同、不同客戶的簽收速度不同,因此單戶上門服務所耗費的時間也不同。綜上,單戶服務時間是不確定的,是一個離散事件。
2)每天需要卷煙送貨的客戶也是隨機的。每個車組每天的配送任務是變化的,且按周循環。在添加動態路線規劃系統后,我們可以依照當天的客戶訂單數據,合理規劃每個車組每天的送貨數量、路線、客戶,生成配送任務,配送任務也是隨機的。
3)將一系列單戶送貨流程事件進行排序,以達到對配送路線時間的仿真。事件必須按序發生,不可調序或略過,并且不同事件的分類清晰明白。
通過上述三條特征,我們的卷煙送貨路線時間預測防震的需求,符合“離散事件-事件調試法”(下文簡稱“事件調試法”)應用特點。因此,我們的模型采用“事件調試法”為理論來源。
“事件調試法”是面向事件的,不僅詳盡保存事件的發展流程,還會處理事件發生時系統狀態的變化結果。王鐵寧等[1]采用變步長的推進方法,推進一次仿真時鐘,記錄和處理一個事件發生所引起的狀態變化。本文以十堰煙草物流中心為例,設計的卷煙送貨時間預測仿真模型。
我們以十堰卷煙配送任務為例。在這個案例下,物流管控平臺會根據卷煙的銷售數據安排客戶的配送順序,生成配送任務。該任務將于兩日后被車組配送。每個車組每天根據客戶配送順序、兩戶之間的路徑連接形成配送路線,按配送路線完成80個到150個單戶配送任務。因此,為更好地實現配送路線的預測和仿真,我們重點關注兩位客戶間的路程與時間的預測。
目前,市面上已有多款成熟的電子地圖軟件,可以根據設定的起點與終點,計算兩者之間的路程與時間。這可以幫助我們獲取路網、實時路況等重要信息,實現兩位客戶之間的路徑計算。比如我們熟知的百度地圖API,就可以依據道路歷史運行數據、海量用戶數年的大數據積累等,綜合得到導航信息,為我們提供高準確率的起點與終點間的距離與時間,甚至可以提供路線上紅綠燈數量以及預計等待時間。綜上所述,配送路線的預測,可以借助使用合適的電子地圖軟件來實現。本文直接采用成熟的電子地圖工具(Baidu Map API)來實現兩位客戶之間的行車時間和路徑的預測。
在本文中,上門服務包括配送員到達客戶收貨點,卸貨,把煙包交付給客戶,客戶檢查煙包,若沒有問題則確認簽收,配送員返回車輛并整理煙包(可能有),啟動車輛繼續給下一位客戶配送的時間。卷煙物流配送應用中,客戶上門服務時間受到諸多不確定因素影響,如配送方案調整、實時路況、前置送貨時間等,這些數據特征具有明顯的不確定性,而且在配送路線上后方配送客戶的服務時間不確定性會由于前期配送任務的不確定性而累加。因此單戶上門服務時間預測是一個不確定、時序關聯的復雜學習目標。據我們所知,XGBoost 被認為是非常適合于數據缺失和不確定數據場景的機器學習方法,被廣泛地應用于運動預測、商品銷售預測、文本分類、行為預測等領域[1~4],結合單戶上門服務時間預測任務的服務特點,本文利用XGBoost模型預測單戶上門服務時間。
近年來,隨著物流配送、共享單車、基于位置服務等各種新形態應用的興起,路徑調度優化研究得到越來越多的來自工業界和學術界的重視。遺傳算法是一種模擬生物自然選擇的算法模型,很多學者基于遺傳算法和各種改進優化算法對路徑調度優化問題開展研究[5~15]。現有研究關注了路徑優化算法的優化效率和算法收斂速度,但目前針對卷煙物流配送任務中多優化目標、數據不確定、數據缺失問題的路徑優化研究還很少,這是本研究的主要研究動機。
由事件調度法仿真鐘的推進過程得出模型算法:
T 表示完整配送路線的配送時長;n 表示需要配送服務的客戶數目,n≥1;TRij代表客戶i 與j 間的單戶行車時間,i,j=0,1,…,n,i≠j;TRoi、TRn0依次表示配送車從當前位置到第i 個客戶的行車時間、客戶n到配送起點的行車時間,i=1,…,n。
TLi表示單戶上門服務花費的總時間,包括配送人員到達第i 個客戶的收貨地點后,卸貨并把貨物送到客戶手中的時間、客戶核驗貨物并簽收的時間、配送人員返回配送車耗費的時間、整理煙包時間(可能有)、啟動車輛時間,i=1,…,n。
式(1)說明:
1)一組車組的配送總時長=單戶服務時間之和+返回物流中心或中轉站的行車時間;
2)單戶服務時間=單戶行車時間+單戶上門服務時間。
根據式(1),送貨時間預測的準確性由單戶行車時間和單戶上門服務時間兩個因素決定。
式(2)說明xi、yi,依次代表客戶ui的經度和緯度,i,j=1,…,n,且i≠j。MAPAPI 表示調用電子地圖API,計算出任兩個客戶的車行時間、車行距離。
XGBoost 適用于回歸、分類問題,單戶上門服務時間預測屬于回歸模型,表示為式(3)。
式(3)說明fk代表某一函數,K代表函數迭代次數,xi、yi表示第i個樣本特征和預測值。
建立預測回歸模型時,需要尋找最優的參數,其目標函數為式(4)。
式(4)說明為損失函數是預測值與目標值之間的差值,為正則化項。
式(5)說明yi、yi代表是第i個歷史簽收數據樣本值和預測值,n 是個數,l 是誤差函數,fk是第k 顆樹。
正則化項式(6)說明:T 代表葉子節點數量,ωj表示葉節點權重。此時目標函數為
其中t 代表訓練輪次,constant 為前t-1 顆樹正則化項之和。
最后建立決策回歸樹,計算方法為
為驗證論文方法的有效性,構建了基于XG?Boost的卷煙送貨時間預測原型系統對論文提出方法進行驗證。原型系統基于Python構建,搭建了B/S 系統用于十堰市卷煙配送路徑優化。實驗數據來自十堰市2019-2020 年的卷煙物流簽收數據信息,采用MySQL 存儲,共91 萬條數據。實驗過程中,卷煙送貨時間預測仿真模型驗證流程共有5 個步驟:數據采集、數據處理、數據特征提取、樣本劃分、預測及分析。
采集2019年1月至2020年12月十堰市煙草公司卷煙物流簽收記錄,共91萬條物流數據。
由于原有物流數據質量問題,我們首先清洗了原有數據中缺乏重要信息的基礎數據。并基于電子地圖擴展了網點中任意兩點之間的路程與時間,這些信息是使用電子地圖API 獲取的。清洗后共有67.1萬條數據。
物流數據維度很大,為提高算法效率首先提取必要數據特征,形成16 維數據集,16 維列名分別是:配送時間(年月日)、配送時間周數、淡旺季標志、路線名稱、路線編碼、起點編號、起點經緯度、終點編號、終點地理經緯度、送貨數量(煙包數)、送貨數量(條)、出發時間(時分秒)、服務結束時間(時分秒)、行車時長(s)、行車路程(m)、單戶上門服務時長(s)。
總結清洗過的單戶上門服務時長數據,得到表1,可以看到,標準差為77s,服務平均時長為94s,與我們跟車調查得到的實際數據相吻合。

表1 單戶服務時長統計表
2019年1月至2020年10月數據,劃分訓練集;
2020 年11 月至12 月數據,劃分為驗證集,驗證集少“單戶上門服務時長(s)”數據特征。
驗證集數據共1,083(條次)路線,配送總時長的預測準確率為92.11%,詳情見表2。

表2 預測結果統計表
可以看到,配送總時長預測仿真可以達到較高的準確率。同時,我們收集了一天內每條配送路線的配送總時長預測值,并記錄單條路線預測的最大偏差值。以2020 年12 月2 日,共26 條路線的預測數據為例,時間預測仿真準確率是高達93.86%,與驗證集所在月份的的整體預測值大致相同,因此這是具有代表性的數據。我們將預測偏差定義為真實送貨時長與預計送貨時長的絕對差值,26 條配送路線的配送時長預測偏差均值為0.6h,除三條路線外,預測偏差均低于一小時。
至于相同路線中的單戶服務時間,選則路線“1-1-1-周一”,上午8 時4 分,送貨車于物流中轉站出發,仿真車輛也隨之出發,共為15 位客戶提供服務后返回,送貨車與仿真車輛的時間偏差小于十分鐘。
卷煙送貨時間仿真模型時間預測準確率見表3。

表3 模型時間預測準確率統計
在實際配送工作中,存在一些不可預測的事件或不可抗力對模型的預測產生干擾,剔除這些因素后,模型預測準確率應該還會有所提升。
本文基于卷煙送回的真實流程,研發出一種離散性卷煙送貨路線時間預測仿真模型。與實際送貨數據相比,我們可以達到92.11%的配送總時長的預測準確率,和85.36%的客戶預計送達時間預測準確率。本模型實現了對整條配送路線時長與各單戶服務時間的精準預測。通過比較不同的仿真送貨路線,降低物流中心更改送貨路線帶來的時間與人力代價,提高服務質量,提升用戶體驗。在之后的工作中,我們將持續研究仿真模型與電子地圖結合,發展可視化路線仿真、收貨預提示、多區域集中可視化調度等功能及應用,通過可視化展示更改路線后配送車的行駛路線,更加高效智能地調度車輛,調整配送路線,為智慧物流發展帶來案例。
本模型輸出的是數據及統計報表是靜態的文本工具,存在查看便利性不足的問題,而本仿真模型可與電子地圖軟件結合,實現卷煙物流可視化模擬仿真,即將規劃好的路線,在地圖上進行仿真運行,對仿真情況實時語音播報,可以使得路線查看更加直觀、物流管理調度更加方便;添加到貨預提醒等功能及應用,進一步擴充仿真模型應用場景,達成現代化的卷煙送貨任務管理。