, , , ,
(1. 燕山大學(xué)河北省工業(yè)計算機控制工程重點實驗室, 河北秦皇島 066004;2. 燕山大學(xué)河北省重型機械流體動力傳輸與控制重點實驗室, 河北秦皇島 066004;3. 先進(jìn)鍛壓成形技術(shù)與科學(xué)教育部重點實驗室(燕山大學(xué)), 河北秦皇島 066004)
液壓矯直機是對金屬型材、棒材、管材、線材等進(jìn)行矯直的設(shè)備。加工質(zhì)量的優(yōu)劣,取決于液壓矯直機在生產(chǎn)過程中能否實時、快速地做出響應(yīng)。因此, 對液壓矯直機的控制過程提出了更高的性能要求。 PID算法魯棒性好、可靠性高,在液壓系統(tǒng)控制中得到了廣泛的應(yīng)用[1-2]。PID控制的優(yōu)劣往往取決于PID參數(shù)的選取是否合理,探索有效的優(yōu)化算法應(yīng)用于PID控制的參數(shù)優(yōu)化,能夠有效地解決問題。微粒群(Particle Swarm Optimization, PSO)算法作為計算智能領(lǐng)域一種重要的群智能算法,因其調(diào)整參數(shù)少、結(jié)構(gòu)簡單、易于實現(xiàn)、無需梯度信息等優(yōu)點在PID控制參數(shù)優(yōu)化上得到了較多的研究和應(yīng)用[3]。陳東寧等[4]提出一種細(xì)菌群覓食優(yōu)化算法,將微粒群算法中粒子速度的更新公式替代細(xì)菌覓食算法位置公式中的方向向量并應(yīng)用到PID控制器的參數(shù)優(yōu)化。王嵩等[5]提出一種改進(jìn)的微粒群算法應(yīng)用到PID控制器的參數(shù)優(yōu)化中,在算法迭代更新過程當(dāng)中,根據(jù)微粒的適應(yīng)度值大小以一定的淘汰率將部分個體淘汰,然后用產(chǎn)生的新個體代替,同時對慣性權(quán)重進(jìn)行自適應(yīng)調(diào)整。LI J M等[6]提出了一種單純形微粒群算法并應(yīng)用到PID控制器的參數(shù)優(yōu)化。雖然微粒群算法有較快的尋優(yōu)速度,但在尋優(yōu)過程中會遇到早熟收斂的問題,其原因是微粒在解空間分布性的過快缺失,導(dǎo)致了種群過早地收斂于某些局部最優(yōu)解。針對這一問題,姚成玉等[7]提出一種搜索后期引力增強型混合引斥力微粒群算法,利用擬態(tài)物理學(xué)中的引斥力規(guī)則使微粒保持多樣性,提高算法的全局搜索能力;當(dāng)進(jìn)入到具有全局最優(yōu)解的區(qū)域時,增強引力作用、減少斥力作用,提高算法的局部搜索能力。QU B Y等[8]提出一種基于多個局部最優(yōu)解引力作用的微粒群算法,算法中設(shè)置多個鄰域范圍,每個鄰域內(nèi)產(chǎn)生一個局部最優(yōu)解,每個鄰域范圍內(nèi)的微粒同時進(jìn)化但互不影響,從而拓寬微粒的搜索范圍,提高算法的全局搜索能力。ZOU D等[9]在算法進(jìn)化的初始階段充分發(fā)揮全局最優(yōu)解的領(lǐng)導(dǎo)能力,算法進(jìn)化的中后期利用隨機化均勻擾動微粒改變?nèi)后w的作用力規(guī)則。
綜上所述,為兼顧微粒群算法收斂速度與跳出局部解的能力,算法采用階段性搜索方式,分為前、后兩個不同的搜索階段。在算法的前期搜索階段利用個體最優(yōu)微粒與全局最優(yōu)微粒的引力作用搜索,在算法的后期搜索階段引入中值導(dǎo)向加速度,提出動力驅(qū)動微粒群(Power Driven PSO,PDPSO)算法,進(jìn)而將提出的算法應(yīng)用于液壓矯直機PID控制的參數(shù)優(yōu)化問題,尋找最佳的參數(shù)組合。
動力驅(qū)動微粒群算法采用階段性搜索方式,將算法分為前、后兩個搜索階段。前期搜索階段當(dāng)前微粒受到個體最優(yōu)微粒與全局最優(yōu)微粒的引力作用;后期搜索階段當(dāng)個體最優(yōu)微粒及全局最優(yōu)微粒同時位于局部最優(yōu)解時,隨著迭代次數(shù)的增加,慣性權(quán)重w線性遞減到較小值,在沒有其他微粒提供動力的情況下,微粒的速度越來越小進(jìn)而無法跳出局部最優(yōu)解。因此,考慮中間適應(yīng)度微粒的引力作用,構(gòu)造中值導(dǎo)向加速度。通過不同階段的不同搜索方式,兼顧收斂速度與跳出局部最優(yōu)解的能力。
動力驅(qū)動微粒群算法速度和位置更新公式為:
vid(t+1)=wvid(t)+α[c1r1(pid(t)-xid(t))+
c2r2(pgd(t)-xid(t))]+βmid(t)
(1)
xid(t+1)=xid(t)+vid(t+1)
(2)
式中,vid(t+1) —— 第t+1代微粒i的第d維速度
vid(t) —— 第t代微粒i的第d維速度
xid(t+1) —— 第t+1代微粒i的第d維位置
xid(t) —— 第t代微粒i的第d維位置
w—— 慣性權(quán)重
c1,c2—— 加速因子
r1,r2—— (0, 1)內(nèi)的隨機數(shù)
α,β—— 算法前期、后期兩個搜索階段的切換系數(shù)
pid(t) —— 第t代第i個微粒第d維的個體最優(yōu)解
pgd(t) —— 第t代第d維全局最優(yōu)解
mid(t) —— 微粒i的第d維的中值導(dǎo)向加速度
慣性權(quán)重的表達(dá)式為:
(3)
式中,wmin—— 慣性權(quán)重下限
wmax—— 慣性權(quán)重上限
tmax—— 最大迭代次數(shù)
中值導(dǎo)向加速度mid(t)為:
mid(t)=bi(t)[r3(pid(t)-pmd(t)-xid(t))+
r4(pgd(t)-pmd(t)-xid(t))]
(4)
式中,pmd—— 第t代所有微粒的中間適應(yīng)度微粒m的第d維位置
bi(t) —— 第t代微粒i的加速因子
r3,r4—— (0, 1)內(nèi)的隨機數(shù)
bi(t)可由下式計算得到:
(5)
(6)
式中,f(xi) —— 第t代微粒i的適應(yīng)度
fmax—— 第t代種群中微粒的最大適應(yīng)度
fmed—— 第t代種群中微粒的中間適應(yīng)度
PDPSO算法前期、后期兩個搜索階段的切換系數(shù)α、β可分別由下式求得:
(7)
(8)
式中,λ—— 算法搜索前期進(jìn)化停滯的次數(shù)
λmax—— 算法進(jìn)化停滯次數(shù)最大值
當(dāng)λ≥λmax時,則認(rèn)為算法的前期搜索對解的提高已經(jīng)沒有幫助,因此算法切換到后期搜索。算法進(jìn)化停滯是指全局最優(yōu)微粒的適應(yīng)度在連續(xù)若干代內(nèi)不發(fā)生變化,λ由下式計算得到:
動力驅(qū)動微粒群算法的流程圖如圖1所示。
圖1 動力驅(qū)動微粒群算法流程圖
選取文獻(xiàn)[12]的液壓矯直機PID控制參數(shù)優(yōu)化問題為例,考慮控制信號、上升時間和誤差量的關(guān)系,建立液壓矯直機PID控制參數(shù)優(yōu)化模型,應(yīng)用所提的PDPSO算法對其優(yōu)化求解,并將所提的PDPSO算法與CLPSO(綜合學(xué)習(xí)微粒群)算法[10]、DNLPSO(動態(tài)鄰域?qū)W習(xí)微粒群)算法[11]、CCLPSO(分類學(xué)習(xí)微粒群)算法[12]對比,以驗證所提算法的有效性。
矯直過程由多個閥控液壓缸組成的位置控制系統(tǒng)完成,單個閥控缸系統(tǒng)的工作原理如圖2所示。
圖2 矯直機閥控缸系統(tǒng)原理圖
閥控缸系統(tǒng)在驅(qū)動臺下降過程的傳遞函數(shù)為:
(10)
PID控制方程寫成離散的形式為:
(11)
式中,Kp—— 比例系數(shù)
Ki—— 積分系數(shù)
Kd—— 微分系數(shù)
e—— 誤差
為了使控制系統(tǒng)達(dá)到穩(wěn)、準(zhǔn)、快的目的,設(shè)定一個目標(biāo)J′來綜合表示控制信號、上升時間和誤差量的關(guān)系為:
(12)
式中, |e(t)| —— 誤差的絕對值
tr—— 系統(tǒng)上升時間
u(t) —— 控制信號
w1,w2,w3—— 權(quán)重
針對系統(tǒng)超調(diào)的問題,增加罰函數(shù),一旦系統(tǒng)超調(diào),則目標(biāo)函數(shù)為:
(13)
式中,y(t) —— 系統(tǒng)的輸出信號
w4—— 權(quán)重
ey(t)可由下式計算得到:
ey(t)=y(t)-y(t-1)
(14)
在目標(biāo)函數(shù)的優(yōu)化中,取w1=0.5,w2=1,w3=1,w4=200;Kp,Ki,Kd的取值范圍分別是[1×10-2,2],[0.1,10],[1×10-10,1×10-1],則求解問題為:
minJ
s.t. 10-2≤Kp≤2
0.1≤Ki≤10
10-10≤Kd≤10-1
(15)
利用上述PDPSO算法尋找一組Kp,Ki,Kd的參數(shù)組合,進(jìn)而獲得更好的性能指標(biāo)及控制信號、上升時間和誤差量表示的目標(biāo)函數(shù)最小。
為了盡可能地將優(yōu)化結(jié)果在相同條件下進(jìn)行比較,PDPSO算法的各參數(shù)與CLPSO算法、DNLPSO算法、CCLPSO算法中的參數(shù)設(shè)置相同:最大迭代次數(shù)tmax=100,種群規(guī)模N=30,種群維數(shù)d=3,加速因子c1=c2=1.4944,慣性權(quán)重下限wmin=0.4,慣性權(quán)重上限wmax=0.9,算法進(jìn)化停滯次數(shù)最大值λmax=30,優(yōu)化結(jié)果如表1所示。
表1 PID控制參數(shù)優(yōu)化結(jié)果
PDPSO算法所得的目標(biāo)函數(shù)優(yōu)化曲線如圖3所示。
由表1的算法優(yōu)化結(jié)果及圖3的算法優(yōu)化曲線可知,相比CLPSO算法、DNLPSO算法、CCLPSO算法,PDPSO算法能夠得到更好的綜合性能指標(biāo),實現(xiàn)PID控制參數(shù)優(yōu)化。
圖3 PDPSO算法優(yōu)化曲線
為平衡微粒群算法收斂速度與跳出局部解的能力,提出了一種動力驅(qū)動微粒群算法,算法采用階段性搜索方式,分為前、后兩個不同的搜索階段。在算法的前期搜索階段當(dāng)前微粒受到個體最優(yōu)微粒與全局最優(yōu)微粒的引力作用,后期搜索階段引入中值導(dǎo)向加速度。將所提出的算法應(yīng)用到液壓矯直機PID控制參數(shù)優(yōu)化問題,以控制信號、上升時間和誤差量的關(guān)系表示的目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到更好的綜合性能指標(biāo),實現(xiàn)PID控制參數(shù)優(yōu)化。