孫 全,孫 淵
(上海電機學院機械學院,上海 201306)
比例-積分-微分(Proportion-Integral-Derivative,PID)控制器具有結構簡單、魯棒性好、適用性強等優點,是目前工業生產過程中被廣泛應用的控制策略之一[1-3]。常規PID控制器無法有效地控制非線性、時變性、多干擾的系統,為此相關專家學者提出將BP神經網絡、粒子群、模擬退火等[2-4]智能算法與傳統PID控制器相結合,形成了自適應PID控制器。由于BP神經網絡具有良好的逼近非線性系統的能力,應用領域很廣泛,但其依賴于網絡的初始值和閾值,且存在訓練時收斂速度慢、易陷入局部極小的缺點。為此,郭珂等[4]提出了粒子群優化(Particle Swarm Optimization,PSO)BP神經網絡的連接權值矩陣,但存在峰值時間過長等問題。王曉天等[5]提出了遺傳算法(Genetic Algorithm,GA)優化神經網絡,但GA存在收斂速度過慢等問題[6]。Xue等[7]提出了一種新型群智能優化算法——麻雀搜索算法(Sparrow Search Algorithm,SSA),該算法主要依據麻雀種群的行為解決目標函數的最優問題,具有收斂速度快、穩定性好等優點。
本文將SSA與BP神經網絡相結合,優化了BP神經網絡的初始權值和閾值,從而提升了BP神經網絡PID控制器的控制效果。
BP神經網絡包含輸入層、隱含層、輸出層,系統采用BP神經網絡優化PID控制,其輸入層為信號采集變量,輸出層為PID的比例、積分、微分kp、ki、kd[8-10]。網絡結構如圖1所示。由圖可知,在訓練神經網絡初始化時,首先確定輸入層節點數、隱含層節點數、輸出層節點數;然后設定輸入層與隱含層之間的連接權重矩陣ωij,隱含層和輸出層之間的連接權重矩陣為ωli,隱含層閾值、輸出層閾值;最后取BP神經網絡的性能指標函數為[11]

式中:x1=r(k)為系統期望輸入;x2=y(k)為系統實際輸入;x3=E(k)為實際輸入與期望輸入的誤差。
SSA將群體分為探索者、跟隨者和預警者3部分,其相互配合尋找最優值[9-10]。
探索者負責為整個種群尋找食物,并為種群提供覓食方向。為了使探索者在前期能更好地展開全局搜索,后期也能更好地進行局部搜索,引入正弦余弦算法[11]。其中定義學習因子為

式中:ωmin、ωmax分別為最小和最大慣性系數;imax為最大迭代次數。
將學習因子融入到探索者的位置移動中,可得

當預警值小于安全值時,表明周邊不存在危險,探索者可以搜索更廣的范圍;當預警值大于安全值時,表明周邊存在危險,探索者將帶領種群飛往其他位置尋找食物,此時大量跟隨者觀察到探索者搜索到了更好的食物位置而涌入一起,導致局部區域的種群密度過高,從而陷入局部最優。將Levy飛行產生的隨機步長s加入跟隨者的位置更新中,使跟隨者搜索的方向更全面,種群位置更多樣化,防止陷入局部最優[12-15]。其中,Levy飛行的隨機步長為

式中:Xworst為全局最差的位置;A為1×d矩陣,其中每個元素隨機為1或-1;A+為(AAT)-1;Np為種群數量;Q為服從正態分布的隨機數。
有一部分麻雀作為預警者,時刻觀察周圍是否有危險出現,當感知到危險時會放棄食物,帶領種群飛往其他位置。其位置更新如下:

fg、fw分別為全局最高、最低適應度;ε為極小常數。
基于以上分析,本文設計了一種SSA-BP神經網絡PID控制器。該控制器結合了SSA強大的局部、全局搜索能力和快速收斂的優勢,以優化BP神經網絡權值得到最優的PID參數,其結合了SSA和BP神經網絡兩者的優點,控制效果更趨于平穩。基于SSA優化的BP神經網絡PID控制器結構如圖2所示。

圖2 基于SSA-BP優化的PID控制器
圖2中,控制器由3部分組成,依次為SSA、BP神經網絡和常規PID控制器。常規PID控制器根據輸入r(k)和輸出y(k)之間的誤差E(k)確定PID的3個參數,其中kp反映了控制系統的偏差,調節kp可以減小偏差;調節ki可以消除靜差,提高系統的無差度;kd反映了偏差信號的變化趨勢,可在偏差信號變得過大之前,引入一個有效的早期修正信號,加快系統的運行速度,減少調節時間。通過控制算法得到控制器輸出u,再由控制對象的傳遞函數得出系統的輸出y,最終實現PID控制器直接對受控對象的閉環控制。系統運行前期,SSA先對BP神經網絡進行連接權值和閾值的優化,將經優化得到的最佳權值賦予BP神經網絡作為初值,然后BP神經網絡通過自身的整定能力,調整經優化后的加權系數,并自動調節PID控制參數,獲得最優的一組控制參數,使系統性能指標達到理想狀態。具體程序設計步驟如下:
步驟1初始化麻雀群體的規模、空間維數、種群數量、BP神經網絡結構等參數。
步驟2確定輸入層節點、隱含層節點以及輸出層節點的數量以及權值、閾值等相關參數,并選取式(1)作為適應度函數。
步驟3麻雀種群初始化。將權值和閾值進行有序排列作為位置值,根據其范圍隨機產生初始位置。
步驟4通過計算適應度函數,將當前排在最優麻雀的位置設為當前食物的位置,選定食物位置后確定探索者、跟隨者和預警者。
步驟5探索者、跟隨者和預警者位置的更新:探索者、跟隨著和預警者的位置移動公式分別為式(3)、式(5)和式(6)。
步驟6計算適應度值。對更新后群體的適應度進行計算,通過對比麻雀個體與當前位置作為食物位置的麻雀個體適應度值后,將適應度最優的群體位置作為新的食物位置;
步驟7重復步驟(3)~(6),直至適應度值達到設定的標準值,此時模型輸出結果為全局最優解。
步驟8BP神經網絡訓練。將經SSA優化的初始權值、閾值代入BP神經網絡進行數據的訓練,形成PID的在線整定。
本文采用Matlab軟件進行仿真驗證,將BP、PSO-BP和SSA-BP優化的PID控制器進行建模分析。為了驗證以上3種PID控制器的性能,選取被控對象的傳遞函數如下:

圖3給出了基于BP、PSO-BP和SSA-BP的3種不同方法得到的PID控制系統階躍響應曲線,分析可知PSO-BP控制器具有更好的控制效果,系統響應曲線平滑,超調小且系統穩定性更好。

圖3 階躍響應輸出曲線
為了更加精確、直觀地比較3種控制器的差別,從上升時間、穩定時間和超調量3個方面對BP、PSO-BP和SSA-BP優化的PID控制器進行比較。對比結果如表1所示。表中,上升時間指輸出從0上升至給定參考值的90%所需時間;穩定時間指輸出進入預期值的±2%誤差范圍內所需的最短時間;超調量反映了輸出值偏離穩定值的程度。

表1 3種算法優化的控制器性能比較
由表1可知,BP優化的PID控制器上升時間較短,但進入穩態的時間較長且存在明顯的超調;PSO-BP優化的PID控制器進一步縮短了上升時間和進入穩態的時間,但仍然存在一定的超調;本文SSA-BP優化的PID控制器利用SSA的快速尋優能力,實現了兩者的最優組合,使得在沒有超調的情況下,穩定時間指標參數相比PSO-BP優化的PID控制器更優。因此,SSA-BP優化的PID控制器具有更好的控制效果和魯棒性。
本文以PID控制模型為基礎,選取一個2階傳遞函數的數學模型作為被控對象,測試了BP神經網絡優化的PID控制器、PSO-BP優化的PID控制器以及本文SSA-BP優化的PID控制器的單位階躍響應曲線。對比結果顯示,BP神經網絡優化的PID控制器進入穩態時間長且有明顯的超調,而PSO-BP優化的PID控制器的上升時間和進入穩態時間分別縮短了33.3%和51.9%,同時超調減少了5.81%。SSA-BP優化的PID控制器在進入穩態時間方面又進一步縮短了7.4%,同時消除了超調量。