肖厚國(guó)
(大連理工大學(xué)城市學(xué)院,遼寧大連 116000)
隨著科技的發(fā)展,推動(dòng)了優(yōu)化理論的進(jìn)步,使其被廣泛地應(yīng)用于航空航天、自動(dòng)化等各個(gè)領(lǐng)域,同時(shí)伴隨著“互聯(lián)網(wǎng)+”技術(shù)的普及應(yīng)用,優(yōu)化理論呈現(xiàn)出更深、更快的發(fā)展趨勢(shì),為解決優(yōu)化算法提供了契機(jī)。為此該文通過(guò)對(duì)蟻群算法的基本原理以及應(yīng)用現(xiàn)狀進(jìn)行研究,以期為蟻群算法的深入研究奠定基礎(chǔ)。
蟻群算法主要通過(guò)選擇、更新、協(xié)調(diào)機(jī)制來(lái)進(jìn)行路徑規(guī)劃,其算法基本思想是通過(guò)模擬螞蟻在尋找食物過(guò)程中采用的正反饋原理尋找最短路徑,螞蟻在經(jīng)過(guò)的路徑上釋放易揮發(fā)性物質(zhì)信息素(pheromone),并通過(guò)信息素進(jìn)行相互通信。蟻群算法可分為三步:首先找出初始路徑;其次對(duì)路徑剪枝,去掉與實(shí)際條件不相關(guān)屬性;最后更新信息素濃度,為后續(xù)螞蟻選擇路徑提供參考依據(jù)。
設(shè)A點(diǎn)為螞蟻初始行駛的位置,D點(diǎn)為螞蟻?zhàn)罱K到達(dá)的目的地,ABD和ACD分別為兩條截然不同路徑,其中 ABD=2,ACD=4,ACD=2ABD,初始螞蟻數(shù)量為40只。
該文在進(jìn)行論述蟻群算法對(duì)以下信息進(jìn)行約束。
(1)兩條路徑的信息濃度為0。
(2)在行駛的過(guò)程中始終保持速度不變。
(3)到達(dá)點(diǎn)D立即返回。
(1)當(dāng) t=0 時(shí)。
A點(diǎn)共有40只螞蟻,沿ABD路徑的螞蟻數(shù)量為20只,記作N1,沿ACD路徑螞蟻的數(shù)量為20只,記作N2。
(2)當(dāng) t=2 時(shí)。
因ACD和ABD路徑的長(zhǎng)度不同,當(dāng)t=2時(shí),N1已到終點(diǎn),而N2剛到達(dá)C點(diǎn)。為簡(jiǎn)化計(jì)算,設(shè)N1、N2到達(dá)后立即按原有路程折回,此時(shí)DBA上的螞蟻信息濃度由0變成20,而N2還未到達(dá)終點(diǎn)D,故DCA上螞蟻的信息濃度為0。
(3)當(dāng) t=4 時(shí)。
當(dāng)t=4時(shí),N1回到初始位置,N2剛好到達(dá)終點(diǎn)D,因N1已在ABD路徑上留下兩次“痕跡”,而N2在ACD留下一次“痕跡”,所以ABD上的信息度是ACD上的兩倍,因此當(dāng)螞蟻再次尋找食物時(shí),會(huì)根據(jù)路徑上信息度的不同而選擇路徑。隨著越來(lái)越多的螞蟻選擇ABD,從而導(dǎo)致ABD的信息度要逐漸大于ACD上的信息度,致使ABD和ACD上信息度的差異越來(lái)越大,最終導(dǎo)致螞蟻逐漸趨向于選擇路徑ABD,而非路徑ACD。
通過(guò)查閱國(guó)內(nèi)外研究現(xiàn)狀,蟻群算法應(yīng)用于路徑規(guī)劃,其算法步驟如下。
步驟1:設(shè)初始信息素分布iij=i0,螞蟻初始數(shù)量為m0,最大迭代次數(shù)為Tmax,螞蟻記數(shù)器m=0,迭代計(jì)數(shù)器t=0。
步驟2:螞蟻k放置到ɡbegin的位置,并添加至禁忌表tabuk中。
步驟3:在當(dāng)前可行域Z中選擇預(yù)計(jì)運(yùn)動(dòng)的節(jié)點(diǎn),分為兩種情況。
情況1:若|Z|=0,則所有節(jié)點(diǎn)都走過(guò),即無(wú)路可走,跳轉(zhuǎn)至步驟8。
情況2:若|Z|>0,根據(jù)轉(zhuǎn)移概率,并用輪盤賭的方式選擇下一步要前往的節(jié)點(diǎn)j,并將節(jié)點(diǎn)j加入禁忌表tabuk中。
其中公式(2)中,D為啟發(fā)信息項(xiàng),一般設(shè)為常數(shù)1;
步驟4:螞蟻運(yùn)動(dòng)至節(jié)點(diǎn)J后,判斷是否到達(dá)目標(biāo)位置;
情況1:若節(jié)點(diǎn)J不是目標(biāo)節(jié)點(diǎn),跳轉(zhuǎn)到步驟3;
情況2:若節(jié)點(diǎn)J是目標(biāo)節(jié)點(diǎn),螞蟻K到達(dá)目標(biāo)位置,跳轉(zhuǎn)至步驟5;
步驟5:該次迭代是否介紹,若不是m=m+1,跳轉(zhuǎn)到步驟2,若是,則m=,并且按照公式(4)對(duì)信息素進(jìn)行及時(shí)更新,公式(4)如下所示:
i(t+1)=(1-ρ)i(t)+Δjkij(公式 4)
步驟 8:若 t<Tmax,則清空 tabuk,迭代次數(shù) t=t+1,并且跳轉(zhuǎn)到步驟2,否則規(guī)劃結(jié)束。
通過(guò)查詢現(xiàn)有的研究成果,現(xiàn)階段蟻群算法主要根據(jù)選擇、更新、協(xié)調(diào)三種模式進(jìn)行路徑的部署優(yōu)化。在選擇層面,由于供給的信息量多,所以提供選擇的概率就越大;在更新方面,由于螞蟻多次在路徑上留下“痕跡”,信息濃度就會(huì)隨著“痕跡”的增多而增大,從而選擇“痕跡”路徑上多的螞蟻數(shù)量就越來(lái)越多;在協(xié)調(diào)層面,由于信息素是螞蟻間有效的“通訊”方式,它們通過(guò)“通訊”方式有效地進(jìn)行傳遞信息,這在一定程度上確保了路徑規(guī)劃選擇蟻群算法的可靠性。即使如此,蟻群算法也難免會(huì)存在一定的瑕疵,如在收斂速度、局部?jī)?yōu)化以及停滯等均存在一定的問(wèn)題。
隨著信息技術(shù)的發(fā)展以及人工智能的涌現(xiàn),研究學(xué)者針對(duì)蟻群算法存在的問(wèn)題進(jìn)行也進(jìn)行了較大的優(yōu)化,但依然存在一定的問(wèn)題,仍需要繼續(xù)攻破。
(1)螞蟻數(shù)目的確定問(wèn)題。周邊環(huán)境的狀況與螞蟻的數(shù)量存在一定的關(guān)聯(lián)關(guān)系,而螞蟻數(shù)目的多少在一定程度上回饋蟻群算法搜索的快慢。因此,有必要針對(duì)環(huán)境的不同狀況確定螞蟻的數(shù)目進(jìn)行研究,從而進(jìn)一步確定環(huán)境因素與螞蟻數(shù)目的選取問(wèn)題。
(2)收斂速度慢和局部最優(yōu)解問(wèn)題。由于收斂速度與局部最優(yōu)間相輔相成,雖然研究學(xué)者針對(duì)上述問(wèn)題進(jìn)行不同程度的探討,且提出較多的優(yōu)化方案,由于其他算法在環(huán)境、外界因素等方面有苛刻的要求,從而導(dǎo)致在收斂速度和局部最優(yōu)方面往往顧己失彼。因此有必要進(jìn)行探討如何有效的顧及收斂和局部最優(yōu)的情形。
(3)參數(shù)值的設(shè)定。通過(guò)查詢現(xiàn)有的研究成果可知:在現(xiàn)階段,針對(duì)參數(shù)的設(shè)定方面并沒(méi)有明確計(jì)算公式,而是通過(guò)實(shí)驗(yàn)進(jìn)行確定參數(shù)值,因此,在參數(shù)值設(shè)定方面有必要研發(fā)出計(jì)算公式或程序進(jìn)行界定。
(4)隨著自動(dòng)化程度越來(lái)越高,移動(dòng)機(jī)器人逐步趨向于市場(chǎng)化,而移動(dòng)機(jī)器對(duì)路徑規(guī)劃的要求越來(lái)越高,因此有必要針對(duì)影響蟻群算法精準(zhǔn)度的其他因子進(jìn)行研究,從而提供路徑規(guī)劃的精準(zhǔn)性。
因蟻群算法具備搜索能力、正反饋、魯棒性等特點(diǎn),而且、能夠友好的融合其他算法,因此蟻群算法普遍在應(yīng)用于路徑規(guī)劃中,該文針對(duì)蟻群算法在路徑規(guī)劃中的應(yīng)用進(jìn)行研究,以期為蟻群算法的深入研究奠定一定的基礎(chǔ)。
創(chuàng)新創(chuàng)業(yè)理論研究與實(shí)踐2019年3期