朱建軍,田 燁
(吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022)
閃蒸罐是一種重要的節(jié)能裝置,閃蒸罐罐內(nèi)壓力能否控制穩(wěn)定,關(guān)系到整個(gè)控制流程的產(chǎn)率和工程的安全性[1],因此閃蒸罐壓力控制器參數(shù)的選取顯得尤為重要。
閃蒸罐的壓力控制常采用PID控制的方式,其具有結(jié)構(gòu)簡(jiǎn)單、魯棒性和適應(yīng)性較強(qiáng)等優(yōu)點(diǎn),但該控制方式往往面對(duì)一些具有滯后性、時(shí)變不確定性的系統(tǒng)時(shí)難以獲得令人滿意的控制效果[2],同時(shí)由于參數(shù)設(shè)置都是憑借現(xiàn)場(chǎng)工作人員的操作經(jīng)驗(yàn)進(jìn)行的,具有較大的主觀性,并不能達(dá)到最佳的控制效果。隨著機(jī)器學(xué)習(xí)的發(fā)展,一些智能算法已經(jīng)應(yīng)用到PID控制器的參數(shù)優(yōu)化中,在文獻(xiàn)[3]中較為全面地介紹了粒子群算法的基本開(kāi)發(fā)和改進(jìn)方法,以及與其他先進(jìn)算法融合的嘗試。文獻(xiàn)[4]描述了遺傳算法(Genetic Algorithm,GA)的運(yùn)作模式,分析了以“基因型-表型映射”為終止條件的方法。文獻(xiàn)[5]中使用粒子群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)PID初始值,縮短了尋優(yōu)時(shí)間,降低了陷入局部最優(yōu)的概率。其中粒子群算法是受到鳥(niǎo)群覓食規(guī)律的啟發(fā)形成的算法,其參數(shù)少、算法簡(jiǎn)單容易實(shí)現(xiàn)、收斂速度快、全局搜索能力強(qiáng),用其整定PID控制器的參數(shù),既可以避免參數(shù)整定的主觀性,又可以讓PID控制器性能達(dá)到最優(yōu)。但是常規(guī)的PSO算法在調(diào)整參數(shù)時(shí),容易陷入局部最優(yōu)解、局部搜索能力較弱,往往只能得到次優(yōu)解而不是最優(yōu)解等問(wèn)題。
針對(duì)以上問(wèn)題,本文提出一種改進(jìn)的粒子群算法,通過(guò)改變學(xué)習(xí)因子的計(jì)算方式和增加加權(quán)值保持粒子的慣性速度,提高了算法的搜索速度和精度。與其他傳統(tǒng)控制方法相比,該控制方法降低了系統(tǒng)的超調(diào)量,縮短了調(diào)節(jié)時(shí)間,提高了系統(tǒng)的抗干擾能力。
加氫裂化閃蒸罐壓力控制工藝圖如圖1所示。本文以加氫裂化閃蒸罐壓力控制系統(tǒng)作為研究對(duì)象,當(dāng)壓力傳感器檢測(cè)到罐內(nèi)壓力出現(xiàn)不穩(wěn)定時(shí),將檢測(cè)值反饋,與設(shè)定的壓力值進(jìn)行相減后將偏差給控制器,由其計(jì)算出調(diào)節(jié)閥的開(kāi)度,通過(guò)調(diào)節(jié)氣體流量的大小來(lái)保持罐內(nèi)壓力的穩(wěn)定。

圖1 加氫裂化閃蒸罐工藝圖
閃蒸罐壓力控制系統(tǒng)是一個(gè)時(shí)變、非線性系統(tǒng),根據(jù)周勇[6]、李國(guó)偉[7]和一些其他學(xué)者的文章,在忽略一些次要因素的前提下,可以近似為一階慣性滯后環(huán)節(jié),傳遞函數(shù)如式(1)所示。
(1)
PID控制是連續(xù)控制系統(tǒng)應(yīng)用最廣泛的方式,根據(jù)輸入的偏差值,按照比例、積分、微分的函數(shù)關(guān)系進(jìn)行計(jì)算,運(yùn)算結(jié)果控制輸出。連續(xù)系統(tǒng)PID控制的計(jì)算公式如式(2)所示。
(2)
式中:u(t)為控制器輸出值;Kp為比例系數(shù);Ki為積分系數(shù);Kd為微分系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù);e(t)為偏差值。
由式(2)可知,PID控制器的控制能力只與比例、積分和微分的參數(shù)設(shè)定值有關(guān),所以將改進(jìn)的粒子群算法應(yīng)用到閃蒸罐壓力控制系統(tǒng)中,尋優(yōu)Kp、Ki和Kd三個(gè)參數(shù),優(yōu)化系統(tǒng)的動(dòng)、靜態(tài)特性,首先粒子群算法將隨機(jī)的參數(shù)置于Kp、Ki和Kd中,根據(jù)其適應(yīng)度值來(lái)決定個(gè)體最優(yōu)值和群體最優(yōu)值,由此來(lái)決定粒子的方向,直至尋找到最優(yōu)的PID參數(shù)。粒子群PID控制系統(tǒng)原理圖如圖2所示。

圖2 粒子群PID控制系統(tǒng)原理圖
粒子群算法(Particle Swarm Optimization,PSO)是James Kennedy和Russell Eberhart在1995年受到鳥(niǎo)群覓食行為的規(guī)律性啟發(fā),建立了一個(gè)簡(jiǎn)化的算法模型,經(jīng)過(guò)后來(lái)學(xué)者的改進(jìn)演化成了如今的粒子群算法[8]。
假設(shè)在D維搜索空間中有M個(gè)粒子,在解空間中每個(gè)粒子都隨著迭代變化位置為Xi=(Xi1,Xi2…XiD)和各粒子的速度為vi=(vi1,vi2…viD),其中i=1,2…M。粒子通過(guò)D次迭代后得到個(gè)體最優(yōu)解Pbesti=(Pi1,Pi2…PiD)和種群最優(yōu)解Gbesti=(Gi1,Gi2…GiD),常規(guī)粒子群算法的計(jì)算公式如式(3)、(4)所示。
vi+1=vi+c1*r1[Pbesti-Xi]+c2*r2[Gbesti
-Xi],
(3)
Xi+1=Xi+vi+1,
(4)
式中:vi為第i個(gè)粒子的速度;c1、c2分別為個(gè)體學(xué)習(xí)因子、社會(huì)學(xué)習(xí)因子;Xi為第i個(gè)粒子的位置;Pbest表示當(dāng)前粒子最優(yōu)值;Gbest表示種群最優(yōu)值;r1、r2為(0,1)的隨機(jī)數(shù)。
2.2.1 算法改進(jìn)
由于粒子群算法容易陷入局部最優(yōu),有一部分原因就是粒子一直維持固定的速度在解空間中尋找最優(yōu)值,達(dá)不到搜索全局的效果。所以引入慣性權(quán)重在粒子的尋優(yōu)初期加快搜索速度和收斂速度,增強(qiáng)全局搜索能力,讓其收斂到更精確的最優(yōu)解。在這里引入典型線性遞減策略的慣性權(quán)重[9]如式(6)所示,所以速度計(jì)算公式(3)更改為如式(5)所示。
vi+1=wvi+c1*r1[Pbesti-Xi]+c2*r2[Gbesti-Xi],
(5)
(6)
式中:w為慣性權(quán)重;wmax為慣性權(quán)重最大值;wmin為慣性權(quán)重最小值;t為當(dāng)前迭代次數(shù);tmax為最大迭代次數(shù)。
由式(5)可知,在算法的迭代初期,w較大,反映在速度公式上其粒子速度也較大,可以增加搜索空間,隨著迭代次數(shù)的增加,w變小,速度也越來(lái)越小,局部搜索能力變強(qiáng),可以得到更精確的最優(yōu)解。但是如果算法開(kāi)始時(shí)給予的隨機(jī)值并不好,隨著迭代次數(shù)的增加和速度的遞減也會(huì)出現(xiàn)局部最優(yōu)的情況,為了避免這種情況,本文在此基礎(chǔ)上提出了一種改進(jìn)方法,將式(5)中的c1、c2更改計(jì)算方式,如下式(7)、(8)所示。
(7)
(8)
式中:r0為(0,1)之間的隨機(jī)數(shù)。
個(gè)體學(xué)習(xí)因子c1和社會(huì)學(xué)習(xí)因子c2是算法搜索速度和收斂性的關(guān)鍵,當(dāng)個(gè)體學(xué)習(xí)因子取較大值,社會(huì)學(xué)習(xí)因子取較小值時(shí),粒子在解空間中增大搜索的范圍并且速度更快,反之,粒子將增加朝向最優(yōu)解的收斂速度。在受到G Li[8]的學(xué)習(xí)因子改進(jìn)思想和A Jalilvand[10]對(duì)r1、r2改進(jìn)的思路,本文設(shè)計(jì)了這種防止出現(xiàn)過(guò)早收斂于局部最優(yōu)值的改進(jìn)粒子群算法。
由式(7)、(8)可知,在迭代初期,保證了所有粒子對(duì)解空間的搜索能力,并且當(dāng)?shù)跗谙萑刖植孔顑?yōu)值時(shí),r0的隨機(jī)數(shù)會(huì)讓粒子跳出局部最優(yōu)值,并在解空間的其他區(qū)域進(jìn)行搜尋,當(dāng)粒子接近全局最優(yōu)值時(shí),會(huì)降低速度并在最優(yōu)值附近區(qū)域進(jìn)行搜索,滿足算法對(duì)不同階段的要求。
2.2.2 改進(jìn)粒子群算法流程
首先建立一個(gè)衡量控制系統(tǒng)優(yōu)良尺度的適應(yīng)度函數(shù),常用的誤差積分準(zhǔn)則包括:平方誤差積分準(zhǔn)則(ISE)、時(shí)間乘平方誤差積分準(zhǔn)則(ITSE)、絕對(duì)誤差積分準(zhǔn)則(IAE)、時(shí)間乘絕對(duì)誤差積分準(zhǔn)則(ITAE)等,本文使用ITAE準(zhǔn)則作為閃蒸罐壓力控制系統(tǒng)的適應(yīng)度函數(shù),如下式(9)所示。

(9)
該改進(jìn)粒子群算法優(yōu)化PID參數(shù)步驟如下:
1)確定參數(shù)的優(yōu)化范圍,根據(jù)實(shí)際的工程實(shí)踐,優(yōu)化參數(shù)Kp、Ki和Kd的取值范圍分別為Kp∈[0,5]Ki∈[0,5],Kd∈[0,5]。
2)初始化:種群規(guī)模為50,迭代次數(shù)為50,wmax為0.9,wmin為0.4,維度為3。
3)粒子群生成隨機(jī)位置后,將生成的Kp、Ki和Kd值賦予在Simulink中的PID控制器,運(yùn)行控制系統(tǒng)的模型,計(jì)算對(duì)應(yīng)的適應(yīng)度值。
4)適應(yīng)度值是否滿足,滿足則結(jié)束搜索,否則,重新確定w值,由粒子的適應(yīng)度值來(lái)確定個(gè)體最優(yōu)值Pbest和全局最優(yōu)值Gbest。
5)得到隨著個(gè)體極值和全局極值而動(dòng)態(tài)改變的個(gè)體學(xué)習(xí)因子c1和社會(huì)學(xué)習(xí)因子c2。
6)粒子群算法對(duì)種群進(jìn)行迭代,更新粒子的速度和位置[11]。
具體的改進(jìn)粒子群算法優(yōu)化流程圖,如圖3所示。
為了對(duì)比改進(jìn)PSO算法優(yōu)化PID參數(shù)后的效果,本文分別用常規(guī)粒子群算法、IPSO算法、FO-PSO[12]算法和本文改進(jìn)的PSO算法對(duì)PID參數(shù)進(jìn)行優(yōu)化。各PSO算法的參數(shù)設(shè)計(jì)公式如表1所示。

表1 各PSO算法的參數(shù)設(shè)置
表1中,各個(gè)算法的初始化均一致,wmax=0.9、wmin=0.4,t為當(dāng)前迭代次數(shù),tmax為最大迭代次數(shù)[13]。
為了驗(yàn)證改進(jìn)PSO算法優(yōu)化后閃蒸罐壓力控制系統(tǒng)的性能,在MATLAB環(huán)境下進(jìn)行編程,并在Simulink中搭建了模擬閃蒸罐壓力控制系統(tǒng),本文以0.5MPa作為設(shè)定值,分別用工程整定法(衰減震蕩法)、常規(guī)粒子群算法、IPSO算法(增加了一個(gè)慣性權(quán)重)、FO-PSO算法(改變社會(huì)因子和個(gè)體因子計(jì)算公式的改進(jìn)PSO算法)和本文改進(jìn)的PSO算法對(duì)閃蒸罐壓力控制系統(tǒng)的PID參數(shù)進(jìn)行優(yōu)化仿真。
根據(jù)上文建立的閃蒸罐壓力模型,在Simulink中搭建控制系統(tǒng)仿真模型,通過(guò)在m文件中編寫(xiě)粒子群算法來(lái)驅(qū)動(dòng)仿真模型進(jìn)行仿真實(shí)驗(yàn)。閃蒸罐壓力控制系統(tǒng)仿真模型如圖4所示。

圖4 閃蒸罐壓力控制系統(tǒng)仿真模型
各算法整定出的PID參數(shù)如表2所示。

表2 各算法對(duì)PID參數(shù)優(yōu)化情況
從表2中可以看出工程整定法的PID參數(shù)與各種粒子群算法優(yōu)化的PID參數(shù)有很大的差異,根據(jù)表3和圖5的特性指標(biāo)和控制曲線來(lái)看,各粒子群算法優(yōu)化后的PID參數(shù)對(duì)閃蒸罐壓力控制系統(tǒng)得到的一些關(guān)鍵特性指標(biāo)都優(yōu)于工程整定法,也可以看出本文改進(jìn)后的粒子群算法對(duì)于陷入局部最優(yōu)的情況時(shí),可以跳出當(dāng)前局部最優(yōu)值,在其他區(qū)域繼續(xù)尋找全局最優(yōu)值的可能性。

表3 優(yōu)化后的PID參數(shù)對(duì)閃蒸罐壓力控制系統(tǒng)的特性指標(biāo)

時(shí)間/s
由表3和圖5可知,工程整定法下的PID控制調(diào)節(jié)時(shí)間為526.24 s并且超調(diào)量較大,達(dá)不到控制要求。粒子群算法、IPSO算法、FO-PSO算法和改進(jìn)的PSO算法優(yōu)化后的PID參數(shù),在這兩項(xiàng)上都有了較大的提升,改進(jìn)PSO算法只有上升時(shí)間這項(xiàng)落后于其他4種優(yōu)化方法,超調(diào)量降低到了3.22%,調(diào)節(jié)時(shí)間也縮短到了51.844 s,提高了對(duì)閃蒸罐壓力控制系統(tǒng)的性能。
由圖6可知,在2 000 s時(shí)加入一個(gè)50 s的輸入擾動(dòng)后,工程整定PID和常規(guī)粒子群算法對(duì)于干擾的抑制能力較差,而IPSO、FO-PSO和改進(jìn)的PSO抗干擾能力較強(qiáng),快速地克服了輸入的擾動(dòng),并且改進(jìn)的PSO算法相較于其他四種優(yōu)化方法對(duì)干擾的抑制能力更強(qiáng),能更快使系統(tǒng)恢復(fù)到穩(wěn)定狀態(tài)。

時(shí)間/s
針對(duì)閃蒸罐壓力控制的延遲性、時(shí)變不確定性等特點(diǎn)和傳統(tǒng)粒子群算法對(duì)PID參數(shù)優(yōu)化的收斂性不足,提出了一種改進(jìn)的粒子群算法來(lái)優(yōu)化PID控制器參數(shù)的控制方案。在改進(jìn)的粒子群算法中,增加了慣性權(quán)重并且改變學(xué)習(xí)因子的計(jì)算公式。通過(guò)對(duì)閃蒸罐壓力控制系統(tǒng)的仿真驗(yàn)證,該方法相比于常規(guī)的粒子群算法優(yōu)化后的PID減少了陷入局部最優(yōu)的情況,優(yōu)化了調(diào)節(jié)時(shí)間、峰值和超調(diào)量,為流程行業(yè)中優(yōu)化控制器參數(shù)提供了新的方法和思路。