專利名稱:基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法
技術(shù)領(lǐng)域:
本發(fā)明是基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法。
背景技術(shù):
物流行業(yè)中的物流配載流程由于涉及的地區(qū)太多,目前一般都是人工選擇車輛的 配送路線,這樣導(dǎo)致工作效率低下,而且人工選擇不能保證運(yùn)輸路線的最優(yōu)化從而增加了 運(yùn)營(yíng)成本,自動(dòng)選擇配載運(yùn)輸路線是大勢(shì)所趨。目前市場(chǎng)上存在有自動(dòng)路線選擇系統(tǒng)但是 如果運(yùn)輸過程所涉及的城市過多則運(yùn)算效率低下。
發(fā)明內(nèi)容
本發(fā)明目的是針對(duì)現(xiàn)有技術(shù)存在的缺陷,基于全國(guó)范圍內(nèi)的路網(wǎng)結(jié)構(gòu)提供一種種 高效計(jì)算任意城市間最優(yōu)路徑選擇方法。本發(fā)明為實(shí)現(xiàn)上述目的,采用如下技術(shù)方案
本發(fā)明基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法包括以下步驟 基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法,其特征在于包括以下步
驟
(1)初始化全國(guó)城市地圖網(wǎng)所述地圖網(wǎng)為成省市二級(jí)結(jié)構(gòu),并對(duì)所有市進(jìn)行編碼,編 碼采用郵政物流系統(tǒng)中的地區(qū)編碼完畢則進(jìn)入步驟2;
(2)建立地區(qū)信息幫手,地區(qū)信息幫手即可以實(shí)時(shí)轉(zhuǎn)化城市名稱與城市編碼的靜態(tài)方 法;所有的優(yōu)化查詢以編碼的形式而不是以城市名稱的形式進(jìn)行,建立完畢進(jìn)入步驟3 ;
(3)初始化系統(tǒng)線路圖讀取數(shù)據(jù)庫(kù)中線路信息表的所有線路信息系統(tǒng),線路信息系統(tǒng) 包括起點(diǎn)、終點(diǎn)、里程數(shù)、運(yùn)輸費(fèi)用和運(yùn)輸時(shí)間,以起點(diǎn)和終點(diǎn)為節(jié)點(diǎn),以里程數(shù)、運(yùn)輸費(fèi)用、 運(yùn)輸時(shí)間為權(quán)值,建立線路的拓?fù)鋱D,以HashMap的形式存放,建立完畢進(jìn)入步驟4 ;
(4)在路徑選擇啟動(dòng)之初將系統(tǒng)線路圖讀入內(nèi)存使得整個(gè)程序進(jìn)程之中該路線圖一直 存在于內(nèi)存當(dāng)中,完畢之后進(jìn)入步驟5 ;
(5)利用存于內(nèi)存之中的路網(wǎng)節(jié)點(diǎn)圖構(gòu)造Dijkstra地圖,完畢之后進(jìn)入步驟6;
(6)輸入要查詢的起始城市以及目的城市,如果輸入的城市不存在進(jìn)入步驟8,如果存 在進(jìn)入步驟7;
(7)根據(jù)迪杰斯特拉算法計(jì)算出最優(yōu)的路線圖,返回最優(yōu)路線,以及最優(yōu)路線的權(quán)值 總和;
(8)返回信息告知輸入的查詢城市不在系統(tǒng)的地圖信息當(dāng)中,請(qǐng)管理員完善地圖信息 后再來查詢;
(9)結(jié)束。本發(fā)明將傳統(tǒng)的最優(yōu)路徑查詢計(jì)算過程通過內(nèi)存分解技術(shù)分解為查詢和初始拓 撲圖兩大過程,大大的優(yōu)化了查詢的運(yùn)行效率,并利用地理信息系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實(shí)現(xiàn) 網(wǎng)絡(luò)中任意兩點(diǎn)間的最優(yōu)路徑查詢。
圖1是本發(fā)明的流程圖。圖中,1.城市編碼;2.建立地區(qū)信息幫手;3.建立路線 信息幫手;4.將路網(wǎng)節(jié)點(diǎn)圖讀入內(nèi)存;5.構(gòu)造Dijkstra地圖;6.判斷要查詢的城市在不 在系統(tǒng)地圖中;7.返回最優(yōu)路線結(jié)果;8.告知用戶完善地圖信息后再查詢;9.結(jié)束。
具體實(shí)施例方式基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法包括以下步驟 基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法,其特征在于包括以下步
驟
(1)初始化全國(guó)城市地圖網(wǎng)所述地圖網(wǎng)為成省市二級(jí)結(jié)構(gòu),并對(duì)所有市進(jìn)行編碼,編 碼采用郵政物流系統(tǒng)中的地區(qū)編碼完畢則進(jìn)入步驟2;
(2)建立地區(qū)信息幫手,地區(qū)信息幫手即可以實(shí)時(shí)轉(zhuǎn)化城市名稱與城市編碼的靜態(tài)方 法;所有的優(yōu)化查詢以編碼的形式而不是以城市名稱的形式進(jìn)行,建立完畢進(jìn)入步驟3 ;
(3)初始化系統(tǒng)線路圖讀取數(shù)據(jù)庫(kù)中線路信息表的所有線路信息系統(tǒng),線路信息系統(tǒng) 包括起點(diǎn)、終點(diǎn)、里程數(shù)、運(yùn)輸費(fèi)用和運(yùn)輸時(shí)間,以起點(diǎn)和終點(diǎn)為節(jié)點(diǎn),以里程數(shù)、運(yùn)輸費(fèi)用、 運(yùn)輸時(shí)間為權(quán)值,建立線路的拓?fù)鋱D,以HashMap的形式存放,建立完畢進(jìn)入步驟4 ;
(4)在路徑選擇啟動(dòng)之初將系統(tǒng)線路圖讀入內(nèi)存使得整個(gè)程序進(jìn)程之中該路線圖一直 存在于內(nèi)存當(dāng)中,完畢之后進(jìn)入步驟5 ;
(5)利用存于內(nèi)存之中的路網(wǎng)節(jié)點(diǎn)圖構(gòu)造Dijkstra地圖,完畢之后進(jìn)入步驟6;
(6)輸入要查詢的起始城市以及目的城市,如果輸入的城市不存在進(jìn)入步驟8,如果存 在進(jìn)入步驟7;
(7)根據(jù)迪杰斯特拉算法計(jì)算出最優(yōu)的路線圖,返回最優(yōu)路線,以及最優(yōu)路線的權(quán)值 總和;
(8)返回信息告知輸入的查詢城市不在系統(tǒng)的地圖信息當(dāng)中,請(qǐng)管理員完善地圖信息 后再來查詢;
(9)結(jié)束。
權(quán)利要求
1. 一種基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法,其特征在于包括以 下步驟(1)初始化全國(guó)城市地圖網(wǎng)所述地圖網(wǎng)為成省市二級(jí)結(jié)構(gòu),并對(duì)所有市進(jìn)行編碼,編 碼采用郵政物流系統(tǒng)中的地區(qū)編碼完畢則進(jìn)入步驟2;(2)建立地區(qū)信息幫手,地區(qū)信息幫手即可以實(shí)時(shí)轉(zhuǎn)化城市名稱與城市編碼的靜態(tài)方 法;所有的優(yōu)化查詢以編碼的形式而不是以城市名稱的形式進(jìn)行,建立完畢進(jìn)入步驟3 ;(3)初始化系統(tǒng)線路圖讀取數(shù)據(jù)庫(kù)中線路信息表的所有線路信息系統(tǒng),線路信息系統(tǒng) 包括起點(diǎn)、終點(diǎn)、里程數(shù)、運(yùn)輸費(fèi)用和運(yùn)輸時(shí)間,以起點(diǎn)和終點(diǎn)為節(jié)點(diǎn),以里程數(shù)、運(yùn)輸費(fèi)用、 運(yùn)輸時(shí)間為權(quán)值,建立線路的拓?fù)鋱D,以HashMap的形式存放,建立完畢進(jìn)入步驟4 ;(4)在路徑選擇啟動(dòng)之初將系統(tǒng)線路圖讀入內(nèi)存使得整個(gè)程序進(jìn)程之中該路線圖一直 存在于內(nèi)存當(dāng)中,完畢之后進(jìn)入步驟5 ;(5)利用存于內(nèi)存之中的路網(wǎng)節(jié)點(diǎn)圖構(gòu)造Dijkstra地圖,完畢之后進(jìn)入步驟6;(6)輸入要查詢的起始城市以及目的城市,如果輸入的城市不存在進(jìn)入步驟8,如果存 在進(jìn)入步驟7;(7)根據(jù)迪杰斯特拉算法計(jì)算出最優(yōu)的路線圖,返回最優(yōu)路線,以及最優(yōu)路線的權(quán)值 總和;(8)返回信息告知輸入的查詢城市不在系統(tǒng)的地圖信息當(dāng)中,請(qǐng)管理員完善地圖信息 后再來查詢;(9)結(jié)束。
全文摘要
本發(fā)明公布了一種基于全國(guó)范圍內(nèi)路網(wǎng)結(jié)構(gòu)的任意城市間最優(yōu)路徑選擇方法,建立城市路網(wǎng)拓?fù)浣Y(jié)構(gòu);建立城市節(jié)點(diǎn)即結(jié)點(diǎn)圖層;對(duì)城市進(jìn)行地理編碼,實(shí)現(xiàn)空間定位;選用Dijkstra(迪杰斯特拉)算法進(jìn)行運(yùn)算,求出所有結(jié)點(diǎn)之間最短(優(yōu))路徑;在程序啟動(dòng)之初將路網(wǎng)節(jié)點(diǎn)圖讀入內(nèi)存,以提高最優(yōu)路徑查找效率;根據(jù)起始城市A的編碼,以及終止城市B的編碼,求出A至B的最短路徑W。本發(fā)明將傳統(tǒng)的最優(yōu)路徑查詢計(jì)算過程通過內(nèi)存分解技術(shù)分解為查詢和初始拓?fù)鋱D兩大過程,大大的優(yōu)化了查詢的運(yùn)行效率,并利用地理信息系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實(shí)現(xiàn)網(wǎng)絡(luò)中任意兩點(diǎn)間的最優(yōu)路徑查詢。
文檔編號(hào)G06F17/30GK102073669SQ20101050845
公開日2011年5月25日 申請(qǐng)日期2010年10月15日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者孫毅, 居彬, 張小飛, 戚鵬飛, 蔡鍔, 金良 申請(qǐng)人:江蘇鴻信系統(tǒng)集成有限公司