戴 韜,沈 靜
(東華大學(xué) 旭日工商管理學(xué)院,上海 200051)
外賣配送是外賣O2O中重要的服務(wù)環(huán)節(jié),外賣平臺為了提升競爭力,保證較高的服務(wù)質(zhì)量和用戶體驗,紛紛建立基于眾包的配送平臺,如蜂鳥眾包、美團眾包等。眾包模式的引入,既解決了平臺自建物流配送模式中固定的配送員運力與波動的訂單量不匹配的問題,也為臨時配送員兼職服務(wù)提供可能。
外賣配送主要有3種訂單分配方式:派單、搶單和搶派結(jié)合。對于參與眾包的兼職配送員來說,工作時間更靈活,搶單的自主選擇性更強。在搶單模式下,外賣平臺以取餐點與配送員位置等指標(biāo)向附近配送員推薦一批訂單,配送員搶單成功則必須完成該訂單。而眾包配送員在選擇訂單時往往憑經(jīng)驗與下意識的反應(yīng),若接受不適合的訂單容易導(dǎo)致送餐延誤產(chǎn)生賠付、客戶投訴等情況,既影響眾包配送員的收益,降低其參與眾包的積極性,又影響外賣平臺的服務(wù)聲譽。
因此,本文從配送員的角度出發(fā),對眾包模式下的外賣配送訂單選擇問題進行研究,提出基于路徑規(guī)劃的雙層算法,通過比較接受不同訂單所帶來收益進行訂單選擇,使得在滿足各項約束下配送員的實際所得收益最優(yōu)。本文的研究結(jié)果能提高眾包配送員的工作效率及收益,也能提高外賣平臺的訂單推薦效率。
訂單選擇是從大量任務(wù)中選擇最適合的若干個任務(wù)進行執(zhí)行,也被稱為任務(wù)推薦,不少學(xué)者為眾包模式下的任務(wù)推薦提供了多種解決思路。Azi等[1]對空間眾包下實現(xiàn)工人收益最大的在線配送路徑進行研究,在此基礎(chǔ)上為動態(tài)任務(wù)推薦提供參考,文中采用自適應(yīng)大型鄰域搜索啟發(fā)式算法求解。Sun等[2]同樣關(guān)注了該問題,不同的是采用基于預(yù)測的路徑推薦算法進行任務(wù)推薦。Deng等[3]提出基于動態(tài)編程和分支定界策略的精確算法,用于求解時空眾包模式下,單個工人完成任務(wù)數(shù)最多的任務(wù)推薦問題。鄧娜等[4]采用基于聚類分析和TSP路徑規(guī)劃的外賣配送訂單集指派模式,以配送距離最短為原則將配送員和訂單匹配。宋天舒等[5]將眾包任務(wù)地點也作為考慮因素,提出自適應(yīng)隨機閾值算法進行任務(wù)內(nèi)容、眾包人員和任務(wù)地點的三維匹配,使得總效用最大。
外賣配送及眾包物流的路徑規(guī)劃成為近幾年的研究熱點之一。李桃迎等[6]對動態(tài)外賣訂單調(diào)度及配送路徑問題進行研究,提出基于商家和顧客聚類的路徑規(guī)劃。蔣麗等[7]在對眾包外賣配送路徑規(guī)劃的研究中,提出加入未來潛在客戶數(shù)量影響因子的蟻群算法,使得配送成本最小。吳騰宇等[8]針對O2O外賣配送中需求不確定及取送貨的特點,建立相應(yīng)的路徑規(guī)劃模型,設(shè)計了TAIB算法和IGNORE算法,實現(xiàn)外賣配送車輛的實時調(diào)度。慕靜等[9]基于眾包物流參與人員積極性不高等問題,以最大化收益為目標(biāo),構(gòu)建眾包物流運力調(diào)度問題模型。陳萍等[10]提出基于時間滿意度的外賣配送路徑優(yōu)化模型,并使用改進的遺傳算法求解。Liu等[11]構(gòu)建一個納入出租車眾包配送的外賣配送網(wǎng)絡(luò),采用包括構(gòu)造算法和大鄰域搜索算法的兩階段方法解決配送問題,使得所需出租車數(shù)量最少。Veenstra等[12]研究包含取送貨按后進先出處理成本的取送貨旅行商問題,基于此特點建立模型,并采用大鄰域搜索算法求解。
外賣配送路徑規(guī)劃與取送貨旅行商問題(pickup and delivery travelling salesman problem, PDTSP)比較接近。由于VRP問題為NP難問題,因此通常使用啟發(fā)式算法求解,主流的有遺傳算法、蟻群算法、禁忌搜索算法和粒子群算法等。Zhao等[13]提出一種混合遺傳算法,用于解決取送貨一體的旅行商問題。潘立軍等[14]在傳統(tǒng)遺傳算法的基礎(chǔ)上,采用時差插入法改進交叉算子、變異算子與變異算子的設(shè)置,并使用非代際搜索策略求解帶時間窗取送貨問題。Ai等[15]提出一種基于隨機密鑰解決方案的粒子群算法,用于實現(xiàn)取送貨車輛路徑問題,基于客戶優(yōu)先級列表和車輛優(yōu)先級矩陣構(gòu)建車輛路線。
綜上,任務(wù)匹配與取送貨一體化TSP問題的先期研究為本文奠定了很好的理論基礎(chǔ),但是本文研究的配送訂單選擇問題是一個“開放性”的決策問題,配送員可以根據(jù)自身情況選擇一個或多個備選訂單;在執(zhí)行一系列訂單過程中,與TSP問題不同,具有“路徑開放(不用回到起點)”、“參與時間有限”、“最終目的地確定”等特點。這些特點讓問題變得更加復(fù)雜,因此本文提出將訂單選擇與執(zhí)行路徑統(tǒng)一考慮的雙層算法。
外賣配送訂單選擇的實際場景為眾包配送員在尚有未完成的待配送訂單情況下,如何從系統(tǒng)推薦訂單列表中選擇多個訂單,使得配送收益最大化的問題。可以抽象描述為配送員在 T時刻前到達某個指定點,在此之前可參與兼職配送,現(xiàn)有 m個訂單尚未配送(可能部分已取)。此時外賣平臺的配送訂單推薦列表中有 n個訂單可供配送員進行搶單,配送員如何從列表中選擇合適的訂單,使得完成所有訂單后按時到達終點,同時配送收益最大化。
由于外賣配送的所得收益不僅是訂單配送費用的簡單相加,還需扣除因延遲配送導(dǎo)致的懲罰,因此在選擇訂單時需考慮是否能在規(guī)定時間內(nèi)送達、是否會產(chǎn)生懲罰等情況。配送路徑規(guī)劃本身是NP難問題,訂單選擇是基于配送路徑規(guī)劃的更高層次的決策問題,而且由于現(xiàn)實問題的特點,模型的求解速度要求較高,更加大了決策難度。
本文提出雙層算法基本邏輯是上層邏輯為貪心算法,即通過某個評分機制,對待選擇訂單進行評分。由于平臺實時推薦的訂單數(shù)量較多,為了提高求解速度,將根據(jù)評分結(jié)果篩選出分數(shù)較高的 n個訂單進入考慮選擇的范圍,由大到小逐個加入這n個訂單進行配送路徑規(guī)劃,并得到相應(yīng)的配送收益,若加入新訂單后的配送收益大于配送原有訂單所帶來的收益,則接受該訂單,否則,不接受,直到再加入新訂單無法得到可行解;下層邏輯為以配送收益最大為目標(biāo)的考慮時間窗、延遲配送懲罰、配送攜帶訂單數(shù)量約束等現(xiàn)實因素的配送路徑規(guī)劃模型,對應(yīng)的求解算法是改進的遺傳算法。
雙層算法流程如圖1所示。
圖1 雙層嵌套算法邏輯圖Figure 1 The logic diagram of two-layer algorithm
在上層算法中,依次加入推薦訂單的順序?qū)⒅苯佑绊懽罱K訂單選擇的結(jié)果,而 n個訂單所有可能的順序組合有種。為了減小求解規(guī)模,同時增加較優(yōu)的訂單被選擇的可能性,本文建立訂單評分模型,根據(jù)分數(shù)高低確定訂單加入的順序與規(guī)模。
本文考慮影響配送訂單選擇的主要因素包括訂單配送費、訂單服務(wù)點(取餐點或送餐點)與待訪問點(待配送訂單的取餐點或送餐點)間的距離、送餐點與配送員計劃終點的距離、取送餐方向。針對上述4個主要因素構(gòu)建評分模型為
其中, s(FR)i為基礎(chǔ)配送收益,本文將用訂單i的配送費占推薦列表中所有訂單配送費總和的占比表示; s(PDN)i、 s(DDN)i為訂單i的取餐點、送餐點與原計劃下一訪問點間的距離得分,距離越近分數(shù)越高; s(DDR)i為 訂單i送餐點與計劃終點間距離得分,計算方法與 s(PDN)i以 及 s(DDN)i相同; s(DR)i是取送餐方向得分,訂單i的取餐點或送餐點若在配送員當(dāng)前位置至計劃終點的方向相反的區(qū)域,則該項得分為0,反之為1。 FW、 N W、 D DW、 D W分別表示各因素所占權(quán)重。
外賣配送有以下幾個特征:1) 每個訂單需先取餐再送餐;2) 取餐及送餐均有時間窗;3) 因為保溫箱容量有限,有攜帶訂單數(shù)量限制。除此之外,眾包(兼職)配送員可以在任意空閑時間開始或停止接單,因此,眾包配送員的配送路線一般不是閉環(huán):從當(dāng)前位置開始配送,完成所有任務(wù)后在某個最晚時間前回到一個預(yù)期的終點,如圖2所示。配送電動車受電瓶電量限制有行駛里程約束,全職配送員一般會配備多個電瓶克服里程限制。而眾包配送員多為兼職參與,因此需考慮電動車電量所能支持的行駛里程。綜上,在前3個基本特征之外,眾包配送新增的特征為:4) 開放式取送貨旅行商問題;5) 有最晚到達終點時間約束;6) 有行駛里程約束。
2.4.1 問題描述及模型假設(shè)
考慮 n個 配送任務(wù)時,配送網(wǎng)絡(luò)包含1個配送員當(dāng)前位置、1個配送員計劃終點和 2n個服務(wù)點(取送餐),配送員須在時間 T前完成所接受的配送任務(wù)并回到計劃終點。定義網(wǎng)絡(luò)中節(jié)點集合V={0,2n+1}∪R∪C, 其中,節(jié)點 0表 示當(dāng)前位置;節(jié)點 2n+1表示終點;集合 R={1,2,···,n}表示所有訂單的取餐點;集合 C ={n+1,n+2,···,2n}表示所有訂單的送餐點;i和 n +i分 別對應(yīng)訂單i的取餐點和送餐點。配送員將決策收益最大的配送路徑,要滿足的約束有:須在每個節(jié)點的時間窗內(nèi)訪問該節(jié)點;若超出最晚送餐時間則產(chǎn)生延時懲罰;同時每個訂單必須“先取再送”;配送過程中攜帶的訂單數(shù)有限;時間 T前到達計劃終點。
本文假設(shè)如下。1) 配送員在取餐和送餐過程中的服務(wù)時間忽略;2) 車輛在行駛過程中行駛速度確定;3) 行駛成本與行駛路徑成正比;4) 對于超時送餐的訂單,將取消配送費,并懲罰一倍配送費的金額。
2.4.2 參數(shù)說明及數(shù)學(xué)模型
1) 符號定義。
O:所有訂單集合。
2) 模型參數(shù)。
①車輛相關(guān)參數(shù)。
v為車輛行駛速度; Q為車輛攜帶訂單容量;L為最大里程限制; α為行駛成本系數(shù)。
②網(wǎng)絡(luò)圖相關(guān)參數(shù)
dij為 節(jié)點i到 節(jié)點 j 的距離; ai為 車輛 到達節(jié)點i的時間; si為 車輛離開節(jié)點i的 時間; wi為車輛在節(jié)點i的等待時間;qi為 車輛離開節(jié)點i時所載訂單數(shù)量。
③訂單參數(shù)。
3) 決策變量。
根據(jù)上述定義,得到配送路徑模型為
其中,式(2)為目標(biāo)函數(shù),表示配送收益最大化;式(3)、(4)表示配送員從當(dāng)前位置節(jié)點0出發(fā);式(5)、(6)表示配送員最后回到計劃終點;式(7)、(8)表示每一個訂單的取餐點和送餐點都必須被訪問一次;式(9)計算車輛到達節(jié)點 j的時間;式(10)、(11)為配送員在節(jié)點i的等待時間以及離開該點的時間;式(12)保證最晚取餐時間被滿足;式(13)確保先取餐點后送餐點;式(14)表示配送員在預(yù)期時間內(nèi)完成待配送任務(wù)并到達終點;式(15)、(16)為車輛攜帶訂單數(shù)量約束;式(17)保證配送行駛路程不超過當(dāng)前電動車剩余電量所能滿足的里程。
1) 編碼方式。
為了便于體現(xiàn)取餐點和送餐點的區(qū)別,本文采用自然數(shù)編碼的方式對取餐點和送餐點進行編碼,0,1,2, ···,2n+1表示2n+2個訪問點,其中,0為起點,1,2,…,n為取餐點,分別對應(yīng)第1,2, ···,n號訂單,送餐點對應(yīng)為n+1, n+2, ···, 2n,終點為2n+1,即訂單 i的取餐點編碼為i,送餐點為 i +n。例如,假設(shè)當(dāng)前有5個待配送訂單,取餐點和送餐點編碼如表1所示,起點為0,終點編碼為11。以上編碼組隨機排序組合成一條染色體,代表一條配送路線,如0-2-1-6-4-7-3-8-5-10-9-11,其中,每個編碼代表染色體上的一個基因。
表1 5個待配送訂單的取餐點及送餐點編碼Table 1 Serial ID of 5 orders pickup and delivery nodes
2) 初始化種群及改進的個體構(gòu)造方法。
由于帶有取送餐順序約束以及攜帶訂單數(shù)量約束,隨機生成的初始種群符合約束的概率較小,遺傳難以進行下去。為了提高初始種群的質(zhì)量以及算法運算速度,本文提出2個構(gòu)造方法在隨機生成初始種群的基礎(chǔ)上,對不符合約束的染色體重新構(gòu)造。
① 取送餐順序約束構(gòu)造。
若隨機生成的染色體中存在某個送餐點在對應(yīng)訂單的取餐點之前訪問,則將該訂單的取餐點移到送餐點前一位,送餐點與原取餐點位置中間的訪問點依次后移一位。例如,當(dāng)前有5個待配送訂單,假設(shè)隨機生成的某一染色體為0-2-3-4-6-7-8-1-9-5-10-11,其中,1號訂單的取餐點1出現(xiàn)在對應(yīng)的送餐點6之后,不符合取送餐順序約束,因此將基因1移至基因6前一位,原染色體中基因6與1之間的基因依次后移一位,其余基因位置保持不變,形成新的染色體,其操作如圖3所示。
圖3 取送餐順序約束調(diào)整操作圖Figure 3 Examplefor sequence constraint adjustment
② 攜帶訂單數(shù)量約束構(gòu)造。
配送員在訪問取餐點后車輛攜帶訂單數(shù)量加1,訪問送餐點后數(shù)量減1。若在訪問某點后,車輛攜帶訂單數(shù)量超過容量,那么該點一定為取餐點,同時,該取餐點前一定有其他尚未送餐的訂單的取餐點。因此,為了避免破壞取送順序約束,本文以該取餐點所在的基因位為界限,從該取餐點之后的基因中選取已經(jīng)取餐但尚未送餐訂單的送餐點,將該送餐點前移。以圖4為例,假設(shè)車輛攜帶訂單容量為2,車輛訪問取餐點4后訂單數(shù)量為3,超過容量限制,因此從取餐點4往后尋找已經(jīng)在該點之前取過餐的訂單對應(yīng)的送餐點,先找到送餐點7,將7移至4前一位,原染色體中4與7之間的基因均依次后移一位,其余基因位置保持不變,形成新的染色體。
圖4 攜帶訂單數(shù)量約束調(diào)整操作圖Figure 4 Example for order amount constraint adjustment
經(jīng)過一次調(diào)整可以得到新染色體,但該染色體仍有可能違反約束,例如取餐點1。因此,需要按照上述方式進行順序檢查,最后可以得到如圖5所示的符合約束的可行解。
圖5 經(jīng)過調(diào)整后滿足約束的染色體Figure 5 A feasible chromosome after adjustment operations
3) 適應(yīng)度函數(shù)。
模型適應(yīng)度函數(shù)與目標(biāo)函數(shù)一致,適應(yīng)度函數(shù)f =M。若染色體不滿足最大里程約束或者最晚到達終點時間約束,則該染色體的適應(yīng)度直接計為0。
4) 遺傳算子設(shè)計。
① 采用輪盤賭方法選擇算子。
② 使用雙交叉點法選擇交叉算子,即隨機選取2個基因點,獲取父代染色體中在基因點之間的基因片段,并將這2個基因片段互換,形成2個新個體。例如,如圖6所示,2條父代染色體隨機選取的交叉點為4和7,則交叉的基因片段為“4-8-1-6”和“1-6-5-8”,將這2段基因片段在父代染色體中互換,得到新的子代染色體。可見,子代1中取餐點5重復(fù)出現(xiàn),卻缺少取餐點4,子代2中取餐點4出現(xiàn)2次,卻缺少取餐點5,說明交叉得到的染色體很容易不符合約束。
圖6 父代染色體交叉Figure 6 Chromosomes crossover
為了解決交叉操作后基因重復(fù)問題,本文的處理是先找出交叉片段與染色體中的重復(fù)基因,子代1的基因5和子代2的基因4,然后進行重復(fù)基因互換,如圖7所示。同理,若重復(fù)基因有多個,則在子代的交叉片段中的基因互換也需要進行多次。
圖7 處理重復(fù)基因后的子代Figure 7 Offspring after handling duplicate gene
③ 根據(jù)變異概率判斷父代染色體是否變異,若變異,則隨機選擇2個基因位置,交換這2個位置的基因,形成新的子代。
④ 本文采用精英選擇策略進行種群更新,先進行當(dāng)前種群的交叉和變異,交叉及變異得到的新的子代若不符合約束,同樣使用2)中所述構(gòu)造方法將其改造,然后根據(jù)染色體的適應(yīng)度從父代和子代群體中篩選出當(dāng)前適應(yīng)度最高的染色體,數(shù)量滿足群體大小,形成新的種群。
5) 遺傳終止條件。
為了確保算法盡可能接近最優(yōu)解,同時減少運算時間,采用以下2個迭代終止條件:① 若連續(xù)100次迭代的適應(yīng)度相同,則終止迭代;② 迭代次數(shù)達到最高次數(shù)1 000次,則終止迭代。
假設(shè)某眾包配送員當(dāng)前位置為(0,0),計劃在1.2 h后到達終點為(2,2),尚有 3個訂單未配送,待配送外賣訂單信息如表2所示。此時外賣平臺根據(jù)就近取餐原則,向該眾包配送員推薦了若干個新訂單,根據(jù)表3所示的權(quán)重設(shè)置為訂單打分,假設(shè)從其中分數(shù)最高的10個訂單中進行選擇,納入考慮選擇范圍的10個訂單信息如表4所示。
表2 待配送外賣訂單信息Table 2 Order info.in to-do list
表3 訂單評分模型權(quán)重設(shè)置Table 3 Weight setting in order scoring model
表4 備選外賣配送訂單信息Table 4 Alternate delivery order info.
對配送過程及配送車輛的各項參數(shù)設(shè)置以及訂單評分模型權(quán)重設(shè)置分布如表5所示。
表5 車輛及配送服務(wù)實驗參數(shù)設(shè)置Table 5 Experimental parameters of vehicle and delivery service
本文使用C++語言在Visual Studio 2017中編寫程序并運行,實驗運行環(huán)境均為Intel Celeron i5-1017U 1.60 GHz CPU,6GB內(nèi)存和Windows 10專業(yè)版64位操作系統(tǒng)。遺傳算法的參數(shù)設(shè)定為種群大小=100,交叉概率=0.7,變異概率=0.1。
當(dāng)前待配送訂單的路徑規(guī)劃結(jié)果如表6所示,最優(yōu)配送路徑為“0→2→1→3→4→5→6→7”,當(dāng)前配送收益為18.22元。
在現(xiàn)有3個訂單基礎(chǔ)上,利用設(shè)計的雙層算法從10個備選訂單中選擇最合適的一些訂單。為了驗證算法的計算速度,進行15次實驗,如圖8。除了第2次運算時長超過4 s外,其余14次實驗所用時間均在3 ~ 4 s之間,運行平均時間為3.67 s,證明從10個備選訂單進行選擇花費時間可接受。
表6 當(dāng)前待配送訂單配送路徑規(guī)劃結(jié)果Table 6 Delivery route planning for current orders
圖8 基礎(chǔ)算例15次實驗運算時間Figure 8 Calculating time of 15 experiments on basic example
在運行時間驗證的基礎(chǔ)上,繼續(xù)進行算法效率驗證。圖9為15次實驗中典型的收斂圖,大部分實驗均在適應(yīng)度53左右時收斂。
圖9 基礎(chǔ)算例典型實驗收斂圖Figure 9 Typical convergence graphs of basic example
表7和圖10更直觀地展現(xiàn)了依次加入推薦訂單后的配送收益變化??梢钥闯觯⒎怯唵螖?shù)量越多配送收益越大,若多個訂單的送餐時間窗相近,過多的訂單將導(dǎo)致送餐時間延遲產(chǎn)生懲罰,進而降低配送收益;此外,初始的訂單評分越高只是表示“優(yōu)先考慮”但并非“最終選擇”,如訂單7的評分為4.26,訂單3的評分為4.15,模型先考慮了訂單7,但最后僅選擇了訂單3,產(chǎn)生這種情況的原因是加入訂單7后的配送收益小于訂單3。表8展示了配送收益最優(yōu)的訂單選擇,加入推薦的9、10、6、4、5、3號訂單后收益可達53.06,增加了34.84,配送路徑從自然編碼翻譯成最終結(jié)果為起點→取10→送10→取3'→取1'→送3'→送1'→取9→送9→取5→送5→取3→送3→取6→送6→取4→送4→取2'→送2'→計劃終點。
表7 多個推薦配送訂單選擇計算過程Table 7 Calculation process of multiple recommended delivery order selection
圖10 訂單選擇過程中配送收益變化圖Figure 10 Revenue graphwithnewadd-in orders
表8 多個推薦配送訂單選擇結(jié)果Table 8 Result in multiple delivery order selection
此基礎(chǔ)上,為了驗證算法的穩(wěn)定性,本文繼續(xù)設(shè)計9組不同推薦規(guī)模的算例進行實驗,本文認為經(jīng)過評分排序,現(xiàn)實納入備選范圍的訂單數(shù)量不會超過20個,因此這9組算例中待配送訂單同樣為3個,備選訂單分別為11~19個,其余參數(shù)與表5相同。9組算例在分別經(jīng)過10次實驗后得到平均程序運行時間如圖11所示。由此,可以得到以下2個結(jié)論。
圖11 不同備選訂單數(shù)量所需平均推薦時間Figure 11 Average calculating time with different numbers of alternate orders
1) 隨著選擇的推薦訂單數(shù)量增加,仍然能得到較優(yōu)推薦結(jié)果,程序運算時間隨之線性增長。
2) 導(dǎo)致運算時間與推薦訂單數(shù)量線性相關(guān)的原因是,隨著訂單規(guī)模的增大,調(diào)用雙層算法中下層遺傳算法進行迭代的次數(shù)增加,因此總運行時間與備選訂單數(shù)量呈正相關(guān)。同時這也說明本文所設(shè)計的下層改進遺傳算法穩(wěn)定性較好,單次運算時間不會隨著訂單數(shù)量增加明顯改變。
本文根據(jù)眾包配送的特點,提出雙層算法為眾包配送員在搶單過程中選擇訂單提供決策參考,其中接受新訂單的原則是考慮懲罰后的配送收益最大化。本文將訂單選擇與路徑規(guī)劃同時考慮,基于訂單初始評分決定進入訂單選擇的次序,再利用整數(shù)規(guī)劃模型決定是否選擇該訂單并進行下層的路徑規(guī)劃,在路徑規(guī)劃時,允許訂單交叉執(zhí)行。在求解下層的路徑規(guī)劃模型中,本文設(shè)計了改進的遺傳算法,主要的創(chuàng)新是進行染色體的再構(gòu)造,實現(xiàn)眾包配送必須的取送餐順序及訂單攜帶數(shù)量約束。論文在算例實驗中驗證了模型與算法在小規(guī)模問題下的求解效果與求解速度。在此基礎(chǔ)上,發(fā)現(xiàn)將本文方法擴展到更大規(guī)模的問題時,求解時間是線性增長的。因此對于大規(guī)模的現(xiàn)實問題,通過本文提出的打分方法,進行訂單的初始篩選和排序是必要的。