莫興福 李沙



摘? 要:傳統(tǒng)PID控制系統(tǒng)普遍存在調(diào)節(jié)時間長、精度計算低、動態(tài)性能不穩(wěn)定等問題,提出將遺傳算法應(yīng)用于增量式PID,通過選擇、交叉、變異等算子對PID各參數(shù)進(jìn)行優(yōu)化整定。主要通過建立遺傳算法構(gòu)建參數(shù)模型,在控制過程中采用實時穩(wěn)態(tài)追蹤手段及時調(diào)整PID控制參數(shù)。實驗結(jié)果表明,改進(jìn)的遺傳算法函數(shù)可動態(tài)提高增量式PID參數(shù),能有效減少大量計算性能和存儲空間,提高控制器動態(tài)性能,增強系統(tǒng)穩(wěn)定性和快速性。
關(guān)鍵詞:遺傳算法;增量式PID;控制器;MATLAB
中圖分類號:TP399? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)03-0073-04
Abstract:The traditional PID control system generally has such problems as long adjustment time,low precision calculation,unstable dynamic performance,etc.,so the genetic algorithm is applied to incremental PID,and the parameters of PID are optimized and set by selection,crossover,mutation and other operators. In this study,the genetic algorithm was used to build the parameter model,and the real-time steady-state tracking method was used to adjust the PID control parameters in time during the control process. The experimental results show that the incremental PID parameters can be dynamically improved in the improved genetic algorithm function,which can effectively reduce a large amount of computing performance and storage space,improve the dynamic performance of the controller,and enhance the stability and rapidity of the system.
Keywords:genetic algorithm;incremental PID;controller;MATLAB
0? 引? 言
目前,設(shè)定PID參數(shù)的常用技術(shù)措施有很多種,但優(yōu)化增量式PID參數(shù)方法很少[1]。本文從智能算法的角度利用遺傳算法對增量式PID的參數(shù)進(jìn)行優(yōu)化,最大的特點是不必要懂得被控對象的數(shù)學(xué)模型,經(jīng)驗豐富的操作員可以直接對PID進(jìn)行參數(shù)在線整定,或者根據(jù)系統(tǒng)誤差及誤差的變化率等參數(shù)進(jìn)行手動調(diào)整。因此,在增量式PID控制器參數(shù)設(shè)定中,研究出基于遺傳算法的參考模型整定參數(shù),可以完成實時自適應(yīng)參數(shù)的優(yōu)化,增加系統(tǒng)的穩(wěn)定性和快速性,具有十分重要的意義和工程價值[2]。
1? PID控制器原理
PID控制器主要由比例(P)、積分(I)和微分(D)三大部分組成,它可以通過調(diào)整三個單元的參數(shù)Kp、Ki、Kd來整定動態(tài)特征不隨時間轉(zhuǎn)移而變化的系統(tǒng)。控制器的功能是把給定的比較基準(zhǔn)和收集到的數(shù)據(jù)進(jìn)行比較,然后通過該元件的輸入值和測量值之間的差異計算出新的輸入值進(jìn)行輪回,直到達(dá)到穩(wěn)定水平狀態(tài)。為了讓系統(tǒng)數(shù)據(jù)更加精確和穩(wěn)定,PID必須能夠根據(jù)具體情況和歷史數(shù)據(jù)迭代調(diào)整新的參考值,才能夠讓系統(tǒng)全部數(shù)據(jù)達(dá)到或保持某種穩(wěn)定狀態(tài)。具體的工作流程圖如圖1所示,R(t)為給定值,y(t)為實際輸入值,M指偏差判斷。
說明:T為采樣周期,t為第t個采樣周期,此時的采樣偏差可以表為e(t)=e(t)-e(t-1),積分為e(t)+e(t+1)+…,可表示為,而微分就可以表示為:。由以上公式能夠看出數(shù)字調(diào)度的輸出U(t)與過去的全部差異信息相關(guān),計算機對e(t)進(jìn)行必要的累加,且運算量太大,消耗很多資源,所以需要引用增量式PID算法。
2? 增量式PID
增量型PID的實現(xiàn)是以式(1)(3)為基礎(chǔ)。第t個采樣周期的增量為U(t)-U(t-1),可以采用第t個采樣周期減去第t-1個采樣周期,最后得到增量型PID算法的表示公式:
3? 遺傳算法分析
遺傳算法(Genetic Algorithm,GA)是模仿自然界生物進(jìn)化機制的一種算法,是計算機科學(xué)人工智能領(lǐng)域中用于解決最優(yōu)化的一種搜索啟發(fā)式算法,通過引入選擇、交叉、變異等算子到優(yōu)化進(jìn)程中[3],可以形成有效的解決方案來優(yōu)化和搜索問題。
3.1? 選擇算子
選擇算子是建立在適合于評價的條件上,從群體中選擇優(yōu)質(zhì)成員,放棄劣質(zhì)個體的評價體現(xiàn),它最明顯的特點是以群體成員適應(yīng)度評判標(biāo)準(zhǔn)為基礎(chǔ),再使用有效的選擇方式(如輪盤賭選擇法)選擇最優(yōu)個體,使得算法跨過局部收斂障礙,向全局最優(yōu)解方向進(jìn)化。當(dāng)前最流行的方法有輪盤賭選擇法[3]、適應(yīng)度比例法、隨機遍歷抽樣法和局部選擇法。本文以輪盤賭選擇法為例,其公式如下:
3.2? 交叉算子
交叉算子對遺傳算法的搜索能力具有極大的提升作用,它主要是根據(jù)交叉率來對兩個成員中的某些基因進(jìn)行隨機的交換,使其產(chǎn)生新的基因組合,通過交叉將有益的基因重新組合在一起,從而使遺傳算法的搜索能力得到質(zhì)的飛躍。目前流行的交叉算子方式是單點交叉,它為選擇的個體隨機選擇某個相同位置根據(jù)交叉概率進(jìn)行交換,具體的操作是:在個體中抽樣設(shè)定一個交叉點,當(dāng)實施交叉運算時,該點前或后的兩個成員的局部結(jié)構(gòu)進(jìn)行互換,并生成兩個新成員[4]。例如:
成員A=<10011001101>→新成員為:A=<100110000 10>;
成員B=<01000100010>→新成員為:B=<010001011 01>。
3.3? 變異算子
變異操作是改變部分串中的某些基因位點的值,從而提升遺傳算法的搜索能力,以保持種群的多樣性。一般來說,變異操作是指對群體中的個體碼串隨機抽取一個或多個基因座的基因做變換,(0,1)二值碼串中的基本變異如下所示:
成員A=<10011001101>→新成員A=<11010001101>。
說明:隨機抽樣在第2位和第5位進(jìn)行變更,遺傳因子1和0互換,變異后產(chǎn)生新的個體。變異率的選擇范圍受種群數(shù)量、染色體長度等要素影響,一般取0.001~0.100。
4? 遺傳算法參數(shù)整定
在單純的遺傳算法中,有時候也會出現(xiàn)不收斂的情況,采用一種改進(jìn)的遺傳算法優(yōu)化增量式PID參數(shù),可使控制系統(tǒng)的性能最優(yōu)。其特點如下:
4.1? 合理的種群大小
在種群關(guān)系中,如果種群規(guī)模太小,容易出現(xiàn)近親交配的情況,并且產(chǎn)生出病態(tài)基因,造成染色體上的有效等位基因先天缺乏,從而影響種群的整體質(zhì)量,即使采用較大概率的變異算子也無法挽回,而且變異算子大概率也會對種群中其他正常基因產(chǎn)生極大的破壞作用[5]。如果種群規(guī)模太大,由于遺體算子存在隨機誤差,會妨礙小群體中正常的有效模式傳播,并且使得種群進(jìn)化不能按照規(guī)定模式產(chǎn)生所預(yù)測的期望數(shù)量,浪費資源且結(jié)果很難收斂,導(dǎo)致穩(wěn)健性下降。因此,種群大小在20~100為佳。
4.2? 適應(yīng)度函數(shù)的調(diào)整
如果群體規(guī)格較小時,群體中可能存在幾個個體適應(yīng)度相對較高的情況,它們能遺傳到下一代的概率也較高,這樣種群的多樣性就會降低[6]。這時,需要適應(yīng)度函數(shù)做出適當(dāng)?shù)恼{(diào)整,希望在遺傳算法的初級階段能夠?qū)σ恍┻m應(yīng)度較高的個體進(jìn)行控制,以減少與其他個體之間的區(qū)別,保持種群的多樣性。因此,適應(yīng)度函數(shù)在遺傳算法中起著重要的作用,它能直接影響著算法的優(yōu)劣。適應(yīng)度函數(shù)的調(diào)整,主要參考了王沛元[5]創(chuàng)建的公式:
4.3? 確定個體評價方法
在遺傳算法中,個體能否遺傳到下一代,主要是看它在群體中適應(yīng)度的大小,也就是Pi。在計算各個個體的遺傳概率之前,要求所有成員的適應(yīng)度必須不能為負(fù)數(shù),這樣才能正確計算出不同情況下每個個體的遺傳概率。如通過遺傳算法優(yōu)化求目標(biāo)函數(shù)的最大值問題,應(yīng)該變換公式如下:
5? 實驗實現(xiàn)與結(jié)果
改進(jìn)遺傳算法結(jié)合增量式PID控制器公式不難發(fā)現(xiàn),對于這種不確定對象的PID優(yōu)化,實質(zhì)上就是求解參數(shù)不確定系統(tǒng)的優(yōu)化問題。可以通過式(1)(2)來描述這類模型參數(shù)在一定的動態(tài)區(qū)域中存在變化的PID優(yōu)化命題[1]。在PID控制器中定義傳遞函數(shù)形式如下:
6? 結(jié)? 論
經(jīng)過實驗對照剖析可知,遺傳算法整定的增量式PID控制器參數(shù)更為確切,由MATLAB軟件仿真試驗成果顯示,該方法相比原始增量式PID更能對系統(tǒng)的時間誤差進(jìn)行有效控制,同時也使系統(tǒng)的動態(tài)特性和穩(wěn)態(tài)特性得到較好的提高。但是在調(diào)試過程中仍然存在一定的超調(diào)量和調(diào)節(jié)時間不穩(wěn)定的因素,需要進(jìn)一步改進(jìn)算法。
參考文獻(xiàn):
[1] 曾豪勇,周思柱,易文君.基于MATLAB的增量式PID參數(shù)整定 [J].工業(yè)控制計算機,2014,27(6):69-70.
[2] 劉文瑞,趙磊,顏子荔.基于歸一化遺傳算法的PID控制器自適應(yīng)整定 [J].科學(xué)技術(shù)創(chuàng)新,2019(19):61-62.
[3] 唐雪萍.基于遺傳算法的不確定對象PID優(yōu)化 [D].南昌:南昌航空大學(xué).2011.
[4] 高成,龐家騰.基于遺傳算法對PID控制器參數(shù)的整定 [J].現(xiàn)代信息科技,2019,3(2):171-172.
[5] 王沛元.基于遺傳算法優(yōu)化PID參數(shù)的風(fēng)電機組獨立變槳控制 [D].長沙:湖南大學(xué),2018.
[6] 牛薌潔,王玉潔,唐劍.基于遺傳算法的PID控制器參數(shù)優(yōu)化研究 [J].計算機仿真,2010,27(11):180-182+230.