方錫崗, 周孟然, 胡鋒, 周悅塵, 余道洋
(1.安慶聯(lián)動屬具股份有限公司,安徽 安慶246001;2.安徽理工大學,安徽 淮南232000)
壓力控制是液壓技術中一個不可或缺的重要部分,溢流閥是一種常用的液壓壓力控制閥。但普通溢流閥大多通過調(diào)壓螺釘手動整定,存在壓力轉(zhuǎn)換不平穩(wěn)、壓力控制精度不高、壓力響應滯后等缺陷。電液比例溢流閥采用比例電磁鐵作為控制閥芯,相比手動控制的彈簧組件,可以做到無級調(diào)壓,通過控制器的壓力閉環(huán)控制,可以使輸入壓力快速響應,平穩(wěn)轉(zhuǎn)換,大大提高工作效率。
在工業(yè)控制現(xiàn)場中,PID控制器的應用十分廣泛,具有算法簡單、可靠性高、魯棒性好等特點,但是對于一些非線性、大慣性、大延遲系統(tǒng),控制效果不盡人意,難以滿足控制要求。所以出現(xiàn)了很多尋優(yōu)算法被用來優(yōu)化PID控制器的例子,如傅曉云等[1]利用粒子群優(yōu)化PID參數(shù);趙亞琪等[2]采用遺傳算法優(yōu)化PID參數(shù)。大部分智能優(yōu)化算法都能輕松勝任PID參數(shù)尋優(yōu),但也存在收斂速度較慢、易陷入局部最小等缺陷。
標準人工蜂群算法(SABC)由土耳其學者Karaboga[3]于2005年提出,是一種新型的模擬蜂群社會行為的仿生算法,相比于其他群算法,SABC在收斂速度和全局性上表現(xiàn)更好,但也存在早熟收斂、局部搜索能力弱及在搜索后期收斂速度慢等缺陷。
ZHU等[4]在2010年提出了基于全局最優(yōu)解gbest的GABC算法,首次將gbest引入ABC算法,加快了算法的收斂速度,但其基于當前最優(yōu)的優(yōu)化策略可能會使算法陷入“早熟”;盧瀅宇[5]在2012年提出了基于局部最優(yōu)解的ABC算法,可動態(tài)調(diào)整領域搜索頻率,提高了算法局部搜索和全局搜索的平衡性,但是其鄰域搜索公式較為復雜,尚有可以改進的空間;李彥蒼等[6]在2015年提出基于信息熵的改進ABC,提高了搜索效率,并應用于TSP問題的求解,優(yōu)化效果良好,但是終止算法的熵值始終沒有統(tǒng)一標準,存在一定的隨意性。2016年,文獻[7]提出了基于精英解的人工蜂群算法(ABC-elite),結(jié)合精英解和gbest在加速收斂和避免“早熟”之間取得了較好的平衡,本文改進了ABC-elite,動態(tài)調(diào)整了精英解和gbest的權(quán)重,對雇傭蜂的更新公式作出調(diào)整,得到IABC-elite算法并應用于電液比例溢流閥的PID參數(shù)尋優(yōu)。
電液比例溢流閥壓力控制的系統(tǒng)框圖如圖1所示。

圖1 電液比例溢流閥壓力控制系統(tǒng)框圖
其工作過程為:壓力傳感器檢測出比例溢流閥出油口壓力,反饋的壓力值與設定值之差輸入IABC-elite控制器。其中,由于PID控制器的比例、積分、微分環(huán)節(jié)受Kp、Ki、Kd這3個參數(shù)的影響很大,在這里將PID部分直接化簡為3個參數(shù),由IABC-elite控制器對這3個參數(shù)尋優(yōu),得到的PWM電壓信號經(jīng)過比例放大后輸入比例溢流閥。
關于比例放大器的數(shù)學模型,由于比例放大器與整個系統(tǒng)的固有頻率相比,響應特性較高,所以可化簡為比例環(huán)節(jié):

式中:Ka為比例放大器的增益;I(s)和U(s)分別為比例放大器的輸出電流和輸入電壓。
許多學者對比例溢流閥模型都進行了深入的分析和描述[8-10],但得到的數(shù)學模型十分復雜,不利于仿真和實驗分析。本文將對電液比例溢流閥模型向二階系統(tǒng)簡化。由于系統(tǒng)為非最小相位系統(tǒng),忽略對系統(tǒng)影響較小因素及干擾,比例溢流閥傳遞函數(shù)可以表示為

式中:ω0為閥的綜合固有頻率;ξ0為閥的綜合阻尼比。
所以,確定電液比例溢流閥傳遞函數(shù)的實質(zhì)就是確定ω0、ξ0這兩個參數(shù)的值。根據(jù)文獻[9]的bode圖分析結(jié)果,可以初步判定0.7<ξ0<1.0,25 rad/s<ω0<40 rad/s。經(jīng)過多次的實驗試湊,ξ0和ω0分別取0.95和36 rad/s為最佳。將參數(shù)代入式(2)中得

在SABC中,蜂群包含3種不同分工的蜜蜂:雇傭蜂(employed bees)、跟隨蜂(onlookers)和偵查蜂(scouts)。
雇傭蜂發(fā)現(xiàn)食物源并記錄食物源信息;跟隨蜂根據(jù)雇傭蜂攜帶的食物源信息選擇是否跟隨;當一個食物源被放棄時,雇傭蜂轉(zhuǎn)變?yōu)閭刹榉洌S機尋找下一個食物源。
在算法中,食物源被定義為一個擁有D維屬性的可行解,解的個數(shù)等于雇傭蜂數(shù),解的質(zhì)量用適應度函數(shù)定義。初始解根據(jù)公式(4)產(chǎn)生:

式中:ub和lb分別為解元素的上界和下界;rand(0,1)為(0,1)上的隨機數(shù)。
隨后,雇傭蜂開始對種群進行循環(huán)搜索,在每一個初始解的鄰域內(nèi)都將搜索出一個隨機解,跟隨蜂會根據(jù)食物源的信息按照一定的概率進行選擇。跟隨蜂重復上述操作。
跟隨蜂和偵查蜂根據(jù)公式(5)進行搜索:

式中:Xi,j為第i個解的第j維;Xk,j為第k個解的第j維,且k≠i;ri,j為[-1,1]上的隨機數(shù)。
解被跟隨蜂選擇的概率,根據(jù)公式(6)確定:

式中:prob(i)為第i個解被選擇的概率; fit(i)為第i個解的適應度。
如果某個解經(jīng)過limit次迭代后仍未被改善,則可以判定這個解已經(jīng)陷入局部最小,被雇傭蜂舍棄,此時雇傭蜂轉(zhuǎn)變成偵查蜂并根據(jù)式(7)尋找新解:

式中:Xmin,j為到當前代第j維最小值;同理,Xmax,j為最大值;rand為[-1,1]上的隨機數(shù)。
眾所周知,對于基于群的啟發(fā)式算法例如ABC、PSO、GA、DE(差分進化算法)等來說,探索和開發(fā)是兩個非常重要的迭代過程。探索指的是算法在解空間中,調(diào)查未探索過的區(qū)域從而找出全局最優(yōu)解的能力;開發(fā)指的是運用當前最優(yōu)解,發(fā)現(xiàn)更優(yōu)解的能力。但是兩者互相矛盾,如果想擁有較強的探索能力(即在全局范圍內(nèi)搜索,不容易陷入局部最小),則必須舍棄部分收斂速度。反之,如果想擁有較快的收斂速度,則陷入局部最小的風險會增大。所以,如何較好地平衡兩者,是優(yōu)化算法的關鍵所在。
ZHU等[4]在PSO的啟發(fā)下,于2010年提出了基于當前全局最優(yōu)解gbest的ABC,雇傭蜂和跟隨蜂的更新公式為

其中:等號右邊前兩項與SABC相同;第三項中Ψi,j為[0,c]之間的隨機數(shù),經(jīng)過仿真試驗后得到c取1.5為最優(yōu);Xbest,j為gbest。
我們暫且可以定義等式右邊第一項為搜索基項,后兩項分別為隨機引導項和gbest引導項。但等式后兩項如果互為相反數(shù),則相互抵消并呈現(xiàn)收斂振蕩,所以GAO等[11]對搜索公式做出改進,采用一個基項加一個引導項的模式,搜索公式如下:

ABC-elite相比于前兩種算法的優(yōu)勢在于采用一個引導項與一個基項的和的形式,避免了收斂振蕩,但這種公式形式很難兼顧探索和開發(fā),所以在雇傭蜂和跟隨蜂階段采用不同的搜索公式加以專精。但是,對于式(10)中以精英解為引導項的方法并不能提高算法的全局性。更重要的是,式(11)中,以gbest和精英解的均值作為基項,相當于將兩者對算法的影響等同看待,這樣做既沒有充分利用種群中最成功個體的經(jīng)驗,也不利于算法的快速收斂。
尋優(yōu)算法在整個迭代過程中對于探索和開發(fā)能力的著重是不同的,在迭代前期,希望算法能夠迅速開發(fā)、盡快收斂,而到了迭代后期又希望盡量在整個解空間進行探索,避免陷入早熟。對于ABC-elite算法,本文引入了一個參數(shù)μ,可以隨著迭代次數(shù)的增加動態(tài)改變精英解和gbest的影響,μ的數(shù)學形式可以有很多種,本文采用了較為簡單的線性表達式,公式如下:

其中:t為當前迭代次數(shù);Tmax為最大迭代次數(shù)。
新的跟隨蜂更新公式為

從上式可以看出,μ的取值在[0.1,0.5]之間,在算法迭代初期,精英解的影響力遠小于gbest,算法向gbest快速收斂;到了算法迭代后期,隨著μ值的增大,精英解逐漸平衡了gbest過大的引導作用。
在雇傭蜂階段,為了保證普通個體有機會參與進化的過程,進一步增強算法的全局性能,以精英解為基項,隨機解為引導方向得到更新公式:

以上對ABC-elite更新公式的改進得到改進精英人工蜂群算法(IABC-elite),相比于前者,IABC-elite在雇傭蜂階段使用了更多個體的信息,在跟隨蜂階段突出了gbest的引導作用并快速收斂。IABC-elite算法的流程如下所示:
1)算法初始化,根據(jù)式(4)產(chǎn)生一個包含NP個蜜源的種群,求出精英解并將種群中每個解和精英解代入式(14)中得到新解,若適應度較高,則取代舊解。
2)跟隨蜂根據(jù)式(6)所得的概率選擇是否跟隨,求出當前種群中的gbest、精英解和參數(shù)μ,代入式(13)中得到新解,若適應度較高,則取代舊解。
3)若種群中存在經(jīng)過limit次迭代仍未改善的解,則舍棄并通過式(7)產(chǎn)生新解。判斷是否達到最大迭代次數(shù),是則返回歷史最優(yōu)解,否則返回步驟1)繼續(xù)循環(huán)。
本文改進人工蜂群算法采用的適應度計算公式如下:

為驗證IABC-elite算法的有效性,本文采用3個標準測試函數(shù)對IABC-elite、ABC-elite、GABC及SABC算法進行仿真測試和性能對比,3個標準測試函數(shù)的定義如下所示:

測試函數(shù)和算法參數(shù)配置及不同算法的對比數(shù)據(jù)如表1~表4所示。
對于表1中迭代次數(shù)的不同,由于ABC -elite和IABC-elite對于Rastrigin函數(shù)的3000次迭代后結(jié)果相似(最優(yōu)、平均精度都為0),且IABC-elite的優(yōu)勢之一是收斂 速 度快,故采用1000次迭代,比較效果明顯。從表2 ~表4 可以看出,無論是收斂精度、收斂速度還是精度的離散程度,IABCelite 都有一定優(yōu)勢。

表1 測試函數(shù)及算法參數(shù)配置

表2 Sphere函數(shù)

表3 Rosenbrock函數(shù)

表4 Rastrigin函數(shù)

圖2 幾種算法的最優(yōu)個體目標函數(shù)值

表5 仿真結(jié)果
本文將人工整定法、PSO、IABC-elite和SABC進行比較仿真,這里人工整定PID采用的是工程上常用的臨界比例度法,仿真時間為1 s,仿真步長為0.001,簡化傳遞函數(shù)如公式(3)所示,基本控制參數(shù)配置:種群規(guī)模SN=50,最大迭代次數(shù)MCN=100,控制參數(shù)limit=25,解的維數(shù)D=3;懲罰系數(shù)α=100,β=30,γ=10000。3種算法的目標函數(shù)的迭代過程如圖2所示,仿真結(jié)果如表5所示。
從圖2及表5 可以看出 ,IABC -elite 和SABC在算法迭代初期便收斂至0.1 級別,相比PSO 要迅速很多,精度也高了兩個 量 級 。IABC -elite相 比 于SABC,精度提高了超過20%。IABC-elite在收斂精度上優(yōu)勢明顯。
IABC-elite、SABC、PSO和臨界比例度法在單位階躍響應條件下的輸出如圖3所示。
由圖3可以看出,在整個1 s的仿真時間內(nèi),采用臨界比例度法和PSO得到的超調(diào)量超過20%,穩(wěn)定振幅超過了10%,遠大于5%的穩(wěn)定標準,可以判定是振蕩的。因此,從仿真結(jié)果來看,臨界比例度法和PSO無法找到使傳遞函數(shù)達到穩(wěn)定的PID參數(shù),并不適用于電液比例溢流閥壓力控制系統(tǒng)。

圖3 幾種算法的單位階躍響應
IABC-elite和SABC都使系統(tǒng)達到了穩(wěn)態(tài)。從整體上看,兩者上升時間基本相當,但從截取的0.02~0.08 s時間段上看,相比于SABC算法,IABC-elite的超調(diào)量要小很多,也更平穩(wěn),SABC的曲線超調(diào)已經(jīng)超過了10%,而IABC-elite的超調(diào)量小于1%,幾乎沒有振蕩,動態(tài)性能相對較好。
本文采用型號為EBG-03-C的電液比例溢流閥進行實驗分析。具體參數(shù)如下:較小流量為3 L/min;較大流量為100 L/min;較高使用壓力為24.5 MPa;壓力調(diào)整范圍為0.5~16.0 MPa;額定電流為700 mA。線圈電阻為10 Ω,滯環(huán)小于2%,重復精度為1%,質(zhì)量為5.6 kg。由于實驗所用液壓系統(tǒng)的最大壓力輸出為16 MPa,所以壓力上限為16 MPa。壓力過小時,線性度和精度較差。所以,本文分別選擇7 MPa、12 MPa和16 MPa壓力值作為實驗輸入,實驗結(jié)果如圖4~圖6所示,具體參數(shù)如表6所示。
本文在7~16 MPa的壓力區(qū)間上測試了20次,測試的壓力間隔為0.5 MPa,平均誤差絕對值曲線如圖7所示。
從圖7中可以看出:當壓力小于12 MPa時,誤差較為穩(wěn)定,基本保持在0.1 MPa以下;當壓力接近壓力上限16 MPa時,誤差呈現(xiàn)逐漸增大的趨勢。

圖4 設定值為7 MPa時輸出

圖5 設定值為12 MPa時輸出

圖6 設定值為16 MPa時輸出

表6 不同壓力等級的性能對比
本文以精英人工蜂群算法為基礎,將待優(yōu)化的PID 參數(shù)視為蜜源并在此之上引入系數(shù)μ,動態(tài)調(diào)整精英解和gbest的權(quán)重,加快了算法收斂速度;改進了跟隨蜂更新公式,將精英個體向普通個體

圖7 平均誤差絕對值
引導,增強了算法的全局性能并將算法應用于電液比例溢流閥的PID控制。
仿真結(jié)果證明,IABC-elite算法相比SABC、PSO和人工PID參數(shù)整定法在系統(tǒng)超調(diào)、誤差精度上顯著減少,縮短了系統(tǒng)達到穩(wěn)態(tài)的時間,具有一定的優(yōu)越性。
實驗測試表明,在可靠壓力區(qū)間內(nèi),IABC-elite算法在系統(tǒng)的動、靜態(tài)特性上表現(xiàn)良好,具有一定的使用價值。