一種基于譜聚類算法的景點路線推薦方法
【技術領域】
[0001] 本發明設及旅游信息服務領域,特別是一種基于譜聚類算法的景點路線推薦方 法。
【背景技術】
[0002] 旅游路線最優化問題一直是人們所關注的一個社會焦點,特別是近幾年來隨著城 市的發展,人們生活物質水平的提高,節日期間外出旅游,己經成為節假日必不可少的部 分。因此,如何對旅游路線進行合理的優化越來越被人所重視。
[0003] 旅游路線規劃是典型的旅行商問題(TSP),旅行商問題是指旅行商按一定的順序 訪問每個城市,使得每個城市都能被訪問且僅能被訪問一次,最后回到起點,且花費的代價 最小。旅行商問題是組合優化問題中典型的多項式復雜程度的非確定性問題(NP完全問 題),是許多領域內復雜工程優化問題的抽象形式。關于旅行商問題(TSP)問題的完全有效 的算法目前尚未找到,運促使人們長期W來不斷地探索并積累了大量的算法。歸納起來,目 前主要算法可分成傳統優化算法和現代優化算法。在傳統優化算法中又可分為最優解算法 和近似方法。傳統優化算法包括分支定界法、改良回路法、貪婪算法、插入法等。最優解算法 雖然可W得到精確解,但計算時間無法忍受,因此就產生了各種近似方法,運些近似算法雖 然可W較快地求得接近最優解的可行解,但其接近最優解的程度不能令人滿意。
[0004] 現代優化算法中分為確定性方法和隨機方法。確定性的方法優化速度快,但容易 陷入局部極小值,即無法保證全局最優,而且增加了算法復雜度,致使求解時間過長,不利 于實際應用;相反,隨機方法能夠最大程度的避免確定性方法的不足,雖然不能保證在確定 的步驟內得到最優解,但通過引入新的接受準則,引出了一種在全局范圍內尋找最優解的 方法一-模擬退火算法。該算法善于捜索困難度和復雜性高的"死角",從中找出期望值高 的區域,但也存在著不足之處。如果問題的復雜程度不斷增大那么其結果的求解時間也會 逐漸成指數級變大,一旦問題的規模過于龐大則求解時間也會大大延長,從而達不到預期 結果。而且可行性已經不再是人們追求的唯一目標,僅僅對運種基本需求的滿足是遠遠不 夠的,對問題求解效率和質量的要求更是人們追求的方向。
[0005] 上述方法均不能很好地滿足實際情況中的游客需求,即在較短時間內向游客推薦 一條最短的旅游路線。
【發明內容】
[0006] 發明目的:本發明所要解決的技術問題是針對現有技術的不足,提供一種基于譜 聚類算法的景點路線推薦方法。
[0007] 為了解決上述技術問題,本發明公開了一種基于譜聚類算法的景點路線推薦方 法,包括W下步驟:
[000引步驟1,游客確定要游覽的景點,通過計算機、智能終端、或者其他具有數據處理功 能的交互設備捜集運些景點的數據信息并抽象成一個無向圖;
[0009] 步驟2,使用弗洛伊德Floyd-Warshall算法化ttps : //en .Wikipedia .org/wiki/ Floyd-Warshall_algo;rithm)計算無向圖中任意兩個景點的最短距離,得到景點路徑圖,刪 除景點路徑圖中的無用路徑;
[0010] 步驟3,應用譜聚類算法將步驟2得到的景點路徑圖上的大景區切割成兩個W上小 景區;
[0011] 步驟4,采用模擬退火算法計算出小景區間的路線規劃方案;
[0012] 步驟5,選擇離游客最近的一個小景區的景點作為游客的出發點,求出該小景區內 的景點訪問路線,再根據小景區之間的路線規劃方案訪問下一個小景區,分別求出每個小 景區內部的景點訪問路線,最終得到所有景點的總體游覽路線。
[0013] 本發明中,捜集的游客游覽景點抽象為一個無向圖G=(V,E,C)。景點的集合為V = {vi,V2,···,V1,···,Vn},其中V康示第i個景點,1 y如,η表示景點的個數。道路(邊)的集合 為6={(1',3):1',3£'\〇,其中1',3為景點。景點之間的距離為〔={山:1',3£¥}。
[0014] 步驟2中,采用基于弗洛伊德的算法刪除景點之間的無用邊,分為兩步,
[0015] 步驟2-1,通過弗洛伊德算法計算出任意兩個景點i和j之間的最短距離dist[i] [j];
[0016] 步驟2-2,如果兩個景點i和j之間直接相連的路徑長度c[i][j]大于運兩個景點之 間的最短距離,即c[i][j]〉dist[i][j],那么判定該路徑不在運兩個景點的最短路徑上,刪 除該路徑,其中c[i][ j]表示景點i和景點j直接相連的路徑長度,dist[i][ j]表示景點i和 景點j的最短距離。最后得到刪除無用路徑的景點路徑圖。
[0017] 步驟3包括W下步驟:
[0018] 步驟3-1,采用高斯核函數構造所有景點的相似矩陣W和度矩陣D:
[0021] 其中,訊^表示景點i和景點j之間的相似度,1 < 1,j <n,n表示景區內所有景點的總 數,所有的WU構成相似矩陣W,cu表示景點i和景點j之間直接相連的路徑的長度,如果不存 在直接相連的路徑,則CU設為W,將所有的CU進行從小到大排序,最大值記為最大距離 dmax,最小值記為最短距離dmin,〇表示最大距離dmax與最短距離dmin之差的10%,〇 = (dmax-dmin)*10%,d康示景點i的度,所有的di構成度矩陣D;
[0022] 步驟3-2,通過相似矩陣W和度矩陣D構造對稱拉普拉斯矩陣Lsym,公式如下:
[0023] Lsym =擴 1/2L擴 1/2 = I-擴 1/2町)-1/2,
[0024] 其中,L表示拉普拉斯矩陣,L = D-W,I表示單位矩陣,單位矩陣參見化ttps:// zh.wikipedia.org/zh-cn/)。
[0025] 步驟3-3,計算出矩陣Lsym的前ω個特征值及其對應的特征向量Va,l如< ω,Va表 示第a個最小特征值對應的特征向量,所有特征向量組成矩陣V;
[00%]步驟3-4,將特征向量矩陣V進行歸一化,得到矩陣T,公式如下:
[0027]
[0028] 其中,Tbf表示歸一化矩陣第b行第f列的值,Vbf表示特征向量矩陣第b行第f列的 值,1非如,1 y含ω ;vbg表示特征向量矩陣第b行第g列的值,1含g含ω
表示特 征向量矩陣第b行的所有列的值之和;
[0029] 步驟3-5,設矩陣T的第b行向量為yb,l非如,對運η個向量采用k-均值化-means) 方法進行聚類,產生k個聚類,向量yb所屬的類別即為景點b所屬的類別,每個聚類內的景點 組成一個小景區,則共有k個小景區。
[0030] 步驟4包括如下步驟:
[0031] 步驟4-1,設定小景區之間的距離,如果兩個小景區中有直接相連的景點,則兩個 小景區之間的距離為直接相連的景點距離的平均值;如果小景區間沒有直接的景點,那么 兩個小景區間的距離設為無窮大;
[0032] 步驟4-2,通過弗洛伊德(Floyd-Warshall)算法計算出任意兩個小景區之間的最 短距離;
[0033] 步驟4-3,對于上述k個小景區(口1,口2,-',口1〇,采用模擬退火算法計算出小景區間 的路線規劃方案,該路線規劃方案的解空間是小景區訪問順序的排列組合,確定起點1和終 點k后,則解空間S表示為{2,···,k-l}的所有排列的集合,解空間S中每一種排列Se表示一種 游覽運k個小景區的路線規劃,然后采用模擬退化算法求出最優路線規劃方案。
[0034] 本發明采用的模擬退火法(Simulated Annealing)是模擬熱力學中經典粒子系統 的降溫過程,用來求解規劃問題的極值。當孤立粒子系統的溫度W足夠慢的速度下降時,系 統近似處于熱力學平衡狀態,最后系統將達到本身的最低能量狀態,即基態,運相當于能量 函數的全局極小點。步驟4-3所述采用模擬退化算法求出最優路線規劃方案包括如下步驟:
[0035] 步驟4-3-1,設定解空間S的初始解是隨機生成的{2,3,…,k-1}的隨機排列So,且 設走初始溫度to為100度;
[0036] 步驟4-3-2,按照排列(ρι,ρ2,···,ρ?的順序訪問小景區,總路線長度公式如下:
[0037]
[00測其中,Cost(pi,p2,…,Pk)表示訪問所有小景區的總路線長度,d(px,px+i)表示小景 區Ρχ與小景區化+1之間的最短距離;
[0039] 步驟4-3-3,任意選擇序號為pui,pu2的小景區,2卽ia<pu2非,交換Pul和Pu2的訪問 順序,形成新的路線方案,若交換前的排列為36=徊,口2,一瓜1^''瓜2^'',口1〇,則交換后的 新路