基于人工魚群算法的交通路徑搜索方法
【專利摘要】本發明涉及一種基于人工魚群算法的交通路徑搜索方法,包括如下步驟:設定算法的最大迭代次數為Max,種群的大小為n,參數的維數為d,第i條魚的狀態位置為(Xi1,Xi2,Xi3,...,Xid),第i條魚的食物濃度為f(Xi),最短路徑值為S1:初始化算法參數;S2:在解空間內對魚群進行隨機初始化;S3:使用模糊模擬計算人工魚的目標值取出當前最優解Xgbest;S4:判斷算法是否到達最大迭代次數Max,若是,則輸出公告板上的最優解,算法結束;若否則執行步驟S5-S9;S5:魚群中全部個體執行隨機的自由游動;S6:執行覓食操作;S7:執行聚群操作;S8:執行追尾操作;S9:令迭代次數t=t+1,執行步驟S3。本發明能夠快速搜索到交通最便捷路徑。
【專利說明】基于人工魚群算法的交通路徑搜索方法
【技術領域】
[0001] 本發明涉及一種基于人工魚群算法的交通路徑搜索方法。
【背景技術】
[0002] 傳統的交通路徑搜索方法一般是選擇城市任意兩個地點之間的最短路徑,而駕駛 員需要搜尋的則是行駛時間最短的路徑,而現實生活中,由于交通阻塞等意外情況,行駛長 度最短的路徑不一定就是行駛時間最短的路徑。根據這種情況,通常采用一些智能算法來 進行最短路徑的求解。
[0003] 一種是粒子群算法(PS0,英文全稱:particle swarm optimization),PS0 模擬 鳥群的捕食行為,每個優化問題的解都是搜索空間中的一只鳥,稱之為"粒子",所有的粒子 都有一個由被優化的函數決定的適應值,每個粒子還有一個速度決定它們飛行的方向和距 離,然后粒子們就追隨當前的最優粒子在解空間中進行搜索,直至搜索到最優解。但是該算 法存在易于陷入局部最優,出現早熟收斂的問題。在計算粒子的速度時,將慣性權重w引 入算法。通過實驗研究表明,該參數對算法的性能有較大的影響,如果w值較大,有利于跳 出局部最優,進行全局尋優;而W值較小,有利于局部尋優,加速算法收斂,一般的做法是將 W值隨著迭代次數的增加而線性減少,但是這樣做又依賴于迭代次數,不能反映實際粒子變 化的情況,不能反映實際優化搜索過程。
[0004] 另一種智能算法是遺傳算法,它模擬自然選擇和自然遺傳過程中發生的繁殖、交 配和變異現象,根據適者生存、優勝劣汰的自然法則,通過選擇、交叉和變異等遺傳算子,使 群體一代一代地進行到搜索空間中越來越好的區域,直至獲得最優解。遺傳算法有三個基 本算子:選擇、交叉和變異,這三個算子的實現也有許多參數,如交叉概率和變異概率,并且 這些參數的選擇嚴重影響解的品質,而目前這些參數的選擇大部分是依靠經驗。遺傳算法 善長全局搜索,然而其局部搜索能力卻明顯不足,搜索到最優解或滿意解的速度較慢,存在 易陷入局部最優解和選擇壓力過大造成的早熟收斂等問題。
【發明內容】
[0005] 本發明提供一種基于人工魚群算法的交通路徑搜索方法,以解決上述技術問題。
[0006] 為解決上述技術問題,本發明提供一種基于人工魚群算法的交通路徑搜索方法, 包括如下步驟:其中,設定算法的最大迭代次數為Max,種群的大小為n,參數的維數為d,第 i條魚的狀態位置為(X n,Xi2, Xi3,…,Xid),第i條魚的食物濃度為f%),經過模糊模擬后的 最短路徑值為
[0007] S1 :初始化算法參數,視野visual = 45、步長step = 0? 3、嘗試次數try_number =100,擁擠度因子入=〇. 8,迭代最大次數Max = 200 ;
[0008] S2:在解空間內對魚群進行隨機初始化,置迭代次數t = 1,生成n個人工魚個體, 形成初始魚群,每一個人工魚代表從起點到目標點的一種路徑;
[0009] S3 :使用模糊模擬計算人工魚的目標值,取出當前最優解Xgbest,寫入公 告板;
[0010] S4:判斷算法是否到達最大迭代次數Max,若是,則輸出公告板上的最優解,算法 結束;若否則執行步驟S5-S9;
[0011] S5 :魚群中全部個體執行隨機的自由游動,并更新各自的自身狀態\ ;
[0012] S6:在視野visual內執行覓食操作,并移動一個步長step;
[0013] S7:執行聚群操作;
[0014] S8 :執行追尾操作;
[0015] S9 :令迭代次數t= t+1,然后返回執行步驟S3。
[0016] 較佳地,所述自由游動的步驟為:魚在自己視野visual內隨機移動一個步長 step。
[0017] 較佳地,所述覓食操作的步驟為:魚在其視野visual之內隨機選擇一新狀態Xj, 若f(Xj)< f(Xi),則向該狀態移動;否貝u,繼續生成新的Xj進行嘗試,嘗試try_number次后 仍然不能移動,則隨機移動一步,Xj= Xi+visual? randomO,其中randomO為[0, 1]間的 隨機數。
[0018] 較佳地,所述聚群操作的步驟為:魚在其視野visual內搜索聚集魚群的中心位 置X。,并探測附近的同伴個數s,如果s/n<入,并且f(X。)<f(Xi),則向該方向前進一步,
【權利要求】
1. 一種基于人工魚群算法的交通路徑搜索方法,其特征在于,包括如下步驟:其中, 設定算法的最大迭代次數為Max,種群的大小為n,參數的維數為d,第i條魚的狀態位置 為(X n,Xi2,Xi3,…,Xid),第i條魚的食物濃度為f(Xi),經過模糊模擬后的最短路徑值為 5 51 :初始化算法參數,視野visual = 45、步長step = 0· 3、嘗試次數 try_number = 100,擁擠度因子λ = 〇· 8,迭代最大次數Max = 200 ; 52 :在解空間內對魚群進行隨機初始化,置迭代次數t = 1,生成η個人工魚個體,形成 初始魚群,每一個人工魚代表從起點到目標點的一種路徑; 53 :使用模糊模擬計算人工魚的目標值£[/(.¥,?);],取出當前最優解Xgbest,寫入公告 板; 54 :判斷算法是否到達最大迭代次數Max,若是,則輸出公告板上的最優解,算法結束; 若否則執行步驟S5-S9 ; 55 :魚群中全部個體執行隨機的自由游動,并更新各自的自身狀態Xi ; 56 :在視野visual內執行覓食操作,并移動一個步長step ; 57 :執行聚群操作; 58 :執行追尾操作; 59 :令迭代次數t = t+Ι,然后返回執行步驟S3。
2. 如權利要求1所述的一種基于人工魚群算法的交通路徑搜索方法,其特征在于,所 述自由游動的步驟為:魚在自己視野visual內隨機移動一個步長step。
3. 如權利要求1所述的一種基于人工魚群算法的交通路徑搜索方法,其特征在于,所 述覓食操作的步驟為:魚在其視野visual之內隨機選擇一新狀態若f (Xp < f (Xi),則 向該狀態移動;否則,繼續生成新的&進行嘗試,嘗試try_number次后仍然不能移動,則隨 機移動一步,X j = Xi+visual · randomO,其中randomO為[0, 1]間的隨機數。
4. 如權利要求3所述的一種基于人工魚群算法的交通路徑搜索方法,其特征在 于,所述聚群操作的步驟為:魚在其視野visual內搜索聚集魚群的中心位置X。,并 探測附近的同伴個數s,如果s/n< λ,并且f(X。)<以\),則向該方向前進一步,
否則執行覓食操作。 s
5. 如權利要求3所述的一種基于人工魚群算法的交通路徑搜索方法,其特征在 于,所述追尾操作的步驟為:魚在其視野visual內搜索最優魚個體X min,設Xmin視野 領域內的伙伴數為s',如果F(Xi)Sf(X min),并且s' /η<λ,向該位置前進一步,
否則執行覓食操作。
6. 如權利要求1所述的一種基于人工魚群算法的交通路徑搜索方法,其特征在于,所 述公告板內記錄魚群內歷史最佳個體的狀態Xgbest,各人工魚每次迭代完成后均檢查f (Xi) < f (W是否成立,如果成立,將Xgtest更新為Xi。
【文檔編號】G06Q10/04GK104392283SQ201410697094
【公開日】2015年3月4日 申請日期:2014年11月27日 優先權日:2014年11月27日
【發明者】寧建紅 申請人:上海電機學院