偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

時(shí)效準(zhǔn)確率提升之承運(yùn)商路由網(wǎng)絡(luò)挖掘

網(wǎng)絡(luò) 通信技術(shù)
得物履約場(chǎng)景中,主要的階段包括倉(cāng)庫(kù)內(nèi)生產(chǎn)和第三方承運(yùn)商配送。在用戶支付時(shí),得物會(huì)根據(jù)倉(cāng)庫(kù)的生產(chǎn)情況和運(yùn)配資源,給用戶一個(gè)承諾時(shí)效。

1、引子

履約時(shí)長(zhǎng)是電商的生命線,直接關(guān)系到用戶的消費(fèi)體驗(yàn)。新華網(wǎng)[5]2022年雙十一的報(bào)告顯示,37.4%的受訪者希望次日達(dá),29.91%希望當(dāng)日達(dá)。相較于其他物品,受訪者對(duì)手機(jī)、電腦、數(shù)碼產(chǎn)品的物流時(shí)效要求更高,更希望當(dāng)日或1-2天內(nèi)能收到貨。

得物履約場(chǎng)景中,主要的階段包括倉(cāng)庫(kù)內(nèi)生產(chǎn)和第三方承運(yùn)商配送。在用戶支付時(shí),得物會(huì)根據(jù)倉(cāng)庫(kù)的生產(chǎn)情況和運(yùn)配資源,給用戶一個(gè)承諾時(shí)效。

1.1 為什么要預(yù)測(cè)承運(yùn)商的線路時(shí)效

在履約過(guò)程中,得物需要監(jiān)控訂單的流轉(zhuǎn),及時(shí)的發(fā)現(xiàn)可能超時(shí)的訂單(與和用戶承諾時(shí)效相比),這里包含倉(cāng)庫(kù)生產(chǎn)的監(jiān)控和三方配送的監(jiān)控。在實(shí)際過(guò)程中我們發(fā)現(xiàn):配送節(jié)點(diǎn)發(fā)生變更時(shí),承運(yùn)商給的預(yù)測(cè)偏保守的。下面例子中,到了營(yíng)業(yè)部承運(yùn)商才給到比較精準(zhǔn)的預(yù)計(jì)送達(dá)時(shí)間,故在分揀中心使用承運(yùn)商的預(yù)計(jì)送達(dá)時(shí)間容易出現(xiàn)誤報(bào)。


網(wǎng)點(diǎn)

離開(kāi)時(shí)間

承運(yùn)商預(yù)計(jì)送達(dá)

xxx網(wǎng)點(diǎn)

2022-12-02 07:05:47

2022-12-10 22:00:00

A集貨分揀中心

2022-12-02 14:09:19

2022-12-10 22:00:00

B集貨分揀中心

2022-12-04 07:42:03

2022-12-10 22:00:00

C散貨分揀中心

2022-12-05 04:58:28

2022-12-09 22:00:00

D營(yíng)業(yè)部

2022-12-05 08:47:58

2022-12-05 15:00:00

下圖是承運(yùn)商接口返回的預(yù)計(jì)送達(dá)時(shí)效的寬松指數(shù),可以看到在接近目的地時(shí),承諾時(shí)效才比較準(zhǔn)確。

圖片

2、承運(yùn)商網(wǎng)絡(luò)是如何運(yùn)作的

在構(gòu)建承運(yùn)商網(wǎng)絡(luò)之前,需要先了解承運(yùn)商網(wǎng)絡(luò)是如何工作的。下面是從A網(wǎng)點(diǎn)到E網(wǎng)點(diǎn)的配送示意圖,分為以下內(nèi)容:

(1)節(jié)點(diǎn),包含的攬收和派送網(wǎng)點(diǎn)以及分揀中心。

(2)線路,包括干線和支線。例如從網(wǎng)點(diǎn)到分揀中心屬于支線,從分揀中心到分揀中心屬于干線。

(3)班次:承運(yùn)商為了平衡成本和時(shí)效,會(huì)設(shè)置生產(chǎn)班次。到分揀中心之后,需要根據(jù)目的地進(jìn)行分揀,當(dāng)?shù)竭_(dá)一定量的貨物之后,會(huì)從分揀中心出發(fā),前往下一個(gè)節(jié)點(diǎn)。承運(yùn)商在設(shè)置班次的時(shí)候,會(huì)考慮單量,兼顧運(yùn)輸?shù)某杀疽约皶r(shí)效。

圖片

上圖中:以紫色為例,在A網(wǎng)點(diǎn),早上8點(diǎn)截單,即8點(diǎn)之前交接給承運(yùn)商的貨物,會(huì)在8點(diǎn)20左右完成封車,然后從網(wǎng)點(diǎn)出發(fā),前往B分揀中心,到達(dá)B分揀中心的時(shí)間是11點(diǎn)40,這個(gè)時(shí)候趕上了B分揀中心截單時(shí)間為12點(diǎn)的班次,B分揀中心會(huì)在12:30完成分揀并前往下一個(gè)分揀中心,以此類推完成整個(gè)配送過(guò)程。

在構(gòu)建承運(yùn)商的網(wǎng)絡(luò)時(shí),需要進(jìn)行建模。除了節(jié)點(diǎn)、線路和班次之外,核心還包括以下兩個(gè)模型:

(5)成品線,即從A網(wǎng)點(diǎn)到E網(wǎng)點(diǎn)經(jīng)過(guò)所有節(jié)點(diǎn)。上圖中:A網(wǎng)點(diǎn)-B分揀中心-C分揀中心-D分揀中心-E網(wǎng)點(diǎn)構(gòu)成了一條成品線。

(6)成品線波次:因?yàn)楣?jié)點(diǎn)存在波次,所以成品線也存在波次,實(shí)際上成品線波次和第一個(gè)節(jié)點(diǎn)的波次數(shù)一樣。

3、如何構(gòu)建承運(yùn)商網(wǎng)絡(luò)

在了解承運(yùn)商網(wǎng)絡(luò)如何工作后,需要著手構(gòu)建承運(yùn)商的網(wǎng)絡(luò)。承運(yùn)商會(huì)將軌跡信息推送到得物,內(nèi)容類似以下的文本。

[
{
"code":"180",
"desc":"快件到達(dá)【xxx營(yíng)業(yè)部】",
"location":{
"city":"xxx市",
"district":"xxx縣",
"point":{
"latitude":xxx,
"longitude":xxx
},
"province":"xxx"
},
"node":"已攬收",
"opeTitle":"站點(diǎn)裝箱",
"time":"2022-09-04 17:29:27"
},
{
"code":"xxx",
"desc":"收取快件",
"location":{
"city":"xxx",
"district":"xxx",
"point":{
"latitude":28.65,
"longitude":120.07
},
"province":"xx"
},
"node":"已攬收",
"opeTitle":"配送員完成攬收",
"time":"2022-09-04 17:29:27"
}
]

3.1 結(jié)構(gòu)化清洗

軌跡的文本,需要經(jīng)過(guò)結(jié)構(gòu)化的清洗之后,才能獲取軌跡的含義。對(duì)于每一個(gè)運(yùn)單,它的軌跡會(huì)經(jīng)過(guò)很多個(gè)節(jié)點(diǎn),而每個(gè)節(jié)點(diǎn)的數(shù)據(jù)類型如下:

1. waybill_no 表示運(yùn)單號(hào),同一個(gè)運(yùn)單號(hào)會(huì)有多條節(jié)點(diǎn)記錄
2. station_index 表示當(dāng)前這個(gè)節(jié)點(diǎn)的下標(biāo)
3. station_enum 表示這個(gè)節(jié)點(diǎn)的類型,是分揀中心還是攬派網(wǎng)點(diǎn)
4. station_name 表示節(jié)點(diǎn)的名稱,例如上面例子里的xxx營(yíng)業(yè)部
5. station_status 表示這個(gè)節(jié)點(diǎn)的狀態(tài),例如是進(jìn)入還是離開(kāi)
6. operate_time 表示當(dāng)前節(jié)點(diǎn)的操作時(shí)間

3.2 軌跡里面是否真的有班次信息

承運(yùn)商網(wǎng)絡(luò)工作原理提到了承運(yùn)商會(huì)按班次進(jìn)行生產(chǎn),從軌跡的結(jié)果里面是否能找到班次生產(chǎn)的證據(jù)呢。通過(guò)分析,我們猜想:相同流向(例如從A分揀中心開(kāi)往B分揀中心)離開(kāi)某個(gè)分揀中心(例如離開(kāi)A分揀中心)的時(shí)間應(yīng)該是相對(duì)集中的。

實(shí)時(shí)上通過(guò)一些簡(jiǎn)單的聚類方法,證實(shí)了我們的猜想。下面圖中,橫軸表示的是出分揀中心的小時(shí),每一個(gè)點(diǎn)表示歷史上的某一個(gè)運(yùn)單,縱軸沒(méi)有業(yè)務(wù)含義,只是為了方便顯示。

圖片

繪制上述圖時(shí)使用的是kmeans聚類算法,kmeans聚類算法需要指定聚類的個(gè)數(shù)。故需要使用Knee/Elbow這類的算法進(jìn)行聚類數(shù)檢測(cè),同時(shí)它對(duì)異常值敏感,故在實(shí)現(xiàn)時(shí)最終使用的DBSCAN。

圖片

3.3 聚類參數(shù)該如何選取

DBSCAN雖然不需要指定聚類的個(gè)數(shù),但是需要指定點(diǎn)之間的距離以及點(diǎn)的密度,通過(guò)反復(fù)調(diào)整,最終確定這兩個(gè)核心的參數(shù)如下:

clustering = DBSCAN(eps=0.25, min_samples=max(5, int(x.size * 0.02)), metric=metric).fit(x_after_reshape)

其中eps為0.25,即15分鐘。點(diǎn)密度為5和總數(shù)的2%的最大值。

3.4 如何解決跨天的問(wèn)題

從上面聚類圖看,同一個(gè)波次的點(diǎn)可能出現(xiàn)跨天的情況,即有些點(diǎn)出分撥中心的時(shí)間可能是23:50,有些分撥中心的點(diǎn)可能是00:10。這兩個(gè)點(diǎn)的歐式距離比較大,故需要重寫距離的metrics函數(shù)。

def metric(x, y):
ret = abs(x[0] - y[0])
if ret > 12:
ret = abs(24 - ret)
return ret

3.5 線路是如何串聯(lián)的

分析節(jié)點(diǎn)的生產(chǎn)班次和線路的班次是不夠的,還需要將它們進(jìn)行串聯(lián),得到成品線班次,這樣才能在售前或者售中進(jìn)行應(yīng)用。這里在處理的時(shí)候進(jìn)行了一些簡(jiǎn)化,一方面是分揀中心的分揀波次是沒(méi)有辦法識(shí)別到的,另外一方面其實(shí)可以不用關(guān)注分揀中心的分揀波次。

實(shí)際上,串聯(lián)成品線班次的過(guò)程是這樣的:

圖片

核心的代碼如下:

for (int i = 1; i < tmp.getResourceList().size(); ++i) {
List<NetworkResourceWaveDTO>
next = tmp.getResourceList().get(i)
.getWaveList();
next.sort(Comparator.comparing(NetworkResourceWaveDTO::getOffTime));
boolean match = false;
for (NetworkResourceWaveDTO nextWave : next) {
if (nextWave.getOffTime() > p.getEndTime()) {
match = true;
duration += nextWave.getDurationDay();
p = nextWave;
break;
}
}
if (!match) {
duration += next.get(0).getDurationDay() + 1;
p = next.get(0);
}
productLineWave.add(p);
}

3.6 四級(jí)地址與攬派網(wǎng)點(diǎn)的關(guān)系是如何建立的

從應(yīng)用的角度,輸入條件是買家的四級(jí)地址,但承運(yùn)商網(wǎng)絡(luò)的終點(diǎn)是派送站點(diǎn),故需要建立承運(yùn)商派送站點(diǎn)和四級(jí)地址的映射關(guān)系。映射關(guān)系的建立比較簡(jiǎn)單,取過(guò)去一段時(shí)間負(fù)責(zé)派送該四級(jí)地址的站點(diǎn)中,派送該地址單量最多的那個(gè)。

4、工程落地的挑戰(zhàn)

Part 3更像是一個(gè)理論家的滔滔不絕,那如何在工程上進(jìn)行落地呢?這里面包含了ODPS SQL的開(kāi)發(fā)、UDF的開(kāi)發(fā)以及DDD,總之需要十八般武藝。

4.1 如何在ODPS進(jìn)行簡(jiǎn)單的機(jī)器學(xué)習(xí)

在班次分析的過(guò)程中,使用到DBSCAN的聚類算法。如果在odps上使用這些算法呢?實(shí)際上python里面已經(jīng)實(shí)現(xiàn)了DBSCAN算法,而odps支持使用python編寫UDF。只是目前odps的運(yùn)行環(huán)境并沒(méi)有安裝DBSCAN相關(guān)的包,故需要手動(dòng)進(jìn)行安裝,安裝的教程可以參考阿里云的官方文檔

圖片

4.2 在線服務(wù)化的問(wèn)題

上述清洗過(guò)程需要每天或者至少一周運(yùn)行一次,選取過(guò)去一個(gè)時(shí)間窗口的數(shù)據(jù)進(jìn)行訓(xùn)練,得到承運(yùn)商的網(wǎng)絡(luò),這樣才能及時(shí)的感知承運(yùn)商網(wǎng)絡(luò)的變化。這意味著會(huì)定時(shí)的更新成品線、成品線波次以及節(jié)點(diǎn)波次的信息,在在線服務(wù)化的過(guò)程中,我們是直接將數(shù)據(jù)這些數(shù)據(jù)存放在redis里面。為了不占用太多的內(nèi)存,通過(guò)使用hash數(shù)據(jù)結(jié)構(gòu)對(duì)內(nèi)存進(jìn)行了一些優(yōu)化,當(dāng)然hash的一個(gè)缺點(diǎn)是無(wú)法為field設(shè)置超時(shí)時(shí)間,這意味著某個(gè)key的某個(gè)field數(shù)據(jù)實(shí)際已經(jīng)是過(guò)期數(shù)據(jù)了,但是它不會(huì)被刪除,進(jìn)而造成泄漏,但這種泄漏可以通過(guò)其他技術(shù)手段解決。

5、進(jìn)展與規(guī)劃

目前我們已經(jīng)構(gòu)建了第三方承運(yùn)商網(wǎng)絡(luò),首網(wǎng)點(diǎn)預(yù)測(cè)的準(zhǔn)確率在65%左右,末分揀預(yù)測(cè)的準(zhǔn)確率在85%左右。未來(lái)持續(xù)優(yōu)化點(diǎn)包括:班次聚合(對(duì)于一些數(shù)據(jù)比較稀疏線路,需要做班次的聚合)、時(shí)間衰減(清洗數(shù)據(jù)需要選取過(guò)去一段時(shí)間的數(shù)據(jù),對(duì)于太久遠(yuǎn)的數(shù)據(jù),應(yīng)該進(jìn)行衰減,使得它在結(jié)果中的貢獻(xiàn)小一些)等,相信準(zhǔn)確率能有進(jìn)一步提升。

圖片

圖片

6、參考文獻(xiàn)

[1]. Knee/Elbow Point Detection

[2]. arvkevi/kneed

[3].https://datascience.stackexchange.com/questions/46106/kmeans-vs-dbscan

[4]. https://redis.io/docs/management/optimization/memory-optimization/

[5]. 用戶調(diào)研:今年11.11消費(fèi)者最關(guān)注“確定性” 京東是八成用戶首選-新華每日電訊

責(zé)任編輯:武曉燕 來(lái)源: 得物技術(shù)
相關(guān)推薦

2022-04-13 10:31:04

微軟Jigsaw大型語(yǔ)言模型

2022-09-25 17:07:27

訓(xùn)練圖像

2020-04-26 15:35:49

神經(jīng)網(wǎng)絡(luò)決策樹(shù)ImageNet

2021-05-23 09:51:29

代碼開(kāi)發(fā)Facebook

2023-10-14 17:24:49

2024-06-06 10:08:32

2022-02-17 10:34:21

神經(jīng)網(wǎng)絡(luò)識(shí)別驗(yàn)證碼

2021-10-11 17:27:50

框架計(jì)算機(jī)開(kāi)發(fā)

2018-06-08 15:51:56

CNN皮膚癌人工智能

2019-01-29 10:27:27

量子計(jì)算機(jī)芯片超算

2018-11-14 10:01:30

谷歌開(kāi)源機(jī)器學(xué)習(xí)

2020-10-18 12:27:35

人工智能人臉識(shí)別技術(shù)

2024-03-01 13:31:21

2025-04-08 09:00:00

AI模型數(shù)據(jù)

2024-09-12 13:50:00

模型訓(xùn)練

2020-10-09 08:31:00

AI

2011-05-23 09:21:42

2023-10-26 08:40:15

模型隱私推理

2024-11-21 10:21:06

2024-12-26 15:30:00

模型深度學(xué)習(xí)AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)