張志雄 費理源 廖宇
摘要:本文在對蘇州市古城區內主要景點基礎信息進行采集的基礎上,綜合考慮游覽耗時和線路耗時等因素,基于優化后的蟻群算法對蘇州古城徒步旅游線路進行規劃。基于蟻群算法的蘇州古城徒步旅游線路規劃能夠得到最優旅游線路,整體運算運行效率高、速度較快,能滿足日后進一步開發規劃的需求。
關鍵詞:蟻群算法;旅游;線路;規劃
作為始建于2500多年前的蘇州古城,蘇州有著深厚的文化底蘊,文物古跡眾多,在古城區中就聚集了大量的歷史古跡。如何規劃游覽這些分散在蘇州大街小巷中的古跡、有效地安排旅游線路、提升游客的旅游質量和旅游效率,在智慧旅游的設計中十分必要。特別是在散客時代,主流的旅游線路可能無法滿足游客的需求。目前,對蘇州古城旅游線路規劃的研究成果還較為缺乏,還未能提供線路規劃等個性化的服務。在數據豐富和網絡快速發展的今天,站在游客的角度,不斷優化旅游資源,對提升旅游質量和城市魅力有著重要的意義。
因此,關于蘇州古城徒步旅游線路規劃的研究有利于優化文旅資源配置,有利于實現文旅資源共享共用;增加旅游公共服務的供給,是面向散客時代,打造旅游與城市充分融合的有效途徑;突出“以蘇州園林為名片、蘇州古城為核心”,促進文旅融合,滿足深度體驗的需要;提升市民和游客對全域旅游的感受度。
一、基本思路
考慮到蟻群算法是有較強的并行性、魯棒性,比較容易與其它方法融合,更重要的是蟻群算法很好地結合了貪婪式搜索、正反饋機制以及分布式計算,能夠很好地避免早熟收斂等問題出現,同時具備高效的搜索及優解能力,因此本研究選擇將蟻群算法應用于旅游路線規劃中。在徒步的旅游方式下,對蘇州市古城區內43個主要景點基礎信息進行采集,綜合考慮游覽耗時和線路耗時等因素,基于蟻群算法試圖規劃蘇州古城徒步旅游線路。
二、數據分析與整理
通過調研整理出蘇州市古城區內43個主要景點的清單,這些景點涵蓋了古城內的主要蘇州園林、博物館、寺廟、古城門、歷史文化名街等類型。接著對43個景點基礎信息進行采集,包括了特征標記、季節性特征標記、游覽平均用時、門票價格、地址等(詳見附表1)。在此基礎之上再把43個景點兩兩配對,測算了來回徒步用時,共生成1806個結果作為基本數據。
三、模型的優化與求解
(一)模型優化
1.優化方向
利用蟻群算法規劃蘇州古城徒步旅游線路,對蟻群算法的優化方向主要考慮兩點:景點和推薦主題的吻合度、交通在總用時的占比。此外,考慮到旅行用時較長,未來可能需要兼容餐飲等方面的需要,所以在算法中增加了在特定時間段對特定景點的優化增強。即算法在第i個景點選擇通過路徑(i,j)去往下一個景點j時,首先是計算:Evaluate=weight_preferably*Scenery(j).preferably+weight_traffic*Path(i,j).time。其中,路徑時間需先經過歸一化處理。推薦度權重為0.5,交通時間占比權重為0.3,而在挑選景點j時,同時會用時間段匹配度對j的信息素進行修正,即:Info(j)*=judgeTime(j)/thresholdTimeJudeg^2。時間吻合度門限為0.3,則按蟻群算法,最終景點j被選中的概率為:Info(j)*Evaluate^2/∑(j)
2.約束
在路徑選擇中存在兩個硬約束,即總用時和總費用。考慮到這兩者都是有一定彈性的,所以我們對兩者采取了不同的約束策略:總用時在指定用時上下各20%之內,即如果指定200分鐘的總用時,則算法的實際總用時約束為[160,240]分鐘。總費用則約束為只要不超出20%即可,即如果指定100元的總費用,則算法的實際總費用約束為[0,120]元。
3.評分
路徑判優的評分是所有推薦度的平均數、交通用時占比、總用時和指定總時長之比這三者的加權平均。其中推薦度的權重為0.5,交通用時占比的權重為0.3,總時長的權重為0.1。由于按蟻群算法的習慣,評分越小代表結果越好,所有需要對這三者的得分加以處理以遵循此習慣。
4.爬山算法
由于蟻群算法的特性,算法可能會存在極小值陷阱。所以在三趟計算出的最優結果沒有變化時,需執行一次爬山算法以嘗試突破可能的極小值陷阱。本算法所采取的爬山算法處理為:將當前最優結果的第二個景點和倒數第二個景點互換。然后以此路徑重新開始計算。計算結果表明,爬山算法有較大概率會導致更優路徑的出現。所以,這一現象說明,本算法由于約束條件較多、優化參數較多、評分參數較多,這些約束條件與參數的存在顯著增加了極小值陷阱的出現。
(二)求解
1.初始化參數
在計算之初,需要對相關的參數進行初始化,如蟻群模型(螞蟻數量)m、信息系揮發因子、信息素釋放總量Q、最大迭代次數iter_max等。經過權衡,我們最終確立了如下的參數:
螞蟻數:50只,趟次:30次,初始信息素濃度:0.9
初始螞蟻為全部景點中隨機爬取出的一條經過所有景點的全路徑,然后對此路徑上的邊進行初始的信息素釋放。
2.構建解空間
算法要求在每次求取時需指定一個固定的起始點,即游客根據自己的下車或住宿點,選擇一個最近的景點作為起始點開始計算。考慮到彈性,算法可以指定終止點或不指定,即游客可以指定游覽結束于某景點,也可以不指定。從起始點開始,算法在每步按前述的優化方向一節中的說明,計算可達景點的到達概率。需要注意的是,如果在啟動算法時指定了特定時間段,則在計算出的總時間達到該時間段時,需要判斷待選擇景點是否也有相應的時間段設置并計算這兩個時間段間的吻合度,然后根據這個吻合度來調整此景點的到達概率。然后根據達到概率隨機選擇下一個景點。選擇了下一個景點后,算法即計算添加到到達該景點的路徑后,是否還符合前述的約束,如果符合則繼續計算;否則終止本螞蟻的本次運行,輸出計算結果。如果指定了終止點,則算法在計算約束條件時,需將最后到達終止點的路徑也納入約束計算中即可。
3.更新信息素
算法信息素的更新采取標準蟻群算法的信息素更新算法。按標準蟻群算法的實現,每支螞蟻在選擇了下一個景點后,做一次局部更新;在本趟所有螞蟻計算完畢后,做一次蒸發;對本趟的最優路徑做一次全局更新。局部更新參數的選擇按標準蟻群算法建議參數選擇即可。
4.判斷是否終止
如果未指定終止點,則按前述的約束一節計算本路徑是否需要終止。如果指定了終止點,則需要將當前景點到終止點的路徑增加到整個路徑中之后再按前述的約束一節計算本路徑是否需要終止。
四、算例實踐
以“滄浪亭”為起點且不指定終點為例,利用程序運算分別規劃出三小時左右的徒步旅游方案:滄浪亭到環秀山莊到中醫藥博物館、滄浪亭到蘇州佛教博物館到定慧寺、滄浪亭到七里山塘景區到閶門、滄浪亭到蘇州佛教博物館到環秀山莊、滄浪亭到蘇州警察博物館到藝圃、滄浪亭到拙政園、滄浪亭到蘇州佛教博物館到蘇州碑刻博物館、滄浪亭到蘇州佛教博物館到網師園等8個線路方案。其他起點參照此操作。通過以上測算結果生成的方案,不難看出利用蟻群算法可以極大地豐富路線規劃方案,為游客提供眾多的選擇可能。如果將主要的中外知名景點作為起點,將能規劃出數量非常可觀的路線方案。另外,在技術手段的支持下,通過進一步對歷史文化底蘊的發掘,我們進一步完善開發出了“韻存千秋·大美昆曲”、“匠心獨妙·蘇作天工”“康乾南巡·駐蹕姑蘇”“狀元故里·文脈尋根”、“光輝之路·紅色遺跡”等多個文旅融合的特色旅游主題線路。相關特色線路被蘇州市旅游部門采用,參與體驗的游客反饋滿意度較高。
五、結論與展望
基于蟻群算法的蘇州古城徒步旅游線路規劃能夠得到最優旅游線路,整體運算運行效率高、速度較快,能滿足日后進一步開發規劃的需求。后續可以進一步考慮引入多種因素改進算法以增加模型求解為游客提供更加貼心的線路規劃方案。比如,可以進一步擴充景點數量、增設景點標簽以滿足不同需求的路線規劃;可以進一步拓展綜合考慮各種交通方式拓展應用場景,比如增加特色騎行、特色自駕游路線規劃方案;結合景點或線路的文化底蘊挖掘,探尋特色文旅融合線路。
參考文獻:
[1]周茂杰、張翠.基于改進蟻群算法的旅游線路優化[J]. 現代計算機,2018.05下:24-27.
[2]郝海霞.用蟻群算法優化四川旅游路線[J].北京印刷學院學報,2017(07):181-182.
基金項目:2019年度蘇州經貿職業技術學院科研項目“基于蟻群算法的蘇州古城徒步旅游線路規劃”,項目編號為YJ-QN1908。2020年江蘇省高等學校大學生創新創業訓練計劃項目“基于蟻群算法的蘇州市古城區特色旅游線路規劃” ,項目編號為202012685015Y。
作者簡介:
張志雄(1997-),男,廣東清遠人,蘇州經貿職業技術學院學生,研究方向為大數據技術與應用;
費理源(1989-),男,江蘇吳江人,蘇州經貿職業技術學院教師,主要研究方向:高職教育管理、大數據技術與應用;
廖宇(1982-),男,四川犍為人,蘇州經貿職業技術學院講師,主要研究方向:高職教育管理,大數據技術與應用。