基于多約束場景的BFO-ACO漫游路徑規(guī)劃
在虛擬漫游中,路徑規(guī)劃是直接影響用戶場景探索和沉浸感的關(guān)鍵問題.路徑規(guī)劃目的是在指定起點到終點之間尋找一條最優(yōu)路徑.與其他的路徑規(guī)劃環(huán)境不同,漫游環(huán)境中不僅要求規(guī)劃路徑最短,還要考慮路徑經(jīng)過景點可見區(qū)域的數(shù)量、路徑的平滑性和路徑與障礙物的安全距離等約束條件,這都給漫游路線規(guī)劃設(shè)計帶來一定的困難.現(xiàn)有的路徑規(guī)劃算法大多僅關(guān)注性能的改進,而常常忽略了多約束條件的影響,不適用于具有多約束條件的漫游環(huán)境.因此,針對漫游環(huán)境的多約束條件進行路徑的評價和規(guī)劃的研究十分必要.
當(dāng)前常用的路徑規(guī)劃算法主要有蟻群優(yōu)化(ant colony optimization,ACO)算法[1-3]、遺傳算法[4-5]、粒子群算法[6-7]和A*算法[8-9]等.其中,ACO算法[10]因具有良好的分布式計算能力、強魯棒性和全局收斂等優(yōu)點被廣泛用于路徑規(guī)劃,但也存在收斂速度慢、易陷入局部最優(yōu)和死鎖的問題,因此也衍生出許多改進算法.JIAO等[11]通過改進信息素增量使其能夠?qū)崿F(xiàn)自適應(yīng)更新,提高了算法的運行效率,減小陷入局部最優(yōu)的可能性.辛建霖等[12]采用基于ACO算法的多算法融合方式,在搜索初期使用Dijkstra算法初始化路徑以提高搜索效率,再用Logistic混沌映射初始化信息素來提高算法的收斂速度,最后采用多選擇策略和模擬退火機制提高全局搜索能力.MIAO等[13]在啟發(fā)式信息中考慮待選網(wǎng)格距離和目標網(wǎng)格之間的距離,使啟發(fā)式信息能夠自適應(yīng)調(diào)節(jié),并在傳遞概率中引入障礙排除因子和角度引導(dǎo)因子,從而增加了路徑搜索的多樣性,提高路徑規(guī)避能力和搜索效率.CHEN等[14]在啟發(fā)式信息中加入A*算法的估值函數(shù)思想,讓螞蟻在連接起始點的直線上找到移動點,從而提高尋找最優(yōu)路徑的準確性.陳志等[15]通過信息素值非均勻初始化,減少初期搜索的盲目性,用偽隨機方式選擇路徑,強化最優(yōu)解的引導(dǎo),同時利用動態(tài)懲罰的方法解決死鎖問題,提高搜索速度和解的質(zhì)量.張恒等[16]針對死鎖問題設(shè)計了自由尋路-剪枝策略,通過隨機選擇非障礙物柵格跳出死鎖,并將死鎖柵格加入禁忌表,以便生成優(yōu)質(zhì)路徑.孫功武等[17]采用特殊的回退策略解除死鎖,并將死鎖柵格儲存在全局禁忌表,對整個螞蟻群體后續(xù)的尋路進行約束,從而降低后續(xù)迭代中陷入死鎖的概率.然而,隨著場景約束條件增多和場景規(guī)模變大,約束條件之間難以達到平衡,路徑的計算成本指數(shù)性增長,蟻群算法死鎖次數(shù)更多,收斂速度慢和局部最優(yōu)問題更加突出.
本研究根據(jù)漫游中對景點有效區(qū)域、障礙物距離、路徑平滑度和路徑長度等多個約束條件,構(gòu)造評價路線的適應(yīng)度函數(shù)模型,在蟻群算法中引入細菌覓食算法的復(fù)制和驅(qū)散機制,提出混合細菌覓食優(yōu)化思想的改進蟻群優(yōu)化(bacterial foraging optimi?zation and ant colony optimization,BFO-ACO)算法.個體螞蟻根據(jù)狀態(tài)轉(zhuǎn)移規(guī)則生成概率來選擇移動的鄰接點,并根據(jù)適應(yīng)度函數(shù)模型實時評價路徑的優(yōu)劣性.在適應(yīng)度達到一定條件后,對種群中路徑適應(yīng)度最高的螞蟻進行復(fù)制以提高搜索速度,同時淘汰適應(yīng)度最小的螞蟻,減少劣質(zhì)路徑對正反饋機制的影響;優(yōu)化禁忌表更新方式,對陷入死鎖狀態(tài)的螞蟻進行解鎖,提高有效蟻群數(shù)量并保持種群多樣性;在搜索過程中對搜索螞蟻進行一定概率的驅(qū)散,避免陷入局部最優(yōu).
1 多約束環(huán)境路徑規(guī)劃
地圖模型的構(gòu)建是路徑規(guī)劃的重要前提,需要將漫游環(huán)境抽象為便于計算的模型.本研究采用柵格模型表示地圖環(huán)境.虛擬漫游環(huán)境及其柵格化地圖如圖1.
圖1 (a)虛擬漫游環(huán)境及其(b)俯視圖與(c)柵格地圖Fig. 1 (a) Virtual roaming environment and it's (b) top view and (c) grid map.
柵格地圖環(huán)境用二進制表示.其中,黑色方格(記為1)表示不能通過區(qū)域,如建筑物和障礙物等;白色方格(記為0)是可自由通過區(qū)域.為方便查找,柵格內(nèi)的所有方格采用由左至右,由上至下的順序進行編碼.
一般環(huán)境的路徑規(guī)劃常以路徑的長度評價路徑優(yōu)劣,路徑越短則路徑質(zhì)量越高.漫游環(huán)境下的路徑要求更高,需權(quán)衡多個約束條件后再對路徑進行評價.為準確評價路徑質(zhì)量,提出路徑適應(yīng)度函數(shù)模型,根據(jù)適應(yīng)度值判定路徑的優(yōu)劣程度.考慮漫游路徑的長度、經(jīng)過景物有效可見區(qū)域的數(shù)量、路徑平滑性和障礙物距離的要求,建立適應(yīng)度函數(shù)模型為
其中,w1,w2,w3,w4∈[ 0,1],分別表示4個約束條件的平衡系數(shù);fi為第i個約束條件的適應(yīng)度分量.路徑長度是評價路徑優(yōu)劣中的關(guān)鍵指標,路徑越短,其綜合性能越好.路徑長度適應(yīng)度分量為其中, s為路徑的步數(shù); i為路徑位置指標;(xi , yi)和(xi-1 , yi-1)分別為路徑兩個連續(xù)節(jié)點的坐標.路徑中景物的可見性決定了體驗者的沉浸感.在起點到終點的漫游過程中,漫游中看見的景點越多,體驗者的視覺體驗感越好.通常來講,從景點的正面經(jīng)過更能吸引體驗者的注意力,使其不容易感覺到視覺疲勞.因此,景點的正面區(qū)域是景點的有效可見區(qū)域.將路徑經(jīng)過景點可見區(qū)域的平均個數(shù)作為路徑評價標準之一,經(jīng)過區(qū)域數(shù)量越多,路徑的適應(yīng)度值越高.景點可見區(qū)域的適應(yīng)度分量為
其中,N為地圖中關(guān)鍵景點的個數(shù);Sn=1表示路徑在n景點的可見區(qū)域內(nèi)經(jīng)過;Sn=0表示不經(jīng)過.
在漫游過程中,若路徑出現(xiàn)急轉(zhuǎn)或多次轉(zhuǎn)彎,會給體驗者帶來明顯的眩暈感,因此路徑的轉(zhuǎn)彎幅度應(yīng)盡可能減?。窂降钠交m應(yīng)度分量為
其中,?θi為第i步轉(zhuǎn)彎的角度.
沿著路徑進行漫游時,若過于貼近某一側(cè)的障礙物,會造成視覺空間不協(xié)調(diào).因此,路徑的每一個位置與障礙物的最小距離都應(yīng)該盡可能大,且平均障礙距離越大,視覺協(xié)調(diào)性越高.路徑的障礙物距離適應(yīng)度分量為
其中,d av為全局平均最小障礙物距離;di為路徑在i位置的最小障礙物距離.
2 BFO-ACO算法
為解決ACO算法在路徑規(guī)劃中收斂速度慢和易陷入局部最優(yōu)問題,本研究提出混合細菌覓食優(yōu)化思想的改進蟻群優(yōu)化算法.細菌覓食優(yōu)化(bacte?rial foraging optimization,BFO)算法是PASSINO[18]基于大腸桿菌在人體腸道內(nèi)的覓食行為提出的新型智能仿生算法,具有快速搜索的特點和較高的優(yōu)化能力,其關(guān)鍵步驟是趨向、復(fù)制和驅(qū)散操作.BFO-ACO算法的基本思想是在每次迭代搜索的過程中,計算當(dāng)前路徑的適應(yīng)度值,當(dāng)達到設(shè)定的閾值時,復(fù)制適應(yīng)度值高的路徑,提高最佳路徑的搜索速度;多次迭代后,蟻群搜索會集中在幾條路徑中,此時對路徑中某些位置的螞蟻進行隨機驅(qū)散,增加路徑跳出局部最優(yōu)的概率.另外,為解決傳統(tǒng)蟻群算法的死鎖問題,對禁忌表進行優(yōu)化改進,使螞蟻根據(jù)個體選擇概率隨機選擇鄰接點解除死鎖,保證算法前期路徑的多樣性.
BFO-ACO算法基于傳統(tǒng)蟻群算法的狀態(tài)轉(zhuǎn)移規(guī)則進行路徑搜索,并按照路徑的適應(yīng)度值更新信息素.狀態(tài)轉(zhuǎn)移規(guī)則由每個位置的信息素濃度和距離啟發(fā)因子決定.因此,從當(dāng)前位置移動到方向j的概率為
其中,allowed為可移動的方向集合;α和β為正整數(shù),是信息素和啟發(fā)因子的權(quán)重;τj為移動到方向j的信息素強度;ηj為移動到方向j的啟發(fā)式因子,取當(dāng)前位置到終點距離的倒數(shù).信息素濃度越大,啟發(fā)式因子越小,則選擇該方向的概率就越大.
當(dāng)所有螞蟻都到達終點時,即完成1次迭代.此時整個信息素表以固定系數(shù)ρ揮發(fā)掉一部分,當(dāng)次迭代產(chǎn)生的路徑信息素增加.信息素更新規(guī)則如式(7)至式(9).
其中,t為迭代次數(shù);ρ為揮發(fā)系數(shù);Δτ為每次迭代中的信息素增量;Δτ ij為每次迭代中從i點到j(luò)點路徑的信息素增量;Δτ ij ( m )為路徑m釋放的信息素量;M為螞蟻的種群數(shù)量;F (m)為第m條路徑的適應(yīng)度,且0<F (m)<1;常數(shù)Q為信息素總量,路徑的適應(yīng)度越大,留下的信息素就越多. i,j∈path (m)表示路徑m經(jīng)過i點和j點.
ACO算法為避免形成環(huán)路和重復(fù)路徑,在移動策略中使用了禁忌表,但禁忌表策略常使螞蟻在搜索路徑時陷入死鎖狀態(tài),導(dǎo)致螞蟻不能到達終點,此路徑被標注為無效路徑,不更新信息素,這降低了路徑的多樣性.特別是在規(guī)模較大的地圖環(huán)境下,死鎖會導(dǎo)致無效螞蟻過多,在多次迭代之后才會出現(xiàn)少數(shù)有效路徑,信息素迅速積累,后續(xù)迭代的螞蟻群體大量集中在此有效路徑中,極易導(dǎo)致局部最優(yōu)解,甚至出現(xiàn)迭代終止之后仍無法搜索到有效路徑的情況.為解決此問題,本研究提出優(yōu)化禁忌表策略進行解鎖.禁忌表記錄螞蟻經(jīng)過的次數(shù),移動時優(yōu)先選擇螞蟻經(jīng)過次數(shù)為0的鄰接點.當(dāng)所有鄰接點禁忌值非0時,表示陷入死鎖,此時按照禁忌表次數(shù)的倒數(shù)生成概率,隨機選擇鄰接點跳出死鎖.
圖2(a)是螞蟻在7號柵格發(fā)生死鎖的示例.此時7號柵格的鄰接點禁忌表都記為1,表示在此次迭代中螞蟻已經(jīng)過1次.按照禁忌表中記錄次數(shù)的倒數(shù)產(chǎn)生概率進行解鎖,則此時7號柵格的所有鄰接點的選擇概率都相等.假設(shè)選擇3號柵格解鎖并更新路徑,如圖2(b),此時3號柵格在禁忌表中記為2.繼續(xù)移動時,優(yōu)先選擇在禁忌表中記錄為0的鄰接點隨機進行移動,即4號和9號柵格,避免了螞蟻因選擇2、7和8號柵格而再次陷入死鎖.在圖2(c)中,螞蟻在9號柵格再次陷入死鎖時,按禁忌表記數(shù)的倒數(shù)生成移動選擇概率,螞蟻選擇3號柵格跳出的概率比其他鄰接點要小,減少了后續(xù)搜索中又陷入死鎖的概率.因此,在優(yōu)化禁忌表解鎖的策略下,螞蟻在單次迭代過程中陷入死鎖的概率越來越小,從而在保證迭代前期就能找到有效路徑,提高了路徑的多樣性.
圖2 死鎖解鎖步驟(a)第1次死鎖;(b)第1次按概率解鎖;(c)第2次死鎖;(d)第2次按概率解鎖Fig. 2 Deadlock unlocking steps. (a) The first time deadlock, (b) the first time unlock by probability, (c) the second time deadlock, (d) the second time unlock by probability.
為提升算法初期的搜索速度,使整體算法快速收斂,本研究引入BFO算法的復(fù)制機制.復(fù)制操作在尋路過程中的應(yīng)用如圖3所示,黑色圓圈為起點,紅色圓圈為終點,①至④是4只螞蟻的實時搜索路徑.在蟻群進行路徑搜索的過程中,對每只螞蟻的當(dāng)前路徑使用式(1)的適應(yīng)度函數(shù)模型進行評價,路徑的適應(yīng)度值越高,該路徑是優(yōu)質(zhì)路徑的概率越高,對優(yōu)質(zhì)路徑進行復(fù)制,增加優(yōu)質(zhì)路徑的搜索概率.如圖3(a),當(dāng)前時刻路徑①適應(yīng)度值最大,對該路段進行復(fù)制,提高路徑①的搜索概率.同時為了保持種群數(shù)量一致性,淘汰適應(yīng)度最差的路徑③,復(fù)制的路徑對淘汰的路徑進行替換,如圖3(b)所示.隨后,蟻群如圖3(c)所示繼續(xù)進行搜索.
當(dāng)?shù)螖?shù)較大時,信息素基本集中在一條路徑中,若這條路徑不是最優(yōu)路徑,螞蟻卻以較大的概率沿著這條路徑進行搜索,就難以跳出局部最優(yōu)解.為使算法具有跳出局部最優(yōu)的能力,在搜索中加入驅(qū)散機制.當(dāng)鄰接點的移動選擇概率超過一定的閾值時,對螞蟻采取隨機概率驅(qū)散,選擇其他鄰接點進行移動,從而令每只螞蟻都有可能跳出局部最優(yōu)找到更優(yōu)路徑.假設(shè)在多次迭代后螞蟻的最佳路徑如圖4(a),螞蟻當(dāng)前位于A點,其鄰接表轉(zhuǎn)移概率如圖4(b),此時螞蟻向B點移動的概率極大,超過了0. 94,陷入局部最優(yōu).對螞蟻進行隨機驅(qū)散到C點,使驅(qū)散后的路徑更短,適應(yīng)度值更大,得到最優(yōu)解.
圖3 BFO-ACO算法的復(fù)制過程(a)復(fù)制前;(b)復(fù)制路徑①,淘汰路徑③;(c)下一步搜索Fig. 3 Example of the replication process of the BFO-ACO algorithm. (a) Before replication, (b) replication path①and elimination path③, (c) next search.
圖4 BFO-ACO算法的驅(qū)散過程示例(a)局部最優(yōu)路徑;(b)在A處進行驅(qū)散Fig. 4 Example of the dispersion process of BFO-ACO algorithm. (a) The local optimal path, (b) dispersed at A.
BFO-ACO算法根據(jù)信息素濃度生成狀態(tài)轉(zhuǎn)移概率,然后通過解鎖、驅(qū)散和復(fù)制等操作擴大路徑多樣性,加快搜索過程,最后根據(jù)路徑適應(yīng)度大小進行信息素更新,進入下一次迭代,重復(fù)此過程直至達到最大迭代次數(shù)K,最后輸出最佳路徑.圖5是BFO-ACO算法流程圖.
圖5 BFO-ACO算法流程圖Fig. 5 Flow chart of BFO-ACO algorithm
3 仿真及實驗
為驗證本研究構(gòu)造的適應(yīng)度函數(shù)模型及BFO-ACO算法在多約束環(huán)境中的有效性,使用3種不同規(guī)模的靜態(tài)柵格環(huán)境分別為20×20柵格的簡單環(huán)境、30×30柵格的陷阱環(huán)境,以及40×40柵格的多分支復(fù)雜環(huán)境,各進行50次實驗測試,并將實驗結(jié)果與傳統(tǒng)ACO算法、BFO算法和雙向ACO[19]進行比較,所有算法均采用相同的實驗參數(shù)和適應(yīng)度函數(shù)模型.
實驗參數(shù)設(shè)置:最大迭代次數(shù)K=200,群體
規(guī)模M=20,信息素揮發(fā)系數(shù)ρ=0.3,信息素增加強度系數(shù)Q=1,驅(qū)散閾值Ped=0.9,狀態(tài)轉(zhuǎn)移系數(shù)α=1、β=1,每個個體解除死鎖的次數(shù)上限為100次,超過此限值視為無效路徑,適應(yīng)度函數(shù)模型的平衡系數(shù)w1=0.63、w2=0.04、w3=0.10、w4=0 . 2 3.漫游路徑的質(zhì)量使用式(1)的適應(yīng)度函數(shù)模型進行評價.
不同算法在3種不同規(guī)模環(huán)境下的路徑規(guī)劃結(jié)果如圖6.其中,藍色方格表示路徑起點,紅色方格表示路徑終點,黑色方格表示不可行的障礙物,灰色方格為景點可見區(qū)域并分塊標號,白色和灰色方格都可以自由通行.由圖6(a)可見,20×20柵格的簡單環(huán)境規(guī)模較小,有效景點區(qū)域比較集中,路徑分支較為簡單,4種算法規(guī)劃的路徑都比較集中,路徑長度、彎折程度和障礙距離相近,BFO和雙向ACO算法都經(jīng)過4個景點區(qū)域,BFO-ACO算法經(jīng)過5個景點,而ACO算法只能經(jīng)過3個景點區(qū)域.由圖6(b)可見,30×30柵格的地圖環(huán)境不僅擴大了規(guī)模,還設(shè)計了凹陷和繞遠陷阱,令尋路環(huán)境更復(fù)雜.其中,ACO算法的回折現(xiàn)象比較突出, BFO和雙向ACO算法則出現(xiàn)不同程度的繞遠和凹陷,本研究算法得到的路徑相比其他算法,路徑更短,彎折更少,且經(jīng)過的有效景點區(qū)域最多.40× 40柵格的地圖環(huán)境進一步擴大了規(guī)模,并設(shè)計障礙物均勻分散,從而使尋路過程中分支較多.由于ACO和雙向ACO算法在整個迭代過程中極易因陷入死鎖而無法得到有效路徑,在此環(huán)境下對所有算法均采取與BFO-ACO算法相同的優(yōu)化解鎖策略來進行解鎖.從圖6(c)可見,BFO-ACO和BFO算法都經(jīng)過3個景點區(qū)域且路徑的彎折較少,但BFO算法所得路徑較長;ACO算法所得路徑繞遠、彎折多且不經(jīng)過景點,路徑質(zhì)量較差;雙向ACO算法所得路徑則出現(xiàn)較多的彎折.
圖7比較了ACO、雙向ACO、BFO和BFO-ACO算法在3種環(huán)境下的路徑適應(yīng)度迭代曲線.由圖7 (a)可見,在小規(guī)模環(huán)境中,4種算法都能達到收斂.其中,BFO算法在驅(qū)散作用下不斷尋找適應(yīng)度更高的路徑,收斂較慢;ACO算法前期無效路徑較多,適應(yīng)度小,在迭代約110次后收斂;雙向ACO算法收斂速度較快,迭代約39次就能收斂,這是因為雙向搜索加快了蟻群的尋路效率,能夠快速積累信息素達到收斂,但所得路徑適應(yīng)度不高,陷入了局部最優(yōu)情況.BFO-ACO算法在解鎖策略下保證了迭代前期能夠找到有效路徑,從而保證了搜索的多樣性,避免了出現(xiàn)局部最優(yōu)的情況,在復(fù)制機制的驅(qū)動下快速搜索到較優(yōu)路徑,并及時進行驅(qū)散,得到適應(yīng)度最優(yōu)的路徑,收斂速度快.
圖6 (a)20×20柵格的簡單環(huán)境、(b)30×30柵格的陷阱環(huán)境、(c)40×40柵格的多分支復(fù)雜規(guī)模環(huán)境下不同算法的路徑規(guī)劃結(jié)果Fig. 6 Path planning results of different algorithms in scale environments of (a) a simple environment for a 20×20 grid, (b) a trap environment for a 30×30 grid, (c) a multi-branch complex environment for a 40×40 grid.
圖7 (a)20×20柵格的簡單環(huán)境、(b)30×30柵格的陷阱環(huán)境、(c)40×40柵格的多分支復(fù)雜規(guī)模環(huán)境下不同算法的適應(yīng)度與迭代次數(shù)關(guān)系Fig. 7 Iterative curves of adaptability of different algorithms in scale environments of (a) a simple environment for a 20×20 grid, (b) a trap environment for a 30×30 grid, (c) a multi-branch complex environment for a 40×40 grid.
在如圖7(b)所示的30×30柵格的規(guī)模環(huán)境中, ACO算法由于地圖規(guī)模較大和凹陷陷阱問題,令多數(shù)螞蟻個體陷入死鎖無法到達終點,因此在迭代了約25次后才找到第1條有效路徑.之后,信息素在這條路徑上迅速積累,局部最優(yōu)情況較為突出. BFO算法的驅(qū)散機制可以得到適應(yīng)度更高的路徑,但由于沒有信息素的引導(dǎo)作用,驅(qū)散的隨機性較高,因此仍陷入局部最優(yōu).雙向ACO算法避免了陷入死鎖的無效路徑過多的問題,但由于多約束條件的影響,信息素?zé)o法集中,適應(yīng)度難以收斂. BFO-ACO算法在搜索過程中融入復(fù)制機制,加強了信息素在較優(yōu)路徑上的積累,可令路徑適應(yīng)度迅速收斂.在迭代到60~70次后,路徑選擇較為集中,此時啟動驅(qū)散機制,可進一步提高路徑質(zhì)量,最終在迭代約110次時達到收斂.
在如圖7(c)所示40×40柵格的大規(guī)模環(huán)境中, ACO和雙向ACO算法在多分支條件下不斷找到適應(yīng)度相近的不同路徑,因此信息素?zé)o法在一處積累,這令適應(yīng)度無法收斂.但是,雙向策略可獲得比ACO算法質(zhì)量更好的路徑.ACO算法在迭代后期仍會出現(xiàn)單次迭代中無有效路徑的情況.BFO算法在大規(guī)模環(huán)境下驅(qū)散作用效果不大,這是由于驅(qū)散的隨機性導(dǎo)致的.BFO-ACO算法在完成驅(qū)散得到較優(yōu)路徑之后,信息素積累幫助迭代收斂,可保持較好的路徑質(zhì)量和搜索速度.
表1對比了ACO、雙向ACO、BFO和BFO-ACO算法在3種環(huán)境下的性能.由表1可見,在20×20柵格的環(huán)境中,ACO算法路徑較長,平均轉(zhuǎn)角大,平均障礙距離偏?。籅FO算法的平均障礙距離大,景點數(shù)較多,路徑長度和平均轉(zhuǎn)角較小,但收斂慢;雙向ACO算法運行時間短、收斂快,但路徑的各項性能不高.運行時間上4種算法則差別不明顯.可見,以上3種算法都無法平衡多個約束條件得到一條最佳的路徑,而BFO-ACO算法在路徑長度、景點數(shù)量、平均轉(zhuǎn)角和平均障礙距離上都能保持較好效果,同時具有較快的運算速度.
在30×30柵格的中等規(guī)模環(huán)境中,BFO-ACO算法的各項性能依舊保持較好,在迭代至113次時達到收斂.ACO算法雖然收斂速度快,但這是由于該算法的有效螞蟻數(shù)量過少,有效路徑出現(xiàn)后搜索變得集中,易陷入局部最優(yōu),因而其路徑整體質(zhì)量差,路徑適應(yīng)度值??;BFO和雙向ACO算法在搜索過程中易陷入凹陷陷阱,且運行時間長,適應(yīng)度不收斂,最終得到的路徑各項數(shù)值都不佳.
表1 不同算法在3種環(huán)境的路徑規(guī)劃仿真結(jié)果Table 1 Simulation results of path planning for different algorithms in three environments
在40×40柵格環(huán)境下,BFO-ACO算法在大規(guī)模環(huán)境下仍舊可保持較快的運算速度,多項約束性能較為平衡,在路長、景點數(shù)和平均轉(zhuǎn)角上的表現(xiàn)都明顯比其他算法效果更佳,而平均障礙距離雖略小于BFO和雙向ACO算法,但整體路徑適應(yīng)度遠大于其他算法,即使在多約束條件的限制下,適應(yīng)度仍可收斂,而其他算法直至迭代終止仍無法收斂.
結(jié) 語
提出一種基于多約束漫游環(huán)境的BFO-ACO路徑規(guī)劃算法,針對多約束條件構(gòu)造用于評價路徑質(zhì)量的適應(yīng)度函數(shù)模型,提出優(yōu)化禁忌表的解鎖方案,并將BFO算法中的復(fù)制和驅(qū)散思想融入路徑搜索過程.解鎖保證了路徑搜索的多樣性,以禁忌表中的螞蟻經(jīng)過次數(shù)生成概率解鎖可以逐漸減小死鎖發(fā)生的概率,提高搜索效率.路徑搜索中引入復(fù)制機制,提高了算法前期的搜索速度,使算法全局更快收斂.引入驅(qū)散機制,使算法能夠跳出局部最優(yōu),且驅(qū)散過程融入到搜索過程,不會增加額外的搜索時間.適應(yīng)度函數(shù)模型在路徑搜索過程中對路徑的質(zhì)量進行實時評價,是判斷復(fù)制的重要評價標準,也是決定信息素更新的關(guān)鍵規(guī)則.通過與ACO、雙向ACO、BFO算法在不同環(huán)境下仿真實驗的結(jié)果進行比較,驗證了BFO-ACO算法的可行性與有效性.
由于BFO-ACO算法是基于柵格地圖對路徑進行規(guī)劃,應(yīng)用到漫游環(huán)境中還需要進一步進行曲線平滑處理.因此,未來可針對非規(guī)范化地圖環(huán)境進行研究并得到曲線路徑,或者考慮對路徑適應(yīng)度評價模型進行進一步優(yōu)化.
- 官方認定!CSSCI南大核心首批191家“青年學(xué)者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國內(nèi)核心期刊分級情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- 重磅!CSSCI來源期刊(2023-2024版)最新期刊目錄看點分析!全網(wǎng)首發(fā)!
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個知識點。
- 注意,最新期刊論文格式標準已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫規(guī)則
- 盤點那些評職稱超管用的資源,1,3和5已經(jīng)“絕種”了
- 職稱話題| 為什么黨校更認可省市級黨報?是否有什么說據(jù)?還有哪些機構(gòu)認可黨報?