許凌云
(湖南環(huán)境生物職業(yè)技術(shù)學(xué)院,湖南 衡陽(yáng) 421005)
在旅程開始之前,游客通常會(huì)通過(guò)網(wǎng)絡(luò)設(shè)備瀏覽旅游App,以尋找更適合自己的旅游攻略。但游客在享受網(wǎng)絡(luò)技術(shù)帶來(lái)便利的同時(shí),也會(huì)因評(píng)論留言和網(wǎng)絡(luò)瀏覽痕跡主動(dòng)或被動(dòng)地留下數(shù)字足跡。因此,旅游業(yè)就可以利用數(shù)字足跡組建游客的行為圖譜,從而更直觀地了解游客的旅游習(xí)慣和消費(fèi)特征,進(jìn)而更好地為游客提供定制游覽路線等旅游服務(wù)[1]。旅途中的住宿、餐飲、交通以及景點(diǎn)游覽等環(huán)節(jié)構(gòu)成了形成鏈中的重要節(jié)點(diǎn),只有科學(xué)規(guī)劃各節(jié)點(diǎn),才能使行程鏈節(jié)點(diǎn)按照時(shí)間空間順序進(jìn)行線性排列,同時(shí)結(jié)合游客的個(gè)性化需求形成有序集合[2]。
為生成旅游規(guī)劃行程鏈的節(jié)點(diǎn),讓旅游者最大化利用旅游時(shí)間,這就是設(shè)計(jì)的游玩最優(yōu)路徑。而在選取景區(qū)節(jié)點(diǎn)時(shí),為了保證景區(qū)節(jié)點(diǎn)的聚集度,主要考慮節(jié)點(diǎn)之間的距離以及節(jié)點(diǎn)的綜合評(píng)價(jià),這樣容易讓游客走回頭路,無(wú)法縮短路線[3],這就會(huì)影響旅游者的出行效率。于是,通過(guò)遺傳算法解決各節(jié)點(diǎn)時(shí)間相互擠壓沖突的問(wèn)題,從而解決在游覽過(guò)程中多走重復(fù)路的問(wèn)題。
X代表已經(jīng)選擇的n個(gè)旅游節(jié)點(diǎn)的集合,X={v1,v2,v3,…,vn},d為每個(gè)景區(qū)節(jié)點(diǎn)間的距離,記為d(v1,v2),f(x)即為目標(biāo)函數(shù),因此得出最短路徑如公式(1)所示。
式中:i為式子初始值;n為旅游節(jié)點(diǎn)。
首先,使用遺傳算法將隨機(jī)產(chǎn)生的初始群體生成順序遺傳編碼。其次,利用適應(yīng)度函數(shù)F計(jì)算景區(qū)節(jié)點(diǎn)的綜合評(píng)價(jià)值。最后,排列成順序表。其中,適應(yīng)度函數(shù)F如公式(2)所示。
式中:I為景區(qū)綜合評(píng)價(jià)值。
設(shè)節(jié)點(diǎn)間的最小距離為L(zhǎng)min,平均距離為L(zhǎng)avg,上述函數(shù)運(yùn)算結(jié)束的條件如下:通過(guò)計(jì)算機(jī)的10次迭代運(yùn)算,Lmin不再改變且Lavg穩(wěn)定為一個(gè)值,此時(shí)停止計(jì)算,則可以確定景區(qū)多個(gè)節(jié)點(diǎn)位置距離的相對(duì)最優(yōu)解。
上述遺傳算法可以對(duì)最短路徑中的節(jié)點(diǎn)進(jìn)行排列,這樣可以縮短旅游者在路上中消耗的時(shí)間,為最優(yōu)的日程安排提供了時(shí)間基礎(chǔ)。
如圖1所示,圖1(a)表示利用動(dòng)態(tài)篩選方法顯示景點(diǎn)節(jié)點(diǎn)安排順序,可以反映旅游者在實(shí)際游覽中的問(wèn)題(包括線路重復(fù)問(wèn)題)。圖1(b)表示利用遺傳算法重新安排的景點(diǎn)節(jié)點(diǎn)順序,可以解決線路重復(fù)問(wèn)題。
旅游規(guī)劃行程鏈形成的最優(yōu)組合是利用旅游節(jié)點(diǎn)間的空間距離進(jìn)行篩選的,隨后進(jìn)行空間組合排列,從而生成最短的旅游路線路徑[4]。
利用遺傳算法在一定程度上可以解決旅游節(jié)點(diǎn)間線路重復(fù)的問(wèn)題,因?yàn)閷?duì)旅游出行的道路進(jìn)行了最短的計(jì)算優(yōu)化,所以在旅游時(shí)會(huì)產(chǎn)生大量的富裕時(shí)間,因此要討論旅游期間對(duì)富裕的旅游時(shí)間進(jìn)行分配的問(wèn)題??梢酝ㄟ^(guò)迭代處理對(duì)上述問(wèn)題進(jìn)行優(yōu)化,主要原理是利用剩余的旅游時(shí)間選擇景區(qū)節(jié)點(diǎn),從而生成最優(yōu)路徑。結(jié)果如圖2所示,步驟如下:1)采用景區(qū)節(jié)點(diǎn)動(dòng)態(tài)選擇法篩選景區(qū)節(jié)點(diǎn),得到景區(qū)節(jié)點(diǎn)集合X={v1,v2,v3,…,vn}。如果設(shè)置旅游者的旅游總游時(shí)為T,那么節(jié)點(diǎn)的排列順序仍會(huì)存在路徑重復(fù)的情況,并非最優(yōu)路徑。2)為生成最優(yōu)路徑,使用遺傳算法獲得集合,因此得到優(yōu)化后的次序X1={v1,v2,v3,…,vn},優(yōu)化后的最優(yōu)路徑出行路線減少,交通所用時(shí)間縮短,總旅游時(shí)間T保持不變,游覽的活動(dòng)時(shí)長(zhǎng)即最優(yōu)路徑的時(shí)長(zhǎng)Tcur。3)旅游的時(shí)差ΔT如公式(3)所示。接下來(lái)需要對(duì)富裕時(shí)差ΔT進(jìn)行重新分配。4)以最末尾節(jié)點(diǎn)Vn為起點(diǎn),利用富裕時(shí)差ΔT再次計(jì)算ΔT的景區(qū)節(jié)點(diǎn)組合。5)根據(jù)第二個(gè)步驟重新計(jì)算,直到ΔT<0。
式中:T為總旅游時(shí)長(zhǎng);Th為住宿時(shí)長(zhǎng);Td為餐飲時(shí)長(zhǎng),ΔT為“富余”時(shí)間。
使用上述方法對(duì)景區(qū)節(jié)點(diǎn)、餐飲節(jié)點(diǎn)及住宿節(jié)點(diǎn)進(jìn)行優(yōu)化組合,在得到有序節(jié)點(diǎn)后,利用遺傳算法生成所選取旅游節(jié)點(diǎn)的旅游最優(yōu)路徑,即確定了最終的游覽線路。該最優(yōu)模型安排了已有行程中富裕時(shí)差的日程。
在旅游過(guò)程中,旅行者會(huì)因餐飲和住宿而暫停旅游,因此根據(jù)用餐和住宿所需時(shí)間把旅游時(shí)長(zhǎng)分成3個(gè)時(shí)段,即全天時(shí)段、半天時(shí)段與活動(dòng)時(shí)段,如圖3所示。
旅游時(shí)長(zhǎng)是指游客從制定旅游計(jì)劃開始至整體行程結(jié)束的旅游整體花費(fèi)的時(shí)間總和,當(dāng)構(gòu)建基于數(shù)字足跡的旅游規(guī)劃行程鏈的模型時(shí)要將時(shí)間劃分方法作為旅游日程安排時(shí)的基礎(chǔ)方法,并將以往的景區(qū)旅游行程路線的設(shè)計(jì)原則和各城市景點(diǎn)游客的有臉規(guī)律等相關(guān)影響因素作為重要參考[5]。
將上午游覽時(shí)段DM、下午游覽時(shí)段DA和晚上游覽段DE歸納為總的游覽時(shí)段Dr,如公式(4)所示。
將早餐時(shí)段DB、午餐時(shí)段DL和晚餐時(shí)段DD歸納為餐飲時(shí)段DR,如公式(5)所示。
因?yàn)槁糜握咚叩臅r(shí)間連接2 d的旅游時(shí)段,所以將住宿時(shí)段作為中間時(shí)段。
根據(jù)各類型城市不同旅游節(jié)點(diǎn)的時(shí)間配置方式可劃分為靈活調(diào)整時(shí)間節(jié)點(diǎn)和相對(duì)固定時(shí)間節(jié)點(diǎn),靈活調(diào)整時(shí)間節(jié)點(diǎn)通常對(duì)應(yīng)觀光景點(diǎn)類節(jié)點(diǎn)和物資保障類節(jié)點(diǎn),是指在有固定旅游行程規(guī)劃的情況下,如果游客在旅途中出現(xiàn)新的需求變動(dòng),就可以靈活調(diào)整時(shí)間[6]。例如某景點(diǎn)中午用餐時(shí)間段用餐人數(shù)較多,可采取先游玩后就餐的方式錯(cuò)峰安排行程。
3.2.1 判定處理浮動(dòng)節(jié)點(diǎn)
景區(qū)節(jié)點(diǎn)、購(gòu)物節(jié)點(diǎn)及娛樂(lè)節(jié)點(diǎn)構(gòu)成浮動(dòng)節(jié)點(diǎn),浮動(dòng)節(jié)點(diǎn)一般在上午出現(xiàn)。如果當(dāng)天因特殊原因無(wú)法排入浮動(dòng)節(jié)點(diǎn),那么可以通過(guò)3個(gè)條件來(lái)判斷接下來(lái)的日程安排。
根據(jù)以下條件可以判斷能否將浮動(dòng)節(jié)點(diǎn)作為候選節(jié)點(diǎn),主要根據(jù)是否能滿足上訴的判定條件。能滿足一條,就代表該節(jié)點(diǎn)能夠納入半天時(shí)段的游覽計(jì)劃內(nèi),否則判定為候選節(jié)點(diǎn),暫時(shí)不予處理。詳細(xì)流程安排如圖4所示。
先判斷該要素在當(dāng)天的哪個(gè)半天段(上午、下午或晚上),如公式(6)所示。
式中:Tw為所剩的半天段中待分配時(shí)長(zhǎng);Tt為景區(qū)的節(jié)點(diǎn)時(shí)長(zhǎng)。
當(dāng)t>0時(shí),代表當(dāng)前半天時(shí)段游覽安排有空余時(shí)間,那么可以安排待排節(jié)點(diǎn),在分配空余時(shí)間時(shí)引入下一個(gè)節(jié)點(diǎn)。當(dāng)t<0時(shí),代表當(dāng)前半天時(shí)段游覽安排沒(méi)有空余時(shí)間,那么不可以加入待排節(jié)點(diǎn),Δt如公式(7)所示。
式中:Tc為半天的浮動(dòng)要素時(shí)長(zhǎng);Δp為該節(jié)點(diǎn)時(shí)長(zhǎng)的最大壓縮比例;Δt為該節(jié)點(diǎn)中的旅游時(shí)長(zhǎng)。
利用公式(7)來(lái)判定經(jīng)過(guò)節(jié)點(diǎn)時(shí)長(zhǎng)壓縮后,時(shí)段內(nèi)能否再安排該待排節(jié)點(diǎn)。
當(dāng)Δt<0時(shí),將扣除所有被平均分配到半天中的浮動(dòng)節(jié)點(diǎn),此時(shí)Tc=Tc-t/n(n為浮動(dòng)要素的數(shù)量),再對(duì)該要素的時(shí)間進(jìn)行分配,安排進(jìn)入下一個(gè)待排節(jié)點(diǎn);當(dāng)Δt>0時(shí),判定Δt-(Tdw+Taw)·Δp的值與0的關(guān)系(Tdw為用餐分配時(shí)間;Taw為住宿分配時(shí)間記),如果其值大于0,就表示該時(shí)間段有時(shí)間富余,此時(shí)可以將Tw平均分配到浮動(dòng)節(jié)點(diǎn)中,引入下一個(gè)節(jié)點(diǎn),如公式(8)所示。
如果Δt-(Tdw+Taw)·Δp<0,那么半天中所有浮動(dòng)要素扣除Δp時(shí)間,如公式(9)所示。
半天時(shí)段中扣除用餐時(shí)間或住宿時(shí)間,分配該旅游節(jié)點(diǎn)時(shí)長(zhǎng),接著引入下一個(gè)節(jié)點(diǎn),如公式(10)所示。
通過(guò)以上判斷方法及公式確定是否可以將浮動(dòng)節(jié)點(diǎn)安排進(jìn)旅游行程,可以有效提高節(jié)點(diǎn)安排的合理性,促進(jìn)各浮動(dòng)節(jié)點(diǎn)的有序組合。
3.2.2 用餐節(jié)點(diǎn)的選擇與安排
使用模型安排用餐節(jié)點(diǎn),由于不同餐館的用餐時(shí)間不同,因此在運(yùn)用模型的過(guò)程中劃分了相應(yīng)的用餐時(shí)間。在餐飲節(jié)點(diǎn)時(shí)長(zhǎng)的安排中,引出流程圖(圖5):1)判定研究要素處于哪個(gè)時(shí)間段。2)記旅游者實(shí)際用餐時(shí)間為Tdf,餐飲處于的半天時(shí)段時(shí)間為Tdw,如果Tdf<Tdw,則用餐時(shí)間較少,餐飲時(shí)段有空余時(shí)間可以安排節(jié)點(diǎn),那么剩余的時(shí)間就被歸入下一時(shí)段中進(jìn)行優(yōu)化計(jì)算。3)如果Tdf>Tdw,則旅游者用餐時(shí)間較長(zhǎng),餐飲時(shí)段之后安排的節(jié)點(diǎn)只能被壓縮,該節(jié)點(diǎn)得到的最大壓縮比例時(shí)長(zhǎng)為Δp,為滿足用餐時(shí)間,需要Δp最大且判斷Tdf·Δp是否大于Tdw,如果大于Tdw,則將從下一個(gè)時(shí)間段內(nèi)減去超出的時(shí)間。
3.2.3 住宿節(jié)點(diǎn)的選擇與安排
因?yàn)樽∷薰?jié)點(diǎn)是一天中最后的時(shí)段,所以利用剩余時(shí)間進(jìn)行安排,安排流程如圖6所示。
如果研究節(jié)點(diǎn)不處于晚上的時(shí)間段,則直接進(jìn)入下一個(gè)節(jié)點(diǎn)計(jì)算;如果研究節(jié)點(diǎn)屬于晚上的時(shí)間段,則將半天段剩余時(shí)間Tw按節(jié)點(diǎn)的時(shí)長(zhǎng)比例分配給住宿節(jié)點(diǎn)以及半天時(shí)段的浮動(dòng)要素,再引入下一個(gè)節(jié)點(diǎn)。
3.2.4 判斷安排交通時(shí)長(zhǎng)以及特殊節(jié)點(diǎn)
特殊節(jié)點(diǎn)以及交通所需的時(shí)長(zhǎng)因客觀因素而固定,因此安排行程時(shí)無(wú)法壓縮時(shí)長(zhǎng)。當(dāng)壓縮時(shí)長(zhǎng)時(shí),首選浮動(dòng)節(jié)點(diǎn),然后扣除用餐、住宿時(shí)長(zhǎng)的富裕時(shí)間,再對(duì)交通時(shí)長(zhǎng)、特殊節(jié)點(diǎn)進(jìn)行時(shí)間安排。具體流程如圖7所示。
當(dāng)t>0時(shí),對(duì)該節(jié)點(diǎn)分配時(shí)間并引入下一個(gè)節(jié)點(diǎn),如公式(11)所示。
式中:Tw為半天段中所剩的待分配時(shí)間;Tt為該節(jié)點(diǎn)的時(shí)長(zhǎng)。當(dāng)t<0時(shí),如公式(12)所示。
式中:Tc為半天時(shí)段的浮動(dòng)節(jié)點(diǎn)時(shí)長(zhǎng)。
當(dāng)Δt>0時(shí),半天時(shí)段中所有浮動(dòng)節(jié)點(diǎn)除去Δp時(shí)間,如公式(13)所示。
式中:ΔP為研究節(jié)點(diǎn)最大壓縮比例時(shí)長(zhǎng);Δt為半天時(shí)段中用餐以及住宿的時(shí)間。
當(dāng)Δt<0時(shí),對(duì)所有的半天段中浮動(dòng)節(jié)點(diǎn)平均分配t后,對(duì)剩余待分配節(jié)點(diǎn)分配時(shí)間,引入下一個(gè)節(jié)點(diǎn),如公式(14)所示。
如果此時(shí)待分配節(jié)點(diǎn)為0,就說(shuō)明全部要素被安排完畢,可以判定所有半天段剩余待分配時(shí)間Tw與0的關(guān)系,如果不等于0,就可以將Tw均分給浮動(dòng)節(jié)點(diǎn)。至此,結(jié)束各節(jié)點(diǎn)時(shí)長(zhǎng)的安排過(guò)程。
基于上述算法,選用了一種用于驗(yàn)證試驗(yàn)結(jié)果的線路驗(yàn)證分析方法。在此基礎(chǔ)上,利用行程規(guī)劃模型對(duì)試驗(yàn)樣例的旅行路線進(jìn)行初步數(shù)據(jù)收集,然后利用旅行ID對(duì)游客的個(gè)人信息和行程基礎(chǔ)信息進(jìn)行匹配,并利用該模型對(duì)不同的旅行狀況進(jìn)行計(jì)算,從而得到行程規(guī)劃的結(jié)果。
當(dāng)進(jìn)行試驗(yàn)驗(yàn)證時(shí),選用Microsoft Windows 7進(jìn)行系統(tǒng)操作,以Microsoft Visual Studio2010及其SP1升級(jí)包作為開發(fā)平臺(tái),基于Microsoft SQL Server 2008 R2和ESRI Geodatebase數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息,利用C#、Java、HTML以及JavaScript等開發(fā)語(yǔ)言構(gòu)建模型。
模型要求兼容性為IE6.0以上版本的瀏覽器,具備Firefox及Chrome瀏覽器。電腦的CPU頻率為300 MHz~600 MHz,頻率越高越好。瀏覽器分辨率大于或等于800×600 dpi,推薦分辨率配基本為1024×768 dpi。顯示器內(nèi)存大于或等于256 MRAM,推薦1 G RAM內(nèi)存運(yùn)行。
試驗(yàn)以熟悉的旅游景點(diǎn)為首選目的地,并充分考慮了各節(jié)點(diǎn)所在區(qū)域的空間布局,結(jié)合遺傳算法和路網(wǎng)狀況進(jìn)行路線規(guī)劃。由計(jì)劃結(jié)果(表1)可知,在路線安排上,由于景區(qū)與分散的景點(diǎn)之間有一定的聯(lián)系,因此在路線上會(huì)優(yōu)先選擇相同的區(qū)域,而不是選擇相鄰的路線,以確保旅游的連續(xù)性。
表1 結(jié)合空間關(guān)系的節(jié)點(diǎn)旅游序列篩選方法
對(duì)圖3中的數(shù)據(jù)進(jìn)行分析可知,該方法以最短的路徑長(zhǎng)度為基礎(chǔ),并對(duì)最佳路線進(jìn)行排序,以確保最短的路徑長(zhǎng)度,節(jié)約道路交通時(shí)間。從線路排序的結(jié)果來(lái)看,該方法考慮了節(jié)點(diǎn)的空間和道路的距離,使該方法的優(yōu)化效果更顯著。
促進(jìn)數(shù)字足跡理念與旅游規(guī)劃行程鏈的有效結(jié)合有利于推動(dòng)區(qū)域旅游產(chǎn)業(yè)的協(xié)調(diào)發(fā)展和旅游資源的優(yōu)化配置,更好地為旅游者提供旅游個(gè)性化定制服務(wù)。在模型構(gòu)建過(guò)程中,首先從時(shí)間、空間等方面確定旅游節(jié)點(diǎn)篩選辦法。其次,為綜合考慮游客的旅游需求,利用節(jié)點(diǎn)篩選法、時(shí)間安排模型法以及最優(yōu)路線設(shè)計(jì)法建立旅游規(guī)劃行程鏈的最優(yōu)模型。最后,對(duì)篩選出的節(jié)點(diǎn)進(jìn)行日程安排和線路規(guī)劃,最終形成同時(shí)考慮時(shí)間、空間因素的旅游行程規(guī)劃。通過(guò)測(cè)試可知,行程鏈模型構(gòu)建有利于基于游客的數(shù)字足跡為其提供更好的具有個(gè)性化需求的旅游行程。