一只菜鳥如何“打敗”了意大利科學(xué)家多里戈?
裴成是華中科技大學(xué)計算機系的一名碩士生,最近一直在忙著畢業(yè)論文,忙著簽offer。他也沒有想到,自己的一道算法,竟然在實踐中證實比1991年的意大利科學(xué)家丹齊格提出的“蟻群算法”效果還要好。
“剛開始我只是一只菜鳥,只知道大數(shù)據(jù)處理系統(tǒng)內(nèi)存怎么調(diào)優(yōu),資源怎么調(diào)度,但是不知道大數(shù)據(jù)還能這么玩。” 這是裴成在最近舉行的天池同城配送規(guī)劃算法大賽中作為冠軍隊的獲獎感言。
“蟻群算法”是算法是意大利科學(xué)家M.Dorigo(多里戈)在1991年發(fā)明的,2010年奧地利科學(xué)家G.Fuellerer將它應(yīng)用于車輛路徑問題。這一原理被用在物流配送規(guī)劃中,可以幫助同城配送更好地安排人力和線路,節(jié)省運送成本。
打個比方,螞蟻在覓食過程中,都會不斷產(chǎn)生分泌物,假設(shè)每只螞蟻的分泌物總量一定,那么路線越短的話分泌物濃度越大,會吸引更多的螞蟻也來走這條路線。通過模擬螞蟻覓食,反復(fù)迭代則可以找到最短的路線。
據(jù)說這是目前解決同城配送***的方法,但這個方法被裴成拋棄了。拋棄經(jīng)典,一方面來自于初生牛犢不怕虎的勇氣,另一方面主要來自于自己不斷嘗試的精神。
“參 加過幾次阿里云天池數(shù)據(jù)大賽,剛開始是推薦算法比賽,我網(wǎng)上一搜到處都是協(xié)同過濾,嘗試過,后來聽別人說用規(guī)則建立評分模型,我也嘗試過,看著大家都在建 立特征用邏輯回歸LR訓(xùn)練預(yù)測、群里天天談?wù)撝S機森林RF、大家都在鼓吹GBDT神奇,我都一一嘗試過。”裴成說他像神農(nóng)嘗百草一樣,把每一個大家認(rèn)為 好的方法都試過,***找到最適合問題的解決方案。
將“同城配送規(guī)劃”***轉(zhuǎn)化為“據(jù)點共享”問題,這樣可以減少路徑經(jīng)過據(jù)點的次數(shù),讓路徑每次經(jīng)過據(jù)點時能夠承擔(dān)更多的裝卸貨任務(wù),也才能可以讓成本更低。這便是裴成的邏輯。
打個比方,如果你是一名外賣送餐人員,客戶要求在15分鐘內(nèi)送達(dá),而發(fā)起此類需求的可能同時涉及5個外賣點、10個訂餐客戶,他們分別坐落在不同的街區(qū),如果你必須每經(jīng)過一個地方就停留一次,很有可能到達(dá)***幾名客戶的時候,時間已經(jīng)拖延很久了。
裴成據(jù)點共享的方法,相對于蟻群算法能更加容易避免陷入局部***的方法,也就是說,在某些據(jù)點上,你可以不用去,系統(tǒng)會從全局考慮并安排此時此刻更適合去送餐的人。
事實證明,裴成的結(jié)果確實要比原有的蟻群算法好。這個算法產(chǎn)品化之后,預(yù)計能夠6秒鐘處理500個訂單,能降低25%左右的配送成本,相比于目前阿里云交通和物流工作室現(xiàn)用蟻群算法模型提高了至少5個百分點。