邵會鋒
(通化鋼鐵股份有限公司氧氣廠,吉林通化134003)
PID控制器結構簡單,對模型誤差具有魯棒性和易于操作等優(yōu)點,推出半個多世紀以來在各個控制領域中得到了廣泛的應用。PID控制器是按偏差的比例(P)、積分(I)和微分(D)通過線性組合構成控制量,對被控對象進行控制。這3個參數(shù)整定的好壞不但會影響到控制的質量,而且還會影響到控制器的魯棒性。因此對PID控制器參數(shù)整定的研究成了人們關注的重要問題之一。
隨著PID參數(shù)整定技術的不斷發(fā)展,人們提出了各種各樣的整定方法。常規(guī)的方法一般是基于模型或者基于規(guī)則的自整定,隨著智能算法的發(fā)展,人們提出了一系列的PID自整定方法,如基于模糊規(guī)則[1]、基于神經網(wǎng)絡[2]以及遺傳算法[3]的自整定方法等等。
微粒群優(yōu)化(Particle Swarm Optimization,PSO)算法具有算法簡單易實現(xiàn)的優(yōu)點,已經被應用于眾多工程領域。本文將在原有算法的基礎上提出一種改進的微粒群算法,將其應用于PID控制器的參數(shù)整定中。該算法克服了傳統(tǒng)PID控制器參數(shù)尋優(yōu)的不足,仿真結果表明該算法優(yōu)于遺傳算法的基本微粒群算法。
PID控制器基本系統(tǒng)原理如圖1所示。
圖1 模擬PID控制系統(tǒng)原理框圖
PID是一種線性控制器,它根據(jù)給定值rin(t)與實際輸出值yout(t)構成控制偏差。PID控制器用離散型式的增量控制算式表示為:
其中:△u(k)是控制器輸出地增量,e(k)是控制量偏差,Kp、Ki和Kd分別是比例常數(shù)、積分時間常數(shù)和微分時間常數(shù)。PID控制器的參數(shù)優(yōu)化整定就是要尋找一個合適的Kp、Ki和Kd的組合,平衡控制系統(tǒng)的快速性和穩(wěn)定性,減少超調,提高系統(tǒng)的響應速度。
微粒群算法(particle swarm optimization,簡稱PSO)是Eberhart和Kennedy等人模擬鳥類的捕食行為,于1995年提出的一種新的全局進化優(yōu)化算法[4]?;驹硎牵簩?yōu)化問題的每個解作用一個粒子,每個粒子在n維空間中以一定的速度飛行,并通過一定的適應度函數(shù)來判斷粒子位置的優(yōu)劣,每個粒子根據(jù)自身的飛行經驗以及群體的飛行經驗來調整自己的飛行狀態(tài),向空間中的更優(yōu)位置飛行。粒子自身經過的最優(yōu)位置稱為個體最優(yōu)值(pBest),整個群體經過的最優(yōu)位置稱為全局極值(gBest)。粒子狀態(tài)用 D 維速度 vi=(vi1,vi2,…viD)和位置 pi=(pi1,pi2,…piD)表示,每個粒子根據(jù)下面的公式更新自己的狀態(tài),從而產生新一代的群體。
其中:w是慣性權重,c1和c2為加速因子,r1d和r2d是在[0,1] 范圍內的兩個隨機數(shù),k為迭代次數(shù)。為了防止粒子遠離搜索空間,粒子的每一維速度vd都被限制在[-vdmax,vdmax] 之間。
PSO算法具有概念簡單、易于實現(xiàn)、以及較強的全局收斂能力和魯棒性等優(yōu)點,但是它同時也具有智能群體算法的固有缺陷,容易陷入局部最優(yōu)。為了克服粒子群算法的缺點,引入克隆免疫機制構造一種克隆免疫粒子群算法。免疫算法(Immune Algorithm,IA)是受到免疫系統(tǒng)啟發(fā)而發(fā)展起來的一類仿生算法,該算法主要是模擬自然界生物免疫系統(tǒng)的機理和功能而實現(xiàn)的[5]。克隆選擇算法是免疫算法中基于克隆選擇學說而提出。由于克隆選擇算法中存在著選擇,克隆以及變異操作可以保證解的多樣性。
本文的做法是在粒子群算法外部建立一個規(guī)模為初始粒子個數(shù)1/10的最優(yōu)解集m。每當粒子群算法出現(xiàn)一個新的全局最優(yōu)解gBest,就將其加入到最優(yōu)解集中,替換最優(yōu)解集中適應度最小的解,使最優(yōu)解集中解的數(shù)目保持不變。設置一個變異閥值k,當gBest連續(xù)k代沒有更新時就認為粒子陷入了局部最優(yōu),此時進行克隆選擇操作。本文中的克隆、變異和選擇按照以下定義進行:
定義1:克隆算子,將最優(yōu)解集m中的每個粒子克隆復制10倍。
定義2:變異算子,對克隆復制后的每個粒子進行柯西變異,柯西密度函數(shù)為
其中:t是尺度參數(shù),并且t>0。經過柯西變異后,粒子 pi變成 p′i,p′i=pi+ηδk,式中:δk是由柯西方程產生的隨機數(shù),η是修正步長。
定義3:選擇算子,用經過柯西變異后產生的粒子直接代替當前的所有粒子。
克隆免疫粒子群算法與基本微粒群算法不同的時,它在原有微粒群算法基礎上加入了克隆免疫操作。當粒子群算法陷入局部最優(yōu)時,對外部最優(yōu)解集中的粒子進行克隆復制、克隆變異和克隆選擇操作,提高了粒子的多樣性,幫助算法跳出局部最優(yōu)解,避免早熟收斂,提高了解的精度。
利用PSO算法來優(yōu)化PID控制器的3個參數(shù)Kp、Ki和 Kd,采用實數(shù)編碼方式,粒子編碼串為[Kp、Ki,Kd] 。參數(shù)優(yōu)化的目的是使階躍響應的控制偏差趨于零,響應速度盡可能快,響應偏差盡可能小。采用誤差絕對值時間積分性能指標作為參數(shù)選擇的最小目標函數(shù),選用下式作為參數(shù)選取的最優(yōu)指標[6]:
其中:e(t)表示系統(tǒng)誤差,u(t)為控制器輸出,tu為上升時間,w1,w2,w3為權值。
為了避免產生超調,采用懲罰功能,一旦產生超調,將超調作為最優(yōu)指標的一項,此時最優(yōu)指標為:
其中:w3為權重,且w4>>w1,ey(t)=y(tǒng)out(t)-yout(t-1),yout(t)為被控對象輸出。
應用克隆免疫粒子群算法實現(xiàn)PID控制器參數(shù)優(yōu)化的算法流程如下:
Step1:在規(guī)定的搜索空間中隨機初始化粒子群位置、速度、歷史最優(yōu)值pBest和全局最優(yōu)值gBest,并確定 PID 控制器 Kp、Ki和Kd的取值范圍;
Step2:按照式(5)計算每個粒子的適應值,并根據(jù)適應值更新pBest和gBest以及外部最優(yōu)解集m;
Step3:判斷算法是否陷入局部最優(yōu),如果沒有,則根據(jù)式(1)和式(2)更新粒子速度和位置;否則轉式(5);
Step4:判斷是否滿足結束條件,滿足則輸出最優(yōu)解,結束;否則轉Step2;
Step5:對最優(yōu)解集中的粒子進行克隆免疫操作。
Step5.1:根據(jù)克隆算子對最優(yōu)解集中的每個粒子進行克隆操作;
Step5.2:根據(jù)變異算子對克隆后的每個粒子進行變異操作;
Step5.3:根據(jù)選擇算子對變異后的每個粒子進行選取,更新當前所有粒子;
轉Step4。
模型的輸入信號rin=1為階躍信號,采樣周期為0.001s。
基于MATLAB6.5進行仿真實驗,比較了改進粒子群算法IPSO和基本粒子群算法BPSO以及遺傳算法GA在PID控制器線性調節(jié)中的表現(xiàn)。算法參數(shù)設置:在PID參數(shù)優(yōu)化過程中Kp取值范圍為[0,60] ,Ki和 Kd取值范圍均為[0,1] 。在 GA 算法中交叉概率pc=0.9,變異概率pm=0.033。在BPSO和IPSO中初始粒子種群均為N=30,進化代數(shù)為100代。慣性權重:
其中:wmax為 0.94,wmin為 0.32,itermax為算法執(zhí)行的最大迭代次數(shù),iter為當前迭代次數(shù),隨著算法的迭代次數(shù)增加w動態(tài)的減小,有利于加快算法收斂速度。在IPSO算法中變異閥值k=5,外部最優(yōu)解集規(guī)模為 3。評價函數(shù)的參數(shù) w1=0.999,w2=0.001,w3=2.0,w4=100。經過 100 此迭代,圖 2 所示為三種不同算法優(yōu)化PID參數(shù)的評價函數(shù)值收斂趨勢圖,圖3所示為參數(shù)整定后系統(tǒng)單位階躍響應的比較圖,表1所示為三種方法參數(shù)整定和評價函數(shù)的最終結果。
圖2 三種算法優(yōu)化PID參數(shù)的收斂曲線圖
圖3 三種算法階躍響應曲線圖
表1 三種算法PID參數(shù)整定結果比較
從圖2、圖3以及表1可以看出:收斂速度、搜索能力以及在系統(tǒng)響應時間上改進的微粒群算法都要優(yōu)于基本微粒群算法和遺傳算法。
本文基于克隆選擇算子提出了一種改進的粒子群算法,其收斂速度和精度都優(yōu)于遺傳算法和基本微粒群算法,并有效避免了算法容易陷入局部最優(yōu)的缺點。將其應用于PID參數(shù)整定,通過仿真實驗證明了算法的可行性和有效性。
[1] Linc,Xu J X,Hang C C.Comparison Between a Fuzzy PID Controller and a Kind of Nonlinear PID Controller[C] .Proc 36th IEEE Int Conf On Decision and Control S Diego(CA),1997.
[2] 張世峰,李鵬.基于神經網(wǎng)絡的自整定PID參數(shù)控制器設計[J] .自動化儀表,2009,30(7):64-66.
[3] 周志,干樹川.基于遺傳算法的控制參數(shù)優(yōu)化研究[J] .計算機應用,2007,27:191-192.
[4] Kennedy J,Eberhart RC.Particie Swarm Optimization[C] .In:Proc.of the IEEE Int’1 Conf on Neural Networks.Perth:IEEE Inc,1995:1942-1948.
[5] Dasgupta D.Artificial Immune System and Their Applications[M] .Springer-Verlag,1999.
[6] 劉金琨.先進PID控制MATLAB仿真[M] .第2版.北京:電子工業(yè)出版社,2004:223-228.