順豐作為中國及亞洲最大、全球第四大綜合物流服務提供商,長期以來一直是物流行業的代表企業之一。
物流,這個看上去依托密集的人工來提升效率的傳統實體行業,背后其實蘊藏著人工智能、大數據、運籌等高新技術。
而正是這些技術,讓物流的效率、成本、體驗,完成了超越人工極限的優化。物流的核心問題之一就是資源與需求的匹配問題,它決定了你能不能準時收到快件,決定了你的包裹它到底上哪趟車、哪架飛機、以及由哪個小哥來收派。順豐解決這個問題的關鍵,則是被稱為“順豐超腦”的順豐智能規劃調度平臺。
這套大規模、高復雜度、鏈路長、涉及線上線下人員與設備眾多的規劃調度平臺,基于海量數據以及運籌、人工智能等技術,可以前置依據預測情況規劃好相關小哥、車輛、飛機的工作計劃,還可以在快件流轉的漫漫旅途中預測潛在延誤風險,并及時推薦智能調整方案。簡單來說,這套平臺需要讓你準時收到包裹,也要讓小哥、車輛、飛機的工作時間、路徑等方面的安排高效合理,同時盡可能地降低整體的運營成本。
歷時8年,“順豐超腦”團隊有怎樣的探索與思考?他們是怎么處理這樣復雜的問題的?如何理解數學世界與現實世界?未來的智能規劃調度會走向何方?我們對話順豐科技智能規劃調度平臺相關團隊。讓我們在高考前夕,一起看看這個高考數學人均140分的團隊的答案。以下是對話內容原文:
01
“順豐超腦”運轉全過程
Q1:順豐的智能規劃調度平臺讓千千萬萬個包裹按時抵達了收件人手中,可以簡單介紹一下整個平臺是怎么完成這個過程的嗎?
順豐的物流可以大體分為收轉運派四個主要環節。我們就來先分別看一下這四個環節,我們都主要做了哪些工作吧。
首先是收派,這兩個環節是類似但相反的過程。收是小哥從客戶手中攬件并送到網點,而派是小哥從網點拿到貨物然后上門送到客戶手中。這兩個過程中涉及的智能化包括小哥的排班、小哥收派區域的劃分、網點班次的設計等。舉個網點班次設計的例子吧。為了客戶能準時收到快件,順豐的車其實不是“裝滿就發”,而是“到點就發”。
我們需要給小哥設計他們收派的班次,既要兼顧收件的時效要求,又能滿足派件的時效要求,還要和來網點收件、送件的車輛時間能匹配串聯等等。其次就到“運”了。當小哥把快件送到網點后,相關網點就會按照快件的班次,把快件集中運輸到中轉場,這就是支線的運輸過程。支線運輸也會涉及很多智能算法,比如支線的線路規劃、網點和中轉場的選址、車輛、司機的儲備策略、實時動態調度等。等送到了中轉場,就進入了“轉”的環節。貨物在這里集中分揀,然后被運送到它的目的地。這里涉及的智能部分就包含貨量預測、分揀計劃的制定、場內設備布置優化等問題。
此外,路由規劃是一個重要的命題。怎么規劃路由,其實需要考慮很多問題。比如我從深圳去北京,既可以走航空,也可以走陸運;我走陸運的話,既可以在天津中轉一次,也可以直接去北京。什么情況下該發航空、什么情況下該發陸運,這里就涉及航轉陸、陸轉航的一些轉換策略。
再比如,貨量突然暴增該怎么辦?我可以選擇臨時調度更多車來運輸這個方向的貨物;也可以修改分揀計劃,讓一部分貨物先運輸到貨量更少的流向上去。在路由規劃中,經常牽扯這種到底選擇哪種策略的過程。這里還會涉及資源儲備的策略,比如我們要多少自有資源、多少外包資源,才能在保證整個運輸網絡穩定性的同時,以一定的彈性資源應對貨量的變化?如果是外包資源,又涉及到智能招采和競價策略了。最后就是調度的一些策略了,這些策略主要是做臨時的異常處理,收轉運派4個環節,調度策略都會涉及到。
02
從規劃調度出發,思考直營快遞的挑戰與優勢
Q2:順豐作為直營快遞的代表,相較于加盟式的快遞,特殊的業務場景為智能規劃調度的技術層面帶來了哪些主要挑戰?你們是如何應對的?
從我們技術的角度出發,總體來說直營快遞在技術層面是有很大優勢的。但是這個優勢也是挑戰。
第一個優勢與挑戰是數據。說是優勢,是因為直營讓我們擁有了全環節的數據。我們的訂單怎么進來的、進來以后誰負責處理、每一個流程、環節,我們都有數據,這些大量的數據都是我們算法的支撐。但是加盟式就比較難做到。說是挑戰,是因為數據的整合和處理本身也存在挑戰。
我們有大量的訂單信息、車輛位置、交通狀況、車輛的日志等等數據,要想更高效地應用他們,需要非常注重數據底盤建設。我們有大量的公共的數據服務,比如地圖信息、場地運轉的信息、各種訂單底表等,這些公共服務是智能化的基礎建設,而好的數據基礎建設能讓算法更加高效地研究、迭代和應用,這為優質服務帶來更穩定、可靠的保障。
第二個優勢與挑戰是統一規則與個性化需求相結合的精細化規劃調度。因為是直營,所以大家總體來說SOP是差不多的,這讓我們整體的服務質量會有更好的保障;但是在小的地方又需要考慮一些特殊的地區情況,結合當地的特點,不能統一全國一刀切。例如,同樣的路程在重慶可能需要更長的時間,因為它有很多需要上上下下的地方。這樣的特點會讓我們在做智能化落地的時候需要關注更多細節的地方,也更能幫助車輛、小哥等在細節之處配合,讓全國各地的客戶,擁有更為可控、穩定、貼心的服務。第三個優勢與挑戰是鏈條更長的規劃調度。
比如小哥收件的時候,忽然發現我這個城市出現了一個新的大網紅,帶貨特別厲害,件量激增。我在收的環節就發現了異常,于是我以最迅速的方式把這個信息同步給了收轉運派所有環節,那么我們其他環節就會提前幾個小時知道貨很多,于是支線的運輸、干線的運輸、中轉場、包括收件地都會趕緊做好應對的準備。這樣精細的規劃調度,能讓資源聯動的更為緊密,節約時間與成本;同時讓我們在突發情況下,也可以提前快速在響應客戶需求,保證服務更加及時、靈活。最后一個優勢與挑戰是全局角度看各環節。
因為我們是直營公司,我們要對收轉運派的每個環節都要負責,不僅需要把各環節串聯起來看、還要平衡時效和成本,綜合提高物流效率和客戶滿意度,盡可能地讓客戶的錢“花的值”、買到最好的服務體驗。在加盟的情況這種情況下,你可能只用關注自己所做的一件事就好了,而直營需要同時關注一個很大的范圍、去整體的思考整件事如何最優,這會讓智能決策的復雜度變得很高,當然全局最優的最終結果也會價值巨大。
03
直面復雜場景,先“切割”再“串聯”
Q3:面對包含多個城市、多種交通工具、多人交接的路徑規劃、運單匹配等工作是特別復雜的優化問題,你們是怎么做到對如此復雜的問題進行求解的?
當我們平時遇到一個特別復雜的問題的時候,你會怎么辦?我們一般會說,抽絲剝繭,需要從一團亂麻中找到一個線頭。對于這個問題,我們首先需要把這個特別復雜的問題切割變成一個個相互獨立、但相互之間又有關聯的問題,同時通過一些指標讓他們聯動起來。這在數學上其實是一種“分而治之”的理念。舉個例子,順豐中轉場的班次就是一個我們用于“切割”問題的指標?!皫讉€小時是一個班次”這個指標,其實一邊鏈接著干線運輸,一邊又連接著支線運輸;一邊負責讓其他城市的貨物到這里,并給這個城市的網點派單;一邊面對著這個城市的網點,把自己的貨物放到這里,送到發到全國各地去。無論是支線、干線以及中轉場的工作時間計劃,都要需要按照中轉場班次這個時間進行切割,每個部分都需要在規定時間內完成。這樣我們剛剛“一條線”的大問題,通過一個班次設計,就切割成了三個小問題。這三個小問題里面可能又有各種各樣的切割方式,把這個問題從大變小。除了切割,我們還要聯動。什么是指標聯動?我們剛剛雖然把這個問題切割成了支線、干線、中轉的三個小問題,但是我們還要把總時長串聯起來。這個整體的時間就是一個聯動指標,它貫穿了我們切割的3個小問題。有了聯動指標,我們再來看每個環節應該怎么做。比如中轉場就需要在規定的班次里完成中轉、盡量提高中轉效率;支線就需要按照班次設計,看如何在規定的時間下,盡可能優化線路、提升裝載率和整體運輸效率。當某一個子問題發現它無論如何可能都滿足不了相應要求的時候,我們再來看在切割問題的指標上是不是要做一些調整。例如中轉場現在覺得時間很寬裕、支線覺得很緊張,那么我們就需要調整一下相關切割的方式,讓各方都覺得可以接受。在這個過程中,聯動指標與切割本身也在不斷優化,在不斷的結合、調整中,最終達到有機結合的狀態。那前面這些主要是一個思考的方式,到具體的問題中,我們會根據問題的復雜度和規模應用不同的算法進行求解。比如比較簡單的問題一般通過整數規劃模型、精確求解的方式。特別復雜的問題,我們就會舍棄這種精確的解,轉而應用啟發式算法或是搜索的一些算法。比如在支線規劃應用了ruin-recreate的大鄰域搜索算法,可在分鐘級完成2000+條線路規劃,且在大多數算例下,能與精確解的Gap在1%以內。還有一些很復雜的問題我們會通過一些預測或者分類的方式去解決,就是把很復雜的問題終究歸成幾個分類的問題。部分問題我們會應用一些經典算法的變種,比如推演端到端路由的時候,會在經典最短路算法(Dijkstra或A*)上做部分改造;在任務指派或調度問題上會通過改造圖論中的二分圖算法迅速找到最優解等等。
04
預測推演,保障全鏈路環節
Q4:快遞的鏈路很長,中間也會經歷多次的交接轉換環節,無論是飛機延誤還是堵車,難免會遇到一些突發狀況,你們是如何比較準確地預估配送時間、并保證配送時間相對準確的?
這個問題其實我們在事前、事中、事后都有做一些技術層面的措施,主要是在預測推演方面,來進行保障。事前我們就會先想辦法預測,比如對貨量的預測,再結合整體發車貨量的大小等信息,事前預估能否準時到達。根據預估的結果,在快件還沒發出的時候,就做一些相關的應對措施。事中主要會實時監控一些數據,然后配套一些智能的解決方案。
比如運輸環節會監控到每一輛車的實時信息,例如車輛是否按時行駛到預期地點、有沒有異常停留;中轉場會實時監控它的貨量等等。一旦發現可能有問題,就會智能推送一些調度處理方案。例如,原本走陸運的快件,可能因為一些原因如果繼續走陸運的話,就趕不上客戶要求的時間了。那我們的算法就會判斷推送,讓它去趕對應的航空班次;
還有比如某個本來要去的中轉場目前的預期貨量已經很大了,那么我們就會推薦他們換一個中轉場走,進行分流。當然還有一些事后的復盤。例如我們發現某一次遲到是因為其中的某個環節出錯而發生,那么我們事后就會去看出錯的具體原因,并且對這個具體環節進行提升。所以事前、事中事后我們都會有相應的一些手段和策略來保證我們能按準確地按預估的配送時間來送達,配送時間相對準確。
這個過程中,會有一些問題還是挺難的。有時候感覺,數學是一種哲學。柏拉圖麥穗的典故大家可能都聽說過?,F在有一片麥田,你需要拿到最大的那個麥穗,但你不能走回頭路,只能拿一次,你應該拿哪個?這是一個很復雜的問題,我們在做調度的時候也同樣會遇到。簡單來說,就是這一刻我接到的信息不是全部信息,等一等我可能有更好的選擇,那我到底是這一刻就要做出選擇還是等一等?舉個大家熟悉的例子,打網約車的時候,現在沒有司機愿意接去某個地方的單,作為平臺,那我是再等一等看有沒有愿意的司機,還是直接指派一個司機去?其次,像這種調度問題,任務和任務之間并不獨立,而是會產生蝴蝶效應。
比如,我因為A任務快遲到了,所以把很遠的B車調過來,但最后有可能A任務按時完成了,但B車原本的其他任務又會遲到。局部的決策很有可能會影響全局。我們曾經就有過因為解決一個訂單遲到,導致更多訂單遲到的案例,原因就是你在不停尋找不合適的車去承接這個任務,會產生連鎖反應,進而影響更多的任務時效。
05
相比計算結果,理解透徹業務更重要
Q5:你覺得數學會騙人嗎?如何看待計算結果在實際中的應用?
這個問題讓我想到了一個馬克吐溫的名言:世界上有三種謊言,謊言、該死的謊言和統計結果。這三個是依次遞進的,也就是說統計結果比該死的謊言還可怕。我覺得很多數字其實并不能代表真實的結果。數字本身不會騙人,但是有人會別有用心地變換口徑和方法來制造結論,所以不能完全看數字或某一個結果,而是需要把大家的經驗和數學結果結合起來看待。有一個例子我還挺感慨的。
我們曾經給小哥做派送的最優路徑的時候,算出來的路徑常常是一圈一圈的,類似一個花瓣,這樣是最短的路。但實際小哥日常喜歡走這種葉子形狀的路徑,走到一個“葉子”以后,在這個區域內來回走完成各種任務,再去下一個“葉子區域”。
為什么會出現這樣的情況?結合現實問題就知道了。在第一種情況下,當小哥派第二個訂單的時候,“花瓣”上最遠的第六單突然催他怎么辦?他如果過去了,是不是第3-5個訂單要折返回去送?但如果都在一個“葉片”區域,那我多走一點就能過去。所以,雖然計算出來“花瓣”是數學上最簡單、最快的,但是實際中一旦不按照你預期的計劃進行時,它的風險就會立刻增大。換句話說,“花瓣”方案的魯棒性不夠。
所以,我們覺得一個模型的抽象很重要。做好模型的抽象,需要能徹底理解業務場景,而不是盲目崇拜數學結果。
06
未來智能規劃調度會更注重聯動
Q6:你覺得未來順豐智能規劃調度會向什么方向優化與發展?怎么看待大模型對傳統求解方式帶來的影響與變化?
我覺得會更加注重聯動,智能規劃調度會向更加端到端、全鏈路的方式去發展。前面有個問題提到了,現在其實是大問題切割成小問題,小問題去求最優解再進行相互聯動。
未來,我們希望能夠讓這些小問題的模型之間也可以互相交流,大家共用一些參數特征同時做一些優化調整,去端到端統一解決整體問題,使得從全局角度看效率更高、成本更低、體驗更好。至于大語言模型,我們也研究過一些相關的資料來看結合的可能。例如,它可以作為一個“裁判”,來幫助我們確定運籌優化的模型計算結果的好壞,讓模型更高效地不斷向更好的方向迭代發展,這方面的探索提升空間還有很多。
本文來源于物流指聞,不代表九州物流網(http://www.ruyi818.com)觀點,如有侵權可聯系刪除,文章所用圖片來源于網絡,文章圖片如有侵權可聯系刪除。