米納電商 - 十堰電商綜合服務平台     |    0719-8611728

每天1800萬單 美團外賣如何優化配送模型?

2018-04-16 663 浏覽

在(exist)4月13号剛結束的(of)OReilly和(and)Intel AI Conference上,美團點評的(of)配送算法策略架構師郝井華博士詳細介紹了(Got it)美團外賣即時(hour)配送業務的(of)重難點,讓我(I)們(them)來(Come)看看大(big)數據文摘整理的(of)演講精華。

郝井華,美團點評研究員

美團外賣是(yes)全球最大(big)的(of)外賣平台,以(by)及全球最大(big)的(of)即時(hour)配送平台。其共有騎手60萬,簽約商家150萬,每天配送外賣1800萬單。

美團要(want)做的(of)是(yes)即時(hour)配送,也就是(yes)在(exist)一(one)個(indivual)小時(hour)之内把訂單送到(arrive)客戶手中。那麽配送模式是(yes)如何配置的(of)呢?60萬騎手如何能夠高效率低成本地(land)工作(do)?

優化配送模式

後台是(yes)把一(one)個(indivual)城市是(yes)劃不(No)同的(of)區域,用(use)戶隻有處在(exist)特定的(of)區域内打開App才能看到(arrive)這(this)個(indivual)區域内的(of)商家,才能點這(this)個(indivual)商家的(of)訂單。每一(one)個(indivual)區域都有特定的(of)騎手爲(for)區域内的(of)商家服務。每個(indivual)區域每天都有大(big)量的(of)訂單,如何高效地(land)提升資源的(of)配置效率,是(yes)美團外賣想要(want)解決的(of)痛點。

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

在(exist)實施層面做出(out)實時(hour)的(of)匹配,也就是(yes),用(use)戶下單的(of)時(hour)候涉及的(of)配送費的(of)動态設定,訂單的(of)指派,以(by)及騎手的(of)執行。舉一(one)些例子,比如說商家配送範圍的(of)規劃,一(one)些有争議的(of)小區需要(want)劃到(arrive)哪個(indivual)區域,劃分到(arrive)各個(indivual)區域産生(born)的(of)成本如何,收益又如何?加價機制其實是(yes)比較難确定的(of),加多少,往哪些方向上加?這(this)些都是(yes)需要(want)考慮的(of)。

這(this)類決策其實是(yes)多目标優化問題,用(use)戶的(of)滿意度,成本收益的(of)情況,都需要(want)考慮。以(by)往這(this)些問題都是(yes)用(use)人(people)工的(of)方式解決。

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

在(exist)早期的(of)時(hour)候,規模比較小,這(this)些問題還不(No)突出(out)。但是(yes)當達到(arrive)現在(exist)美團的(of)體量的(of)時(hour)候,這(this)些問題就會變得很嚴重。因此就需要(want)采用(use)新的(of)、基于(At)大(big)數據、人(people)工智能的(of)解決方案。

人(people)工智能的(of)發展,大(big)緻可以(by)分爲(for)3個(indivual)階段,第一(one)個(indivual)階段是(yes)Descriptive,做一(one)些檢索和(and)精确的(of)計算(比如說加減乘除),第二個(indivual)階段Predictive,其實是(yes)用(use)算法發現一(one)些規律,這(this)一(one)工作(do)最早可以(by)追溯到(arrive)最小二乘等線性拟合算法,複雜一(one)些的(of)就是(yes)用(use)語音識别,人(people)臉識别發現一(one)些規律。目前大(big)部分成功的(of)AI應用(use)都是(yes)在(exist)第二個(indivual)階段。第三個(indivual)階段Prescriptive是(yes)基于(At)這(this)些規律進行最優的(of)決策,比如說機票的(of)動态定價,物流的(of)訂單分配。

擁有一(one)個(indivual)好的(of)模型隻是(yes)第一(one)步,如何把模型進一(one)步執行、優化,其實是(yes)需要(want)花費許多功夫的(of)。

來(Come)看一(one)個(indivual)簡單的(of)流程,用(use)戶下單,商家備餐,騎手在(exist)接到(arrive)單的(of)時(hour)候取貨,取貨完之後進行配送。在(exist)美團APP中,你會看到(arrive)有35分鍾、40分鍾等時(hour)間的(of)送達時(hour)間的(of)預測,這(this)個(indivual)時(hour)間的(of)預測要(want)結合一(one)個(indivual)簡單的(of)策略。然後是(yes)動态調價,并不(No)是(yes)說基于(At)什麽樣的(of)規則,我(I)們(them)是(yes)要(want)對總體的(of)成本和(and)收益進行權衡之後給出(out)定價。

當騎手到(arrive)店之後,因爲(for)店裏現有的(of)用(use)戶會選擇打包或者堂食,所以(by)商家影響外賣出(out)餐的(of)時(hour)間是(yes)多因素的(of)。另外商家的(of)位置也是(yes)會影響配送時(hour)間的(of),在(exist)馬路邊上的(of)商家,騎手到(arrive)店方便,那麽就會縮短取餐時(hour)間,如果商家是(yes)在(exist)高樓層,相對來(Come)說時(hour)間就會長一(one)些。

對這(this)一(one)簡單的(of)流程進行優化,不(No)可能進行一(one)個(indivual)商家一(one)個(indivual)商家地(land)決策,需要(want)用(use)到(arrive)AI技術。

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

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

提高騎手效率

在(exist)基礎建設方面,要(want)有一(one)個(indivual)大(big)數據平台,要(want)保持業務層面和(and)機制的(of)整體運行,在(exist)這(this)個(indivual)基礎之上,還需要(want)機器學習的(of)平台,在(exist)這(this)之上有許多機器學習的(of)模型,方便對數據進行訓練學習。在(exist)這(this)兩個(indivual)基礎之上還有大(big)量業務的(of)架構。

訂單分給誰需要(want)考慮用(use)戶體驗,騎手的(of)體驗,商家體驗,平台的(of)配送成本等等。現在(exist)面臨的(of)主要(want)難點是(yes)在(exist)考慮用(use)戶體驗的(of)情況下,如何讓騎手的(of)效率最高。

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

将訂單分配給某個(indivual)騎手,需要(want)考慮他(he)是(yes)不(No)是(yes)順路,他(he)是(yes)不(No)是(yes)交通比較熟,是(yes)不(No)是(yes)效率能夠保證。還有一(one)些質量要(want)求,例如用(use)戶點了(Got it)面條,就要(want)及時(hour)的(of)送到(arrive),否則就會影響口感。其實留給智能助手考慮的(of)時(hour)間不(No)是(yes)很多,騎手的(of)位置是(yes)不(No)斷在(exist)變化的(of),可能上一(one)秒他(he)還适合配送這(this)一(one)單,但是(yes)在(exist)這(this)一(one)秒就不(No)适合了(Got it)。

在(exist)一(one)些工業場景,在(exist)用(use)算法解決一(one)些問題的(of)時(hour)候,并不(No)是(yes)算法爲(for)王。需要(want)設計一(one)個(indivual)整體的(of)方案,需要(want)了(Got it)解企業場景,業務場景。因此算法的(of)改進優化需要(want)多場景的(of)兼顧。這(this)些不(No)可能一(one)下全面覆蓋,需要(want)一(one)個(indivual)點一(one)個(indivual)點的(of)去涉及。在(exist)沒有摸清問題的(of)邊界的(of)情況下,最好不(No)要(want)對算法進行優化。

技術上來(Come)說主要(want)是(yes)兩類,一(one)方面是(yes)機器學習的(of)方法技術,另一(one)方面是(yes)運輸優化。機器學習解決一(one)些數據的(of)統計和(and)數據的(of)規律分析。當模型的(of)邊界比較清晰的(of)時(hour)候,就需要(want)運輸優化來(Come)解決一(one)些問題。

數據工作(do)是(yes)第一(one)步,需要(want)提升所有的(of)數據的(of)精度,提升數據覆蓋的(of)層面。一(one)些簡單的(of)數據經過統計就可以(by)知道。另一(one)些數據獲取則更複雜,比如商戶的(of)位置,這(this)些位置是(yes)人(people)上報的(of),這(this)就可能存在(exist)因爲(for)線下利益關系而上報錯誤的(of)位置。這(this)時(hour)候我(I)們(them)就需要(want)利用(use)騎手的(of)一(one)些行爲(for),利用(use)聚類的(of)方法,掌握商家的(of)真實位置。更複雜的(of)場景,比如上文提到(arrive)的(of)預估出(out)餐時(hour)間,需要(want)一(one)些弱監督學習的(of)方法,根據騎手的(of)反饋,進行統計分析。

ETR問題也是(yes)需要(want)考慮的(of),其實就是(yes)怎麽樣去估計一(one)個(indivual)路徑上每一(one)個(indivual)點的(of)時(hour)間。比如說騎手從一(one)個(indivual)地(land)方出(out)發,給他(he)規劃一(one)個(indivual)線路,他(he)應該在(exist)最少的(of)時(hour)間内配送最多的(of)訂單且路程最短。需要(want)給每一(one)個(indivual)節點規劃出(out)什麽時(hour)間可以(by)完成。這(this)個(indivual)問題意義很大(big),因爲(for)在(exist)做訂單分配的(of)時(hour)候,要(want)考慮是(yes)不(No)是(yes)能準時(hour)送達,準時(hour)與否非常影響用(use)戶的(of)體驗。

利用(use)優化算法,建立一(one)個(indivual)基本的(of)關系,騎手從取到(arrive)送的(of)過程中分配很多的(of)節點。建立參數優化模型,能夠将誤差控制在(exist)4分鍾之内。

在(exist)優化的(of)基礎上,還要(want)做一(one)些執行的(of)工作(do)。比如開發一(one)個(indivual)智能助手,能夠和(and)騎手進行語音交互,使其不(No)用(use)看手機也能夠知道他(he)接到(arrive)了(Got it)多少單,他(he)應該接下來(Come)做些什麽等等操作(do)。還有爲(for)騎手導航、進行長期激勵等等。

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


來(Come)源 米納電商