亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于一個派單的算法問題請教

關于一個派單的算法問題請教

30秒到達戰場 2018-07-15 03:25:37
現在公司要做一個打車軟件,在用戶打車的時候,以用戶的所在地點為圓心,以10公里為半徑找出在10公里內距離和評分最優的司機來接單。請問大家有何想法呢?
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

你這個問題,本質上是個兩集合求距離關系的問題。因為評分數據相對是比較固定的。首先要解決的是任意兩個不同集合中元素之間距離的問題。 哈。 

一種簡單的方法是查表法。例如20km * 20km的區域,按照50m x 50m為網格,則有400x400的網格點(物理空間),不同網格點之間的路徑距離做表待查詢。實際上有些網格點可以優先剔除。

以上說的是,當明確A集合的一個元素位置和B集合的一個元素位置,求兩者之間距離的問題。

余下是確實誰與誰的關系。哈。說人話就是,究竟基于用戶計算出最優司機的列表還是基于司機計算出最可服務的用戶列表。

這個原則上哪個集合元素少,就用哪個集合作為主對象,例如用戶遠比司機上,則基于用戶,計算出針對每個用戶的最優司機列表。但實際設計需要根據數據和其他方面的問題綜合考慮。

不失一般性的給出一個算法思路。

以更大區域相對(50x50),構成一個司機子集。這些子集之間原則上是可以存在重復元素的(子集覆蓋的物理空間存在重疊)。然后以新用戶為主對象,在其落于子集中再做分析計算,確定基于用戶的最優司機列表。

上述設計,主要考慮,司機的信息相對已知,容易實現基于空間做預分類。哈。


查看完整回答
反對 回復 2018-07-15
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

這個問題好像聽說過,比如滴滴打車,用的是haskell?好像是這門語言。

它的后臺算法是把全國的地圖分成無數個六邊形,里面包含了精度、緯度等等很多信息,然后根據算法即時提取范圍內的司機。。。。。。然后。。。。。


查看完整回答
反對 回復 2018-07-15
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

有兩個關鍵指標,距離和評分,要實現匹配算法,你需要指定這兩個參數的權重,寫出一個公式根據這兩個參數得出一個匹配分數??梢院笈_實時的計算匹配數,你開始匹配的時候只管排序獲取就行了。也可以在分配的時候全部計算一遍,但這樣耗時太大,建議距離和評分變化之后立即計算評分。

查看完整回答
反對 回復 2018-07-15
  • 3 回答
  • 0 關注
  • 705 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號