專利名稱:一種確定推薦經(jīng)由地順序的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用遺傳進(jìn)化算法的位置服務(wù)技術(shù)領(lǐng)域,更為具體地,涉及一種確定在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的方法及系統(tǒng)。
背景技術(shù):
基于位置服務(wù)系統(tǒng)根據(jù)用戶的空間位置及時(shí)地提供與位置信息相關(guān)的移動(dòng)信息服務(wù),包括基于位置信息的交通信息查詢,最優(yōu)路徑計(jì)算,推薦經(jīng)由地順序,商場(chǎng)打折信息、 酒店和餐廳的周邊信息查詢服務(wù),緊急救援,區(qū)域廣告和位置的游戲和娛樂等。其中,推薦經(jīng)由地順序的功能是位置服務(wù)系統(tǒng)中一個(gè)比較常用的功能。進(jìn)化計(jì)算是通過模擬自然界中生物進(jìn)化機(jī)制進(jìn)行搜索的一種算法。進(jìn)化計(jì)算的研究起源于20世紀(jì)50年代。1965年,John Henry Holland首次提出了人工遺傳操作的重要性,并把這些應(yīng)用于自然系統(tǒng)和人工系統(tǒng)中,大約在同一時(shí)期,hgo Rechenberg和 Hans-Paul ^Awefel提出了進(jìn)化策略,Lawrence J. Fogel提出了進(jìn)化規(guī)劃。進(jìn)化算法包括遺傳算法、進(jìn)化程序設(shè)計(jì)、進(jìn)化規(guī)劃和進(jìn)化策略等等,進(jìn)化算法的基本框架還是簡(jiǎn)單遺傳算法所描述的框架,但在進(jìn)化的方式上有較大的差異,選擇、交叉、變異、種群控制等有很多變化,進(jìn)化算法的大致框圖可描述如圖1所示。進(jìn)化算法的收斂性有一些實(shí)證性結(jié)果,在Guenter Rudolph的《Convergence analysis of canonical genetic algorithms》中證明了在保存最優(yōu)個(gè)體時(shí)通用的進(jìn)化計(jì)算是收斂的,進(jìn)化算法的很多結(jié)果是從遺傳算法推理得到的。遺傳算法對(duì)交叉操作要看重一些,認(rèn)為變異操作是算法的輔助操作;而進(jìn)化規(guī)劃和進(jìn)化策略認(rèn)為在一般意義上說交叉并不優(yōu)于變異,甚至可以不要交叉操作。進(jìn)化算法的應(yīng)用主要集中在用傳統(tǒng)的優(yōu)化方法不能夠解決或者不能夠有效解決的問題上,也可以應(yīng)用于位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的功能中。但是由于這是一個(gè) NP(Non-deterministic Polynomial,多項(xiàng)式復(fù)雜程度的非確定性)難題,即解決問題的算法時(shí)空復(fù)雜度都不是多項(xiàng)式級(jí)的。在車載導(dǎo)航系統(tǒng)中,推薦經(jīng)由地順序功能的理論模型是旅行推銷員問題。旅行推銷員問題(Traveling Salesman ftx)blem,又稱為旅行商問題、貨郎擔(dān)問題、TSP問題)是一個(gè)多局部最優(yōu)的最優(yōu)化問題,這個(gè)問題可以這樣描述有η個(gè)城市,一個(gè)推銷員要從其中某一個(gè)城市出發(fā),唯一走遍所有的城市,再回到他出發(fā)的城市,求最短的路線。在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的功能,稍加修改可以抽象為旅行推銷員問題。旅行推銷員問題被證明是NP最明顯的算法就是窮舉法,圖2為窮舉法解決TSP問題的示意圖,如圖2所示,采用窮舉法解決旅行推銷員問題即為尋找一切組合并取其最短。這種算法的排列數(shù)為0(η !)(其中η為節(jié)點(diǎn)個(gè)數(shù)),用動(dòng)態(tài)規(guī)劃技術(shù),可以在0(η22η)時(shí)間內(nèi)解決此問題。雖然這仍然是指數(shù)級(jí)的,但要比0(η !)快得多。在車載導(dǎo)航系統(tǒng)中,現(xiàn)有的解決推薦經(jīng)由地順序功能的技術(shù)解決方案,一種是僅限于很少的經(jīng)由地?cái)?shù)目,實(shí)現(xiàn)計(jì)算經(jīng)由地之間的花費(fèi)后排列組合,求解出順序。另一種,利用直線距離代替實(shí)際花費(fèi),按照從離當(dāng)前經(jīng)由地直線距離,確定最近的另一個(gè)經(jīng)由地,以此類推,確定順序。現(xiàn)有的技術(shù)解決方案,沒有很好的解決推薦經(jīng)由地順序的功能。進(jìn)化計(jì)算可以在有限的常數(shù)項(xiàng)0(m)時(shí)空復(fù)雜度內(nèi)解決傳統(tǒng)的TSP問題,但是由于進(jìn)化計(jì)算的固有缺陷,算法很容易造成過早收斂到局部收斂而非全局最優(yōu)解、種群多樣性降低等現(xiàn)象,從而造成算法收斂緩慢、收斂到局部最優(yōu)解或者不收斂。從上述確定推薦經(jīng)由地順序的解決方案可以看出,現(xiàn)有的解決方案不能完全在性能和效果上完全滿足用戶對(duì)位置服務(wù)系統(tǒng)要求,并且隨著經(jīng)由地?cái)?shù)目的增加,現(xiàn)有的算法收斂很慢,因此,亟需一種在性能和效果都可以滿足需求的技術(shù)方案來解決這個(gè)問題。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明的目的是提供一種用加速收斂的進(jìn)化計(jì)算確定在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的方法及系統(tǒng)。根據(jù)本發(fā)明的一個(gè)方面,提供了一種確定推薦經(jīng)由地順序的方法,包括根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣;為由現(xiàn)在地、經(jīng)由地和目的地組成的位置序列進(jìn)行編碼生成個(gè)體和由個(gè)體組成的初始種群;對(duì)所編碼的每一序列個(gè)體進(jìn)行適應(yīng)值評(píng)價(jià);判斷序列個(gè)體的適應(yīng)值是否滿足所使用的遺傳算法的收斂條件,如果滿足,則將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;否則對(duì)所述個(gè)體進(jìn)行所使用的遺傳算法的操作,形成下一代種群后,再次判斷個(gè)體的適應(yīng)值是否滿足遺傳算法的收斂條件;其中,所述個(gè)體進(jìn)行遺傳算法的操作包括根據(jù)所述個(gè)體的適應(yīng)值評(píng)價(jià)對(duì)所述個(gè)體進(jìn)行選擇、交叉、變異;對(duì)變異后的個(gè)體進(jìn)行通過個(gè)體適應(yīng)值信息利用插值方法或者逼近方法獲得探索空間的景象信息進(jìn)而找到全局最優(yōu)個(gè)體的加速收斂操作。根據(jù)本發(fā)明的另一方面,提供了一種確定推薦經(jīng)由地順序的系統(tǒng),包括花費(fèi)矩陣計(jì)算單元,用于根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣;編碼及種群初始化單元,用于為由現(xiàn)在地、經(jīng)由地和目的地組成的位置序列進(jìn)行編碼生成個(gè)體和由個(gè)體組成的初始種群;適應(yīng)值評(píng)價(jià)單元,用于對(duì)所述編碼及種群初始化單元所編碼的每一由現(xiàn)在地、經(jīng)由地和目的地組成的序列個(gè)體進(jìn)行適應(yīng)值評(píng)價(jià);收斂判斷單元,用于根據(jù)所述適應(yīng)值評(píng)價(jià)單元所作出的適應(yīng)值評(píng)價(jià)判斷個(gè)體的適應(yīng)值是否滿足所使用的遺傳算法的收斂條件;推薦經(jīng)由地輸出單元,用于在所述判斷收斂單元判斷為滿足所述收斂條件時(shí),將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;遺傳進(jìn)化計(jì)算單元,用于對(duì)不滿足所述收斂條件的個(gè)體進(jìn)行所使用的遺傳算法的操作,其中所述遺傳進(jìn)化計(jì)算單元包括
選擇、交叉、變異單元用于根據(jù)個(gè)體的適應(yīng)值評(píng)價(jià)對(duì)所述個(gè)體進(jìn)行選擇、交叉、變
已
升;加速收斂單元用于對(duì)變異后的所述個(gè)體進(jìn)行通過個(gè)體適應(yīng)值信息利用插值方法或者逼近方法獲得探索空間的景象信息進(jìn)而找到全局最優(yōu)個(gè)體的加速收斂操作。利用上述根據(jù)本發(fā)明的利用加速收斂的進(jìn)化計(jì)算確定推薦經(jīng)由地順序的方法及系統(tǒng),在利用現(xiàn)有個(gè)體適應(yīng)值的基礎(chǔ)上,利用探索空間的景象信息,在整個(gè)問題的探索空間插值新的有較好適應(yīng)值的個(gè)體,刪除進(jìn)化緩慢的個(gè)體,加速算法的收斂。本發(fā)明既保證了在整個(gè)探索空間上的局部深度探索加速尋找全局最優(yōu)解,又沒有破壞整個(gè)探索空間的進(jìn)化信息,是一種低花費(fèi)高回報(bào)的技術(shù)改進(jìn)方法。并且,在本發(fā)明中還利用實(shí)際地理信息數(shù)據(jù)形成的多個(gè)經(jīng)由地之間的花費(fèi)矩陣,高擬合的逼近了實(shí)際花費(fèi)矩陣,結(jié)合加速的進(jìn)化計(jì)算方法高效解決了在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的技術(shù)難題。本發(fā)明適用于基于位置服務(wù)系統(tǒng),特別是車載導(dǎo)航系統(tǒng),實(shí)現(xiàn)推薦經(jīng)由地順序功能的應(yīng)用。為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對(duì)本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中圖1示出了進(jìn)化計(jì)算的一般流程示意圖;圖2示出了窮舉法解決TSP問題的示意圖;圖3示出了本發(fā)明確定推薦經(jīng)由地順序的方法流程示意圖;圖4 圖8示出了本發(fā)明計(jì)算經(jīng)由地之間花費(fèi)矩陣過程中的現(xiàn)在地、經(jīng)由地和目的地中任意兩點(diǎn)間實(shí)際地理信息數(shù)據(jù)的選擇、點(diǎn)的確定以及坐標(biāo)系變換的示意圖;圖9示出了進(jìn)化計(jì)算的探索空間示意圖;圖10示出了探索空間的景象信息示意圖;圖11示出了本發(fā)明確定推薦經(jīng)由地順序過程中加速遺傳算法收斂的流程示意圖;圖12示出了驗(yàn)證本發(fā)明De Jong Functionl平均收斂比較示意圖;圖13示出了驗(yàn)證本發(fā)明De Jong Functionl最優(yōu)收斂比較示意圖;圖14示出了本發(fā)明確定推薦經(jīng)由地順序的系統(tǒng)的邏輯結(jié)構(gòu)框圖。在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。
具體實(shí)施例方式以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。為了完全在性能和效果上實(shí)現(xiàn)推薦經(jīng)由地順序的目的,滿足位置服務(wù)系統(tǒng)的需求,本發(fā)明提供一種用加速收斂的進(jìn)化計(jì)算確定推薦經(jīng)由地順序的方法,利用實(shí)際的地理CN 102158799 A
說明書
4/11 頁
數(shù)據(jù)信息作為實(shí)際的輸入,有效地逼近經(jīng)由地之間的實(shí)際花費(fèi),利用逼近/插值方法有效的加快了技術(shù)方案的收斂。本發(fā)明提出了一種用加速收斂的進(jìn)化計(jì)算確定在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的方法,這種方法在利用現(xiàn)有適應(yīng)值的基礎(chǔ)上,利用探索空間的景象信息,在整個(gè)問題的探索空間,插值新的有較好適應(yīng)值的個(gè)體,刪除進(jìn)化緩慢的個(gè)體,加速算法的收斂。這種方法既保證了在整個(gè)探索空間上的局部深度探索加速尋找全局最優(yōu)解,又沒有破壞整個(gè)探索空間的進(jìn)化信息,可以說是一種低花費(fèi)高回報(bào)的技術(shù)改進(jìn)方法。利用實(shí)際地理信息數(shù)據(jù)形成的現(xiàn)在地、多個(gè)經(jīng)由地和目的地之間的花費(fèi)矩陣,高擬合的逼近了實(shí)際花費(fèi)矩陣,結(jié)合加速的進(jìn)化計(jì)算方法高效解決了在位置服務(wù)系統(tǒng)中推薦經(jīng)由地順序的技術(shù)難題。按照進(jìn)化計(jì)算的一般步驟,結(jié)合在導(dǎo)航系統(tǒng)中解決推薦經(jīng)由地順序的具體應(yīng)用, 本發(fā)明確定推薦經(jīng)由地順序的方法流程如圖3所示S310 根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣;S320 為現(xiàn)在地、經(jīng)由地和目的地組成的位置序列進(jìn)行編碼生成個(gè)體和由個(gè)體組成的初始種群;S330 對(duì)所編碼的每一序列個(gè)體進(jìn)行適應(yīng)值評(píng)價(jià);S340:判斷序列個(gè)體的適應(yīng)值是否滿足所使用的遺傳算法的收斂條件,如果滿足, 則轉(zhuǎn)至步驟S350 ;如果不滿足,則順序進(jìn)行步驟S360 步驟S390的流程對(duì)個(gè)體進(jìn)行所使用的遺傳算法的操作,形成下一代種群,然后再次進(jìn)行適應(yīng)值評(píng)價(jià);S350 將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;S360:對(duì)適應(yīng)值不滿足收斂條件的個(gè)體進(jìn)行所使用的遺傳算法的選擇操作,S370 對(duì)所選擇的個(gè)體進(jìn)行所使用的遺傳算法的交叉操作;S380 對(duì)所交叉的個(gè)體進(jìn)行所使用的遺傳算法的變異操作;S390 對(duì)變異后的個(gè)體進(jìn)行加速的進(jìn)化計(jì)算;通過個(gè)體適應(yīng)值信息利用插值方法或者逼近方法獲得探索控件的景象信息進(jìn)而保留精英個(gè)體,確定找到全局最優(yōu)解。下面將對(duì)圖3所示流程中的具體細(xì)節(jié)進(jìn)行詳細(xì)說明。圖4 圖8示出了本發(fā)明計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間花費(fèi)矩陣過程中的現(xiàn)在地、經(jīng)由地和目的地中任意兩點(diǎn)間實(shí)際地理信息數(shù)據(jù)的選擇、點(diǎn)的確定以及坐標(biāo)系變換的示意圖,也就是圖3中步驟S310的更為詳細(xì)的花費(fèi)矩陣計(jì)算流程。本發(fā)明中的花費(fèi)矩陣指的是現(xiàn)在地、經(jīng)由地和目的地之間的矩陣,現(xiàn)在地、若干個(gè)經(jīng)由地和目的地之間都需要計(jì)算花費(fèi),這個(gè)花費(fèi)可以是現(xiàn)在地、若干個(gè)經(jīng)由地和目的地之間的時(shí)間或者距離,也可以是現(xiàn)在地、若干個(gè)經(jīng)由地和目的地之間的其它花費(fèi)。在下面的具體實(shí)施方式
中,將以計(jì)算現(xiàn)在地和目的地之間的距離花費(fèi)矩陣為例進(jìn)行示例性說明。如圖4 圖8所示,在步驟S310計(jì)算經(jīng)由地之間花費(fèi)矩陣的過程中,具體包括S311 根據(jù)η個(gè)點(diǎn)的坐標(biāo)建立ηΧη的兩點(diǎn)間花費(fèi)矩陣,其中η為坐標(biāo)的點(diǎn)數(shù)。S312:從需要確定經(jīng)由地順序的原始數(shù)據(jù)中取得現(xiàn)在地和目的地以及兩點(diǎn)間的用于路徑計(jì)算的Mesh,并將其表示在步驟S311所建立的花費(fèi)矩陣中。其中Mesh的含義是實(shí)際地理數(shù)據(jù)中的一塊數(shù)據(jù),在圖4所示的坐標(biāo)示意圖中,一個(gè)斜線格所代表的數(shù)據(jù)表示所取得的Mesh,現(xiàn)在地記為A,目的地記為B。具體到車載導(dǎo)航系統(tǒng)的應(yīng)用來講,在取得Mesh的過程中,現(xiàn)在地坐標(biāo)即為車輛坐
7標(biāo),目的地坐標(biāo)即為目的地坐標(biāo)。通過車輛坐標(biāo)、目的地坐標(biāo)和若干經(jīng)由地坐標(biāo)計(jì)算坐標(biāo)節(jié)點(diǎn)之間的距離,即形成上述現(xiàn)在地、若干個(gè)經(jīng)由地和目的地之間的距離花費(fèi)矩陣。也就是說,在計(jì)算距離花費(fèi)矩陣時(shí),根據(jù)實(shí)際的數(shù)據(jù)地圖格式存儲(chǔ)的地理數(shù)據(jù)信息,計(jì)算出實(shí)際的直線距離之和,從而形成經(jīng)由地之間的花費(fèi)矩陣。S313 確定步驟S312的花費(fèi)矩陣中各個(gè)Mesh的幾何中心點(diǎn)的坐標(biāo),如圖5中所示的各個(gè)Mesh中的實(shí)心黑點(diǎn)。S314 對(duì)步驟S313中確定了現(xiàn)在地和目的地以及各個(gè)Mesh的幾何中心點(diǎn)的坐標(biāo)的花費(fèi)矩陣進(jìn)行坐標(biāo)系的變化,以現(xiàn)在地A為原點(diǎn),以現(xiàn)在地A和目的地B所在的直線為χ 軸建立坐標(biāo)系,如圖6所示。S315:以Mesh的寬度為單位,從原點(diǎn)(現(xiàn)在地A)開始將χ軸劃分為若干個(gè)區(qū)間, 并在每個(gè)區(qū)間內(nèi)選取與X軸距離最短的點(diǎn)。圖7中空心的點(diǎn)位即為選取出的每個(gè)區(qū)間內(nèi)與 χ軸距離最短的點(diǎn)。S316 通過現(xiàn)在地Α、每個(gè)區(qū)間內(nèi)與χ軸距離最短的點(diǎn)以及目的地B確定現(xiàn)在地A 至目的地B的距離。具體為將現(xiàn)在地A和上述每個(gè)區(qū)間內(nèi)與χ軸距離最短的點(diǎn)沿χ軸方向依次連接,最終與目的地B相連,所形成的線段長(zhǎng)度即為現(xiàn)在地A至目的地B的距離。在圖8所示的坐標(biāo)矩陣示意圖中,A- > Pl- > Ρ2- > Ρ3- > Ρ4- > Ρ5- > Ρ6- > B,這些在步驟S315中所選取的距離χ軸最短的空心點(diǎn)位連成的線段的長(zhǎng)度即為A到B的距離。按上述步驟S311 S316的流程,能夠計(jì)算出η個(gè)坐標(biāo)點(diǎn)中任意兩點(diǎn)間的距離,放到矩陣中即可。在上述步驟S311 S316中對(duì)于經(jīng)由地之間的花費(fèi)矩陣的選擇和逼近處理的過程,在具體的車載導(dǎo)航系統(tǒng)的應(yīng)用中,即為根據(jù)不同地圖格式的道路數(shù)據(jù)信息,對(duì)于經(jīng)由地之間的花費(fèi)矩陣進(jìn)行逼近,目的是盡可能的使度量?jī)牲c(diǎn)(現(xiàn)在地和目的地)間的實(shí)際距離與所計(jì)算的路徑信息更加貼近。在確定了經(jīng)由地之間的最終花費(fèi)矩陣之后,就需要對(duì)所有可能的經(jīng)由地順序進(jìn)行個(gè)體的編碼。在本發(fā)明確定推薦經(jīng)由地順序的具體應(yīng)用中,個(gè)體是指現(xiàn)在地、經(jīng)由地、目的地順序的排列,現(xiàn)在地和目的地是組成個(gè)體的第一個(gè)和最后一個(gè)元素,經(jīng)由地的順序可以任意組合。具體到圖4所示的實(shí)施例,個(gè)體就是指自現(xiàn)在地A起至目的地B止的每一個(gè)經(jīng)由地順序的組合,個(gè)體的編碼指的是現(xiàn)在地、經(jīng)由地和目的地的序號(hào)的排列(序號(hào)不可重復(fù))。當(dāng)然,圖4中的現(xiàn)在地A和目的地B也可以視為兩個(gè)經(jīng)由地,或者一個(gè)是現(xiàn)在地一個(gè)是經(jīng)由地,或者一個(gè)是經(jīng)由地一個(gè)是目的地,任意兩點(diǎn)間的花費(fèi)矩陣都可以通過本發(fā)明所提供的上述方法確定。在確定推薦經(jīng)由地順序的數(shù)據(jù)處理過程中,由于現(xiàn)在地和目的地是確定(不能改變)的,因此,個(gè)體DNA中第一個(gè)基因和最后一個(gè)基因是不變的。在現(xiàn)有的個(gè)體編碼實(shí)現(xiàn)過程中,多采用二進(jìn)制對(duì)個(gè)體進(jìn)行編碼,但由于經(jīng)由地的個(gè)數(shù)是不固定的,使用二進(jìn)制編碼需要確定每個(gè)基因編碼的長(zhǎng)度;并且二進(jìn)制編碼在進(jìn)行變異時(shí)實(shí)現(xiàn)復(fù)雜、變異后可能出現(xiàn)重復(fù)的經(jīng)由地序號(hào),而為了避免重復(fù)經(jīng)由地序號(hào)情況的發(fā)生,還需要在變異后將二進(jìn)制轉(zhuǎn)換為整數(shù)來進(jìn)行處理,處理過程比較繁瑣。因此,為了使編碼和后期數(shù)據(jù)處理更加容易實(shí)現(xiàn),在本發(fā)明的一個(gè)具體實(shí)施方式
中,采用整數(shù)(十進(jìn)制形式)代替二進(jìn)制。
具體到車載導(dǎo)航系統(tǒng)的應(yīng)用來講,對(duì)經(jīng)由地順序進(jìn)行個(gè)體的編碼也就是對(duì)以坐標(biāo)點(diǎn)表示的經(jīng)由地進(jìn)行個(gè)體的編碼,即進(jìn)化計(jì)算中的個(gè)體適應(yīng)值編碼,能夠?qū)④囕v位置、目的地位置、經(jīng)由地位置以某種形式的編碼形式表達(dá)出來,而且要求不產(chǎn)生過多的編碼冗余,易于進(jìn)化計(jì)算的各種操作和適應(yīng)度函數(shù)的評(píng)價(jià)計(jì)算。因此定義個(gè)體編碼為十進(jìn)制形式,即In
權(quán)利要求
1.一種確定推薦經(jīng)由地順序的方法,包括根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣; 為由現(xiàn)在地、經(jīng)由地和目的地組成的位置序列進(jìn)行編碼生成個(gè)體和由個(gè)體組成的初始種群;對(duì)所編碼的每一個(gè)個(gè)體進(jìn)行適應(yīng)值評(píng)價(jià);判斷個(gè)體的適應(yīng)值是否滿足所使用的遺傳算法的收斂條件,如果滿足,則將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;否則對(duì)所述個(gè)體進(jìn)行所使用的遺傳算法的操作,形成下一代種群,再次判斷個(gè)體的適應(yīng)值是否滿足遺傳算法的收斂條件; 其中,所述對(duì)所述個(gè)體進(jìn)行操作包括 根據(jù)所述個(gè)體的適應(yīng)值評(píng)價(jià)對(duì)所述個(gè)體進(jìn)行選擇、交叉、變異; 對(duì)變異后的個(gè)體進(jìn)行通過個(gè)體適應(yīng)值信息利用插值方法或者逼近方法獲得探索空間的景象信息進(jìn)而找到全局最優(yōu)個(gè)體的加速收斂操作。
2.如權(quán)利要求1所述的確定推薦經(jīng)由地順序的方法,其中,所述加速收斂操作包括 對(duì)每一代種群中的個(gè)體根據(jù)其適應(yīng)值的大小進(jìn)行排序;挑選出所述排序中位置靠前的若干個(gè)個(gè)體,將其包含的位置信息轉(zhuǎn)換為相應(yīng)的數(shù)值; 對(duì)于轉(zhuǎn)換后的數(shù)值進(jìn)行插值,得出近似函數(shù); 對(duì)所述近似函數(shù)進(jìn)行求導(dǎo),得出近似函數(shù)的極值; 將距離所述極值點(diǎn)最近的符合要求的個(gè)體作為所述下一代種群的個(gè)體。
3.如權(quán)利要求1所述的確定推薦經(jīng)由地順序的方法,其中,所述根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣包括獲取實(shí)際地理數(shù)據(jù)信息;對(duì)所述實(shí)際地理數(shù)據(jù)信息進(jìn)行數(shù)據(jù)選擇,根據(jù)所述被選擇數(shù)據(jù)對(duì)現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)數(shù)據(jù)用曲線進(jìn)行逼近處理,形成新的現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)數(shù)據(jù),由所述新的花費(fèi)數(shù)據(jù)形成所述花費(fèi)矩陣。
4.如權(quán)利要求3所述的確定推薦經(jīng)由地順序的方法,其中,所述根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣的步驟具體包括根據(jù)η個(gè)點(diǎn)的坐標(biāo)建立ηΧη的兩點(diǎn)間花費(fèi)矩陣,其中η為包括現(xiàn)在地、經(jīng)由地和目的地在內(nèi)的坐標(biāo)點(diǎn)的個(gè)數(shù);從需要確定經(jīng)由地順序的原始數(shù)據(jù)中取得現(xiàn)在地和目的地以及兩點(diǎn)間的用于路徑計(jì)算的Mesh,并將其表示在所建立的花費(fèi)矩陣中;確定所述花費(fèi)矩陣中各個(gè)Mesh的幾何中心點(diǎn)的坐標(biāo);對(duì)確定了現(xiàn)在地和目的地以及各個(gè)Mesh的幾何中心點(diǎn)的坐標(biāo)的花費(fèi)矩陣進(jìn)行坐標(biāo)系的變化,以現(xiàn)在地為原點(diǎn),以現(xiàn)在地和目的地所在的直線為χ軸建立坐標(biāo)系;以Mesh的寬度為單位,從原點(diǎn)開始將χ軸劃分為若干個(gè)區(qū)間,并在每個(gè)區(qū)間內(nèi)選取與 χ軸距離最短的點(diǎn);通過現(xiàn)在地、每個(gè)區(qū)間內(nèi)與χ軸距離最短的點(diǎn)以及目的地確定現(xiàn)在地至目的地的花費(fèi)。
5.如權(quán)利要求1所述的確定推薦經(jīng)由地順序的方法,其中,在所述選擇操作中,采用賭輪選擇方法和精英保留機(jī)制的選擇方法。在使用賭輪盤選擇方式進(jìn)行選擇時(shí),根據(jù)每個(gè)個(gè)體適應(yīng)值的倒數(shù)來確定每個(gè)個(gè)體被選中的概率。
6.如權(quán)利要求1所述的確定推薦經(jīng)由地順序的方法,其中,在所述交叉操作中,采用基于整數(shù)編碼進(jìn)行單點(diǎn)交叉的交叉策略。
7.如權(quán)利要求1所述的確定推薦經(jīng)由地順序的方法,其中,在所述變異操作中,采用隨機(jī)交換兩個(gè)基因位的方法來進(jìn)行變異。
8.一種確定推薦經(jīng)由地順序的系統(tǒng),包括花費(fèi)矩陣計(jì)算單元,用于根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣;編碼及種群初始化單元,用于為由現(xiàn)在地、經(jīng)由地和目的地組成的位置序列進(jìn)行編碼生成個(gè)體和由個(gè)體組成的初始種群;適應(yīng)值評(píng)價(jià)單元,用于對(duì)所述編碼及種群初始化單元所編碼的每一由現(xiàn)在地、經(jīng)由地和目的地組成的序列個(gè)體進(jìn)行適應(yīng)值評(píng)價(jià);收斂判斷單元,用于根據(jù)所述適應(yīng)值評(píng)價(jià)單元所作出的適應(yīng)值評(píng)價(jià)判斷個(gè)體的適應(yīng)值是否滿足所使用的遺傳算法的收斂條件;推薦經(jīng)由地輸出單元,用于在所述判斷收斂單元判斷為滿足所述收斂條件時(shí),將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;遺傳進(jìn)化計(jì)算單元,用于對(duì)不滿足所述收斂條件的個(gè)體進(jìn)行所使用的遺傳算法的操作,其中所述遺傳進(jìn)化計(jì)算單元包括選擇、交叉、變異單元用于根據(jù)個(gè)體的適應(yīng)值評(píng)價(jià)對(duì)所述個(gè)體進(jìn)行選擇、交叉、變異; 加速收斂單元用于對(duì)變異后的所述個(gè)體進(jìn)行通過個(gè)體適應(yīng)值信息利用插值方法或者逼近方法獲得探索空間的景象信息進(jìn)而找到全局最優(yōu)個(gè)體的加速收斂操作。
9.如權(quán)利要求8所述的確定推薦經(jīng)由地順序的系統(tǒng),其中,所述加速收斂單元包括 排序單元,用于對(duì)每一代種群中的個(gè)體根據(jù)其適應(yīng)值的大小進(jìn)行排序;優(yōu)選個(gè)體數(shù)值轉(zhuǎn)換單元,用于挑選出所述排序中位置靠前的若干個(gè)個(gè)體,并將其包含的位置信息轉(zhuǎn)換為相應(yīng)的數(shù)值;插值單元,用于對(duì)于轉(zhuǎn)換后的數(shù)值進(jìn)行插值,得出近似函數(shù);近似函數(shù)處理單元,用于對(duì)所述插值單元得出的近似函數(shù)進(jìn)行求導(dǎo),得到近似函數(shù)的極值;新種群個(gè)體確定單元,用于將距離所述極值點(diǎn)最近的符合要求的個(gè)體作為所述下一代種群的個(gè)體。
10.如權(quán)利要求8所述的確定推薦經(jīng)由地順序的系統(tǒng),其中,所述花費(fèi)矩陣計(jì)算單元包括地理數(shù)據(jù)信息獲取單元,用于獲取實(shí)際地理數(shù)據(jù)信息;數(shù)據(jù)選擇處理單元,用于對(duì)所述地理數(shù)據(jù)信息獲取單元獲取的所述實(shí)際地理數(shù)據(jù)信息進(jìn)行數(shù)據(jù)選擇,根據(jù)所述被選擇數(shù)據(jù)對(duì)現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)數(shù)據(jù)用曲線進(jìn)行逼近處理,形成新的現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)數(shù)據(jù),由所述新的花費(fèi)數(shù)據(jù)形成所述花費(fèi)矩陣。
全文摘要
本發(fā)明提供了一種確定推薦經(jīng)由地順序的方法及系統(tǒng),其中的方法包括根據(jù)實(shí)際地理數(shù)據(jù)信息計(jì)算現(xiàn)在地、經(jīng)由地和目的地之間的花費(fèi)矩陣;為由現(xiàn)在地、經(jīng)由地和目的地組成的順序序列進(jìn)行編碼并生成初始種群;對(duì)所編碼的每一序列進(jìn)行適應(yīng)值評(píng)價(jià);判斷序列的適應(yīng)值是否滿足遺傳算法的收斂條件,如果滿足,則將適應(yīng)值滿足收斂條件的個(gè)體作為推薦經(jīng)由地的結(jié)果輸出;否則對(duì)個(gè)體進(jìn)行遺傳算法的算法操作后再次判斷序列的適應(yīng)值是否滿足遺傳算法的收斂條件;其中,遺傳算法的操作包括選擇、交叉、變異操作和加速收斂操作。本發(fā)明能夠在現(xiàn)有個(gè)體適應(yīng)值的基礎(chǔ)上,利用探索空間的景象信息,插值新的有較好適應(yīng)值的個(gè)體,刪除進(jìn)化緩慢的個(gè)體,加速算法的收斂。
文檔編號(hào)G06N3/12GK102158799SQ201110032798
公開日2011年8月17日 申請(qǐng)日期2011年1月24日 優(yōu)先權(quán)日2011年1月24日
發(fā)明者付冰, 巢坤, 林裕佳, 裴巖, 許堯, 陳洪遠(yuǎn) 申請(qǐng)人:東軟集團(tuán)股份有限公司