董如意,孫立勛
(吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022)
PID控制器由于具有適用性高、結(jié)構(gòu)簡單、魯棒性好和易于控制等特點,被廣泛應(yīng)用于工業(yè)生產(chǎn)當中[1].PID控制器的Kp、Ki、Kd3個參數(shù)的整定是影響系統(tǒng)是否具備穩(wěn)定、準確和快速等特性的關(guān)鍵因素,直接決定了系統(tǒng)的控制性能,因此在PID控制器的設(shè)計和應(yīng)用過程中,控制器參數(shù)的整定和優(yōu)化是最重要的問題.傳統(tǒng)的參數(shù)整定方法有完全經(jīng)驗法、臨界比例法、等幅振蕩法等,這些方法在面對工況復(fù)雜和參數(shù)嚴苛的情況時,往往操作起來過于煩瑣,控制效果也不盡如人意.隨著人工智能的發(fā)展,智能優(yōu)化算法被成功引入PID控制器的應(yīng)用中,發(fā)揮了很好的效果.本文提出一種改進的人工蜂群優(yōu)化算法,實現(xiàn)對PID控制器的參數(shù)整定,實驗結(jié)果表明,改進后的算法可以達到理想的優(yōu)化性能.
PID控制器(比例-積分-微分控制器),是由比例環(huán)節(jié)P、積分環(huán)節(jié)I、微分環(huán)節(jié)D組成的控制器,通過設(shè)置Kp、Ki、Kd3個參數(shù)來控制系統(tǒng)[2].經(jīng)典PID控制器常用于線性系統(tǒng)或時不變系統(tǒng)的控制,與其他簡單的控制器不同的是,PID控制器可以根據(jù)歷史輸出數(shù)據(jù)與給定值來調(diào)整輸入值,即將系統(tǒng)運行時輸出的各項參數(shù)與給定值進行比較,然后計算出新的輸入值反饋回系統(tǒng),使控制系統(tǒng)輸出數(shù)據(jù)達到或保持在給定值允許的誤差范圍內(nèi),從而使系統(tǒng)更加穩(wěn)定[3].
PID本質(zhì)上是一種線性控制器,根據(jù)給定值與實際輸出值構(gòu)成的控制誤差[4],即:
e(t)=r(t)-y(t),
(1)
利用比例、積分和微分的線性組合等方式對控制誤差進行處理,得到相關(guān)的控制量,進而對被控對象進行控制,其控制規(guī)律為:
(2)
其中,e(t)為控制誤差,Ki=Kp/Ti,Kd=Kp*Td.
用傳遞函數(shù)表示,則為:
(3)
其中,Kp表示PID控制器的比例增益;Ti為積分時間常數(shù);Td為微分時間常數(shù).
人工蜂群算法(Artificial Bee Colony,ABC),啟發(fā)于蜜蜂群體采蜜的行為,通過不同蜜蜂之間的分工和信息交流來尋找問題的最優(yōu)可行解,是一種全局優(yōu)化算法.與其他智能優(yōu)化算法相比,人工蜂群算法具有參數(shù)量少、搜索能力強、實現(xiàn)簡單等優(yōu)點,被廣泛應(yīng)用到工程控制、信息挖掘和生產(chǎn)調(diào)度等領(lǐng)域[5].
在ABC算法中,主要包含蜜源、雇傭蜂和未雇傭蜂等3個部分.其中,蜜源代表了待優(yōu)化問題的可行解,蜜源擁有的花蜜量即為對應(yīng)可行解的適應(yīng)度值[6];雇傭蜂,也稱引領(lǐng)蜂或采蜜蜂,在數(shù)量上與蜜源相等,主要負責對自己搜索到的蜜源進行開采,評估花蜜量,并按照一定的概率將蜜源的信息傳遞給觀察蜂;非雇傭蜂分為觀察蜂和偵查蜂,觀察蜂會通過整理接收到的信息,利用貪婪機制擇優(yōu)選擇當前最好的蜜源位置進行開采,當經(jīng)過一定次數(shù)的選擇后發(fā)現(xiàn)最優(yōu)的蜜源位置沒有變化,雇傭蜂會離開當前的蜜源,變成偵查蜂,隨機搜索新的蜜源位置.ABC算法的具體流程如圖1所示.
圖1 標準ABC算法流程圖
在隨機初始化蜜源的位置后,3種蜜蜂會根據(jù)各自的分工反復(fù)迭代搜索流程,尋找全局最優(yōu)質(zhì)的可行解,雇傭蜂和偵查蜂尋找新蜜源的搜索方程如公式(4)所示.
vi,j=xi,j+rand(-1,1)*(xi,j-xk,j),
(4)
其中i=1,2,3……n,k=1,2,3……n且k≠i,n為蜜源的數(shù)量;xi,j為當前蜜源的位置;rand(-1,1)為(-1,1)之間的隨機數(shù),決定了擾動程度.
通過分析標準人工蜂群算法的流程,可以確定該算法的優(yōu)化性能主要取決于蜜源的更新方程是否達到理想的效率.在原始更新方程中,新的蜜源位置是當前個體以自身位置為基礎(chǔ),向另一個體移動隨機距離而得到的,在兩個個體均不是全局最優(yōu)解的情況下,無法確定新位置的適應(yīng)度值比原來的更好,即更新可行解的效率很低,從而使得ABC算法在局部優(yōu)化方面表現(xiàn)較差,整體收斂速度較慢[7].
差分進化算法(Differential Evolution Algorithm,DE)是一種已經(jīng)非常成熟的優(yōu)化算法,包括變異、操作和選擇等操作[8].其中差分進化算法的變異算子可以充分利用當前迭代過程的全局最優(yōu)解,使更新的個體更快地向最優(yōu)可行解靠近,具有很強的局部優(yōu)化能力.基于變異算子與ABC算法搜索階段的性質(zhì),利用變異算子對更新方程進行改進,得到新的更新方程如公式(5)所示,新的蜜源位置會出現(xiàn)在當前最優(yōu)解的鄰域內(nèi),能夠有效地提升算法收斂速度,但同時也會減少蜜蜂種群探索的多樣性,使算法陷入局部最優(yōu).因此,為了平衡算法的全局搜索和局部開發(fā)能力,在方程中加入自適應(yīng)調(diào)節(jié)參數(shù),如公式(6)所示,加快算法收斂速度的同時避免最優(yōu)解過早收斂.
vi,j=xbest,j+α*rand(-1,1)*(xi,j-xk,j),
(5)
(6)
其中xbest,j為當前最優(yōu)解;t為當前迭代的次數(shù);tmax為最大迭代次數(shù).
結(jié)合差分進化思想的自適應(yīng)ABC 算法在PID控制器參數(shù)整定的優(yōu)化過程如下.
Step1:問題的定義.結(jié)合傳遞函數(shù)和最優(yōu)參數(shù)指標方程,確定PID的控制參數(shù)和累計誤差,即確定算法的適應(yīng)度函數(shù).
Step2:設(shè)置參數(shù)并初始化.確定蜜蜂及蜜源數(shù)量、最大迭代次數(shù)、偵查蜂嘗試閾值等參數(shù);初始化單個蜜源和蜜源數(shù)組,構(gòu)建初始全局最優(yōu)解.
Step3:種群迭代.雇傭蜂在目標附近的鄰域搜索蜜源,觀察蜂根據(jù)接收的蜜源信息,采用輪盤賭方法選擇適應(yīng)度值最優(yōu)的蜜源;
Step4:偵查蜂搜索.當更新次數(shù)超過嘗試閾值但最優(yōu)解沒有變化時,雇傭蜂轉(zhuǎn)換為偵查蜂,放棄當前蜜源位置,隨機搜索其他位置的蜜源,產(chǎn)生新的可行解并計算適應(yīng)度值.
Setp5:更新最優(yōu)解.比較當前發(fā)現(xiàn)的所有蜜源的適應(yīng)度值,保留全局最優(yōu)解.若迭代次數(shù)小于最大迭代次數(shù),轉(zhuǎn)至 Step3;否則,輸出最優(yōu)解,算法結(jié)束.
使用二階傳遞函數(shù)進行測試,如公式(7)所示.優(yōu)化過程中,使用誤差絕對值的時間積分函數(shù)作為性能參數(shù)選擇的最小目標函數(shù),使其得到較為平緩的優(yōu)化過程控制.為了防止優(yōu)化力度超出控制,在函數(shù)中加入控制輸入的平方項,選取最優(yōu)參數(shù)指標方程式如公式(8)所示[9].穩(wěn)態(tài)誤差通常以適應(yīng)度值作為評判標準,一般有IAE、ITAE、ISE等公式.其中ITAE是一個單輸入且可以容易地得到好的過程動態(tài)性能,本文使用ITAE作為誤差的評判標準公式,如公式(9)所示.
(7)
(8)
(9)
其中e(t)為穩(wěn)定誤差;u(t)為系統(tǒng)輸出;tu為上升時間;w1、w2、w3為權(quán)值.
本文使用window10系統(tǒng)和MATLAB R2018b軟件進行PID整定參數(shù)的仿真,選擇單位階躍信號和正弦信號作為PID的輸入信號,正弦信號如公式(10)所示,分別用標準ABC算法和改進的ABC算法進行優(yōu)化.兩種算法的控制參數(shù)相同,即種群數(shù)量為50,最大迭代次數(shù)為50,采樣周期為0.001 s,為了降低全局搜索的盲目性,設(shè)置w1=0.999、w2=0.001、w3=10.
rin=0.5*sin(2πt),
(10)
兩種算法計算出的Kp、Ki、Kd數(shù)值、適應(yīng)度值及迭代次數(shù),進行四舍五入后得到的結(jié)果如表1所示.
表1 優(yōu)化結(jié)果平均值
由表1可知,改進ABC算法的收斂速度明顯快于標準ABC算法,且系統(tǒng)的超調(diào)量相比標準ABC算法更小.輸入信號為單位階躍信號時,得到的收斂曲線如圖2所示.
迭代次數(shù)
階躍響應(yīng)如圖3所示.兩種算法優(yōu)化下的上升時間大致相同,但改進ABC算法的調(diào)節(jié)時間略小,且響應(yīng)的波動較小,穩(wěn)態(tài)誤差小于標準ABC算法下的優(yōu)化結(jié)果.
t/ms
輸入信號為正弦信號時,其收斂曲線如圖4所示,正弦響應(yīng)如圖5所示,改進的ABC算法優(yōu)化結(jié)果的誤差明顯小于標準ABC算法,更加貼近給定值,輸出的響應(yīng)更為理想.由此可知,與標準的ABC算法相比,改進后的ABC算法擁有更快的收斂速度和精確度,在PID的參數(shù)整定中實現(xiàn)了更小的響應(yīng)誤差,具有更良好的系統(tǒng)優(yōu)化性能.
迭代次數(shù)
t/ms
對標準人工蜂群算法的搜索方程進行了改進,引入了最優(yōu)個體的信息和自適應(yīng)調(diào)節(jié)參數(shù),使算法在進行PID控制器的參數(shù)整定時,有效避免了傳統(tǒng)方法存在的整體效率低、控制效果差的問題.實驗結(jié)果表明,改進后的人工蜂群算法在PID參數(shù)整定中擁有更快的收斂速度和精確度,達到了理想的效果.