天天看點

智能排程讓物流更高效:聊聊排程系統設計

作者:人人都是産品經理
在物流運輸業務中,排程環節的存在,可以有效地實作運力的合理配置設定。那麼,怎樣才能設計出合理的排程系統,以支撐運輸業務的正常運轉?本篇文章裡,作者結合自身經驗,對排程模式和排程系統設計做了拆解和總結,一起來看看吧。
智能排程讓物流更高效:聊聊排程系統設計

排程即為運輸業務中,貨物與運力的比對環節。排程系統是業務系統基礎屬性,連結上遊OMS系統,下遊司機/車隊系統;或排程子產品内嵌到TMS系統中,做單獨的操作子產品。

随着資料的積累,派車規則的總結完善,越來越多的排程系統力求實作智能排程即自動派車的功能,依托算法或規則配置,優化運力配置設定。

排程系統的核心,一是派車的準确度高,系統比對出的為派車的最優解;二是操作的便捷高效性,排程目前還有大量人工操作的場景,系統的使用便捷互動流暢是非常重要的;三是資料的積累及可視化展現,曆史資料的宏觀微觀展示,均可以在多個環節對排程政策進行優化指導。

一、搶單和派單

排程模式簡而言之分為兩種,搶單和派單。

1. 搶單

搶單的邏輯較為簡單,将符合條件的活放到資源池中,司機自行篩選以及預定訂單。這種模式基礎的要求是司機端有完善的産品而且司機願意配合使用;司機搶到的單,理論講一定可以運,延伸對司機的管控,比如主動撤單率高的司機和履約情況良好的司機差別收入或評分,适用于有固定運力,司機管控較為完善的運輸公司;針對資訊比對平台,及時記錄搶單及放單行為,完善推薦比對政策。

搶單的弊端,就是訂單及運力配置設定的不均勻,平台公司無法強管控如利潤、客戶服務等。

例如好客戶的好訂單,被“壞司機”搶到,可能影響平台口碑;再例如“壞客戶”的壞訂單,被好司機搶到,可能影響司機的運輸體驗或收入,會加大司機對平台的抱怨程度;搶單模式不靈活,給平台角色的自由度較大,因而很難精細化管理。很多運輸公司選擇用固定路線或固定運力池作為搶單模式的場景,用搶單代替固定的排班,通過減少場景來加強管控。

2. 派單

派單的邏輯可以很深入,也可以很簡單。

簡單的派單,就是排程人員找到訂單,選派合适的司機,排程過程即結束。這其中需要考慮司機是否有時間接單,不會和上一單或下一單有重疊即可,這也是大部分TMS系統所實作的程度。再進一步,司機端多考慮一步,是否讓已分派的司機撤單或設定司機需點選接單的模式,上下遊互選後履約成立,這也是網絡貨運平台要求的履約模式。這一步往往會設定回報,不接或撤單的原因,便于日後資料分析。

資料及規則積累到可量化的程度,即可嘗試自動排程。基礎的自動排程,即把排程人員的派車規則轉換成為系統語言,自動推薦運力;到政策層,即會考慮路徑規劃,多因素互相影響的算法。

排程考慮的因素列舉起來有如下:司機作息、運輸是否可成立、定向比對、司機偏好、司機收入、平台利潤、平台報價、第三方服務等等。要精确的量化以上條件,必須對三部分資料進行模組化分析,即司機畫像、車輛基礎資訊維護、位址畫像。

  • 司機畫像标記司機的收入要求、運輸偏好遠途近途、運輸習慣休息時間等;
  • 車輛基礎資訊,如核定載品質、軸數、燃油類型、國五國六等,以此來判斷運輸能否成立;
  • 位址畫像,能否走國道、是否有山路、是否有高台等屬性,依次直接可作為運力篩選條件使用。

1)排程順序模型

初步探索自動排程,首選建立一個比對的順序模型,即把上述條件順次排列依次比對,觸發到即停止比對。下面簡單舉一個順序模型的例子:司機作息>定向比對>收入>…

第一優先級:司機作息;即保證司機有能力接這單活,如果司機還在途或需要休息,排程無法成立。

簡單舉例,如司機在途一個往返150公裡的訂單,預設可以當天返程,後一天的單理論可以繼續派此司機;另一個簡單的次元是時間,同樣往返150公裡的訂單,預設司機可接20小時後的訂單,也是理論成立;精細一些的分析方向,依靠貨車導航精确判斷司機返程情況,或根據曆史訂單及曆史路徑選擇,精确估算到達時間。

第二優先級:定向比對;即合約司機或固定路線司機優先比對。

例如一些專線司機,隻跑某一條路線,即可在其作息允許的基礎上,直接比對分派。這個模式必須留一個相容性,固定司機可用數量為0時,系統觸發正常比對邏輯,否則會導緻無車可派的情況。如若多個固定司機對應一個路線,進入下一條條件的判斷。

第三優先級:收入,司機收入和公司平台收入。大部分運輸公司和司機的合作模式,都會有保證最低收入的限制,是以系統需将這個權重影響到自動排程中。廣義區分,近途訂單收入少,遠途訂單收入多,是以針對最低收入較低的司機,派近途訂單的權重高于遠途訂單的權重,反之亦然。針對社會車輛或臨時合作的車輛,平台收入的優先級高于司機收入的優先級。

物流平台排程環節的收入,即為既定派車價-司機運費,司機運費越低,平台收入越高(此處暫不展開其他次元 僅舉例說明),保證平台總體利潤最大化,是高優條件,但是收淡旺季、油價波動等因素的印象,會導緻平台利潤最大化的條件“不是最優解”,年度利潤最大不等于每天或每月的利潤最大,多因素的波動也會影響利潤的計算取舍。

第四優先級 … 不同企業可自行選擇。

以上為較為簡化的順序模型,企業可以根據自身的情況,設定個性化的權重。如果是TMS或排程的SAAS平台,可将優先級做為可配置項,按需設定。

2)算法示例

自動排程的另一個方向,是用算法來進行路徑規劃選擇,一般會細分到某一行業或領域,如城市配送、幹線配送或醫療行業、服裝行業等,都是在場景下尋找路徑的最優解,綜合路徑、路況、路橋費等因素,計算最優選擇。常用的如路徑規劃算法、遺傳算法、蟻群算法等。下面簡述兩個算法的應用邏輯。

遺傳算法是一種模拟自然選擇和遺傳機制的優化算法,具體來說,遺傳算法可以通過以下步驟進行物流派車排程:

  1. 個體編碼:将物流車輛的行駛路線和配送計劃轉化為染色體編碼,例如使用二進制編碼或者排列編碼。
  2. 初始化種群:随機生成一組初始染色體,作為種群的初始狀态。
  3. 适應度函數:定義适應度函數,即評價染色體的好壞程度。在物流派車排程中,适應度函數可以根據物流車輛的行駛距離、時間、成本等綜合因素進行評價。
  4. 選擇操作:根據适應度函數對種群進行選擇,從中選擇适應度較高的染色體進行進化。
  5. 交叉操作:将選出的染色體進行交叉操作,生成新一代染色體。
  6. 變異操作:對新一代染色體進行變異操作,以增加種群的多樣性。
  7. 替換操作:将新一代染色體替換原始種群中适應度較低的染色體,以保證種群的進化方向。
  8. 疊代操作:重複進行選擇、交叉、變異和替換操作,直到達到預定的停止條件,例如達到最大疊代次數或者适應度達到一定的門檻值。

蟻群算法是一種基于模拟螞蟻覓食行為的優化算法,蟻群算法可以通過以下步驟進行物流派車排程:

  1. 螞蟻模拟:将物流車輛視為螞蟻,通過模拟螞蟻的覓食行為來尋找最佳的配送路徑和配送計劃。
  2. 路徑選擇:螞蟻在搜尋過程中,通過釋放資訊素和選擇路徑的方式,尋找最佳的路徑。釋放資訊素的方式是将資訊素分布在路徑上,選擇路徑的方式是根據路徑上的資訊素濃度進行選擇。在物流派車排程中,資訊素可以表示為物流車輛的行駛距離、時間、成本等綜合因素。
  3. 更新資訊素:當螞蟻完成路徑選擇後,需要将路徑上的資訊素進行更新,以影響其他螞蟻的選擇。在物流派車排程中,可以根據物流車輛的行駛距離、時間、成本等綜合因素,更新路徑上的資訊素濃度。
  4. 重複疊代:重複進行路徑選擇和更新資訊素操作,直到達到預定的停止條件,例如達到最大疊代次數或者資訊素濃度達到一定的門檻值。
  5. 通過以上的邏輯,自動排程模型已經跑通,進一步可以加強營運管理和資料監控。特别說明一點,自動排程的基礎建設是一個較為複雜且研發量較大的子產品,如果企業想自建的話,首先考慮企業的訂單量是否可以支援模型跑通,例如一個小三方每月一兩萬單的數量,就沒有必要做自動排程子產品,其次考慮投入産出比,投入較大進而ROI較低,可以橫向比較是否要做,做到什麼程度。

關于監測資料,檢測自動排程系統運作情況的名額,基礎的就是自動排程成功率=衡量系統是否能比對到運力,自動排程接受率=衡量系統是否比對的準,可以建立漏鬥模型進一步分析再哪個環節需要改進,粗略的說,自動排程接受率超過10%可以說方向就是對的,超過30%已經及格,超過60%是相當不錯的程度,初期的預測可以大緻依此作為預測目标基數或階段。

二、排程支撐子產品

排程的背後有幾個支撐子產品,報價模型、司機評分和客戶分級。報價模型衡量排程的可行性,在上述例子中涉及利潤的環節均需要報價模型的支撐。司機評分考核司機的服務情況,類似滴滴專車快車的概念,可以區分定價影響分派。客戶分級主要區分客戶,可以精細化營運“保大客戶”等營運政策。

1. 報價模型

物流公司的報價模式,常用成本定價法。從成本的基礎上加上利潤部分,作為對外報價,內插補點即為最終利潤。

首先确定公司的成本結構,包括運輸成本、人工成本、燃料成本等,做加法後即為運輸成本價。在确定成本結構後,需要設定利潤要求,以保證公司的盈利能力,使用一次函數模型即可,例如y=kx+b,x為成本,k為利潤系數,b為附加利潤值,得出的y即為客戶報價。其中k、b均為可延展參數,均可由多個參數疊加。

建立市場變化參數,監測市場變化,包括油價波動、淡旺季等因素,及時更新成本結構和利潤要求。通過實時監測和分析市場變化,可以及時調整市場變化參數,定價實時跟随市場波動。淡旺季同比大概穩定,初期可固定參數降級考慮;油價波動可直接與國際油價表保持一緻。

制定價格政策,根據基準價格、成本結構和利潤要求,制定相應的價格政策。價格政策可以根據貨物類型、運輸距離、發貨時間等因素進行分類,以滿足不同的客戶需求。定價政策和業務類型緊密相關,例如快遞快運按重泡比的計費方式、大宗商品按重量考慮虧噸漲噸的場景、首重+續重的計費方式、階梯定價等等。

根據以上模型,實時更新價格政策,根據市場變化及時調整價格參數,計算實時準确報價。

2. 司機評分

司機評分按網絡貨運的官方要求,貨主可直接評價司機,但實際營運中,多建立司機、貨主、平台三方互評的評級機制,各方權重平均的結論為最終評分。

評分項圍繞運輸環節展開,例如準點情況、駕駛安全、貨物安全、服務态度、專業技能等等,評分項公司可以自行細分。

評分後的結果,需要做歸一化的處理,保證分值的規範性。另外,分值的有效性需要考慮,例如前三個月或前半年的分數,是否可以代表目前司機的服務情況,依此思路設計評分的更新機制。司機紅線、退出機制需要提前設定。例如司機私自吞貨或司機毆打客戶等等紅線條例,觸發扣分甚至退出機制。

3. 客戶分級

客戶分級參數直接影響報價、排程。例如大客戶或重要客戶的報價,略低于市場價,并且該客戶的貨,需要排程保證可以比對運力,甚至需要預留120%的運力給大客戶。不同的分級的客戶,制定不同的營運政策,用分級參數影響報價及自動排程的計算。

客戶如何分級是個頂層的議題,财務可以說利潤率高的是好客戶,業務可以說貨量大的是好客戶,老闆可以說他的朋友公司是好客戶,各角色對好客戶的定義不盡相同。如果用曆史資料來測算結論,未必可以涵蓋全部訴求場景。初期的分級可以直接設定為高權限操作手動選擇,線下約定更新頻次及機制,以此來簡化系統及場景。

三、排程系統互動

排程系統的互動設計,可以嘗試脫離正常的清單表單的設計,因為其有大量圖形結合的場景,可在一張地圖上完成操作,即運輸可視化。主要包含以下幾方面内容:運力監控、地圖打點标記、路徑規劃/曆史路徑檢視、延伸場景。

  • 運力監控;物流企業對運力的在途行駛、車輛狀态等的監控,标記在地圖一目了然。常用的實作方式有兩種,一是車上放置硬體擷取實時定位,二是對接北鬥擷取定位。
  • 地圖打點标記;排程對部分位址會進行标記,輔助操作。例如某天同市的出口訂單标記紅色的點,聚合顯示數量,以便于預留運力。系統可保留篩選項,靈活打點标記,做好聚合放大縮小的資訊展示。
  • 路徑規劃/曆史路徑檢視;針對某位址的路徑檢視,可輔助排程選擇行駛路徑估算到達時間等。可對路線進行進行标簽模組化,快速展示核心資訊。
  • 延伸場景較為綜合例如集裝箱運輸常用的比對運輸、分段運輸等,通過上述地點标記、運力監控功能的結合,輔助排程實作兩個小箱拼車或長途分段的操作。

四、寫在最後

自動排程是很多物流公司資訊化的白月光,它就在那裡,好像能夠一夠又好像去之甚遠。

我自己曾經帶着二十多個研發,大幹兩個月搞出來了一個自動排程1.0版,排程成功率僅1%,存在無數诟病,被老闆噴、被排程噴、被司機噴…仿佛自動排程是個僞命題,通過不斷地疊代排程成功率緩慢提升,過程及其痛苦。

但不可忽視的一點,排程本身存在太多無法系統化公式化的場景,充斥着人情世故及私人交易。另一個角度如果都實作了自動化,傳統的排程崗位就不存在了麼?是以排程人員内心也不希望自動派車的結果那麼準自然也不會那麼配合…

總之确定立項自動排程前,一定做好打硬仗的準備。以上經驗均為實踐中來,也歡迎各同行多多交流指正~

本文由 @謝宇 原創釋出于人人都是産品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協定

該文觀點僅代表作者本人,人人都是産品經理平台僅提供資訊存儲空間服務。

繼續閱讀