樊丹 張美琳
[摘 要]對于鄉(xiāng)村自駕旅游者而言,合理優(yōu)化后的旅游線路不僅可以減少旅游者的經(jīng)濟與時間成本,同時也可體現(xiàn)其個性化的需求。文章對經(jīng)典的Floyd算法進行改進,綜合考慮交通費用、景點間距離等因素,最終確立了成都周邊鄉(xiāng)村自駕旅游的最優(yōu)方案;為使優(yōu)化后的線路更加智能化,構(gòu)建了基于高德地圖API的旅游線路可視化系統(tǒng),此可視化系統(tǒng)能夠智能化地推送給旅游者最優(yōu)化的旅游線路,極大改善其旅游體驗,為自駕旅游者的出行提供有價值的參考與借鑒。
[關(guān)鍵詞]Floyd算法;鄉(xiāng)村旅游;線路優(yōu)化;地圖API
[中圖分類號]F592 [文獻標(biāo)識碼]A
1 引言
隨著人民生活水平的不斷提高,居民私家車的持有量在逐年攀升,張揚個性與休閑體驗結(jié)合的“鄉(xiāng)村自駕旅游”已然成為一種時尚的旅游方式,并由此催生了鄉(xiāng)村旅游的發(fā)展與壯大,其相關(guān)理論研究也開始受到學(xué)者們的關(guān)注。史春云通過對自駕游客滿意度進行實證研究后得出,自駕旅游最主要的限制因素不在目的地或者交通方面,而是體現(xiàn)在出行成本高等方面。欒玲提出旅游線路設(shè)計應(yīng)節(jié)省游客時間、路程、費用,并使景點內(nèi)容豐富,避免重復(fù)經(jīng)過相同旅游點,線路編排應(yīng)勞逸結(jié)合、富有節(jié)奏感。目前,針對自駕旅游線路的設(shè)計,學(xué)者們普遍從鄉(xiāng)村旅游資源開發(fā)、自駕旅游消費行為等角度對自駕旅游線路進行整合,較少涉及運用優(yōu)化算法對自駕旅游線路進行設(shè)計。
2 問題提出
設(shè)計最優(yōu)自駕旅游線路的問題,可通過簡化構(gòu)建為連接各旅游目的地的TSP旅行商問題模型,即尋找到一條路徑遍歷所有的節(jié)點,使路徑總長度或總費用之和達到最小值。Floyd算法作為求解TSP旅行商問題的經(jīng)典方法,是研究和解決旅游交通中線路優(yōu)化的首選算法,因此本文以成都市周邊鄉(xiāng)村自駕旅游為例,綜合考慮出行費用、景點間距離等方面的因素,運用改進的Floyd算法對優(yōu)質(zhì)鄉(xiāng)村旅游景點進行整合,設(shè)計出串聯(lián)多景點的鄉(xiāng)村自駕旅游線路,并采用高德地圖API將優(yōu)化后的自駕旅游線路進行動態(tài)實現(xiàn)與展示,為自駕旅游者出行線路的選擇方面提供借鑒與參考。
3 算法介紹及改進
3.1 Floyd算法思想
Floyd(弗洛伊德)算法也可稱其為插點算法,是一種運用逐步逼近和遞推的思想來尋求給定加權(quán)圖中多節(jié)點之間最短路徑的算法。Floyd 算法的基本思想是:對一個頂點個數(shù)為n的有向網(wǎng)(或無向網(wǎng)),設(shè)置一個n×n的方陣A(k),其中除對角線的矩陣元素等于0以外,其他元素A(k)[i][j](i≠j)表示從頂點vi到頂點vj的有向路徑長度,依次插入頂點構(gòu)造出n階方陣序列A(-1), A(0), A(1), A(2)…A(n-1),從而形成圖的距離矩陣A(n-1),最終求得任意兩點間最短路徑。其中A(k)的元素A(k)[i][j]的遞推公式如式(1)、(2)所示:
3.2 算法改進
由于經(jīng)典的Floyd算法是計算多個節(jié)點間的最短路徑,在輸入初始矩陣進行封裝時,隨著節(jié)點個數(shù)的增加,勢必會出現(xiàn)輸入過程越發(fā)繁瑣的情況。因此針對鄰接矩陣的結(jié)構(gòu)特點,對經(jīng)典Floyd算法進行輸入矩陣的改進,以此來提高算法的實用性。改進Floyd算法的核心代碼如下:
Step 1: 確認(rèn)頂點個數(shù);
function Floyd( )
int ARow , ACol;
printf("輸入矩陣的行數(shù)和列數(shù):\n");
scanf(“%d,%d”,&ARow,&ACol);
arr=new double *[ARow];
for(i=0;i<=ARow;i++)
arr[i]=new double[ACol];
Step 2: 輸入頂點間的距離,得到初始矩陣;
printf("輸入二維矩陣的數(shù)據(jù)(%d行%d列):\n",ARow,ACol);
for(i=0;i for(j=0;j scanf(“%f,”,&tmp); arr[i][j]=tmp; Edge[i][j]=arr[i][j]; dist[i][j]=Edge[i][j]; if( i!=j && dist[i][j] else path[i][j]=-1; Step 3:依據(jù)封裝好的初始矩陣進行標(biāo)準(zhǔn)Floyd運算,依次輸出各節(jié)點序號,得出各節(jié)點間的最短路徑。 4 算法在自駕旅游線路優(yōu)化中的應(yīng)用 4.1 案例背景 黨的十九大報告在實施“鄉(xiāng)村振興戰(zhàn)略”中提出“發(fā)展多種形式適度規(guī)模經(jīng)營,培育新型農(nóng)業(yè)經(jīng)營主體,健全農(nóng)業(yè)社會化服務(wù)體系,實現(xiàn)小農(nóng)戶和現(xiàn)代農(nóng)業(yè)發(fā)展有機銜接”。成都作為“中國農(nóng)家樂旅游發(fā)源地”城市,發(fā)展勢頭迅猛,僅2018年一季度成都市鄉(xiāng)村旅游接待總?cè)舜纬^2500萬人次,同比增長達7%;實現(xiàn)鄉(xiāng)村旅游總收入超過75億元,同比增長達20%。鄉(xiāng)村旅游已成為成都市落實鄉(xiāng)村振興戰(zhàn)略中的重要力量、重要途徑和重要引擎。 為使研究樣本具有代表性,本文選取成都周邊深受自駕車游客喜愛的8個鄉(xiāng)村旅游景點進行分析,這8個景點分別是:茶溪谷、媽媽農(nóng)莊、煙霞湖風(fēng)景區(qū)、長灘湖濕地、仁康莊園、寶山旅游度假區(qū)、桃花故里、三溪白廟村,并將其依次標(biāo)記為Ci(i=1,2,…8)。 4.2 研究假設(shè)及數(shù)據(jù)來源 4.2.1 研究假設(shè)。假設(shè)鄉(xiāng)村自駕旅游是以私家車為交通工具,路況通暢,天氣等一切突發(fā)情況不納入考慮范圍。由于交通費用與燃油費及公路等級有關(guān),本文依據(jù)四川省收費標(biāo)準(zhǔn)進行假設(shè):燃油費0.65元/車·公里,京昆、夏蓉、蓉昌等高速公路0.45元/車·公里,成都繞城高速0.57元/車·公里。 4.2.2 數(shù)據(jù)來源。利用高德地圖API提供的經(jīng)緯度信息及研究假設(shè),得到8個節(jié)點構(gòu)成的距離鄰接矩陣與交通費用權(quán)值表,如表1、表2所示。 4.3 實驗結(jié)果 4.3.1 線路優(yōu)化結(jié)果。通過改進的Floyd算法對優(yōu)選的8個鄉(xiāng)村自駕旅游景點進行經(jīng)緯度、距離及費用等數(shù)據(jù)的運算操作,得出優(yōu)化前后的鄉(xiāng)村自駕旅游路徑圖如圖1、圖2所示。 4.3.2 最優(yōu)鄉(xiāng)村自駕旅游線路。本文因采用矩陣輸入路徑的優(yōu)勢,綜合考慮景點間距離及交通費用等方面因素,得到從不同景點出發(fā)的最優(yōu)路線,如表3所示。 4.4 高德地圖API前臺實現(xiàn) 高德地圖API(Application Programming Interface)是一種使用JavaScript等開發(fā)語言編寫的應(yīng)用程序接口,它能夠幫助程序員在網(wǎng)站中構(gòu)建功能豐富、交互性強的個性化地圖應(yīng)用程序。為使自駕車旅游者能夠更加智能化地獲取到最優(yōu)旅游路線等相關(guān)信息,本文在高德地圖 API的基礎(chǔ)上,結(jié)合HTML及JavaScript進行前端界面設(shè)計,實現(xiàn)了包含動畫全覽、測距等功能的旅游線路可視化系統(tǒng)。 amap.com/lbs/static/addToolbar.js”>,并采用marker、moving與AMap. addDomListener實現(xiàn)添加標(biāo)注與動畫功能,實現(xiàn)結(jié)果如圖3所示。 4.4.2 測距功能。使用鼠標(biāo)在地圖上繪制任意的折線,結(jié)束后便可測量出起止間的距離,如圖4所示。 5 結(jié)論 為應(yīng)對鄉(xiāng)村自駕旅游者在旅游線路規(guī)劃方面的個性化需求,本文對經(jīng)典的Floyd算法進行輸入矩陣的改進,并將其運用到自駕車旅游線路的優(yōu)化中,得出成都周邊鄉(xiāng)村自駕旅游最優(yōu)方案,設(shè)計并實現(xiàn)了基于高德地圖API的旅游線路可視化系統(tǒng),此系統(tǒng)既為鄉(xiāng)村自駕旅游者量身定做、適需對路的優(yōu)化旅游路線,節(jié)約游客時間和經(jīng)濟成本,極大改善其旅游體驗,提升自駕旅游的樂趣。旅游線路優(yōu)化算法的運用與可視化系統(tǒng)的實現(xiàn),以智能化的方式完善了鄉(xiāng)村旅游業(yè)的路線開發(fā)水平,對于推動鄉(xiāng)村旅游業(yè)的發(fā)展具有較深遠(yuǎn)的意義。 [參考文獻] [1] 謝雨萍,羅敏.基于“三位一體”方法論的桂北生態(tài)農(nóng)業(yè)旅游線路設(shè)計[J].特區(qū)經(jīng)濟,2009(10). [2] 馬思斯,李玲,劉慶友.江蘇鄉(xiāng)村旅游落地自駕消費需求的調(diào)查[J].旅游管理研究,2018(06). [3] 史春云,孫勇,張宏磊,等.基于結(jié)構(gòu)方程模型的自駕游客滿意度研究[J].地理研究,2014(04). [4] 欒玲.探析國內(nèi)旅游線路設(shè)計[J].現(xiàn)代商業(yè),2016(03). [5] 王桂平,王衍,任嘉辰.圖論算法理論、實現(xiàn)及其應(yīng)用[M].北京大學(xué)出版社,2011. [6] 習(xí)近平.決勝全面建成小康社會,奪取新時代中國特色社會主義偉大勝利——在中國共產(chǎn)黨第十九次全國代表大會上的報告[M].北京:人民出版社,2017. [7] 蒲姝.我國鄉(xiāng)村旅游發(fā)展現(xiàn)狀與對策研究——以成都市鄉(xiāng)村旅游為例[J].生態(tài)經(jīng)濟,2010(05). [8] 梁光榮,黎紅.百度、高德及Google地圖API的比較研究[J].軟件導(dǎo)刊,2017(09).