黃文文,宋 璐,史敬灼
(河南科技大學(xué),洛陽 471023)
隨著電機(jī)伺服控制技術(shù)研究的不斷深入,電機(jī)辨識建模方法日益受到重視。電機(jī)辨識建模的過程是基于實(shí)驗(yàn)數(shù)據(jù),針對結(jié)構(gòu)形式已知、參數(shù)未知的待辨識模型,采用優(yōu)化算法確定模型參數(shù)與階次[1]。其中,優(yōu)化算法是辨識建模過程中的關(guān)鍵環(huán)節(jié)。優(yōu)化算法是否能夠找到最優(yōu)解,表現(xiàn)是否穩(wěn)健,即是否總是能夠收斂于最優(yōu)解,直接決定了所建模型的精度,甚至是建模的成敗。而優(yōu)化算法收斂于最優(yōu)解所需要花費(fèi)的時間長短,則決定了建模效率。
近年來,差分進(jìn)化算法被嘗試用于電機(jī)辨識建模。與其它領(lǐng)域的優(yōu)化問題相比,電機(jī)辨識建模這一特定的應(yīng)用領(lǐng)域,有其自身的特點(diǎn),有必要對標(biāo)準(zhǔn)差分進(jìn)化算法進(jìn)行針對性的改進(jìn),以保證建模精度,提高建模效率。
差分進(jìn)化算法自提出以來,已有許多文獻(xiàn)論及其改進(jìn)方法??偟膩砜?,差分進(jìn)化算法的改進(jìn)主要聚焦在以下三個方面:一是采用自適應(yīng)的優(yōu)化算法參數(shù),使參數(shù)隨進(jìn)化過程動態(tài)變化[2],例如,變異算子影響種群多樣性,通常進(jìn)化初期要求具有較強(qiáng)的種群多樣性,而進(jìn)化后期則期望有較快的收斂速度,因此可考慮在進(jìn)化過程中,使變異算子由大逐漸變小;二是改變算法的結(jié)構(gòu),如改變變異策略[3],或采用將多種變異策略進(jìn)行組合的多變異策略,也可在現(xiàn)有的變異、交叉和選擇三個操作中增加或刪除一些操作;三是差分進(jìn)化算法與其它優(yōu)化算法組合,根據(jù)具體問題需求和各種算法的特點(diǎn),組合成為滿足特定應(yīng)用需要的改進(jìn)算法[4]。
本文以超聲波電動機(jī)辨識建模為例,在標(biāo)準(zhǔn)差分進(jìn)化算法的基礎(chǔ)上,對變異操作及參數(shù)設(shè)定等進(jìn)行改進(jìn),給出了適用于電機(jī)辨識建模的改進(jìn)差分進(jìn)化算法。該算法在得到最優(yōu)解的基礎(chǔ)上,能有效減少優(yōu)化辨識過程所需迭代次數(shù)和時間,優(yōu)化過程更為穩(wěn)健,建模效率更高。
以超聲波電動機(jī)的驅(qū)動頻率為輸入信號、轉(zhuǎn)速為輸出信號,建立超聲波電動機(jī)Hammerstein非線性模型。Hammerstein模型由靜態(tài)非線性環(huán)節(jié)和動態(tài)線性環(huán)節(jié)組成[5]。其非線性環(huán)節(jié):
x=c1+c2ec3(u-c4)2
(1)
線性環(huán)節(jié):
式中:a1,a2,…,ana;b0,b1,…,bnb為模型的待定系數(shù),由辨識確定,na和nb為模型階次。
為進(jìn)行辨識建模,首先需要測取能夠反映超聲波電動機(jī)運(yùn)行特性的實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)用超聲波電動機(jī)為Shinsei USR60行波超聲波電動機(jī),驅(qū)動主電路為H橋結(jié)構(gòu),采用相移PWM控制方式。在電機(jī)的調(diào)速范圍10~120 r/min內(nèi),間隔10 r/min設(shè)定轉(zhuǎn)速階躍給定值,測取不同控制參數(shù)情況下的轉(zhuǎn)速階躍響應(yīng)作為實(shí)驗(yàn)數(shù)據(jù)。在所測階躍響應(yīng)數(shù)據(jù)中,取8組數(shù)據(jù)用作校驗(yàn)數(shù)據(jù),以評測所建模型的泛化能力;其它36組數(shù)據(jù)作為建模數(shù)據(jù),用于辨識建模。
采用標(biāo)準(zhǔn)差分進(jìn)化算法進(jìn)行超聲波電動機(jī)辨識建模,取如下均方差函數(shù)作為優(yōu)化的目標(biāo)函數(shù):
(3)
式中:m為所用實(shí)測數(shù)據(jù)的組數(shù);h為每組數(shù)據(jù)的數(shù)據(jù)點(diǎn)數(shù);y為模型計算值;ye為實(shí)測值。
經(jīng)辨識,得到模型階次為na=4,nb=1的超聲波電動機(jī)Hammerstein非線性轉(zhuǎn)速控制模型,模型精度優(yōu)于作者所在課題組之前采用蟻群、粒子群、菌群覓食等優(yōu)化算法建模的情況,表明差分進(jìn)化算法是一種適用于超聲波電動機(jī)辨識建模的較好的優(yōu)化算法。表1給出了采用該算法進(jìn)行優(yōu)化辨識的部分結(jié)果。
表1 采用標(biāo)準(zhǔn)差分進(jìn)化算法進(jìn)行模型辨識的部分優(yōu)化結(jié)果
但是,在建模過程中,采用相同優(yōu)化算法參數(shù)、模型階次參數(shù)進(jìn)行的多次優(yōu)化辨識計算,所得最優(yōu)目標(biāo)函數(shù)值往往會有差異,如表1第2組三次辨識的情況。顯然,所得最優(yōu)目標(biāo)函數(shù)值相對較大的優(yōu)化辨識過程,并未收斂于最優(yōu)解,優(yōu)化算法表現(xiàn)不夠穩(wěn)健。另一方面,使優(yōu)化辨識收斂所需的迭代計算次數(shù)較多,優(yōu)化過程所需時間較長,進(jìn)一步限制了建模效率。
為使優(yōu)化算法更穩(wěn)健,保證建模精度,并減少優(yōu)化辨識過程所需迭代次數(shù)和時間,提高建模效率,有必要考慮針對電機(jī)建模這一特定應(yīng)用領(lǐng)域,改進(jìn)差分進(jìn)化算法。
差分進(jìn)化算法利用種群中個體間的差異,引導(dǎo)種群個體的進(jìn)化方向,使種群個體進(jìn)化成為性能更為優(yōu)良的個體,而正是變異操作決定了如何引導(dǎo)種群個體的進(jìn)化方向。合適的變異策略將提供在可行解空間中適用于特定問題的搜索方法,從而可加快搜索到全局最優(yōu)解的搜索速度。文獻(xiàn)[3]對差分進(jìn)化算法進(jìn)行改進(jìn),給出下式的變異策略:
式中:F,F(xiàn)2為變異算子,文獻(xiàn)[3]設(shè)其為常數(shù),并令F=F2;r1,r2∈{1,2,3,…,Np}為隨機(jī)選取的互不相同的數(shù),且均與i不同;Np為初始種群個體數(shù)量;Xi(t)為第t代種群中的目標(biāo)個體矢量;Vi(t+1)為目標(biāo)矢量所對應(yīng)的變異個體矢量;Xbest(t)為第t代種群中的最優(yōu)個體矢量。
式(4)中,F(xiàn)所乘差分矢量為當(dāng)前最優(yōu)個體矢量與目標(biāo)個體矢量之間的差向量,使目標(biāo)個體產(chǎn)生定向運(yùn)動,趨近于當(dāng)前最優(yōu)個體矢量周邊進(jìn)行局部搜索。而F2所乘差分矢量為兩個不同隨機(jī)個體的差向量,使目標(biāo)個體產(chǎn)生隨機(jī)運(yùn)動,傾向于全局搜索。式(4)中系數(shù)F和F2的相對大小,反映了側(cè)重于全局搜索還是局部搜索,可以用來調(diào)控優(yōu)化進(jìn)程。一般而言,在優(yōu)化的起始階段應(yīng)側(cè)重于全局搜索,隨著優(yōu)化迭代計算的持續(xù)進(jìn)行,應(yīng)逐漸過渡到側(cè)重于局部搜索,并應(yīng)考慮保持適當(dāng)?shù)碾S機(jī)性。由此看來,系數(shù)F和F2的相對大小,應(yīng)該是隨著優(yōu)化進(jìn)程而變化的。但是,文獻(xiàn)[3]將系數(shù)F和F2設(shè)為常數(shù),并取兩者數(shù)值相等。這樣做,不符合優(yōu)化計算的一般規(guī)律。因此,本文嘗試在優(yōu)化過程中調(diào)整F和F2的相對大小,探求更適合于電機(jī)建模應(yīng)用的改進(jìn)算法。
根據(jù)一般規(guī)律,優(yōu)化起始階段的目標(biāo)函數(shù)值大,需要進(jìn)行大范圍的全局搜索,可設(shè)置F2為較大值,并取F為小值。隨著迭代計算的進(jìn)行,目標(biāo)函數(shù)值逐漸減小,應(yīng)使F值增大,逐漸過渡到側(cè)重局部搜索。F值增大到一定值后,應(yīng)保持不變。若F值過大,可能會因個體聚集太快而陷入局部極值點(diǎn),出現(xiàn)早熟。同時,F(xiàn)2值應(yīng)保持適當(dāng)?shù)臄?shù)值,不能過小,以使種群在進(jìn)入局部搜索后仍保持一定的分散程度,限制聚集的速度和程度。
由此,嘗試采用不同的變異算子F,F(xiàn)2調(diào)整表達(dá)式,進(jìn)行超聲波電動機(jī)辨識建模,評測變異算子的不同調(diào)整方式對優(yōu)化過程的影響。
優(yōu)化辨識效果最好的兩種變異算子調(diào)整方法如表2所示,為便于對比,表2同時給出了文獻(xiàn)[3]所述改進(jìn)算法、標(biāo)準(zhǔn)差分進(jìn)化算法的優(yōu)化結(jié)果。表2中1至4組情況,達(dá)到最優(yōu)目標(biāo)函數(shù)值所需時間依次為216.91 s,176.11 s,252.98 s,499.14 s。由表2可知,標(biāo)準(zhǔn)差分進(jìn)化算法三次所得最優(yōu)目標(biāo)函數(shù)值存在差異,而另外三種算法三次優(yōu)化所得最優(yōu)目標(biāo)函數(shù)值均相同,表現(xiàn)更為穩(wěn)健,建模精度更高。與標(biāo)準(zhǔn)差分進(jìn)化算法相比,另外三種算法迭代次數(shù)明顯減少,其中本文所述第2組情況的迭代次數(shù)平均值較標(biāo)準(zhǔn)算法減少73.7%。
與文獻(xiàn)[3]所述F和F2取為固定值的情況相比,本文的改進(jìn)差分進(jìn)化算法(第2組)在保持算法穩(wěn)健性的同時,收斂所需迭代次數(shù)減少30.5%,達(dá)到最優(yōu)目標(biāo)函數(shù)值所需時間也進(jìn)一步縮短30.4%,收斂速度更快,建模效率更高。
表2 不同算法的優(yōu)化結(jié)果對比
下面對本文的改進(jìn)差分進(jìn)化算法(表2第2組)的優(yōu)化過程進(jìn)行分析??梢杂脕矸从硟?yōu)化過程差異的主要指標(biāo)是收斂速度和種群多樣性。當(dāng)前最優(yōu)目標(biāo)函數(shù)值變化曲線可表征收斂速度與收斂過程,種群中個體的分布情況可表征種群多樣性。但個體在多維搜索空間中的分布情況難以用平面圖形完整表達(dá);同時,為了便于描述、比較,需要用數(shù)字指標(biāo)來衡量種群多樣性與個體分布狀況。故本文以當(dāng)前種群中各個體相對平均值距離之和來表征迭代過程中個體分布情況的變化,并稱之為“分散度”。分散度的數(shù)值越大,則種群中個體的分布越分散,種群多樣性越強(qiáng)。反之,分散度越小,個體分布越密集,多樣性越弱。分散度的計算方法:
(5)
(6)
圖1給出了優(yōu)化過程中的最優(yōu)目標(biāo)函數(shù)值變化曲線??梢?,目標(biāo)函數(shù)值起始下降迅速,隨后的緩降階段持續(xù)的迭代次數(shù)較少,從而加快了收斂速度。
圖1 優(yōu)化過程中目標(biāo)函數(shù)變化曲線
圖2為每次迭代的個體分散度變化曲線??梢钥闯?,在達(dá)到最優(yōu)目標(biāo)函數(shù)值所需的125次迭代中,雖部分迭代存在分散度增加的情況,但整體呈現(xiàn)下降趨勢。這表明,在優(yōu)化過程中,各個體逐漸聚攏,群體分布由分散逐漸趨向密集,在迭代次數(shù)為125時,分散度值為438.735 4,可見種群在收斂時仍保持一定的多樣性,符合期望。
圖2 第2組各個體分布情況變化曲線
圖3給出了種群中3個個體的a1值在迭代過程中的變化,各個體中a1值在迭代過程中由分散漸進(jìn)到平穩(wěn)地趨于聚集。圖4為不同迭代次數(shù)時,全部100個個體中a1值的分布情況。同樣,隨著迭代次數(shù)的增加,不同個體中的a1值逐漸趨近,并在120次迭代時依然保持了一定范圍內(nèi)的零散分布。從上述優(yōu)化過程來看,本文的改進(jìn)算法的性能表現(xiàn)趨近于期望的優(yōu)化狀態(tài)。
圖3 第1,50,100個個體a1值變化曲線
圖4 第10,60,120次迭代100個個體分布情況
采用上述改進(jìn)差分進(jìn)化算法,經(jīng)優(yōu)化辨識,得超聲波電動機(jī)Hammerstein非線性轉(zhuǎn)速控制模型參數(shù)為[c1,c2,c3,c4,a1,a2,a3,a4,b0,b1]=[9.540 0, 155.871 7, -0.592 6, 42.006 0, -0.941 6, 0.062 3,0.047 1, -0.025 5 , 0.821 8 , -0.692 8],將上述參數(shù)代入式(1)和式(2)就得到了所建模型。
為驗(yàn)證所建模型的精度,將本文所建模型與文獻(xiàn)[5]所建超聲波電動機(jī)模型的模型計算數(shù)據(jù)與實(shí)測電機(jī)階躍響應(yīng)數(shù)據(jù)進(jìn)行對比,如圖5所示??梢钥闯觯疚乃P偷哪P洼敵雠c實(shí)測輸出的接近程度更好。
圖5 實(shí)測數(shù)據(jù)與模型計算數(shù)據(jù)對比(120 r/min)
采用本文所建模型,使用式(3)計算全部36組實(shí)測建模數(shù)據(jù)的均方差值為9.54,另外8組實(shí)測校驗(yàn)數(shù)據(jù)對應(yīng)的均方差值為3.44;而采用文獻(xiàn)[5]所建模型,上述兩數(shù)值分別為466.42,109.76。對比可知,本文所建模型與實(shí)測數(shù)據(jù)之間的均方差值均較小,模型精度較高。
針對采用標(biāo)準(zhǔn)差分進(jìn)化算法進(jìn)行超聲波電動機(jī)Hammerstein辨識建模所存在的算法不夠穩(wěn)健、建模效率低等問題,對標(biāo)準(zhǔn)算法中的變異操作進(jìn)行改進(jìn),引入自適應(yīng)調(diào)整系數(shù),使優(yōu)化進(jìn)程中何時側(cè)重全局搜索、何時側(cè)重局部搜索變?yōu)榭烧{(diào)可控,不再像標(biāo)準(zhǔn)算法那樣一成不變,從而可以更好地與電機(jī)辨識建模的應(yīng)用需求相匹配。超聲波電動機(jī)辨識建模應(yīng)用表明,與標(biāo)準(zhǔn)差分進(jìn)化算法比較,本文的改進(jìn)差分進(jìn)化算法表現(xiàn)更為穩(wěn)健,保證了建模精度;與已有改進(jìn)算法相比,本文方法收斂速度更快,建模效率更高。