close

                                                                      

                                                                         

 

  在413號剛結束的O'ReillyIntel AI Conference上,美團點評的配送演算法策略架構師郝井華博士詳細介紹了美團外賣即時配送業務的重難點,讓我們來看看大資料文摘整理的演講精華。

  郝井華,美團點評研究員

  美團外賣是全球最大的外賣平臺,以及全球最大的即時配送平臺。其共有騎手60萬,簽約商家150萬,每天配送外賣1800萬單。

 

  美團要做的是即時配送,也就是在一個小時之內把訂單送到客戶手中。那麼配送模式是如何配置的呢?60萬騎手如何能夠高效率低成本地工作?

  優化配送模式

  後臺是把一個城市是劃不同的區域,使用者只有處在特定的區域內打開App才能看到這個區域內的商家,才能點這個商家的訂單。每一個區域都有特定的騎手為區域內的商家服務。每個區域每天都有大量的訂單,如何高效地提升資源的配置效率,是美團外賣想要解決的痛點。

 

  60萬的騎手,每個月光薪資就會有幾十億的人民幣支出。如何控制成本,提高效率呢?可以從兩個方面入手,第一,對騎手進行專業的培訓;第二,對配送模式進行效率優化,例如根據區域的實際情況制定合理的配送費,以及合理的配送人數。

  在實施層面做出即時的匹配,也就是,用戶下單的時候涉及的配送費的動態設定,訂單的指派,以及騎手的執行。舉一些例子,比如說商家配送範圍的規劃,一些有爭議的社區需要劃到哪個區域,劃分到各個區域產生的成本如何,收益又如何?加價機制其實是比較難確定的,加多少,往哪些方向上加?這些都是需要考慮的。

  這類決策其實是多目標優化問題,使用者的滿意度,成本收益的情況,都需要考慮。以往這些問題都是用人工的方式解決。

  然而人工的方式又會帶來許多的問題,比如說在上萬個區域中每個區域都會有一個調度員進行訂單分配,調度員顯然考慮配送模式的時候或多或少會出現低效率問題。還有一個其實也是比較大的問題,人數太多,就會出現或多或少的腐敗問題。比如說,有權力的調度員往往會把訂單給和他關係比較好的人。

  在早期的時候,規模比較小,這些問題還不突出。但是當達到現在美團的體量的時候,這些問題就會變得很嚴重。因此就需要採用新的、基於大資料、人工智慧的解決方案。

 

  人工智慧的發展,大致可以分為3個階段,第一個階段是Descriptive,做一些檢索和精確的計算(比如說加減乘除),第二個階段Predictive,其實是用演算法發現一些規律,這一工作最早可以追溯到最小二乘等線性擬合算法,複雜一些的就是用語音辨識,人臉識別發現一些規律。目前大部分成功的AI應用都是在第二個階段。第三個階段Prescriptive是基於這些規律進行最優的決策,比如說機票的動態定價,物流的訂單分配。

  擁有一個好的模型只是第一步,如何把模型進一步執行、優化,其實是需要花費許多功夫的。

 

  來看一個簡單的流程,使用者下單,商家備餐,騎手在接到單的時候取貨,取貨完之後進行配送。在美團APP中,你會看到有35分鐘、40分鐘等時間的送達時間的預測,這個時間的預測要結合一個簡單的策略。然後是動態調價,並不是說基於什麼樣的規則,我們是要對總體的成本和收益進行權衡之後給出定價。

  當騎手到店之後,因為店裡現有的用戶會選擇打包或者堂食,所以商家影響外賣出餐的時間是多因素的。另外商家的位置也是會影響配送時間的,在馬路邊上的商家,騎手到店方便,那麼就會縮短取餐時間,如果商家是在高樓層,相對來說時間就會長一些。

  對這一簡單的流程進行優化,不可能進行一個商家一個商家地決策,需要用到AI技術。

 

  通過機器學習開發出的智慧助手需要考慮多重因素:如何進行單量預測,如何進行動態的定價,如何選擇騎手到店的路徑。當騎手取到餐後何時通知用戶下來取餐等等。

  一些線下的流程也需要演算法進行優化,例如我們需要增加新的商家,那些商家能夠簽約,哪些商家又能夠優先簽約,簽約之後給他制定多少的配送費等等。

  提高騎手效率

  在基礎建設方面,要有一個大資料平臺,要保持業務層面和機制的整體運行,在這個基礎之上,還需要機器學習的平臺,在這之上有許多機器學習的模型,方便對資料進行訓練學習。在這兩個基礎之上還有大量業務的架構。

  訂單分給誰需要考慮使用者體驗,騎手的體驗,商家體驗,平臺的配送成本等等。現在面臨的主要難點是在考慮使用者體驗的情況下,如何讓騎手的效率最高。

 

  中關村的午高峰大約有200個左右的騎手,如何進行訂單分配?最表層的理解是考慮多目標優化。在午高峰的時候每分鐘大約有50個左右的新訂單進來,每個騎手身上可能都有待配送的訂單。

  將訂單分配給某個騎手,需要考慮他是不是順路,他是不是交通比較熟,是不是效率能夠保證。還有一些品質要求,例如用戶點了麵條,就要及時的送到,否則就會影響口感。其實留給智慧助手考慮的時間不是很多,騎手的位置是不斷在變化的,可能上一秒他還適合配送這一單,但是在這一秒就不適合了。

  在一些工業場景,在用演算法解決一些問題的時候,並不是演算法為王。需要設計一個整體的方案,需要瞭解企業場景,業務場景。因此演算法的改進優化需要多場景的兼顧。這些不可能一下全面覆蓋,需要一個點一個點的去涉及。在沒有摸清問題的邊界的情況下,最好不要對演算法進行優化。

  技術上來說主要是兩類,一方面是機器學習的方法技術,另一方面是運輸優化。機器學習解決一些資料的統計和資料的規律分析。當模型的邊界比較清晰的時候,就需要運輸優化來解決一些問題。

  資料工作是第一步,需要提升所有的資料的精度,提升資料覆蓋的層面。一些簡單的資料經過統計就可以知道。另一些資料獲取則更複雜,比如商戶的位置,這些位置是人上報的,這就可能存在因為線下利益關係而上報錯誤的位置。這時候我們就需要利用騎手的一些行為,利用聚類的方法,掌握商家的真實位置。更複雜的場景,比如上文提到的預估出餐時間,需要一些弱監督學習的方法,根據騎手的回饋,進行統計分析。

  ETR問題也是需要考慮的,其實就是怎麼樣去估計一個路徑上每一個點的時間。比如說騎手從一個地方出發,給他規劃一個線路,他應該在最少的時間內配送最多的訂單且路程最短。需要給每一個節點規劃出什麼時間可以完成。這個問題意義很大,因為在做訂單分配的時候,要考慮是不是能準時送達,準時與否非常影響用戶的體驗。

 

  利用優化演算法,建立一個基本的關係,騎手從取到送的過程中分配很多的節點。建立參數優化模型,能夠將誤差控制在4分鐘之內。

 

  在優化的基礎上,還要做一些執行的工作。比如開發一個智慧助手,能夠和騎手進行語音交互,使其不用看手機也能夠知道他接到了多少單,他應該接下來做些什麼等等操作。還有為騎手導航、進行長期激勵等等。

  未來要做的是通過多維度協同,實現全域最優化。需要考慮業務維度,空間維度,時間維度。業務維度指送達時間設定、動態定價、運力融合。空間維度指跨區調度、柔性邊界、全城優化。時間維度指動態壓單、最優指派、配送引導。

 

arrow
arrow
    全站熱搜

    微社群馬丁 發表在 痞客邦 留言(0) 人氣()