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