宮 佳
(淮南職業(yè)技術(shù)學(xué)院 機電工程學(xué)院,安徽 淮南 232001)
比例-積分-微分(PID)控制器在20世紀(jì)30年代出現(xiàn),因其原理簡單、系統(tǒng)模型較為單一,被廣泛運用于工業(yè)生產(chǎn)中[1]。傳統(tǒng)的PID參數(shù)整定時產(chǎn)生的誤差較大,整定過程比較復(fù)雜,并且整定效果較差,產(chǎn)生的震蕩和超調(diào)量也很大,所以必須優(yōu)化PID控制參數(shù)[2]。PID參數(shù)整定主要有以下3個研究方向:對于單輸入輸出的PID控制系統(tǒng),存在控制對象變化較大和干擾控制過程變量過多的問題,因此需要繼續(xù)深化研究PID參數(shù)整定的方法;對于多輸入輸出的PID控制系統(tǒng),需要研究如何整合各個對象的關(guān)系;對于智能PID算法,應(yīng)將算法與PID參數(shù)整定結(jié)合,研究出更多智能PID整定方法[3-5]。圍繞上述3個研究方向,涌現(xiàn)出很多有效的改進(jìn)方法。張婧等[6]根據(jù)自動控制原理,利用MATLAB軟件自帶的Rltool工具箱設(shè)計了簡易的PID控制參數(shù)整定方法,實踐表明利用該方法調(diào)整參數(shù)十分方便。林洽懷[7]開發(fā)了一種基于PLC的PID控制器,對開環(huán)響應(yīng)進(jìn)行識別,并在MATLAB/Simulink平臺上進(jìn)行仿真,實驗結(jié)果表明該方法提高了系統(tǒng)的穩(wěn)定性。劉延飛等[8]對基本遺傳算法的參數(shù)進(jìn)行改進(jìn),提出了一種基于改進(jìn)遺傳算法的PID參數(shù)整定方法,提升了算法的收斂速度,能防止其陷入局部最優(yōu)。楊智等[9]針對工業(yè)過程中PID參數(shù)整定困難的問題,提出了一種個性化慣性權(quán)重的粒子群算法,用來優(yōu)化PID控制參數(shù)整定。孫全明等[10]提出了一種基于粒子群優(yōu)化和LightGBM框架的情景感知多式聯(lián)運推薦方法,提高了粒子種群的多樣性和算法的準(zhǔn)確率。蝙蝠算法(bat algorithms,BA)是一種模擬自然界中蝙蝠發(fā)射超聲波探測周圍實體的算法,具有模型簡單、參數(shù)較少、易于實現(xiàn)的優(yōu)點[11]。呂磊等[12]建立了一種新的PID控制參數(shù)整定方法BA-PID,在PID控制穩(wěn)定性上優(yōu)于粒子群算法?;诖?吳晨輝等[13]將BA-PID用于發(fā)動機空燃比控制研究中,提高了內(nèi)燃機瞬態(tài)工況下的空燃比。此外,杜學(xué)武等[14]發(fā)現(xiàn)蝙蝠算法除了對PID控制器有良好的優(yōu)化效果,還能明顯提升模糊PID控制器的控制精度與計算效率。然而,關(guān)于蝙蝠算法、粒子群算法與遺傳算法的收斂速度、尋優(yōu)精度和PID參數(shù)整定的對比研究卻鮮有報道。本研究將蝙蝠算法應(yīng)用到PID參數(shù)整定中,利用蝙蝠算法準(zhǔn)確率高、易于實現(xiàn)和結(jié)構(gòu)簡單等優(yōu)點來實現(xiàn)PID控制參數(shù)的優(yōu)化,以達(dá)到提高控制系統(tǒng)精度、穩(wěn)定性和整定速度的目的。
經(jīng)典PID控制器一般由比例(P)、積分(I)、微分(D)3個部分組成。PID控制系統(tǒng)如圖1所示。
圖1 PID控制系統(tǒng)Fig.1 PID control system
PID控制器輸入e(t)與輸出u(t)的關(guān)系一般為
(1)
式中:Kp為比例系數(shù);Ti為積分時間常量;Td為微分時間常量。
1.2.1基本原理
圖2給出了基于蝙蝠算法的PID控制原理,該控制系統(tǒng)由模擬PID控制器、蝙蝠算法和被控對象組成,其中r(t)是給定輸入值,y(t)是實際輸出值,e(t)是誤差。
圖2 基于蝙蝠算法的PID控制原理Fig.2 The principle of PID control based on bat algorithm
1.2.2蝙蝠算法實現(xiàn)步驟
蝙蝠算法是以種群為整體的群智能算法。蝙蝠算法包括4個步驟:首先初始化蝙蝠算法的參數(shù),然后調(diào)整蝙蝠的聲波頻率,計算當(dāng)前蝙蝠的適應(yīng)度,接下來判斷隨機數(shù)r與脈沖發(fā)射頻度ri的關(guān)系,最后計算新解的適應(yīng)度值f(xnew)并輸出全局最優(yōu)位置。
1.2.3基于蝙蝠算法的PID控制參數(shù)優(yōu)化算法流程
基于蝙蝠算法的PID控制參數(shù)優(yōu)化算法流程如圖3所示。初始化蝙蝠種群xi和vi、頻率fi、發(fā)射率ri及響度Ai。如果未達(dá)到最大迭代次數(shù)則調(diào)整頻率,產(chǎn)生新的解并更新速度和位置;如果r>ri,則產(chǎn)生一個局部解;如果通過隨機飛行產(chǎn)生了新的解則結(jié)束運行;如果r>ri,則接受該新解,增大ri,減少Ai;對蝙蝠進(jìn)行排序,找到當(dāng)前最優(yōu)解x*,結(jié)束運行。
為證明蝙蝠算法尋優(yōu)效果更佳,對遺傳算法(GA)、粒子群算法(PSA)和蝙蝠算法(BA)進(jìn)行Griewank和Rosenbrock迭代函數(shù)測試,仿真結(jié)果見圖4。
圖4 測試函數(shù)的仿真結(jié)果Fig.4 Simulation results of test function
GA參數(shù)設(shè)置:交叉概率P=0.75,變異概率Pm=0.15。PSA參數(shù)設(shè)置:認(rèn)知系數(shù)C1=1.496 2,社會系數(shù)C2=1.496 2,慣性權(quán)重Wmax=0.9,Wmin=0.4。BA參數(shù)設(shè)置:蝙蝠數(shù)量N=30,頻率fmin=-1,fmax=1,A=0.25,r0=0.75,r=0.05,a=0.95。這3種算法的空間維數(shù)分別取10、20、50、80,它們的迭代次數(shù)都是100。
Griewank函數(shù)的空間特征圖如圖4(a)所示,可以很直觀地看出該函數(shù)為多峰極函數(shù),由于有許多多峰局部極值點,所以全局最優(yōu)值不易被找到。3種算法的Griewank函數(shù)迭代曲線如圖4(b)所示。Rosenbrock函數(shù)的空間特征如圖4(c)所示,可以看出該函數(shù)為單模函數(shù),由于其全局最優(yōu)值周圍比較平坦,所以全局最優(yōu)值也很難搜尋。3種算法的Rosenbrock函數(shù)對比迭代曲線如圖4(d)所示。對比圖4(b)和(d)發(fā)現(xiàn):粒子群算法和蝙蝠算法的搜索精度與收斂速度均優(yōu)于遺傳算法;粒子群算法雖然最終能找到全局最優(yōu)值,但在搜索精度和收斂速度上不如蝙蝠算法;在上述2個函數(shù)中,蝙蝠算法隨著迭代次數(shù)的增加,其適應(yīng)度下降速度最快,并且在迭代初期性能就是最好的,尋優(yōu)成功率也高于遺傳算法和粒子群算法。由此可見,蝙蝠算法的搜索精度和收斂速度都很好。對3種算法分別用函數(shù)f1(x)和f2(x)進(jìn)行20次測試,結(jié)果如表1所示。
表1 蝙蝠算法、遺傳算法、粒子群算法性能測試比較結(jié)果Tab.1 Comparison results of BA, GA and PSA performance tests
由表1可以看出,在最優(yōu)值、最差值、平均值及標(biāo)準(zhǔn)差方面,蝙蝠算法都是最小的,由此可見蝙蝠算法優(yōu)于遺傳算法和粒子群算法。而且,蝙蝠算法的尋優(yōu)精度平均值提升很大,說明蝙蝠算法防止陷入局部最優(yōu)的能力更強,能使種群更加穩(wěn)定并達(dá)到更好的收斂速度和尋優(yōu)精度。
為驗證蝙蝠算法優(yōu)化PID控制參數(shù)的優(yōu)越性,分別使用蝙蝠算法、增量式PID控制算法和粒子群算法對PID進(jìn)行參數(shù)整定,并對整定結(jié)果進(jìn)行對比。實驗中,設(shè)置蝙蝠算法和粒子群算法具有相同的尋優(yōu)空間,尋優(yōu)空間均為Kp∈[0.01,10],Ki∈[0.01,10],Kd∈[0,10]。選取蝙蝠算法的蝙蝠種群為50只,迭代次數(shù)為100,初始響度A=0.5,初始脈沖速率r=0.5,頻率f∈[0,2],采樣周期為0.001 s,調(diào)節(jié)時間ts=1 s。選取粒子群算法的粒子數(shù)為50,迭代次數(shù)為100,認(rèn)知系數(shù)c1=2,社會系數(shù)c2=2,慣性權(quán)重w∈[0.8,3]。前期實驗發(fā)現(xiàn),當(dāng)蝙蝠數(shù)量為50、迭代次數(shù)為100、初始響度為0.8、脈沖速率為2時,優(yōu)化效果最好,因此選擇這4個參數(shù)值較為理想。
將蝙蝠算法、粒子群算法和增量式PID控制算法優(yōu)化PID控制參數(shù)的結(jié)果進(jìn)行比較,控制輸出曲線與誤差曲線如圖5所示。
圖5 不同算法的控制輸出曲線與誤差曲線Fig.5 Control output curve and error curve of different algorithms
從圖5(a)可以看出,蝙蝠算法優(yōu)化PID控制參數(shù)的實際輸出曲線最貼近理論輸出曲線,而增量式PID控制算法的實際輸出曲線與理論輸出曲線偏離較大,優(yōu)化效果較差,粒子群算法優(yōu)化PID控制參數(shù)的實際輸出曲線在理論輸出曲線周圍震蕩很明顯,優(yōu)化效果也比較差。從圖5(b)可以看出,蝙蝠算法的誤差曲線雖然剛開始震蕩明顯,但逐漸趨于0,并近似為一條直線,而增量式PID控制算法的誤差曲線偏差一直較大,粒子群算法的誤差曲線始終在-0.02~0.02震蕩,并且震蕩很頻繁,說明誤差較大。
綜上所述,蝙蝠算法優(yōu)化PID參數(shù)效果最好,而且很穩(wěn)定,而粒子群和增量式PID控制算法優(yōu)化后的實際輸出結(jié)果和理論輸出值偏差較大,穩(wěn)定性遠(yuǎn)不如蝙蝠算法。
在經(jīng)典的PID控制中,PID整定過程比較復(fù)雜,并且控制效果不佳。本研究將蝙蝠算法應(yīng)用到PID參數(shù)整定中,以實現(xiàn)最優(yōu)整定。用MATLAB軟件進(jìn)行仿真和分析發(fā)現(xiàn),蝙蝠算法獲得的PID參數(shù)總體上優(yōu)于增量式PID控制算法和粒子群算法,誤差較小,優(yōu)化效果明顯。然而,由于蝙蝠算法在搜索時陷入局部最優(yōu)的次數(shù)較少,且全局搜索最優(yōu)的精度較高,導(dǎo)致算法的收斂速度和運行效率大大降低,后續(xù)將從數(shù)學(xué)理論角度出發(fā),使蝙蝠算法在收斂速度和收斂精度上均達(dá)到最理想的結(jié)果。