本申請涉及互聯(lián)網(wǎng)的技術(shù)領(lǐng)域,特別是涉及一種求解購物訂單配送方案的方法、裝置及商家配送系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)購物已成為一種重要的購物方式。通常,用戶網(wǎng)絡(luò)購物的流程如下:首先通過互聯(lián)網(wǎng)登陸一網(wǎng)絡(luò)購物平臺(比如淘寶和天貓等);然后在該購物平臺中檢索需購買的商品,加入至購物車;最后結(jié)算購物車商品,購物平臺生成購物訂單,展示至用戶;而商家將配送商品至用戶預留地址。
通常,用戶購物訂單包括多類商品,而每類商品的存儲倉庫又有多個,那么一購物訂單存在多種配送方案。如圖1所示,比如一購物訂單包括商品a、商品b以及商品c,而商品a的存儲倉庫為{1,3},商品b的存儲倉庫為{2,4},商品c的存儲倉庫為{2,3,4},那么該購物訂單的配送方案可為將商品c與商品a打包成一包裹,從倉庫2發(fā)貨,商品b單獨打包成一包裹,從倉庫1發(fā)貨;也可為將商品c與商品b打包成一包裹,從倉庫3發(fā)貨,商品a單獨打包成一包裹,從倉庫2發(fā)貨;亦可為將商品a單獨打包成一包裹從倉庫1發(fā)貨,商品b單獨打包成一包裹從倉庫2發(fā)貨,商品c單獨打包成一包裹從倉庫3發(fā)貨。
在實際應用中,由于商家有從一購物訂單的全部配送方案中選擇一最優(yōu)配送方案,為用戶配送的需求,而獲取最優(yōu)配送方案的基礎(chǔ)又為:獲得一購物訂單的全部配送方案,因此,在現(xiàn)有技術(shù)中,亟需一種求解購物訂單配送方案的方法、裝置及商家配送系統(tǒng),以獲得一購物訂單的全部配送方案。
申請內(nèi)容
本申請實施例中提供了一種求解購物訂單配送方案的方法、裝置及商家配送系統(tǒng),以求解一購物訂單的全部配送方案。
為了解決上述技術(shù)問題,本申請實施例公開了如下技術(shù)方案:
第一方面,本申請?zhí)峁┝艘环N求解購物訂單配送方案的方法,包括:
步驟1-a:根據(jù)用戶的購物訂單,建立一配送方案,所述配送方案包括包裹數(shù)據(jù)包以及包裹數(shù)據(jù)包的配送倉庫,所述包裹數(shù)據(jù)包內(nèi)至少有一個商品節(jié)點,且所述商品節(jié)點 所表示的商品可打包成一包裹,從同一配送倉庫發(fā)貨;
步驟1-b:判斷當前配送方案中,是否存在回溯商品節(jié)點;
步驟1-c:如果步驟1-b確定存在回溯商品節(jié)點,則在當前配送方案的基礎(chǔ)上,以所述回溯商品節(jié)點為起始節(jié)點,重新建立一配送方案,返回循環(huán)執(zhí)行步驟1-a;
步驟1-d:如果步驟1-b確定不存在回溯商品節(jié)點,則結(jié)束處理,并由此獲得所述購物訂單的全部配送方案。
可選的,所述步驟1-a包括:
步驟2-a:根據(jù)用戶的購物訂單,建立一待選商品節(jié)點集合;
步驟2-b:在所述待選商品節(jié)點集合中,確定一商品節(jié)點為起始節(jié)點;
步驟2-c:為所述起始節(jié)點生成一新的包裹數(shù)據(jù)包,且設(shè)置所述包裹數(shù)據(jù)包的配送倉庫為所述起始節(jié)點的存儲倉庫,以及,在所述待選商品節(jié)點集合中去除起始節(jié)點;
步驟2-d:判斷所述待選商品節(jié)點集合中,是否存在滿足加入條件的商品節(jié)點;
步驟2-e:如果存在滿足加入條件的商品節(jié)點,將所述商品節(jié)點加入至包裹數(shù)據(jù)包,且更新所述包裹數(shù)據(jù)包的配送倉庫為所述包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,以及,在所述待選商品集合中去除加入至包裹數(shù)據(jù)包的商品節(jié)點,返回循環(huán)執(zhí)行步驟2-d;
步驟2-f:如果不存在滿足加入條件的商品節(jié)點,判斷所述待選商品集合中是否存在商品節(jié)點;
步驟2-g:如果所述待選商品集合中存在商品節(jié)點,返回循環(huán)執(zhí)行步驟2-b;
步驟2-h:如果所述待選商品集合中不存在商品節(jié)點,確定當前配送方案建立完成,保存當前配送方案,并重新以當前配送方案為基礎(chǔ)返回執(zhí)行步驟1-b;
其中,所述加入條件至少包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集。
可選的,所述加入條件至少還包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集。
可選的,所述步驟2-d包括:
步驟2-d-a:判斷所述待選商品節(jié)點集合中,是否存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集的商品節(jié)點;
步驟2-d-b:如果確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,且所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集,則確認存在滿足加入條件的商品節(jié)點,執(zhí)行步驟2-e;
步驟2-d-c:如果確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,但所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫不存在交集,則將所確認的商品節(jié)點設(shè)置為起始節(jié)點,返回執(zhí)行步驟2-c;
步驟2-d-d:如果不存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,則確認不存在滿足加入條件的商品節(jié)點,執(zhí)行步驟2-f。
可選的,所述步驟1-b包括:
步驟1-b-a:判斷當前配送方案中,最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量是否大于1;
步驟1-b-b:如果最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量大于1,則確定當前配送方案中存在回溯商品節(jié)點,且確定所述包裹數(shù)據(jù)包中的倒數(shù)第二個加入的商品節(jié)點為回溯商品節(jié)點,并在當前配送方案中去除所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點,且將去除的商品節(jié)點重新加入至所述待選商品節(jié)點集合內(nèi),執(zhí)行步驟1-c;
步驟1-b-c:如果最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量不大于1,則判斷當前配送方案中的包裹數(shù)據(jù)包的總數(shù)是否大于1;
步驟1-b-d:如果當前配送方案中的包裹數(shù)據(jù)包的總數(shù)大于1,則在當前配送方案中去除最后一個生成的包裹數(shù)據(jù)包,且將去除的包裹數(shù)據(jù)包中的所有商品節(jié)點都重新加入至所述待選商品節(jié)點集合內(nèi),并將倒數(shù)第二個生成的包裹數(shù)據(jù)包視為最后一個生成的包裹數(shù)據(jù)包,返回執(zhí)行步驟1-b-a;
步驟1-b-e:如果當前配送方案中的包裹數(shù)據(jù)包的總數(shù)不大于1,則確定當前配送方案中,不存在回溯商品節(jié)點,執(zhí)行步驟1-d。
可選的,所述步驟1-c包括:
將去除了所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點的配送方案作為重新建立的配送方案;
在所述重新建立的配送方案中,設(shè)置回溯商品節(jié)點所在的包裹數(shù)據(jù)包為當前包裹數(shù)據(jù)包,設(shè)置回溯商品節(jié)點為當前商品節(jié)點,設(shè)置當前包裹數(shù)據(jù)包的配送倉庫為當前包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,將所述加入條件設(shè)置為:商品節(jié)點的存儲倉庫與當前包裹數(shù)據(jù)包的配送倉庫存在交集、商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且所述商品節(jié)點從未加入過當前包裹數(shù)據(jù)包, 并返回執(zhí)行步驟2-d。
可選的,所述步驟2-b包括:
將所述待選商品節(jié)點集合中存儲倉庫最多的商品節(jié)點確定為起始節(jié)點。
可選的,所述方法還包括:
步驟1-e:判斷所建立的多個配送方案中,是否存在重復的配送方案;
步驟1-f:如果存在,在重復的配送方案中,保留一個配送方案并刪除其它配送方案。
第二方面,本申請還提供了一種求解購物訂單配送方案的裝置,包括:
配送方案建立模塊,用于根據(jù)用戶的購物訂單,建立一配送方案,所述配送方案包括包裹數(shù)據(jù)包以及包裹數(shù)據(jù)包的配送倉庫,所述包裹數(shù)據(jù)包內(nèi)至少有一個商品節(jié)點,且所述商品節(jié)點所表示的商品可打包成一包裹,從同一配送倉庫發(fā)貨;
回溯商品節(jié)點判斷模塊,用于判斷當前配送方案中,是否存在回溯商品節(jié)點;
重建配送方案模塊,用于在當前配送方案中存在回溯商品節(jié)點時,以所述回溯商品節(jié)點為起始節(jié)點,重新建立一配送方案。
可選的,所述配送方案建立模塊包括:
建立待選商品節(jié)點集合單元,用于根據(jù)用戶的購物訂單,建立一待選商品節(jié)點集合;
起始節(jié)點確定單元,用于在所述待選商品節(jié)點集合中,確定一商品節(jié)點為起始節(jié)點;
第一設(shè)置單元,用于為所述起始節(jié)點生成一新的包裹數(shù)據(jù)包,且設(shè)置所述包裹數(shù)據(jù)包的配送倉庫為所述起始節(jié)點的存儲倉庫,以及,在所述待選商品節(jié)點集合中去除起始節(jié)點;
第一判斷單元,用于判斷所述待選商品節(jié)點集合中,是否存在滿足加入條件的商品節(jié)點;其中,所述加入條件至少包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集;
第一處理單元,用于當存在滿足加入條件的商品節(jié)點時,將所述商品節(jié)點加入至包裹數(shù)據(jù)包,且更新所述包裹數(shù)據(jù)包的配送倉庫為所述包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,以及,在所述待選商品集合中去除加入至包裹數(shù)據(jù)包的商品節(jié)點;
第二判斷單元,用于當不存在滿足加入條件的商品節(jié)點時,判斷所述待選商品集合中是否存在商品節(jié)點;
保存單元,用于當所述待選商品集合中不存在商品節(jié)點,確定當前配送方案建立完 成,保存當前配送方案。
可選的,所述加入條件至少還包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集。
可選的,所述第一判斷單元包括:
第一判斷子單元,用于判斷所述待選商品節(jié)點集合中,是否存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集的商品節(jié)點;
第一確認子單元,用于當確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,且所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集時,確認存在滿足加入條件的商品節(jié)點;
設(shè)置子單元,用于當確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,但所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫不存在交集時,將所確認的商品節(jié)點設(shè)置為起始節(jié)點;
第二確認子單元,用于當不存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點時,確認不存在滿足加入條件的商品節(jié)點。
可選的,所述回溯商品節(jié)點判斷模塊包括:
第三判斷單元,用于判斷當前配送方案中,最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量是否大于1;
第二處理單元,用于當最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量大于1時,確定當前配送方案中存在回溯商品節(jié)點,且確定所述包裹數(shù)據(jù)包中的倒數(shù)第二個加入的商品節(jié)點為回溯商品節(jié)點,并在當前配送方案中去除所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點,且將去除的商品節(jié)點重新加入至所述待選商品節(jié)點集合內(nèi);
第四判斷單元,用于當最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量不大于1時,判斷當前配送方案中的包裹數(shù)據(jù)包的總數(shù)是否大于1;
第三處理單元,用于在當前配送方案中的包裹數(shù)據(jù)包的總數(shù)大于1時,在當前配送方案中去除最后一個生成的包裹數(shù)據(jù)包,且將去除的包裹數(shù)據(jù)包中的所有商品節(jié)點都重新加入至所述待選商品節(jié)點集合內(nèi),并將倒數(shù)第二個生成的包裹數(shù)據(jù)包視為最后一個生成的包裹數(shù)據(jù)包;
確認單元,用于在當前配送方案中的包裹數(shù)據(jù)包的總數(shù)不大于1時,確定當前配送方案中,不存在回溯商品節(jié)點。
可選的,所述重建配送方案模塊包括:
重建單元,用于將去除了所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點的配送方案作為重新建立的配送方案;
第四處理單元,用于在所述重新建立的配送方案中,設(shè)置回溯商品節(jié)點所在的包裹數(shù)據(jù)包為當前包裹數(shù)據(jù)包,設(shè)置回溯商品節(jié)點為當前商品節(jié)點,設(shè)置當前包裹數(shù)據(jù)包的配送倉庫為當前包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,將所述加入條件設(shè)置為:商品節(jié)點的存儲倉庫與當前包裹數(shù)據(jù)包的配送倉庫存在交集、商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且所述商品節(jié)點從未加入過當前包裹數(shù)據(jù)包。
可選的,所述起始節(jié)點確定單元包括:
起始節(jié)點確定子單元,用于將所述待選商品節(jié)點集合中存儲倉庫最多的商品節(jié)點確定為起始節(jié)點。
可選的,所述裝置還包括:
重復配送方案判斷模塊,用于判斷所建立的多個配送方案中,是否存在重復的配送方案;
刪除模塊,用于在重復的配送方案中,保留一個配送方案并刪除其它配送方案。
第三方面,本申請還提供一種商家配送系統(tǒng),包括:
商家客戶端,用于接收用戶的購物訂單;
企業(yè)發(fā)貨平臺,用于根據(jù)所述購物訂單,調(diào)用求解購物訂單配送方案的裝置,以執(zhí)行發(fā)貨服務;
求解購物訂單配送方案的裝置,用于根據(jù)存儲倉庫列表,計算所述購物訂單的全部配送方案。
可選的,所述裝置還包括:
動態(tài)承諾服務中心,用于查詢出所述購物訂單中所有商品的存儲倉庫列表,并發(fā)送給所述求解購物訂單配送方案的裝置。
可選的,所述求解購物訂單配送方案的裝置,還用于從所計算出的全部配送方案中決策出最優(yōu)配送方案,并返回所述最優(yōu)配送方案至所述企業(yè)發(fā)貨平臺和商家客戶端。
由上可見,在本申請實施例中,首先根據(jù)用戶購物訂單,建立一配送方案;再然后,判斷當前所建立的配送方案中,是否存在回溯商品節(jié)點;如果存在,說明購物訂單,仍可生成配送方案,在當前配送方案的基礎(chǔ)上,以回溯節(jié)點為起始節(jié)點,重新建立一配送 方案,然后再執(zhí)行,判斷當前建立的配送方案中是否存在回溯節(jié)點這一步驟,直至當前配送方案中,不存在回溯節(jié)點為止,此時說明已經(jīng)生成購物訂單的所有配送方案。因此,采用本申請實施例所公開的方法,可獲得購物訂單的全部配送方案。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請實施例所提供的購物訂單配送方案的一示意圖;
圖2為本申請實施例所提供的求解購物訂單配送方案的一流程圖;
圖3為本申請實施例所提供的求解購物訂單配送方案的另一流程圖;
圖4為本申請實施例所提供的求解購物訂單配送方案的又一流程圖;
圖5為本申請實施例所提供的求解購物訂單配送方案的另一流程圖;
圖6為本申請實施例所提供的商家配送系統(tǒng)的交互流程圖;
圖7為本申請實施例所提供的購物訂單配送方案的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
本申請公開了一種求解購物訂單配送方案的方法,所述方法包括:
1、根據(jù)購物訂單,新建一配送方案,關(guān)于如何新建配送方案,具體如下:
1—a:根據(jù)購物訂單,建立一待選商品集合;
比如:購物訂單中有五個商品,分別為a、b、c、d、e,那么新建的待選商品集合可為{a、b、c、d、e};
1—b:從待選商品集合中查找存儲倉庫最多的商品,為該商品分配一包裹數(shù)據(jù)包,且確定該包裹的配送倉庫為該商品的存儲倉庫,以及,在待選商品集合中刪除當前商品;
仍沿用上述舉例,假設(shè)商品a的存儲倉庫為{1,3,6},商品b的存儲倉庫為{2,3, 5},商品c的存儲倉庫為{1,3,4},商品d的存儲倉庫為{2,3,6},商品e的存儲倉庫為{2,4,5,6}。由于商品a、b、c、d的存儲倉庫均為3個,商品e的存儲倉庫為4個,可見商品e的存儲倉庫最多,因此為商品e分配一包裹數(shù)據(jù)包,且確定該包裹數(shù)據(jù)包的配送倉庫為商品e的存儲倉庫{2,4,5,6};以及,在待選商品集合{a、b、c、d、e}中刪除當前商品e,那么待選商品集合變?yōu)閧a、b、c、d}。
1—c:判斷待選商品集合中,是否存在滿足當前包裹數(shù)據(jù)包加入條件的商品,所述加入條件至少包括存儲倉庫與當前包裹數(shù)據(jù)包的配送倉庫存在交集;
通過上述舉例,可得知,商品a的存儲倉庫為{1,3,6},商品b的存儲倉庫為{2,3,5},商品c的存儲倉庫為{1,3,4},商品d的存儲倉庫為{2,3,6},與當前包裹的配送倉庫{2,4,5,6}均存在交集,因此可確定商品a、b、c、d均滿足當前包裹的加入條件。
1—d:如果存在,從滿足條件的商品中,選擇一商品,加入至當前包裹數(shù)據(jù)包,且更新該包裹數(shù)據(jù)包的配送倉庫為當前包裹數(shù)據(jù)包內(nèi)所有已加入商品存儲倉庫的交集,以及,在待選商品集合中刪除加入至包裹數(shù)據(jù)包的商品,返回繼續(xù)執(zhí)行步驟1—c。
1—e:如果不存在,判斷待選商品集合中是否存在商品;如果存在,返回執(zhí)行步驟1—b;如果不存在,確定當前配送方案建立完成,執(zhí)行步驟2:判斷當前配送方案中,是否存在回溯商品節(jié)點。
仍沿用上述舉例,通過上述論述,可知商品a、b、c、d均滿足當前包裹數(shù)據(jù)包的加入條件。此時可從待選商品集合{a、b、c、d}中依次選擇一商品加入至當前包裹數(shù)據(jù)包(比如選擇商品a),那么當前包裹數(shù)據(jù)包變?yōu)閧e,a},且將該包裹數(shù)據(jù)包的配送倉庫更新為商品a與商品e存儲倉庫的交集{6},以及,在待選商品集合{a、b、c、d}中,刪除加入至包裹的商品a,此時,待選商品集合變?yōu)閧b、c、d};
返回執(zhí)行步驟1—c,在待選商品集合{b、c、d}中,選擇一個滿足當前包裹數(shù)據(jù)包{e,a}加入條件的商品,可以發(fā)現(xiàn),商品b、c、d均不滿足加入條件;執(zhí)行步驟1—d,由于待選商品集合{b、c、d}中存在商品,返回執(zhí)行步驟1—b,由于待選商品集合中的三個商品b、c、d的存儲倉庫數(shù)量相同,此時可從三個商品中,按順序選擇一商品(比如選擇商品b),且為商品b分配一包裹數(shù)據(jù)包,將該包裹數(shù)據(jù)包的配送倉庫更新為商品b的存儲倉庫{2,3,5};此時再執(zhí)行步驟1—c,依次循環(huán),直至待選商品集合中不存在商品為止,此時建立的配送方案為【{e,a},{b,c,d}】,且包裹{e,a}的配送倉庫為6,包裹{b,c,d}的配送倉庫為3。
2、判斷當前配送方案中,是否存在回溯商品節(jié)點,且如果存在回溯商品節(jié)點,繼續(xù)執(zhí)行3,否則,確定已生成當前購物訂單的全部配送方案;關(guān)于如何判斷當前配送方 案中,是否存在回溯商品節(jié)點,具體如下;
2—a:判斷當前配送方案中,是否存在商品個數(shù)大于1的包裹數(shù)據(jù)包,如果存在,確定當前配送方案可回溯,且確定商品個數(shù)大于1的包裹數(shù)據(jù)包中的倒數(shù)第二個商品為回溯商品節(jié)點;否則,確定當前配送方案不存在回溯商品節(jié)點;
在實際應用中,一般是從當前配送方案中,倒序查找商品個數(shù)大于1的包裹數(shù)據(jù)包,即首先判斷當前配送方案中倒數(shù)第一個包裹數(shù)據(jù)包的商品個數(shù)是否大于1,如果大于1,確定倒數(shù)第一個包裹數(shù)據(jù)包中的倒數(shù)第二個商品節(jié)點為回溯節(jié)點,否則,查找當前配送方案中的倒數(shù)第二個包裹數(shù)據(jù)包的商品個數(shù)是否大于1,依次循環(huán),直至判斷至當前配送方案中的第一個包裹數(shù)據(jù)包為止。
仍沿用上述舉例,當前配送方案為【{e,a},{b,c,d}】;可首先判斷{b,c,d}這個包裹數(shù)據(jù)包中的商品個數(shù)是否大于1,顯然大于1,確定當前包裹數(shù)據(jù)包的倒數(shù)第二個商品節(jié)點c為回溯商品節(jié)點。
3、在當前配送方案的基礎(chǔ)上,以回溯商品節(jié)點為起始節(jié)點,利用待選商品集合,重新建立一新配送方案,具體如下:
3—a:刪除目標包裹數(shù)據(jù)包中的倒數(shù)第一個商品節(jié)點,以及,刪除當前配送方案中,生成時間早于所述目標包裹數(shù)據(jù)包的包裹數(shù)據(jù)包;且將刪除的商品節(jié)點以及刪除的包裹數(shù)據(jù)包內(nèi)的商品節(jié)點,加入至待選商品集合;其中,所述目標包裹數(shù)據(jù)包為所述回溯商品節(jié)點所在包裹數(shù)據(jù)包。
在本申請實施例中,仍沿用上述舉例,可確定回溯商品節(jié)點所在包裹數(shù)據(jù)包,即目標包裹數(shù)據(jù)包為{b,c,d};此時,刪除{b,c,d}中倒數(shù)第一個商品節(jié)點,即d,此時目標數(shù)據(jù)包為{b,c}。同時,由于在當前配送方案中,目標包裹數(shù)據(jù)包的生成時間最晚,因此在當前配送方案中,不存在生成時間早于目標包裹數(shù)據(jù)包的包裹數(shù)據(jù)包,因此,在當前配送方案中,無需刪除包裹數(shù)據(jù)包。在本申請實施例中,經(jīng)過上述處理,當前配送方案變?yōu)椤緖e,a},{b,c}】,待選商品集合變?yōu)椤綿】
3—b:設(shè)置當前商品為回溯商品節(jié)點對應的商品,當前包裹為回溯節(jié)點所在的包裹,返回執(zhí)行步驟1—c;
仍沿用上述舉例,設(shè)置當前商品為回溯節(jié)點c對應的商品c,當前包裹數(shù)據(jù)包為回溯節(jié)點所在的包裹數(shù)據(jù)包{b,c}。
3—c:更新當前包裹數(shù)據(jù)包的配送倉庫,以及,將設(shè)置當前包裹數(shù)據(jù)包的加入條件設(shè)置為:商品的存儲倉庫與包裹數(shù)據(jù)包的配送倉庫存在交集,以及所述商品從未加入過 當前包裹數(shù)據(jù)包,返回執(zhí)行步驟1—c。
在本申請實施例中,由于當前包裹數(shù)據(jù)包由{b,c,d}變?yōu)閧b,c},因此,此時需將當前包裹數(shù)據(jù)包的配送倉庫更新為商品b與商品c存儲倉庫的交集{3}。返回執(zhí)行步驟1—c,發(fā)現(xiàn)待選商品集合中的商品d的存儲倉庫,與當前包裹數(shù)據(jù)包的配送倉庫存在交集,但因該商品已加入過當前包裹,因此不滿足加入條件,此時執(zhí)行步驟1—b,為商品d重新分配一包裹,且設(shè)置該包裹的配送倉庫為商品d的存儲倉庫{2,3,6};可發(fā)現(xiàn)將商品d加入至當前包裹后,待選商品集合中并不存在商品了,此時又生成一種配送方案,該配送方案為【{e,a},{b,c},dn8uhelbkzum】;
此時在當前配送方案【{e,a},{b,c},dn8uhelbkzum】的基礎(chǔ)上,執(zhí)行步驟2,可發(fā)現(xiàn)當前配送方案中的回溯商品節(jié)點為b,執(zhí)行步驟3又可生成一種新的配送方案。
迭代執(zhí)行上述步驟,由此可得到全部的配送方案,分別為:【{e,a},{b,c,d}】,包裹{e,a}的配送倉庫為6,包裹{b,c,d}的配送倉庫為3;【{e,a},{b,c},dn8uhelbkzum】,包裹{e,a}的配送倉庫為{6},包裹{b,c}的配送倉庫為{3},包裹d的配送倉庫為{2,3,6};【{e,a},,{c,d}】,包裹{e,a}的配送倉庫為{6},包裹的配送倉庫為{2,3,5},包裹{c,d}的配送倉庫為{3};【{e,a},,{c,},dn8uhelbkzum】,包裹{e,a}的配送倉庫為{6},包裹的配送倉庫為{2,3,5},包裹{c}的配送倉庫為{2,3,5},包裹dn8uhelbkzum的配送倉庫為{2,3,6};【{e},{a},,{c,},dn8uhelbkzum】,包裹{a}的配送倉庫為{1,3,6},包裹的配送倉庫為{2,3,5},包裹{c}的配送倉庫為{2,3,5},包裹dn8uhelbkzum的配送倉庫為{2,3,6},包裹{e}的配送倉庫為{2,4,5,6}。
由上可見,采用本申請所公開的方法,可獲得一購物訂單的全部配送方案。
本申請還公開了一種求解購物訂單配送方案的方法,如圖2所示,所述方法至少包括以下步驟:
步驟s21:根據(jù)用戶的購物訂單,建立一配送方案,所述配送方案包括包裹數(shù)據(jù)包以及包裹數(shù)據(jù)包的配送倉庫,所述包裹數(shù)據(jù)包內(nèi)至少有一個商品節(jié)點,且所述商品節(jié)點所表示的商品可打包成一包裹,從同一配送倉庫發(fā)貨;
在本申請實施例中,可首先獲取購物訂單中的商品;然后通過商品與存儲倉庫對應表,查找每類商品的存儲倉庫;然后,根據(jù)每類商品的儲存?zhèn)}庫,建立配送方案。
步驟s22:判斷當前配送方案中,是否存在回溯商品節(jié)點;如果存在,執(zhí)行步驟s23;否則,結(jié)束流程,并由此獲得購物訂單的全部配送方案。
步驟s23:在當前配送方案的基礎(chǔ)上,以回溯商品節(jié)點為起始節(jié)點,重新建立一配 送方案。
由上可見,在本申請實施例中,首先根據(jù)用戶購物訂單,建立一配送方案;再然后,判斷當前所建立的配送方案中,是否存在回溯商品節(jié)點;如果存在,說明購物訂單,仍可生成配送方案,在當前配送方案的基礎(chǔ)上,以回溯節(jié)點為起始節(jié)點,重新建立一配送方案,然后再執(zhí)行,判斷當前建立的配送方案中是否存在回溯節(jié)點這一步驟,直至當前配送方案中,不存在回溯商品節(jié)點為止,此時說明已經(jīng)生成購物訂單的所有配送方案。因此,采用本申請實施例所公開的方法,可獲得購物訂單的全部配送方案。
在本申請的另一可行實施例中,如圖3所示,上述所有實施例中的步驟s21可具體采用以下方法實現(xiàn),具體如下:
步驟s31:根據(jù)用戶的購物訂單,建立一待選商品節(jié)點集合;
在本申請實施例中,比如購物訂單中包括五類商品,分別為商品a、b、c、d、e,那么所建立的待選商品節(jié)點集合可具體包括五個商品節(jié)點,分別為商品節(jié)點a、b、c、d、e。
步驟s32:在所述待選商品節(jié)點集合中,確定一商品節(jié)點為起始節(jié)點;
在本申請實施例中,可確定待選商品節(jié)點集合中的任一商品節(jié)點為起始節(jié)點,在一較佳實施例中,可確定存儲倉庫數(shù)目最多商品所對應的節(jié)點為起始節(jié)點。而采用存儲倉庫數(shù)目最多商品所對應的節(jié)點為起始節(jié)點,可提高建立配送方案的效率。
步驟s33:為所述起始節(jié)點生成一新的包裹數(shù)據(jù)包,且設(shè)置所述包裹數(shù)據(jù)包的配送倉庫為所述起始節(jié)點的存儲倉庫,以及,在所述待選商品節(jié)點集合中去除起始節(jié)點;
步驟s34:判斷所述待選商品節(jié)點集合中,是否存在滿足加入條件的商品節(jié)點;如果存在,執(zhí)行步驟s35;如果不存在,執(zhí)行步驟s36;
其中,所述加入條件至少包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集。
步驟s35:將所述商品節(jié)點加入至包裹數(shù)據(jù)包,且更新所述包裹數(shù)據(jù)包的配送倉庫為所述包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,以及,在所述待選商品集合中去除加入至包裹數(shù)據(jù)包的商品節(jié)點,返回循環(huán)執(zhí)行步驟s34;
步驟s36:如果不存在滿足加入條件的商品節(jié)點,判斷所述待選商品集合中是否存在商品節(jié)點;如果是,返回循環(huán)執(zhí)行步驟步s32;如果否,執(zhí)行步驟s37;
步驟s37:確定當前配送方案建立完成,保存當前配送方案。
由上可見,在本申請實施例中,可根據(jù)購物訂單,建立一配送方案。
在本申請的另一可行實施例中,上述所有實施例中的加入條件至少還包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集;如圖4所示,上述所有實施例中的步驟s34還可包括:
步驟s341:判斷所述待選商品節(jié)點集合中,是否存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點;如果存在,執(zhí)行步驟s342;否則,確認不存在滿足加入條件的商品節(jié)點,執(zhí)行步驟s36;
步驟s342:判斷所述商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫是否存在交集;如果存在,確認存在滿足加入條件的商品節(jié)點,執(zhí)行步驟s35;否則,執(zhí)行步驟s343;
步驟s343:確定存儲倉庫與包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點為起始節(jié)點,執(zhí)行步驟s33;
在本申請實施例中,當存在與當前商品的存儲倉庫存在交集,但與當前包裹數(shù)據(jù)包的配送倉庫不存在交集的商品節(jié)點時,直接將上述商品節(jié)點作為起始節(jié)點,且為該起始節(jié)點分配包裹數(shù)據(jù)包,而無需在待選商品節(jié)點集合中,再選一商品節(jié)點作為起始節(jié)點,從而提高建立配送方案的效率。
在本申請的另一可行實施例中,如圖5所示,上述所有實施例中的步驟s22可包括:
步驟s51:判斷當前配送方案中,最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量是否大于1;如果大于1,執(zhí)行步驟s52;否則,執(zhí)行步驟s53;
步驟s52:確定當前配送方案中,存在回溯商品節(jié)點,且確定所述包裹數(shù)據(jù)包中的倒數(shù)第二個加入的商品節(jié)點為回溯商品節(jié)點,并在當前配送方案中去除所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點,且將去除的商品節(jié)點重新加入至待選商品節(jié)點集合內(nèi);
步驟s53:判斷當前配送方案中的包裹數(shù)據(jù)包的總數(shù)是否大于1;如果大于1,執(zhí)行步驟s54;如果小于等于1,確定當前配送方案中,不存在回溯商品節(jié)點,結(jié)束處理,并由此獲得當前購物訂單的全部配送方案。
步驟s54:在當前配送方案中去除最后一個生成的包裹數(shù)據(jù)包,且將去除的包裹數(shù)據(jù)包中的所有商品節(jié)點都重新加入至所述待選商品節(jié)點集合內(nèi),并將倒數(shù)第二個生成的包裹數(shù)據(jù)包視為最后一個生成的包裹數(shù)據(jù)包,返回執(zhí)行步驟s51;
由上可見,采用本申請的方法,可確定當前建立的配送方案中,是否存在回溯商品 節(jié)點。
在本申請的另一可行實施例中,上述所有實施例中的步驟s23可具體包括:將去除了所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點的配送方案作為重新建立的配送方案;
在所述重新建立的配送方案中,設(shè)置回溯商品節(jié)點所在的包裹數(shù)據(jù)包為當前包裹數(shù)據(jù)包,設(shè)置回溯商品節(jié)點為當前商品節(jié)點,設(shè)置當前包裹數(shù)據(jù)包的配送倉庫為當前包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,將所述加入條件設(shè)置為:商品節(jié)點的存儲倉庫與當前包裹數(shù)據(jù)包的配送倉庫存在交集、商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且所述商品節(jié)點從未加入過當前包裹數(shù)據(jù)包;且返回步驟s34。
在實際應用中,采用上述方法為購物訂單所建立的多個配送方案中,可能存在重復的配送方案,因此在本申請的另一可行實施例中,上述所有實施例中的方法,還可包括:
判斷所建立的多個配送方案中,是否存在重復配送方案;
如果存在,在重復的配送方案中,保留一個配送方案并刪除其它配送方案。
本申請還公開了一種商家配送系統(tǒng),如圖6所示,該系統(tǒng)包括商家客戶端、ecp(enterpriseconsignplatform,企業(yè)發(fā)貨平臺)、cc(consigncenter,發(fā)貨中心)、dps(dynamicpromiseservice,動態(tài)承諾服務中心)、whc(warehousecenter,倉儲中心)以及倉庫系統(tǒng),具體流程如下:
步驟1:當商家客戶端接收到用戶的購物訂單時,發(fā)送該購物訂單至ecp;
步驟2:ecp調(diào)用cc的發(fā)貨服務;
步驟3:cc將通過dps查詢出,購物訂單中所有商品的存儲倉庫列表;
步驟4:cc計算出該購物訂單的所有配送方案,而cc可具體采用本申請所公開的求解購物訂單配送方案的方法,獲取購物訂單的所有配送方案。
步驟5:cc從所有配送方案中,決策出最優(yōu)的配送方案;
在本申請實施例中,可根據(jù)用戶的需求,具體設(shè)置如何決策最優(yōu)配送方案。在本申請實施例中,可具體從所有配送方案中,選擇配送時間最短的配送方案,作為最優(yōu)配送方案,提供給用戶;也可從所有配送方案中,選擇配送費用最少的配送方案,作為最優(yōu)配送方案,提供給用戶。
步驟6:cc執(zhí)行一些其它發(fā)貨操作;
在實際應用中,cc可執(zhí)行更新物流訂單以及同步發(fā)貨狀態(tài)等操作;
步驟7:cc通過whc創(chuàng)建存儲作業(yè)單,并通知倉庫系統(tǒng);
步驟8:cc返回最優(yōu)配送方案至ecp和商家客戶端;
在本申請中,商家可根據(jù)上述最優(yōu)配送方案為用戶進行配送,從而提高用戶體驗。
通過以上的方法實施例的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:只讀存儲器(rom)、隨機存取存儲器(ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
與本申請?zhí)峁┑那蠼赓徫镉唵闻渌头桨傅姆椒▽嵤├鄬?,本申請還提供了一種求解購物訂單配送方案的裝置,如圖7所示,包括:
配送方案建立模塊71,用于根據(jù)用戶的購物訂單,建立一配送方案,所述配送方案包括包裹數(shù)據(jù)包以及包裹數(shù)據(jù)包的配送倉庫,所述包裹數(shù)據(jù)包內(nèi)至少有一個商品節(jié)點,且所述商品節(jié)點所表示的商品可打包成一包裹,從同一配送倉庫發(fā)貨;
回溯商品節(jié)點判斷模塊72,用于判斷當前配送方案中,是否存在回溯商品節(jié)點;
重建配送方案模塊73,用于在當前配送方案中存在回溯商品節(jié)點時,以所述回溯商品節(jié)點為起始節(jié)點,重新建立一配送方案。
由上可見,在本申請實施例中,首先根據(jù)用戶購物訂單,建立一配送方案;再然后,判斷當前所建立的配送方案中,是否存在回溯商品節(jié)點;如果存在,說明購物訂單,仍可生成配送方案,在當前配送方案的基礎(chǔ)上,以回溯節(jié)點為起始節(jié)點,重新建立一配送方案,然后再執(zhí)行,判斷當前建立的配送方案中是否存在回溯節(jié)點這一步驟,直至當前配送方案中,不存在回溯節(jié)點為止,此時說明已經(jīng)生成購物訂單的所有配送方案。因此,采用本申請實施例所公開的方法,可獲得購物訂單的全部配送方案。
在本申請的另一可行實施例中,上述所有實施例中的配送方案建立模塊71包括:
建立待選商品節(jié)點集合單元,用于根據(jù)用戶的購物訂單,建立一待選商品節(jié)點集合;
起始節(jié)點確定單元,用于在所述待選商品節(jié)點集合中,確定一商品節(jié)點為起始節(jié)點;
第一設(shè)置單元,用于為所述起始節(jié)點生成一新的包裹數(shù)據(jù)包,且設(shè)置所述包裹數(shù)據(jù)包的配送倉庫為所述起始節(jié)點的存儲倉庫,以及,在所述待選商品節(jié)點集合中去除起始節(jié)點;
第一判斷單元,用于判斷所述待選商品節(jié)點集合中,是否存在滿足加入條件的商品節(jié)點;其中,所述加入條件至少包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集;
第一處理單元,用于當存在滿足加入條件的商品節(jié)點時,將所述商品節(jié)點加入至包裹數(shù)據(jù)包,且更新所述包裹數(shù)據(jù)包的配送倉庫為所述包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,以及,在所述待選商品集合中去除加入至包裹數(shù)據(jù)包的商品節(jié)點;
第二判斷單元,用于當不存在滿足加入條件的商品節(jié)點時,判斷所述待選商品集合中是否存在商品節(jié)點;
保存單元,用于當所述待選商品集合中不存在商品節(jié)點時,確定當前配送方案建立完成,保存當前配送方案。
在本申請的另一可行實施例中,上述所有實施例中的加入條件至少還包括:商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集,所述第一判斷單元包括:
第一判斷子單元,用于判斷所述待選商品節(jié)點集合中,是否存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集的商品節(jié)點;
第一確認子單元,用于當確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,且所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫存在交集時,確認存在滿足加入條件的商品節(jié)點;
設(shè)置子單元,用于當確認存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集的商品節(jié)點,但所確認的商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包的配送倉庫不存在交集時,將所確認的商品節(jié)點設(shè)置為起始節(jié)點;
第二確認子單元,用于當不存在存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲 倉庫存在交集的商品節(jié)點時,確認不存在滿足加入條件的商品節(jié)點。
在本申請的又一可行實施例中,上述所有實施例中的回溯商品節(jié)點判斷模塊72包括:
第三判斷單元,用于判斷當前配送方案中,最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量是否大于1;
第二處理單元,用于當最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量大于1時,確定當前配送方案中存在回溯商品節(jié)點,且確定所述包裹數(shù)據(jù)包中的倒數(shù)第二個加入的商品節(jié)點為回溯商品節(jié)點,并在當前配送方案中去除所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點,且將去除的商品節(jié)點重新加入至所述待選商品節(jié)點集合內(nèi);
第四判斷單元,用于當最后一個生成的包裹數(shù)據(jù)包的商品節(jié)點數(shù)量不大于1時,判斷當前配送方案中的包裹數(shù)據(jù)包的總數(shù)是否大于1;
第三處理單元,用于在當前配送方案中的包裹數(shù)據(jù)包的總數(shù)大于1時,在當前配送方案中去除最后一個生成的包裹數(shù)據(jù)包,且將去除的包裹數(shù)據(jù)包中的所有商品節(jié)點都重新加入至所述待選商品節(jié)點集合內(nèi),并將倒數(shù)第二個生成的包裹數(shù)據(jù)包視為最后一個生成的包裹數(shù)據(jù)包;
確認單元,用于在當前配送方案中的包裹數(shù)據(jù)包的總數(shù)不大于1時,確定當前配送方案中,不存在回溯商品節(jié)點。
在本申請的又一可行實施例中,上述所有實施例中的重建配送方案模塊73包括:
重建單元,用于將去除了所述包裹數(shù)據(jù)包中的最后一個加入的商品節(jié)點的配送方案作為重新建立的配送方案;
第四處理單元,用于在所述重新建立的配送方案中,設(shè)置回溯商品節(jié)點所在的包裹數(shù)據(jù)包為當前包裹數(shù)據(jù)包,設(shè)置回溯商品節(jié)點為當前商品節(jié)點,設(shè)置當前包裹數(shù)據(jù)包的配送倉庫為當前包裹數(shù)據(jù)包內(nèi)所有已加入的商品節(jié)點的存儲倉庫的交集,將所述加入條件設(shè)置為:商品節(jié)點的存儲倉庫與當前包裹數(shù)據(jù)包的配送倉庫存在交集、商品節(jié)點的存儲倉庫與所述包裹數(shù)據(jù)包中當前商品節(jié)點的存儲倉庫存在交集、且所述商品節(jié)點從未加入過當前包裹數(shù)據(jù)包。
在本申請的又一可行實施例中,上述所有實施例中的起始節(jié)點確定單元包括:
起始節(jié)點確定子單元,用于將所述待選商品節(jié)點集合中存儲倉庫最多的商品節(jié)點確定為起始節(jié)點;上述所有實施例中的裝置還可包括:
重復配送方案判斷模塊,用于判斷所建立的多個配送方案中,是否存在重復的配送方案;
刪除模塊,用于在重復的配送方案中,保留一個配送方案并刪除其它配送方案。
本申請還提供一種商家配送系統(tǒng),包括商家客戶端、企業(yè)發(fā)貨平臺=以及上述所有實施例中的求解購物訂單配送方案的裝置;
其中,商家客戶端,用于接收用戶的購物訂單;
企業(yè)發(fā)貨平臺,用于根據(jù)所述購物訂單,調(diào)用上述求解購物訂單配送方案的裝置,以執(zhí)行發(fā)貨服務;
求解購物訂單配送方案的裝置,用于根據(jù)存儲倉庫列表,計算所述購物訂單的全部配送方案。
采用本申請實施例所提供的商家配送系統(tǒng),可求解購物訂單的全部配送方案。
在本申請的另一可行實施例中,上述所有實施例中的裝置還包括:動態(tài)承諾服務中心,用于查詢出所述購物訂單中所有商品的存儲倉庫列表,并發(fā)送給所述求解購物訂單配送方案的裝置。
所述求解購物訂單配送方案的裝置,還用于從所計算出的全部配送方案中決策出最優(yōu)配送方案,并返回所述最優(yōu)配送方案至所述企業(yè)發(fā)貨平臺和商家客戶端。
需要說明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅是本申請的具體實施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本申請。對這些實施例的多種修改對本領(lǐng)域的技術(shù)人員來說將是顯而易見的,本文中所定義 的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。