本發(fā)明涉及過程控制技術領域,特別是涉及一種基于免疫粒子群算法的溫度控制方法。
背景技術:
以某化工廠聚乙烯生產為背景,對聚合溫度的控制進行研究。大多數(shù)的化工廠對溫度的控制,通常使用傳統(tǒng)的PID控制器。但是由于傳統(tǒng)的PID在工業(yè)中不能滿足對高擾動的要求,所以單純使用會有不足之處。
PID控制器具有適應性強、操作簡便、魯棒性好等特點,因此在實際的生產控制過程中會優(yōu)先考慮使用PID控制器來調節(jié)溫度的變化。但是大多數(shù)的PID參數(shù)優(yōu)化主要是在經驗指導下進行的,因此不能很好適用于生產中的各種情況。其次,由于傳統(tǒng)的PID存在超調量大,積分容易飽和等缺點。所以單純的傳統(tǒng)PID是不能滿足工業(yè)生產中對于高擾動的要求。如今,將自適應控制、最優(yōu)控制、預測控制、魯棒控制和智能控制策略引入傳統(tǒng)PID控制,逐步發(fā)展成為一種新型PID控制。
PSO算法是用來對空間進行全局最優(yōu)搜索的一種算法。它的優(yōu)點是參數(shù)較少,收斂速度相對較快,具有很強的全局優(yōu)化能力。但是PSO算法的缺點是容易在優(yōu)化的后期陷入收斂速度慢并且容易出現(xiàn)局部最優(yōu)。但是免疫算法具有免疫和遺傳等優(yōu)點,所以將免疫算法和PSO算法相結合,就可以克服PSO算法的缺點。因此可以考慮將PSO算法和免疫算法相結合用于對PID控制器的調節(jié)。
免疫算法是鑒于生物自身的免疫反應而發(fā)展出來的一種算法。免疫算法可以通過抗體的多樣性以及自我的調節(jié)來保證種群的多樣性,這樣就可以解決在后期的優(yōu)化出現(xiàn)早熟的問題,確保了群體可以向最優(yōu)解的方向快速收斂。
將免疫算法和PSO算法相結合,就可以將抗原視為待求解的問題,抗體視為問題的解,并且抗體也是粒子群中的粒子。用適應度函數(shù)去衡量抗原與抗體的緊密程度,抗體之間的濃度反映了粒子群的的多樣性。免疫粒子群算法既可以通過免疫算法中的免疫記憶以及自我調節(jié)保持粒子群的多樣性,也可以通過PSO算法讓抗體可以朝一個方向進行進化,從而在較少的代數(shù)內向最優(yōu)解進行收斂。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是提供一種基于免疫粒子群算法的溫度控制方法,不僅滿足了對溫度的控制要求,而且還大大降低了經濟成本。
本發(fā)明解決其技術問題所采用的技術方案是:提供一種基于免疫粒子群算法的溫度控制方法,包括以下步驟:
(1)確定需要控制的目標溫度值;
(2)對采用基于免疫粒子群算法的各種參數(shù)進行計算,得到最優(yōu)的值;
(3)通過仿真的方式比較采用基于免疫粒子群算法前后的差異;
(4)確定在實際生產中溫度的控制形式,并實現(xiàn)控制。
所述步驟(2)具體為:首先確定學習因子、慣性因子的范圍、種群大小、待求問題的維數(shù)、最大迭代次數(shù)和搜索范圍;隨機產生初始化種群N,將粒子的速度設為0,通過計算適應值得到個體極值和全局極值;對每一個粒子的速度和位置進行計算;比較每一個粒子更新前后的適應度值;如果更新后的粒子適應值增加了,那么就保存該粒子更新后的位置和速度;將全局最優(yōu)極值作為系統(tǒng)的“疫苗”;使用“疫苗”對每個粒子進行接種;并對接種后的粒子進行適應值的計算,來判斷粒子的好壞;如果更新后的適應值大于更新前的適應值,那么就保存該粒子,否則舍棄;此時會形成一個新的粒子群,計算新粒子群的個體極值和全局極值;如果運算的迭代次數(shù)大于最大的迭代次數(shù),那么輸出結果,否則重復上述步驟。
所述對每一個粒子的速度和位置進行計算時采用的公式為vk+1=wvk+c1r1(pbestk-xk)+c2r2(gbestk-xk)和xk+1=xk+vk+1,其中,vk為粒子更新前的速度值,vk+1為粒子更新后的速度值,xk為粒子更新前的位置值,xk+1為粒子更新后的位置值,c1、c2為常數(shù),r1、r2為分布于[0,1]區(qū)間內的隨機數(shù),pbestk為個體極值、gbestk為全局極值,w為慣性因子。
所述步驟(3)采用MATLAB進行仿真。
所述步驟(4)中通過西門子的WINCC軟件所繪制出來的動態(tài)監(jiān)控圖監(jiān)控反應釜內溫度的變化。
有益效果
由于采用了上述的技術方案,本發(fā)明與現(xiàn)有技術相比,具有以下的優(yōu)點和積極效果:本發(fā)明通過對PID控制器參數(shù)的整定來控制聚乙烯生產過程中的閥門開關的程度,從而達到對溫度的控制。本發(fā)明可以使溫度波動在50±0.2℃,充分的滿足了聚乙烯生產中對溫度的控制要求。
附圖說明
圖1是本發(fā)明的基于免疫粒子群算法流程圖;
圖2是本發(fā)明的系統(tǒng)整定之前的MATLAB仿真圖;
圖3是本發(fā)明的系統(tǒng)整定之后的MATLAB仿真圖;
圖4是本發(fā)明的免疫粒子群算法與PSO算法比較圖。
具體實施方式
下面結合具體實施例,進一步闡述本發(fā)明。應理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應理解,在閱讀了本發(fā)明講授的內容之后,本領域技術人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限定的范圍。
本發(fā)明的實施方式涉及一種基于免疫粒子群算法的溫度控制方法,包括以下步驟:確定需要控制的目標溫度值;對采用基于免疫粒子群算法的各種參數(shù)進行計算,得到最優(yōu)的值;通過仿真的方式比較采用基于免疫粒子群算法前后的差異;確定在實際生產中溫度的控制形式,并實現(xiàn)控制。其中,在進行仿真時可以采用MATLAB進行仿真,在進行控制時可以通過西門子的WINCC軟件所繪制出來的動態(tài)監(jiān)控圖監(jiān)控反應釜內溫度的變化。
采用基于免疫粒子群算法的各種參數(shù)進行計算,得到最優(yōu)的值的具體步驟如下,如圖1所示:
步驟1:首先確定學習因子,慣性因子w的范圍,種群大小,待求問題的維數(shù),最大迭代次數(shù)以及搜索的范圍。
步驟2:隨機產生初始化種群N,將粒子的速度設為0,防止因為速度太大而超出了搜索范圍。通過計算適應值得到個體極值和全局極值。
步驟3:用公式vk+1=wvk+c1r1(pbestk-xk)+c2r2(gbestk-xk)和xk+1=xk+vk+1對每一個粒子的速度和位置進行計算。其中,vk為粒子更新前的速度值,vk+1為粒子更新后的速度值,xk為粒子更新前的位置值,xk+1為粒子更新后的位置值,c1、c2為常數(shù),r1、r2為分布于[0,1]區(qū)間內的隨機數(shù),pbestk為個體極值、gbestk為全局極值,w為慣性因子。
步驟4:比較每一個粒子更新前后的適應度值。如果更新后的粒子適應值增加了,那么就保存該粒子更新后的位置和速度。
步驟5:將全局最優(yōu)極值gbest作為系統(tǒng)的“疫苗”。
步驟6:使用“疫苗”對每個粒子進行接種。并對接種后的粒子進行適應值的計算,來判斷粒子的好壞。如果更新后的適應值大于更新前的適應值,那么就保存該粒子,否則舍棄。此時會形成一個新的粒子群。
步驟7:用公式vk+1=wvk+c1r1(pbestk-xk)+c2r2(gbestk-xk)和xk+1=xk+vk+1計算新粒子群的個體極值pbest和全局最優(yōu)極值gbest。
步驟8:如果運算的迭代次數(shù)大于最大的迭代次數(shù),那么輸出結果,否則回到步驟2。
經過以上步驟,就可以得出該算法適合的參數(shù)。將其用MATLAB仿真。
如圖2所示,在對PID控制器進行整定之前的函數(shù)圖像。該圖像顯示了在500s之后,函數(shù)的振動幅度開始減小并且在1000s之后開始趨于穩(wěn)定。由此可以看出,該系統(tǒng)還具有很大的提升空間。因此使用基于免疫粒子群算法可以大大提升該系統(tǒng)的動態(tài)性能。
如圖3所示,通過加入基于免疫粒子群算法之后,該圖像顯示了系統(tǒng)良好的動態(tài)性能。在經歷了大約250s之后,函數(shù)的振動幅度開始減小并且在大約700之后開始趨于穩(wěn)定,并且整定之后的系統(tǒng)時域性能指標要優(yōu)于整定之前的系統(tǒng)時域性能指標。
如圖4所示,將基于免疫粒子群算法和單純的粒子群算法進行比較,會發(fā)現(xiàn)免疫粒子群的超調量為0.0845,調節(jié)時間為700s。粒子群算法的超調量為0.4021,調節(jié)時間為1400s。所以免疫粒子群算法整定的PID控制器的控制效果要優(yōu)于單純的粒子群算法。
不難發(fā)現(xiàn),采用本發(fā)明通過對PID控制器參數(shù)的整定來控制聚乙烯生產過程中的閥門開關的程度,從而達到對溫度的控制。本發(fā)明可以使溫度波動在50±0.2℃,充分的滿足了聚乙烯生產中對溫度的控制要求。