麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于改進蟻群算法的城市旅游路線規劃方法與流程

文檔序號:12469434閱讀:789來源:國知局
一種基于改進蟻群算法的城市旅游路線規劃方法與流程

本發明涉及一種基于改進蟻群算法的城市旅游路線規劃方法,屬于人工智能領域。



背景技術:

2008年國際商用機器公司(IBM)推出“智慧地球”商業計劃,其核心是以一種更智慧的方法通過利用新一代信息技術來改變政府、公司和人們相互交互的方式,以便提高交互的明確性、效率、靈活性和相應速度。智慧城市是“智慧地球”在城市建設和管理中的具體實踐。IBM認為21世紀的“智慧城市”能夠充分運用信息和通訊技術手段感測、分析、整合城市運行核心系統的各項關鍵信息,從而對于包括民生、環保、公共安全、城市服務、工商業活動在內的各種需求做出智能的響應,為人類創造更美好的生活。

智能路徑規劃是在智慧城市的基礎上發展而來,是一種以物聯網、云計算、下一代通信網絡、高性能信息處理、智能數據挖掘等技術在地圖類APP的應用。它以融合的通信與信息技術為基礎,以互動體驗為中心,簡單地說,就是使用者與網絡實時互動。

傳統的地圖類APP可以進行兩點之間的路徑規劃,或是連續多個地點的路徑規劃。但現有的地圖類APP并不能解決如下的問題,如一次旅行中,需要參觀多個景點,如何使得旅行過程花費在路上的時間盡可能短,用于參觀景點的時間盡可能長,就需要進行智能的旅游路徑規劃,這種場景是從酒店出發,參觀景點,最后回到酒店。這種情況與旅行商問題(Travelling Salesman Problem,TSP)的設定是一致的。

旅行商問題是路徑優化中最為典型的一類問題,是一種經典的NP難題(Non-deterministic Polynomial,多項式復雜程度的非確定性問題)。旅行商問題的經典描述為:已知N個城市及其相互間的距離,旅行商從某城市出發遍歷這N個城市后再回到原點,在每個城市都只訪問一次的前提下,確定一條最短路徑。

目前針對旅行商問題的算法主要有蟻群算法等。蟻群算法是一種仿生物智能算法,其模型是螞蟻群體尋找食物的過程。蟻群算法分布式的特征使得算法可靠,全局搜索能力比較強,同時也可以有效地和其他算法進行結合。但是也存在不足:搜索時間長,過快地收斂于局部最優解。



技術實現要素:

本發明要解決的技術問題是針對蟻群算法存在的搜索時間長,過快地收斂于局部最優解的問題。

鑒于此,本發明提出一種基于改進蟻群算法的城市旅游路線規劃方法,針對需要多天旅游的人,通過本方法可以為其提供一種合理的城市旅游路線。本發明的技術方案具體為一種基于改進蟻群算法的城市旅游路線規劃方法,包括以下步驟:

步驟1:應用場景的設置:選定住宿地點及旅游景點,設定場景參數;

步驟2:設定信息素的初始分布矩陣及蟻群算法的初始化參數;

步驟3:設定改進的路徑選擇概率更新規則,螞蟻按照改進的路徑選擇概率進行路徑選擇,并修改禁忌表;

步驟4:設定改進的信息素更新規則,對路徑信息素進行全局更新;

步驟5:判斷迭代次數是否滿足要求,若滿足要求,則輸出結果,否則轉至步驟3。

作為優選,上述步驟1所定義的應用場景為多次需要返回起點的路徑規劃。

上述步驟3中所述改進的路徑選擇概率更新規則是通過隨機因子和隨機因子額定閾值對基本蟻群算法的路徑選擇概率更新規則進行了改進。

上述步驟4所述信息素更新規則的改進是通過設置合理的揮發系數對基本蟻群算法的信息素更新規則進行了改進。

與傳統的蟻群算法相比,本發明的有益效果:

1、本發明針對目前地圖類APP沒有考慮的場景進行了研究,提出了一種解決此類場景的方法。

2、螞蟻在進行路徑選擇時引入了隨機因子的概念,使得螞蟻在選擇下一節點時依賴其他螞蟻反饋的信息程度有所降低,有效地避免了蟻群陷入局部最優解的可能;

3、通過合理的設定揮發系數,使得算法可以在前期避免早熟收斂,同時在后期可以加速收斂,算法的搜索精度更高、收斂速度更快。

附圖說明

圖1為本發明的方法流程圖。

圖2為本發明的旅游計劃圖。

具體實施方式

現結合附圖對本發明的具體實施做進一步詳細的說明。一種基于改進蟻群算法的城市旅游路線規劃方法,包括如下步驟:

步驟1:應用場景的設置:選定住宿地點及旅游景點,設定場景參數;

步驟2:設定信息素的初始分布矩陣及蟻群算法的初始化參數;

步驟3:設定改進的路徑選擇概率更新規則,螞蟻按照改進的路徑選擇概率進行路徑選擇,并修改禁忌表;

步驟4:設定改進的信息素更新規則,對路徑信息素進行全局更新;

步驟5:判斷迭代次數是否滿足要求,若滿足要求,則輸出結果,否則轉至步驟3。

本發明上述步驟1所定義的應用場景為多次需要返回起點的路徑規劃,舉一個具體的例子進行說明:一個游客來北京旅游,他住在一個固定的酒店,每天他的旅游計劃都可以看作是從酒店出發訪問數個景點然后返回酒店這樣一個過程,同時他的旅游計劃可以是一天或者多天。本發明所提供的一種基于改進蟻群算法的城市旅游路線規劃方法就是考慮在一次旅行中,如何使得旅行過程花費在路上的時間盡可能短,用于參觀景點的時間盡可能長。

本發明上述步驟3提出通過隨機因子和隨機因子額定閾值對基本蟻群算法的路徑選擇概率更新規則進行改進。隨機因子是螞蟻選擇下個路徑節點的概率參數,隨機因子額定閾值是螞蟻選擇下個路徑節點概率的閾值。

傳統蟻群算法中螞蟻選擇下一跳節點的概率公式為

其中,為t時刻位于城市i的螞蟻k選擇城市j為目標城市的概率;τij(t)表示(i,j)上的信息素;ηij(t)=1/dij(dij表示城市i與城市j之間的距離);α是殘留信息的相對重要程度;β是期望值的相對重要程度;allowedk是所有可能的目標城市,即還沒有訪問到的城市;tabk是禁忌表,記錄螞蟻k已經走過的路徑,即螞蟻在選擇城市節點時不會選擇禁忌表中的城市。

改進的路徑選擇概率規則通過生成一個隨機數p(0<p<1)對傳統蟻群算法的路徑選擇概率進行處理,從而對每只螞蟻分配一個隨機因子(Random factor,RF),當隨機因 子的值大于隨機因子額定閾值(Random factor rating,RFR)時,則對螞蟻在選擇下一跳節點的概率需要進行修正。為按照改進的路徑選擇概率:

本發明上述步驟4對信息素更新規則進行了改進,改進路徑信息素的更新規則如下:

τij(t)=(1-ρ)τij(t-1)+ρΔτij

τij(t)∈[τminmax]

其中τij(t)表示(i,j)上的信息素,τij(t-1)表示上次搜索后(i,j)上的信息素,ρ表示信息素揮發系數,Δτij表示當前搜索過程中蟻群釋放的信息素,τmin表示信息素的下限,τmax表示信息素的下限,Nc表示迭代的次數,Nc-max表示最大迭代次數。

場景設置,包括選定住宿地點及旅游景點、景點的旅游時間、行車時間等。具體設置如下:行車時間限定于每天7:00至19:00之間,每天開車時間不超過8小時;在每天的行程安排上,若安排全天游覽則開車時間控制在3小時內,安排半天景點游覽,開車時間控制在5小時內;在高速公路上的行車平均速度為90公里/小時,在普通公路上的行車平均速度為40公里/小時。景區開放時間統一為8:00至18:00。

設定信息素的初始分布矩陣及蟻群算法的初始化參數。信息素的初始分布矩陣為

改進蟻群算法的初始化參數為:

表1改進蟻群算法的初始化參數

將k只螞蟻放在n個城市上,然后把每只螞蟻加入禁忌表tabk,每只螞蟻按照改進的路徑選擇概率前往下一個城市。

其中,為t時刻位于城市i的螞蟻k選擇城市j為目標城市的概率;τij(t)表示(i,j)上的信息素;ηij(t)=1/dij(dij表示城市i與城市j之間的距離);α是殘留信息的相對重要程度;β是期望值的相對重要程度;allowedk是所有可能的目標城市,即還沒有訪問到的城市;tabk是禁忌表,記錄螞蟻k已經走過的路徑,即螞蟻在選擇城市節點時不會選擇禁忌表中的城市;p是隨機數。

當螞蟻選擇好新城市后,修改禁忌表,即將新城市加入到該螞蟻的禁忌表中。

當所有螞蟻全部訪問完后,按照改進的路徑信息素的更新規則對路徑信息素進行全局更新。改進路徑信息素的更新規則如下:

τij(t)=(1-ρ)τij(t-1)+ρΔτij

τij(t)∈[τninmax]

其中τij(t)表示(i,j)上的信息素,τij(t-1)表示上次搜索后(i,j)上的信息素,ρ表示信息素揮發系數,Δτij表示當前搜索過程中蟻群釋放的信息素,τmin表示信息素的下限,τmax表示信息素的下限,Nc表示迭代的次數,Nc-max表示最大迭代次數。

當路徑信息素進行全局更新之后,判斷當前循環次數是否滿足迭代數。若滿足,則輸出最有路徑;若不滿足,則進行下一次迭代。

圖2是本發明的旅游計劃圖,從計劃圖中可以看出假設居住在固定的酒店,有9個景點需要參觀,就會有4個閉環,即建議分4天進行旅游,每天可以任意選擇一個閉環作為旅行計劃。比如從酒店出發,前往景點1,再前往景點5,然后結束一天的旅行返回酒店,這就是一天的旅行計劃,當然,也可以先前往景點5,再前往景點1,這兩個計劃是等價的。設定旅游體驗這樣一個概念作為衡量旅游好壞的一個指標,定義

由定義可以看出,當游覽景點總時間一定時,在路上的耗費的時間越短,旅游的體驗越好,這與實際情況是相符的。本發明提供的旅游路線就是考慮在游覽景點總時間一定的情況下,使得旅游路徑最短,即路上耗費的時間越短,所以本發明給出的旅游計劃的旅游體驗是好的。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 河西区| 土默特右旗| 江北区| 什邡市| 安塞县| 蓝山县| 萝北县| 海晏县| 加查县| 独山县| 肇州县| 临朐县| 城固县| 德清县| 山西省| 和顺县| 宁都县| 舟曲县| 白山市| 当涂县| 彰武县| 莱阳市| 杭锦后旗| 雷山县| 苏尼特右旗| 岫岩| 鄄城县| 大庆市| 莱西市| 正镶白旗| 乌兰县| 独山县| 通道| 嘉峪关市| 平顶山市| 湄潭县| 镇远县| 靖远县| 九寨沟县| 余姚市| 鄂托克旗|