本發(fā)明涉及一種物流系統(tǒng)中的商品配送路徑規(guī)劃算法,具體涉及一種基于MoCD算法(基于Dijkstra算法的多目標(biāo)約束算法)的商品配送路徑規(guī)劃方法。
背景技術(shù):
:近些年來,隨著互聯(lián)網(wǎng)的快速發(fā)展,電子商務(wù)已經(jīng)滲透到各行各業(yè)當(dāng)中,隨之而來的現(xiàn)代物流業(yè)正成為新的研究熱點。作為現(xiàn)代物流管理中的一個核心環(huán)節(jié),商品配送引起了專家學(xué)者們的廣泛研究與關(guān)注,商品配送的技術(shù)水平和整體效率也得到了較大程度的提高。商品配送中的路徑規(guī)劃,是物流系統(tǒng)中的關(guān)鍵環(huán)節(jié)。較好的商品規(guī)劃路徑方案,有利于加快物流響應(yīng)速度,提高服務(wù)質(zhì)量,降低物流成本,提高效率以及增加經(jīng)濟效益。目前,物流系統(tǒng)中的商品配送路徑規(guī)劃主要靠車載的導(dǎo)航系統(tǒng),根據(jù)車輛地理位置和目的地地理位置,由導(dǎo)航系統(tǒng)中的地圖給車輛指引路線。國內(nèi)外已經(jīng)有很多的專家學(xué)者給出了路徑規(guī)劃的算法,其中主要有傳統(tǒng)的啟發(fā)式算法和人工智能算法。但這些算法大都只給出了最短路徑的規(guī)劃方案,并沒有考慮車輛的商品發(fā)往的目的地、需求數(shù)量、價格以及商品裝載的難易程度等。若某地區(qū)有較多商品廠家,當(dāng)車輛向不同地點配送商品時,如何找到滿足車輛需求的廠家的最優(yōu)路徑規(guī)劃方案成為當(dāng)前面臨的問題。因此,該研究內(nèi)容具有重要的研究價值。為了解現(xiàn)有技術(shù)的發(fā)展?fàn)顩r,對已有的論文和專利進行了檢索、比較和分析,篩選出如下與本發(fā)明相關(guān)度比較高的技術(shù)信息:技術(shù)方案1:專利號為CN104616070A的《一種物流配送路徑規(guī)劃方法及裝置》的專利,涉及一種物流配送路徑規(guī)劃方法及裝置,主要通過五步完成:第一,獲取每個需求點的配送量和配送點與需求點之間以及各需求點之間的直接可達(dá)最短路徑的距離;第二,以配送點和需求點作為節(jié)點,以所述配送點與需求點之間以及各需求點之間直接可達(dá)最短路徑作為邊,構(gòu)造路徑連通圖;第三,根據(jù)所述每個需求點節(jié)點的配送量以及每條邊的距離劃分所包含節(jié)點的總配送量不大于預(yù)設(shè)運量容限的任務(wù)子圖;第四,構(gòu)造包含任務(wù)子圖中所包含的全部節(jié)點的最小支撐樹;第五,從所述最小支撐樹與所述配送點節(jié)點構(gòu)成回路中選取包含最小支撐樹路徑最長的回路作為配送路徑主干,所述配送路徑主干之外的懸掛節(jié)點采用往返路徑,得到該任務(wù)子圖的配送路徑。該發(fā)明采用自組織方式合理將需求點進行鄰近合并劃分任務(wù)子圖,適用于大規(guī)模的配送路徑規(guī)劃。技術(shù)方案2:專利號為CN103383756A的《一種煙草物流配送路徑規(guī)劃方法》的專利,屬于煙草配送領(lǐng)域,涉及一種煙草物流配送路徑規(guī)劃的方法,主要通過四步來完成:第一,對該地區(qū)內(nèi)的所有零售戶利用自下而上的一階段方法和直接指派的方法進行聚類,其中自下而上的一階段方法包括:初始狀態(tài)的每個零售點都是一個類,若類的容量沒有達(dá)到上限,鄰近的類相互聚合,直到?jīng)]有類可以再聚合,直接指派的方法包括:初始階段指定類的數(shù)目,并指定每個類的初始核,若類的容量沒有達(dá)到上限,將每個零售點向最接近的類聚合,并更新類的核,直到所有點都已聚合到相應(yīng)的類;第二,基于離散模型的站點與服務(wù)區(qū)規(guī)劃,將整個配送地區(qū)均分為一定數(shù)量的點陣,然后給定站點數(shù)目,以最小化總里程為目標(biāo),采用數(shù)學(xué)模型計算最佳的選址方案;第三,基于配送工作量模型的最優(yōu)路徑確定,主要考慮了綜合作業(yè)時間,采用Dijkstra算法計算最優(yōu)路徑;第四,訂單日規(guī)劃,根據(jù)總體工作量需求,確定車輛數(shù)目范圍,以工作量均衡為目標(biāo),確定最佳的規(guī)劃方案。技術(shù)方案3:專利號為CN103413209A的《多客戶多倉庫物流配送路徑選擇方法》的專利,涉及一種配送路徑選擇方法,主要通過八步完成:第一,蟻群優(yōu)化方法初始化;第二,路徑構(gòu)建;第三,信息素構(gòu)建;第四,禁忌搜索方法初始化;第五,構(gòu)建鄰域路徑集;第六,評價鄰域路徑集;第七,路徑更新;第八,更新禁忌表。該發(fā)明能夠適應(yīng)于多倉庫的物流配送的路徑優(yōu)化處理。技術(shù)方案1采用了構(gòu)造節(jié)點的最小支撐樹的方法,首先獲取每個需求點的配送量和配送點與需求點之間以及各需求點之間的直接可達(dá)最短路徑的距離,然后以配送點和需求點為節(jié)點,在配送點和需求點及需求點之間直接可達(dá)最短路徑為邊,構(gòu)造路徑連通圖,進而根據(jù)每個需求點節(jié)點的配送量以及每條邊的距離對所述路徑連通圖劃分任務(wù)子圖,在任務(wù)子圖中構(gòu)造最小支撐樹,選取包含最小支撐樹的最長路徑作為主干配送路徑,其他節(jié)點采用往返路徑,得到任務(wù)子圖的配送路徑,并在特定的情況下進行路徑的優(yōu)化。在實際應(yīng)用場景下,該方法需要統(tǒng)計各節(jié)點的需求信息,適合統(tǒng)一管理的情況下的較大規(guī)模的配送路徑規(guī)劃,但在非統(tǒng)一管理的場景下靈活性較差,普適性不強;技術(shù)方案2涉及煙草的配送領(lǐng)域,首先對所有零售戶進行聚類,接著將配送地區(qū)劃分點陣,根據(jù)數(shù)學(xué)模型計算最佳的配送點選址方案,然后根據(jù)訂單日的工作量確定車輛數(shù)目范圍,確定配送路徑。該方案根據(jù)煙草零售戶的較分散特點,采取該方式的煙草物流配送路徑規(guī)劃,能解決煙草的不同供需量情況下配送路徑規(guī)劃,但該方案方法復(fù)雜,算法的復(fù)雜性較高,在要求實時路徑規(guī)劃時效率較低;技術(shù)方案3采用了蟻群優(yōu)化的方法進行配送路徑的優(yōu)化,首先利用蟻群算法構(gòu)建路徑,然后對所建立的路徑進行評價、更新,并結(jié)合禁忌搜索優(yōu)化方法對路徑進行優(yōu)化,最終得到配送車輛從出發(fā)到配送完貨物后返回出發(fā)地點的最優(yōu)路徑。該方法能適應(yīng)多客戶多倉庫物流配送路徑的規(guī)劃,可以得到較好的路徑規(guī)劃。但該方案計算開銷很大,搜索時間較長,在實際應(yīng)用中對處理器的要求較高,理論意義較大,實用性不強。技術(shù)實現(xiàn)要素:為解決上述現(xiàn)有技術(shù)中的不足,本發(fā)明的目的是提供一種基于MoCD算法的商品配送路徑規(guī)劃方法,通過規(guī)劃最優(yōu)路徑,達(dá)到節(jié)約運輸成本、提高車輛裝載率以及提高配送的效率的目的。本發(fā)明的目的是采用下述技術(shù)方案實現(xiàn)的:本發(fā)明提供一種基于MoCD算法的商品配送路徑規(guī)劃方法,其改進之處在于,所述方法包括下述步驟:步驟101:建立城市道路網(wǎng)模型;步驟102:確定商品價格信息;步驟103:根據(jù)不同廠家商品的配送目的地,篩選符合要求目的地的廠家;步驟104:確定商品供需方案;步驟105:利用Dijkstra算法對車輛到商品廠家的路徑進行規(guī)劃;步驟106:采用逐級搜索方式對城市道路網(wǎng)模型劃分區(qū)域進行搜索;步驟107:輸出最優(yōu)路徑規(guī)劃方案,結(jié)束。進一步的,所述步驟101中,定義一條城市道路的交叉點或端點作為城市道路網(wǎng)的節(jié)點,節(jié)點有相對的經(jīng)度、緯度地理坐標(biāo);兩節(jié)點間的路段定義為城市道路網(wǎng)的邊,路段的距離定義為邊的權(quán)值;根據(jù)城市道路網(wǎng)的特點,有以下分析假設(shè):(1)所有的邊是雙向可通的,邊的權(quán)值為正值;(2)城市道路網(wǎng)中兩節(jié)點間有弧度的邊抽象為等距離直線的邊。進一步的,所述步驟104中,根據(jù)配送商品價格信息、配送目的地、需要商品數(shù)量、商品廠家存貨數(shù)量以及車輛需求情況給出商品供需方案,根據(jù)當(dāng)前所處地理位置,在本區(qū)域內(nèi),搜索符合需求商品數(shù)量的廠家,給出一個或多個組合選擇。進一步的,所述步驟105中,由步驟104中給出的多個選擇,根據(jù)Dijkstra算法規(guī)劃各個選擇的最短路徑,若某一選擇中有多個節(jié)點,則利用Dijkstra算法規(guī)劃各個節(jié)點間的最短路徑。進一步的,所述步驟105中,所述Dijkstra算法原理為:引入一個輔助向量D,它的每個分量D[i]表示當(dāng)前所找到的從起始點vs到每個節(jié)點vi的最短路徑長度;輔助向量D的初始狀態(tài)為:若從起始點vs到節(jié)點vi有邊,則每個分量D[i]為邊上的權(quán)值,否則令D[i]為無窮大∞;設(shè)集合M為求得最短路徑終點的集合,初始狀態(tài)為空集;利用Dijkstra算法對車輛到商品廠家的路徑進行規(guī)劃包括下述步驟:(1)從起始點vs出發(fā),到各節(jié)點vi的最短路徑長度為D[i]的初值為:D[i]=c<vs,vi>;(2)選擇節(jié)點vj,使得vj表示當(dāng)前求得的從起始點vs出發(fā)的最短路徑終點,并且將最短路徑終點vj加入到集合M中;(3)更新從起始點vs出發(fā)到集合V-M上任一節(jié)點vk的可達(dá)最短路徑長度,如果D[k]>D[j]+c<vj,vk>,則更新D[k]為D[k]=D[j]+c<vj,vk>;(4)重復(fù)操作步驟(2)、(3)共n-1次,則得到從起始點vs出發(fā)到任一節(jié)點的最短路徑長度;(5)由下述公式計算得到從起始點vs到節(jié)點vd的最短路徑長度C(Psd):C(Psd)=Σi=1n-1c(vi,vi+1)---(5-1);]]>其中:C(Psd)為從起始點vs到節(jié)點vd的最短路徑長度;n表示n個節(jié)點;c(vi,vi+1)是邊(vi,vi+1)的非負(fù)權(quán)值。進一步的,所述步驟106中,假設(shè)不同廠家的商品發(fā)往不同的目的地A,B,C,廠家Fi存有商品wi噸,價格為pi;車輛需求的商品數(shù)量為W噸,需要到m個廠家能滿足所需求的商品數(shù)量;則約束條件如下:Min(Σi=1mC(Pi-1,i))Σi=1mwi≥WMin(m)Min(pi)---(5-2);]]>其中:表示車輛經(jīng)過m個廠家滿足運輸需求的最短路徑長度;wi表示廠家Fi存有的商品,單位為噸;C(Pi-1,i)表示節(jié)點i-1到節(jié)點i間的最短路徑,即為單個廠家滿足運輸需求的最短路徑長度;W表示車輛需求的商品數(shù)量,單位為噸;Pi-1,i表示節(jié)點i-1到節(jié)點i間的一條路徑;將整個城市道路網(wǎng)模型分為9個區(qū)域,根據(jù)車輛所處城市的不同位置,來實現(xiàn)由近及遠(yuǎn)的搜索。進一步的,判斷是否滿意步驟105中給出的路徑規(guī)劃,若滿意,則Dijkstra算法結(jié)束;反之,擴大搜索區(qū)域,在所有相鄰區(qū)域(一般來說,不同城市相鄰區(qū)域值不同,以山東濟南市為例,主城區(qū)面積328km2,約合18*18km2,可知相鄰區(qū)域半徑6km。一般可認(rèn)為大型城市相鄰區(qū)域半徑10km,中型城市相鄰區(qū)域半徑為5km,小型城市相鄰區(qū)域半徑為3km)內(nèi)重復(fù)步驟103-步驟105,直到所有區(qū)域搜索完畢。為了對披露的實施例的一些方面有一個基本的理解,下面給出了簡單的概括。該概括部分不是泛泛評述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實施例的保護范圍。其唯一目的是用簡單的形式呈現(xiàn)一些概念,以此作為后面的詳細(xì)說明的序言。與最接近的現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案具有的優(yōu)異效果是:本發(fā)明提供的技術(shù)方案立足于商品配送路徑規(guī)劃,對多目標(biāo)約束情況下的路徑規(guī)劃進行研究,研究商品配送路徑的規(guī)劃方法。研究在城市道路網(wǎng)模型的場景下,在某一地區(qū)存在多個同一商品的廠家,因商品價格的不同、不同廠家商品銷往地區(qū)不同,且廠家存有商品數(shù)量也不同,運輸商品的車輛如何根據(jù)需求來選擇商品廠家,滿足商品供需的條件,并使得車輛經(jīng)過的路徑最短的問題。通過規(guī)劃最優(yōu)路徑,達(dá)到節(jié)約運輸成本、提高車輛裝載率以及提高配送的效率的目的。通過研究發(fā)現(xiàn),該問題其實是在多個目標(biāo)條件的約束下,尋求滿足各條件下的最短路徑規(guī)劃。為此,本發(fā)明首先根據(jù)實際城市道路情況,以道路的交叉點或端點作為節(jié)點,建立了城市道路網(wǎng)的模型;其次確定商品價格信息,篩選符合商品發(fā)往目的地的廠家;然后根據(jù)需要商品數(shù)量以及廠家存貨數(shù)量選擇廠家,可以存在多個廠家組合以滿足需求商品數(shù)量的供需方案;最后由上一步確定的廠家地理位置和車輛位置,利用Dijkstra算法規(guī)劃最優(yōu)的路徑,并采用逐級搜索的方法,提高本發(fā)明算法搜索的效率。實際運用效果表明,該方法可以根據(jù)車輛對不同商品數(shù)量的需求,很快的給出商品配送最優(yōu)路徑規(guī)劃方案,在有多種供需方案下還可以給出不同的路徑規(guī)劃方案。為了上述以及相關(guān)的目的,一個或多個實施例包括后面將詳細(xì)說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明某些示例性方面,并且其指示的僅僅是各個實施例的原則可以利用的各種方式中的一些方式。其它的益處和新穎性特征將隨著下面的詳細(xì)說明結(jié)合附圖考慮而變得明顯,所公開的實施例是要包括所有這些方面以及它們的等同。附圖說圖1是本發(fā)明提供的城市道路網(wǎng)示意圖;圖2是本發(fā)明提供的劃分區(qū)域的城市道路網(wǎng)示意圖;圖3是本發(fā)明提供的具體實施例一的基于MoCD算法的商品配送路徑規(guī)劃方法的流程圖;圖4是本發(fā)明提供的具體實施方式二的時間復(fù)雜度對比圖;圖5是本發(fā)明提供的具體實施方式二的空間復(fù)雜度對比圖;圖6是本發(fā)明提供的具體實施方式二的需求量為15噸時最優(yōu)路徑示意圖;圖7是本發(fā)明提供的具體實施方式二的需求量為40噸時最優(yōu)路徑示意圖。具體實施方式下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步的詳細(xì)說明。以下描述和附圖充分地示出本發(fā)明的具體實施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實施方案可以包括結(jié)構(gòu)的、邏輯的、電氣的、過程的以及其他的改變。實施例僅代表可能的變化。除非明確要求,否則單獨的組件和功能是可選的,并且操作的順序可以變化。一些實施方案的部分和特征可以被包括在或替換其他實施方案的部分和特征。本發(fā)明的實施方案的范圍包括權(quán)利要求書的整個范圍,以及權(quán)利要求書的所有可獲得的等同物。在本文中,本發(fā)明的這些實施方案可以被單獨地或總地用術(shù)語“發(fā)明”來表示,這僅僅是為了方便,并且如果事實上公開了超過一個的發(fā)明,不是要自動地限制該應(yīng)用的范圍為任何單個發(fā)明或發(fā)明構(gòu)思。本發(fā)明首先根據(jù)實際城市道路情況,以道路的交叉點或端點作為節(jié)點,建立了城市道路網(wǎng)的模型;其次確定商品價格信息,篩選符合商品發(fā)往目的地的廠家;然后根據(jù)需要商品數(shù)量以及廠家存貨數(shù)量選擇廠家,可以存在多個廠家組合以滿足需求商品數(shù)量的供需方案;最后由上一步確定的廠家地理位置和車輛位置,利用Dijkstra算法規(guī)劃最優(yōu)的路徑,,并采用逐級搜索的方法,提高本發(fā)明算法搜索的效率。實施例一本發(fā)明提供一種基于MoCD算法的商品配送路徑規(guī)劃方法,包括下述步驟:步驟101:建立城市道路網(wǎng)模型;步驟102:確定商品價格信息;步驟103:根據(jù)不同廠家商品的配送目的地,篩選符合要求目的地的廠家;步驟104:確定商品供需方案;步驟105:利用Dijkstra算法對車輛到商品廠家的路徑進行規(guī)劃;步驟106:采用逐級搜索方式對城市道路網(wǎng)模型劃分區(qū)域進行搜索;步驟107:輸出最優(yōu)路徑規(guī)劃方案,結(jié)束。具體的:步驟101中,本發(fā)明建立了城市道路網(wǎng)的模型:縱橫交織、錯綜復(fù)雜的城市道路網(wǎng)主要由眾多街道相交、相連而構(gòu)成,一條街道可能與若干條街道相交、相連,并且相交、相連的模式復(fù)雜。為了避免過多地考慮街道間的拓?fù)潢P(guān)系,以交叉路口作為分析對象,將包含交叉路口的道路拆分成最基本的路段,一條路段只在其端點處與其他路段相交。在數(shù)字地圖中,定義一條道路的交叉點或端點作為道路網(wǎng)的節(jié)點,節(jié)點有相對的經(jīng)度、緯度地理坐標(biāo),兩節(jié)點間的路段定義為網(wǎng)絡(luò)的邊,路段的距離定義為邊的權(quán)值。根據(jù)城市道路網(wǎng)的特點,有以下合理的分析假設(shè):(1)所有的邊是雙向可通的,邊的權(quán)值為正值;(2)網(wǎng)絡(luò)中兩節(jié)點間有弧度的邊抽象為等距離直線的邊。由以上假設(shè),我們可以把城市道路網(wǎng)抽象為如圖1所示。圖1中五角星表示待配送商品的廠家位置,節(jié)點間的權(quán)值為它們之間的實際距離,單位為km。在圖1中,在進行從某一地點到某一廠家的最短路徑計算時,本發(fā)明將廠家地點與其最近的節(jié)點視為同一節(jié)點,然后再根據(jù)相應(yīng)來車方向相應(yīng)的增加或減少廠家與最近節(jié)點的距離,以此來實現(xiàn)最短路徑的計算,達(dá)到減少圖中節(jié)點數(shù)目,減少最優(yōu)路徑的搜索時間。步驟104中,根據(jù)配送商品價格信息、配送目的地、需要商品數(shù)量、商品廠家存貨數(shù)量以及車輛需求情況給出商品供需方案,根據(jù)當(dāng)前所處地理位置,在本區(qū)域內(nèi),搜索符合需求商品數(shù)量的廠家,給出一個或多個組合選擇。步驟105中,由步驟104中給出的多個選擇,根據(jù)Dijkstra算法規(guī)劃各個選擇的最短路徑,若某一選擇中有多個節(jié)點,則利用Dijkstra算法規(guī)劃各個節(jié)點間的最短路徑。假設(shè)現(xiàn)在需要運輸一批商品,此時車輛在圖1中A點,需要去某廠家運輸商品,這時就需搜尋合適的廠家,以達(dá)到路徑最短,且盡量滿足運輸量。在搜索路徑的時候,根據(jù)Dijkstra算法來實現(xiàn)距離最短的路徑,下面先介紹下Dijkstra算法。在圖論中,給定帶權(quán)圖G=(V,E),其中V是包含n個節(jié)點的集合,E是包含m條邊的集合,<v,w>是E中從v到w的邊,c<v,w>是邊<v,w>的非負(fù)權(quán)值,設(shè)a,b是V中的節(jié)點,Pab={v0=a,v1,…,vn=b}是V中由a到b的一條路徑,則路徑Pab的權(quán)值總和C(Pab)表示為:C(Pab)=Σi=1n-1c(vi,vi+1)]]>因此最短路徑問題就是在帶權(quán)的圖中,尋找從指定起點到終點的一條權(quán)值總和最小的路徑。Dijkstra算法的原理如下:(1)引入一個輔助向量D,它的每個分量D[i]表示當(dāng)前所找到的從起始點vs到每個中間點vi的最短路徑長度。D的初始狀態(tài)為:若從vs到vi有邊,則D[i]為邊上的權(quán)值,否則令D[i]為∞。設(shè)集合M為求得最短路徑終點的集合,初始狀態(tài)為空集。最短路徑生成過程如下:(2)從vs出發(fā),到圖上其他各節(jié)點vi的可能最短路徑長度為D[i]的初值為:D[i]=c<vs,vi>;(3)選擇vj,使得vj就是當(dāng)前求得的從vs出發(fā)的最短路徑終點,并且將vj加入到集合M中。(4)更新從vs出發(fā)到集合V-M上任一節(jié)點vk的可達(dá)最短路徑長度,如果D[k]>D[j]+c<vj,vk>,則更新D[k]為D[k]=D[j]+c<vj,vk>;(5)重復(fù)操作(2)、(3)共n-1次,則可得到從vs出發(fā)到任一節(jié)點的最短路徑長度。(6)最后由下述公式(5-1)計算得到從vs到vd的最短路徑長度C(Psd):C(Psd)=Σi=1n-1c(vi,vi+1)---(5-1);]]>其中:C(Psd)為從起始點vs到節(jié)點vd的最短路徑長度;n表示n個節(jié)點;c(vi,vi+1)是邊(vi,vi+1)的非負(fù)權(quán)值。步驟106中,由Dijkstra算法可以得到從某一節(jié)點到其它節(jié)點的最短路徑長度,但運輸車輛在選擇某廠家運輸商品時還要考慮到商品發(fā)往的目的地、數(shù)量、價格等因素,加入其它條件肯定會導(dǎo)致算法搜索時間增多,因此本發(fā)明根據(jù)以上算法思想,提出了本發(fā)明的算法,基于Dijkstra算法的多目標(biāo)約束(MoCD,Multi-objectiveConstraintDijkstra)的商品配送路徑規(guī)劃算法,簡稱MoCD算法。假設(shè)不同廠家的商品發(fā)往不同的目的地A,B,C,廠家Fi存有商品wi噸,價格為pi。車輛需求的商品數(shù)量為W噸,需要到m個廠家能滿足所需求的商品數(shù)量。則我們的約束條件如下:Min(Σi=1mC(Pi-1,i))Σi=1mwi≥WMin(m)Min(pi),---(5-2)]]>其中:表示車輛經(jīng)過m個廠家滿足運輸需求的最短路徑長度;wi表示廠家Fi存有的商品,單位為噸;C(Pi-1,i)表示節(jié)點i-1到節(jié)點i間的最短路徑,即為單個廠家滿足運輸需求的最短路徑長度;W表示車輛需求的商品數(shù)量,單位為噸;Pi-1,i表示節(jié)點i-1到節(jié)點i間的一條路徑;然而在多目標(biāo)的約束條件下,算法的搜索時間肯定會增大,因此我們引入逐級搜索的方法。如圖2中,將整個城市道路網(wǎng)分為9個區(qū)域,根據(jù)車輛所處城市的不同位置,來實現(xiàn)由近及遠(yuǎn)的搜索。本發(fā)明算法的流程圖如圖3所示。實施例二本發(fā)明根據(jù)山東省某市區(qū)內(nèi)的66家鋼材廠家對所提算法進行驗證,將基于Dijkstra算法的商品配送路徑規(guī)劃算法應(yīng)用到某公司開發(fā)的App當(dāng)中,根據(jù)手機App中的裝貨推薦功能對本發(fā)明算法的實用性進行驗證。下面主要從不同算法搜索路徑的時間和規(guī)劃方案來進行說明。(1)計算時間是衡量算法性能的因素之一??紤]66個鋼材廠家,某車輛需要運輸發(fā)往北京的某種鋼材,我們根據(jù)手機App給出搜索出的最優(yōu)路徑時間作為算法的計算時間,運行10次求其均值,以下給出蟻群算法和本發(fā)明算法的平均計算時間。表1三種算法的平均計算時間從表1可以看出,本發(fā)明的算法與蟻群算法相比,路徑搜索時間較短,在實際應(yīng)用中用戶體驗較好。(2)算法復(fù)雜度。算法的復(fù)雜度包括時間復(fù)雜度和空間復(fù)雜度,時間復(fù)雜度主要是算法搜索最優(yōu)路徑所需的時間與節(jié)點數(shù)量的關(guān)系;空間復(fù)雜度主要是算法在運行時占用的內(nèi)存資源。蟻群算法的時間復(fù)雜度為O(n4),空間復(fù)雜度為O(n2);Dijkstra算法的時間復(fù)雜度為O(n2),空間復(fù)雜度為O(n);本發(fā)明的算法是基于Dijkstra算法,其中給出商品數(shù)量供需方案時的時間復(fù)雜度為O(n),空間復(fù)雜度為O(1)。因此,本發(fā)明中的MoCD算法的時間復(fù)雜度為T(n)=O(n2)+O(n)=O(n2);空間復(fù)雜度S(n)=O(n)+O(1)=O(n)。如圖4、5所示,由圖4、圖5可以看出,蟻群算法在計算時會耗費大量的時間和內(nèi)存資源,而本發(fā)明的MoCD算法的計算時間和計算開銷則大大降低,采用逐級搜索的方式可以進一步降低算法的搜索時間和對內(nèi)存資源的占用。(3)規(guī)劃方案??紤]某市區(qū)內(nèi)的66家鋼材廠家,某車輛在不同的初始位置,需求發(fā)往北京的某種鋼材分別為15噸和40噸時,本發(fā)明給出的最優(yōu)路徑規(guī)劃方案如下。某車輛在需求量為15噸時,此地區(qū)內(nèi)廠家滿足其需求,并且路徑最短的規(guī)劃方案結(jié)果如圖6所示。某車輛某時刻在另一地點,需求量為40噸時,給出了兩個廠家組合滿足其需求的方案,此時路徑規(guī)劃方案的結(jié)果如圖7所示。本發(fā)明提供的方法結(jié)合城市中道路實際情況,以道路交叉點或端點為節(jié)點,建立了城市道路網(wǎng)模型,并將廠家位置與其最近節(jié)點視為同一節(jié)點,減少了模型中節(jié)點的數(shù)量;針對多個目標(biāo)約束下的商品配送路徑規(guī)劃問題,建立了以滿足車輛需求商品數(shù)量為目標(biāo),由車輛位置和滿足需求的廠家位置運用Dijkstra算法進行路徑規(guī)劃。并將城市進行分區(qū),采用逐級搜索的方法進行路徑的規(guī)劃,提高了最優(yōu)路徑的搜索效率。應(yīng)該明白,公開的過程中的步驟的特定順序或?qū)哟问鞘纠苑椒ǖ膶嵗?。基于設(shè)計偏好,應(yīng)該理解,過程中的步驟的特定順序或?qū)哟慰梢栽诓幻撾x本公開的保護范圍的情況下得到重新安排。所附的方法權(quán)利要求以示例性的順序給出了各種步驟的要素,并且不是要限于所述的特定順序或?qū)哟?。在上述的詳?xì)描述中,各種特征一起組合在單個的實施方案中,以簡化本公開。不應(yīng)該將這種公開方法解釋為反映了這樣的意圖,即,所要求保護的主題的實施方案需要清楚地在每個權(quán)利要求中所陳述的特征更多的特征。相反,如所附的權(quán)利要求書所反映的那樣,本發(fā)明處于比所公開的單個實施方案的全部特征少的狀態(tài)。因此,所附的權(quán)利要求書特此清楚地被并入詳細(xì)描述中,其中每項權(quán)利要求獨自作為本發(fā)明單獨的優(yōu)選實施方案。最后應(yīng)當(dāng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對本發(fā)明進行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員依然可以對本發(fā)明的具體實施方式進行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請待批的本發(fā)明的權(quán)利要求保護范圍之內(nèi)。當(dāng)前第1頁1 2 3