婁 奧,姚敏立,賈維敏,袁 丁
(1.火箭軍工程大學(xué) 作戰(zhàn)保障學(xué)院,陜西 西安 710025;2.火箭軍工程大學(xué) 核工程學(xué)院,陜西 西安 710025)
智能算法又稱“軟計(jì)算”,是人們受自然界規(guī)律啟迪,模仿其原理求解優(yōu)化問(wèn)題的算法。其中,群集式智能算法通過(guò)相互合作的簡(jiǎn)單個(gè)體搜索復(fù)雜問(wèn)題的最優(yōu)解,具有可擴(kuò)充性好、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn)[1-2]。
引力搜索算法(Gravitational Search Algorithm, GSA)是伊朗科學(xué)家RASHEDI等[3]提出的一種新型群集式智能算法。有研究表明,當(dāng)對(duì)基準(zhǔn)函數(shù)測(cè)試時(shí),引力搜索算法的全局搜索性能優(yōu)于遺傳算法、粒子群算法等其他智能算法[4]。但是,引力搜索算法存在易陷入局部最優(yōu)、搜索精度有待提高等問(wèn)題。為改善算法性能,文獻(xiàn)[5]引入歷史經(jīng)驗(yàn)的思想,較好地提高了搜索精度;文獻(xiàn)[6]基于進(jìn)化程度和種群極值,設(shè)置自適應(yīng)算子引導(dǎo)種群的搜索方向;文獻(xiàn)[7]根據(jù)算法互補(bǔ)思想,設(shè)計(jì)新的粒子速度公式,也取得不錯(cuò)的實(shí)驗(yàn)效果。
筆者引入混沌和局部搜索思想優(yōu)化引力搜索算法的全局尋優(yōu)性能,提出一種Tent混沌和變鄰域局部搜索優(yōu)化的引力搜索算法(GSA optimized by Tent chaos and Variable neighborhood Local search,TVL-GSA)。首先設(shè)計(jì)一種遍歷均勻性更好的Tent混沌模型初始化種群;再對(duì)粒子速度和引力系數(shù)進(jìn)行改進(jìn);最后基于萊維飛行作變鄰域局部搜索。
引力搜索算法吸收牛頓第二定律的特點(diǎn),賦予個(gè)體質(zhì)量屬性,使粒子之間存在吸引力。粒子的適應(yīng)值越優(yōu),其質(zhì)量也越大。粒子質(zhì)量公式如下所示:
(1)
式中,t表示當(dāng)前迭代次數(shù),Mi,t是粒子i在t時(shí)刻的質(zhì)量,fi,t是粒子i的適應(yīng)值,wt是t時(shí)刻所有粒子的最差適應(yīng)值,N是粒子總數(shù)。粒子i和j在第d維的引力大小的更新式為
(2)
文獻(xiàn)[8]指出,利用Tent混沌的遍歷性初始化種群,可以改善其分布均勻性,增強(qiáng)算法的全局搜索能力。但是,標(biāo)準(zhǔn)Tent混沌序列的相鄰點(diǎn)有較強(qiáng)的相關(guān)性,易迭代到固有不動(dòng)點(diǎn)而失去意義。為解決該問(wèn)題,文獻(xiàn)[8]提出一種分段式改進(jìn)Tent混沌模型,不足之處是削弱了Tent混沌遍歷均勻性強(qiáng)的優(yōu)勢(shì)。
筆者設(shè)計(jì)一種基于小隨機(jī)附加項(xiàng)的改進(jìn)Tent混沌模型,在避開(kāi)固有不動(dòng)點(diǎn)的前提下,盡可能維持Tent混沌的結(jié)構(gòu)屬性,保留其均勻性特征。改進(jìn)Tent混沌的表達(dá)式如下:
(3)
式中,r是區(qū)間[0,1]內(nèi)的隨機(jī)數(shù)(下同),T是最大迭代次數(shù)(下同)。取h=0.5,T=1 000,生成文獻(xiàn)[8]和筆者改進(jìn)的Tent混沌序列。序列分布直方圖如圖1及圖2所示。
圖1 文獻(xiàn)[8]混沌序列分布直方圖
圖2 筆者改進(jìn)的Tent混沌序列分布直方圖
由圖1和圖2直觀可見(jiàn),兩種混沌序列在[0,1]內(nèi)各個(gè)子區(qū)間都有點(diǎn)分布,沒(méi)有小周期和迭代歸零的現(xiàn)象。而且,筆者改進(jìn)的Tent混沌序列的點(diǎn)分布得更加均勻,遍歷性更好。
當(dāng)求解多峰函數(shù)時(shí),引力搜索算法的粒子一旦靠近局部峰值,極易因聚集效應(yīng)驅(qū)使種群陷入局部最優(yōu)。因此,對(duì)可能接近局部峰值的粒子作局部搜索,理論上可以抑制甚至避免種群落入局部最優(yōu)陷阱的趨勢(shì)。
(1)設(shè)種群第t次迭代后最優(yōu)粒子的位置是Xb,t,對(duì)其作基于萊維飛行的局部搜索[9]:
(4)
式中,Xn b,t是搜索得到的新位置,Lβ是搜索步長(zhǎng)。其中,μ~N(0,σ2),ν~N(0,1),1<β<3,o(Xb,t-1-Xb,t)是Xb,t-1和Xb,t的歐幾里德度量,
(5)
(2)在式(4)中引入線性變化的慣性權(quán)重系數(shù)ω[10]。更新后公式為
(6)
其中,ωmax是最大權(quán)重,ωmin是最小權(quán)重,文中分別取其經(jīng)驗(yàn)值1和0。
(3)計(jì)算Xn b,t的適應(yīng)值。若其不小于Xb,t的適應(yīng)值,則需要擴(kuò)大鄰域范圍繼續(xù)搜索。為式(6)添加鄰域擴(kuò)變系數(shù)γ:
(7)
其中,χ是區(qū)間[0,0.5]內(nèi)實(shí)數(shù)。為控制成本,最多搜索3次。若找到更優(yōu)解,則Xnb,t替換Xb,t。
引力搜索算法的速度公式為
vi,t=rvi,t-1+ai,t。
(8)
TVL-GSA在此基礎(chǔ)上添加歷史記憶信息,改進(jìn)后公式為
.
vi,t=rvi,t-1+1.5ai,t+0.5(Xb,t-1-Xi,t-1),
(9)
其中,vi,t、ai,t是粒子i第t次迭代的速度、加速度;Xi,t-1是粒子i第t-1次迭代的位置。
由式(2)可知,引力系數(shù)Gt與引力大小相關(guān),會(huì)直接影響粒子移動(dòng)(種群搜索)的速率。TVL-GSA為Gt增添系數(shù)d改變其下降速率:
Gt=G0(exp(-αt/T))d,
(10)
其中,G0是引力系數(shù)初值,一般取100;α是引力衰減系數(shù),一般取20。d取不同值使Gt變化趨勢(shì)差異較大,如圖3所示。隨著d值變大,Gt的下降加快,使引力搜索算法更早地進(jìn)行精細(xì)搜索。這樣的設(shè)計(jì)有利于單峰函數(shù)加速收斂到全局最優(yōu)解,但也可能使多峰函數(shù)錯(cuò)過(guò)全局最優(yōu),陷入局部最優(yōu)。為中和效果,d取經(jīng)驗(yàn)值3。
TVL-GSA的主要思想包括3部分:第1部分,引入改進(jìn)Tent混沌初始化種群,增加種群多樣性,避免粒子在迭代早期就陷入局部最優(yōu);第2部分,改進(jìn)引力搜索算法的速度和引力系數(shù)公式,對(duì)所有粒子完成引力搜索;第3部分,種群更新后,對(duì)最優(yōu)粒子執(zhí)行基于萊維飛行的變鄰域局部搜索,引導(dǎo)種群脫離局部最優(yōu),并影響后續(xù)迭代中種群的搜索方向。
TVL-GSA的具體流程如圖4所示。
圖3 引力系數(shù)變化曲線
圖4 TVL-GSA流程圖
在Intel (R)Core (TM)i3-2100 CPU@3.10 GHz,內(nèi)存12.00 GB,Windows7系統(tǒng)和Matlab 2014b環(huán)境下做仿真實(shí)驗(yàn)。引入9個(gè)經(jīng)典基準(zhǔn)函數(shù)對(duì)GSA、I-GSA/PSO[5]、GGSA[6]、GPS[7]和TVL-GSA進(jìn)行測(cè)試,函數(shù)說(shuō)明如表1所示。
表1 基準(zhǔn)函數(shù)說(shuō)明
為減少誤差影響,每個(gè)函數(shù)各測(cè)試20次,記錄最優(yōu)值、平均值和標(biāo)準(zhǔn)差,結(jié)果見(jiàn)表2。圖5給出了算法對(duì)部分函數(shù)的迭代曲線(縱坐標(biāo)是適應(yīng)值的自然對(duì)數(shù))。
表2 函數(shù)測(cè)試結(jié)果
圖5 算法對(duì)部分函數(shù)的迭代曲線
對(duì)于高維單峰函數(shù)F1~F3,TVL-GSA的尋優(yōu)精度優(yōu)于其他算法,展現(xiàn)絕對(duì)的優(yōu)越性。以F1為例,TVL-GSA的均值比GPS等低86 ~ 90個(gè)數(shù)量級(jí)。圖5中,TVL-GSA收斂速度也快于其他算法。
高維多峰函數(shù)有較多局部極值點(diǎn),可以考查算法抑制局部最優(yōu)的能力。表2中,TVL-GSA對(duì)F4~F6都取得較好的尋優(yōu)效果。對(duì)于典型的非線性多模態(tài)函數(shù)F6,5種算法都得到其理論最優(yōu)值0,但TVL-GSA的均值與標(biāo)準(zhǔn)差都最小。圖5也顯示TVL-GSA的收斂速度更快,付出的時(shí)間成本更少。
低維多峰函數(shù)的局部極值點(diǎn)較少,求解較易,但能檢驗(yàn)算法的魯棒性。表2中,TVL-GSA對(duì)F7~F9的指標(biāo)均最小,且只有其對(duì)F7和F9的標(biāo)準(zhǔn)差均為0。這些數(shù)據(jù)說(shuō)明TVL-GSA的全局搜索穩(wěn)健性更強(qiáng)。
徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(Radial Basis Function Neural Network, RBFNN)是一種基于多變量插值徑向基函數(shù)的神經(jīng)網(wǎng)絡(luò),包含輸入層、隱含層和輸出層[11]。從模式識(shí)別角度看,非線性隱含層空間維數(shù)較高,能把低維非線性不可分問(wèn)題映射到高維空間而線性可分[12]。因此徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)常用作辨識(shí)非線性系統(tǒng)的有效工具。
圖6 TVL-GSA尋優(yōu)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)中心
隱含層徑向基函數(shù)的數(shù)據(jù)中心是徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的重要參數(shù)之一。工程中常用動(dòng)態(tài)聚類算法,如K均值聚類對(duì)數(shù)據(jù)中心作自組織選擇[13]。但是,K均值聚類存在對(duì)初始點(diǎn)敏感和全局搜索弱的缺陷,一定程度上會(huì)影響數(shù)據(jù)中心的選擇結(jié)果??紤]到徑向基函數(shù)的作用范圍是局部的,不恰當(dāng)?shù)臄?shù)據(jù)中心可能使徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)無(wú)法正確反映輸入空間的實(shí)際情況,從而影響其逼近和泛化能力。上文證明,TVL-GSA有很強(qiáng)的全局尋優(yōu)能力,將其與K均值聚類結(jié)合,理論上能彌補(bǔ)聚類的缺陷,提高數(shù)據(jù)中心的選擇質(zhì)量。TVL-GSA尋優(yōu)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)中心的策略如圖6所示。
為檢驗(yàn)優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)解決實(shí)際問(wèn)題的能力,以車載“動(dòng)中通”伺服系統(tǒng)的非線性穩(wěn)定環(huán)為對(duì)象,設(shè)計(jì)辨識(shí)實(shí)驗(yàn)。
動(dòng)中通是一種在載體運(yùn)動(dòng)中實(shí)現(xiàn)不間斷衛(wèi)星通信的地球站[14],其伺服系統(tǒng)采用四閉環(huán)(電流環(huán)、速度環(huán)、穩(wěn)定環(huán)和位置環(huán))體制。其中穩(wěn)定環(huán)的作用是提高伺服系統(tǒng)抗載體擾動(dòng)的能力,工程中得到其精確模型對(duì)閉環(huán)調(diào)節(jié)器的設(shè)計(jì)有重要的意義。但因工作時(shí)受摩擦阻力、慣性力矩、陀螺噪聲等因素干擾,穩(wěn)定環(huán)呈現(xiàn)明顯的非線性特征。經(jīng)典辨識(shí)方法已得不到穩(wěn)定環(huán)的精確模型,可采用神經(jīng)網(wǎng)絡(luò)的辨識(shí)方法。
對(duì)0.9 m直徑平板“動(dòng)中通”的方位軸穩(wěn)定環(huán)進(jìn)行開(kāi)環(huán)辨識(shí)。系統(tǒng)采用東方馬達(dá)步進(jìn)電機(jī)驅(qū)動(dòng),總減速比為425∶1;陀螺儀采用自制的微電機(jī)慣性測(cè)量單元。實(shí)驗(yàn)平臺(tái)如圖7所示。
辨識(shí)實(shí)驗(yàn)的具體步驟:首先保持穩(wěn)定環(huán)為開(kāi)環(huán)狀態(tài),為轉(zhuǎn)臺(tái)方位軸步進(jìn)電機(jī)輸入偽隨機(jī)序列的激勵(lì)信號(hào)(偽隨機(jī)序列由10個(gè)移位寄存器生成,序列長(zhǎng)度是210-1,幅值大小為2o/s);然后從陀螺儀傳感器采集轉(zhuǎn)臺(tái)空間角速度信息作為輸出數(shù)據(jù);最后利用優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)辨識(shí)得到穩(wěn)定環(huán)的開(kāi)環(huán)模型。穩(wěn)定環(huán)輸出數(shù)據(jù)的采集流程如圖8所示。
圖7 動(dòng)中通實(shí)驗(yàn)平臺(tái)
圖8 穩(wěn)定環(huán)輸出數(shù)據(jù)的采集流程
采用標(biāo)準(zhǔn)反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network, BPNN)、標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)和優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)辨識(shí)穩(wěn)定環(huán)。已通過(guò)節(jié)點(diǎn)刪除法確定隱含層的最佳節(jié)點(diǎn)數(shù)為6。為保證實(shí)驗(yàn)有效性,各神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)都相同。
實(shí)驗(yàn)1以穩(wěn)定環(huán)輸出的前1 200個(gè)數(shù)據(jù)為樣本(為減少過(guò)渡過(guò)程的影響,再舍去前100個(gè)),通過(guò)比較模型的精度,檢驗(yàn)神經(jīng)網(wǎng)絡(luò)的逼近能力。結(jié)果如圖9和圖10所示。實(shí)驗(yàn)重復(fù)10次,記錄模型的誤差大小,如表3所示。
圖9 不同神經(jīng)網(wǎng)絡(luò)的辨識(shí)結(jié)果
圖10 不同神經(jīng)網(wǎng)絡(luò)的辨識(shí)結(jié)果(局部)
表3神經(jīng)網(wǎng)絡(luò)模型逼近誤差
類型最小值最大值平均值標(biāo)準(zhǔn)差標(biāo)準(zhǔn)BPNN1.158 91.448 31.289 90.085 7標(biāo)準(zhǔn)RBFNN0.100 40.169 50.122 00.023 4優(yōu)化后RBFNN0.087 20.139 40.102 50.015 2
由圖10可見(jiàn),標(biāo)準(zhǔn)反向傳播神經(jīng)網(wǎng)絡(luò)的逼近誤差很大,不能反映穩(wěn)定環(huán)的實(shí)際輸出。標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)受徑向基函數(shù)作用,有較強(qiáng)的局部逼近能力。圖10也證明標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)和優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的輸出更接近實(shí)際響應(yīng)。表3中,優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)逼近誤差的最小最大值、均值比標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)分別降低13.1%、17.8%和16.1%。
實(shí)驗(yàn)2取實(shí)驗(yàn)1得到的神經(jīng)網(wǎng)絡(luò)模型,擬合穩(wěn)定環(huán)輸出的第1 201至2 000個(gè)數(shù)據(jù),檢驗(yàn)神經(jīng)網(wǎng)絡(luò)的泛化能力。曲線擬合如圖11和圖12所示。實(shí)驗(yàn)重復(fù)10次,記錄模型泛化的誤差大小,如表4所示。
圖12 不同神經(jīng)網(wǎng)絡(luò)的泛化結(jié)果(局部)
表4神經(jīng)網(wǎng)絡(luò)模型泛化誤差
類型最小值最大值平均值標(biāo)準(zhǔn)差標(biāo)準(zhǔn)BPNN1.266 06.189 12.683 31.540 9標(biāo)準(zhǔn)RBFNN0.021 80.144 60.047 50.034 2優(yōu)化后RBFNN0.009 80.084 10.031 60.022 9
由圖12可知,標(biāo)準(zhǔn)反向傳播神經(jīng)網(wǎng)絡(luò)的泛化能力極差,基本無(wú)法表征實(shí)際系統(tǒng)。標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)輸出曲線的擬合程度較好,但當(dāng)轉(zhuǎn)臺(tái)換向時(shí)誤差變大。優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)輸出與系統(tǒng)輸出幾乎重合。結(jié)合表4數(shù)據(jù)可知,優(yōu)化后徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)泛化誤差的最小值、最大值和均值比標(biāo)準(zhǔn)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的分別降低55.0%、41.8%和33.5%。
筆者提出一種Tent混沌和變鄰域局部搜索優(yōu)化的引力搜索算法(TVL-GSA)。通過(guò)比較GSA、IGSA/PSO、GGSA、GPS、TVL-GSA的尋優(yōu)性能,證明TVL-GSA能有效抑制局部最優(yōu),具備更佳的尋優(yōu)精度和穩(wěn)定性。利用TVL-GSA優(yōu)化徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),對(duì)車載“動(dòng)中通”伺服系統(tǒng)的非線性穩(wěn)定環(huán)進(jìn)行辨識(shí),結(jié)果表明其具有更優(yōu)的逼近精度和泛化能力。下一步將設(shè)計(jì)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)整定PID的控制系統(tǒng),探索TVL-GSA更多的工程領(lǐng)域與應(yīng)用價(jià)值。