梁達平 ,堅徳毅 ,趙興彥 ,杜海峰
(1.天水師范學院 電信與電氣工程學院,甘肅天水741000;2.天水電氣傳動研究所有限責任公司,甘肅天水741020;3.大型電氣傳動系統與裝備技術國家重點實驗室,甘肅天水741020)
自適應在線遺傳PID算法不僅具有傳統遺傳算法不受限于初始條件選擇精準度、能夠搜索系統全局最優解的優點,而且其自適應性可以更快地淘汰掉較差個體使算法的收斂效率更高。同時,它的在線模式可以在切分的每個采樣時間間隔中更多次地獲取設備當前狀態,從而能夠及時調節PID參數,提高了系統的魯棒性,因此這種混合型遺傳算法特別適用于實時性要求較高的工業控制設備中。
當然這種算法也存在需要改進之處,由于在線算法需要在每個較短的采樣時間內完成一輪PID參數尋優,因此每一輪在線計算一般不能超過20代,這就極大地限制了每一次尋優的效果,基本上每一輪采樣都只能尋找到較優解,而不能完全收斂于全局最優解,需要依靠反復多輪次計算,漸近式達到控制目標,對于設備的控制效果是有一定影響的。為了解決如何在較短的采樣周期內獲得更多計算次數的瓶頸問題,可以使用并行計算的思維,用多臺聯網控制器同時進行遺傳計算以空間換取時間,這就是所謂分布式計算模式,即通過構建主從式網絡拓樸實現多點并行計算,各子節點完成計算后將結果回傳至主節點進行匯總分析在相同的采樣周期內獲得更多的樣本個體,縮短尋優時間。
由于單控制器設備計算能力的物理限制,遺傳算法這種優秀的無差別尋優方法在工業PID控制中始終不是主流算法。另一方面,如果將傳統分布式結構引入遺傳算法需要在硬件方面建立客戶端-服務器模式,設備的控制器會由一個增加到多個,這就造成了設備制造成本的大幅上升,與通過算法計算提速所獲取的收益不成正比,因此該方案的可行性不高,相應的這方面研究文獻也比較少,只能從其它技術領域的類似研究中加以借鑒。例如,文獻[1]將遺傳優化算法與流體動力學分析方法相結合進行氣動優化設計,形成了完整的設計方法,并通過該方法進行了翼型氣動優化設計,實驗結果表明該方法提高了設計質量與效率。文獻[2]介紹了遺傳算法與分布式計算的定義及關系,論述了采用分布式遺傳算法解決板材套料問題的優勢,并提出了基于分布式計算架構的板材套料優化計算模式和方法。文獻[3]提出了一種利用遺傳算法的分布式數據挖掘計算架構-MapReduce,通過MapReduce獲得了較好的分布式計算平臺,充分實現了遺傳算法的全局最優解搜索,實驗數據表明該計算架構能夠提升海量數據挖掘的效果和性能。文獻[4]為了解決遺傳算法進行區域衛星星座優化設計中的計算量過大問題,提出了一種分布式計算模型及相應的計算方法,實驗表明提高了計算效率,該方法也可應用到其它領域。文獻[5]利用改進型分布式遺傳算法求解多約束條件下移動Agent遷移策略的最優解,將Cascade模型與分布式遺傳算法結合,通過在遷移算子中設計一個中心監控器觀察子種群進化過程,并對個體選擇和子種群大小進行調整,提高尋優速度。實驗數據表明,該算法在計算的快速性和準確性方面取得較大提高。
從以上文獻資料中可以看出,第一,將分布式計算模式應用于遺傳算法中,的確可以提高遺傳計算的速度,更快地收斂于最優解。第二,構建傳統分布式計算模式時主要采用了兩種作法,一種是物理上的多機分布架構,需要增加多臺客戶端以及聯網設備的投入,對于單臺工業設備來說成本提高的太多,甚至超過設備本身的成本,這顯然是不可行的。另一種做法是在單臺控制器上采用多節點仿真的模式,構造虛擬的分布式計算結構,這種方式僅僅能夠將單控制器的計算能力充分利用起來,但工業設備的控制器一般來說其計算能力是有限的,所以仿真分布式計算結構在計算性能提升方面無法產生明顯的效果。綜上所述,要建立適合工業控制設備的分布式遺傳計算模式,需要在保持計算效率的前提下,在算法的分布性、硬件結構的低成本化和安裝體積最小化等方面滿足生產實際的要求。
為了提高工業控制設備的動態響應特性,將傳統遺傳算法計算周期較長的尋優計算改進為在線計算模式,即將采樣時間切分為一個個較短的時間片(例如,0.1s),在每個時間片內進行一輪完整的遺傳計算并對設備參數進行校正,然后再次采集當前設備狀態參數,并根據參數值進行新一輪的遺傳計算,這樣就可以更加快速地掌握設備最新狀態,提高控制的實時性。另外,通過自適應策略解決不同設備個體由于難以避免的機械結構誤差、參數設置不同、生產產品不同所帶來的設備生產環境差異性問題,從而使設備控制系統具備更強的魯棒性。例如,利用該算法我們成功地解決了IC(集成電路)芯片烘箱在溫度控制中因腔體均勻性差異導致調節效率低的問題。
該算法的具體計算流程如下:
設備PID控制系統的方塊圖如圖1所示,在前向通道配置PID控制器,控制器對應的3個PID參數為KP、TI、TD;G(s)表示設備被控制對象的傳遞函數。

圖1 PID控制系統方塊圖
為了便于計算和分析3個PID環節參數,需要將PID控制器的傳遞函數作等效變換,如公式(1)所示:

其中 KI=KP/TI,KD=KPTD。第一步,根據生產經驗選定設備PID控制器3個參數的取值區間。設KP∈[p1,p2],KI∈[i1,i2],KD∈[d1,d2]。
第二步,遺傳計算選取的樣本個體總數設為n,由于是在線算法,需設定采樣周期,周期設為Ta(周期的時長一般比較短,例如0.1s),每個采樣周期內的計算輪數設為m代(為了獲得較好的實時性,通常要小于20代)。
第三步,設計系統的目標函數和適應度函數。對于大多數工業控制設備來說,輸出超調對于產品質量的損害是十分嚴重的,因此需要控制輸出響應曲線上升到目標值附近時不要產生較大幅度的振蕩或毛刺,為了抑制輸出超調的產生,達到理想的過渡性能,可以將個體i的最小目標函數設計為誤差變化率與位置誤差加權之和,如公式(2)和公式(3)所示,其中k1,k2表示各自所占的權重。適應度函數與最小目標函數為倒數關系。

當系統出現超調時,公式(2)由公式(3)替代,以保證造成超調的較差個體被淘汰:

這樣就將自適應性引入算法中,可以根據不同設備或同一設備不同環境狀態進行PID參數自適應調節。
第四步,選用實數編碼方式,建立種群的樣本個體。每個個體產生的計算方法如公式(4)(5)(6)所示:

第五步,交叉操作按照Pc=0.9的交叉概率進行;變異操作按照 Pmi=0.2-i×0.01/n(i=1,2…n)的變異概率進行。
在每個采樣周期內,重復運行第二步到第五步。
如前所述,自適應在線遺傳PID算法雖然能夠提高設備控制性能,達到指標要求,但上述算法是基于單控制器設計的,并不適用于分布式計算模式。因此需要對算法做進一步改進,使其具有多點并行計算尋優的特點,為此我們引入了分層方式[6]。下面介紹一下分層式遺傳算法的計算原理:
針對被調節參數隨機生成 N*n 個樣本(N>=2,n>=2),然后將其分成N個平行種群,每個種群含有n個初始樣本,在種群內進行各自獨立的遺傳計算。N個平行種群在設置時,可以引入完全不同的性能側重,這樣就可以在后期計算階段產生出更多類型的優良個體。每當種群內的遺傳計算運行到一定的代數時,就將這N個種群的遺傳樣本數據內容保存到二維數組 R[1..N,1..n]中,將 N 個種群的平均適應度保存到數組A[1..N]中。根據A數組中的N個平均適應度值,對R數組中保存的當前各個結果種群進行選擇操作。當 R[i,1..N]與 R[j,1..N]被隨機匹配在一對時,按照預先(或隨機)設定的權重進行對應重組,完成組間交叉。同時,也在每個種群按照預設概率將少量隨機生成的新個體替換掉 R[1..N,1..n]中隨機選定的個體。以上平行種群之間的操作被稱為高層操作,各種群內部的獨立操作被稱為低層操作,均按照一定的預設輪數循環執行。分層方式可以更大范圍的搜索最優解,有效避免過早陷入局部最優;缺點是搜索個體數相對更多、計算量比較大,對于單控制器設備來說來會影響控制的實時性,但是非常適用于分布式計算結構。
分層式遺傳計算流程如圖2所示。
第一步,選擇操作。根據每組各自的平均適應度值,對數組R中保存的組內所有個體進行篩選工作,將適應度值低于平均適應度的個體淘汰掉,高于平均適應度的個體不僅保留,還要進行復制并填充淘汰掉的個體所留下的位置。

圖2 分組式遺傳算法運行流程圖
第二步,交叉操作。按照預設的交叉概率Pc將組間的個體隨機跨組匹配,然后按照預設的權重進行加權交叉操作,即 Rix=α×Rix+(1-α)×Riy,Riy=(1-α)×Rix+α×Riy。其中,Rix和 Riy分別表示選中的兩個個體,α表示預設的交叉權重值。
第三步,變異操作。按照預設的變異概率Pm在組間進行隨機生成操作將選中的個體替換掉,即 Rix=(Rimax+Rimin)/2+(Rimax-Rimin)×(Rand()-0.5)。其中,Rix表示選中的個體,Rimax和Rimin表示該組子種群取值區間的最大值和最小值,Rand()表示(0,1)區間隨機函數。
以上步驟每隔一個預設間隔就重復運行一次。N組平行種群可以在各自組內進行完全獨立的自適應在線遺傳計算,尋找各自的最優解(低層組內操作);然后通過上述步驟完成高層組間操作。從而在相同的時間內利用多組遺傳計算擴大了搜索的尋優范圍,不僅避免了陷入局部最優問題,也提高了搜索效率。更為重要的是這種方式能夠充分發揮出分布式計算的優勢,可將每一個或幾個平行種群組的低層遺傳計算分別放在每一個計算節點上,這樣各組的計算就與分布式并行結構完全結合在一起,在每一個采樣時間結束時,將各子節點的計算結果匯總到主節點進行高層的組間遺傳計算,得到優化結果。
分布式計算模式從邏輯結構上看,屬于主從式網絡拓樸,通過多個計算節點分布式獨立展開并行計算,最后通過主節點匯總處理各子節點回傳的數據得出最終計算結果。在物理實現上,常規的做法是采用多臺PC機及網絡通訊設備構建集群式計算網絡。這種方式對于解決大數據分析、數據挖掘等高計算量、高成本需求類行業的問題是很有效的(如電商網站、移動及電信服務商等),但是對于單臺成本較低、便于移動的工業控制設備來說,給每臺設備都配置這樣規模較大的網絡架構,從經濟投入到安裝體積等方面考慮顯然是很不現實的。因此,為了建立符合工業設備要求的分布式計算結構,我們提出了以下兩種物理實現方案。
為了降低采用分布式結構的設備制造成本并限制控制系統過大的體積,可以將各計算節點由PC機替換為嵌入式微控制器,這樣既可以保證較高的計算性能,也大大縮小了控制系統所需的安裝空間。如圖3所示,各分控制器均為嵌入式微系統,與主控制器通過采用ModBus協議[7]的RS485物理總線連接,主控制器則可以選用較高性能的嵌入式微系統或體積較小的一體式PC機。

圖3 嵌入式多智能端分布式計算結構
主控制器在每個采樣周期中,首先采集設備相關狀態參數的數據,然后通過RS485總線傳送給所有分控制器,在每個分控制器上進行各自獨立的遺傳計算(低層計算),當采樣周期結束時,各分控制器上傳計算結果至主控制器,在主控制器中運行高層遺傳算法得到本輪采樣周期的參數最優解,并以PID控制方式對被控參數進行調節。
對于大型制造企業來說,如果購買的工業控制設備數量較多,可以進一步考慮組成設備工業局域網,每一臺設備作為一個子節點,并在上位端安裝一臺性能較強的主服務器作為主節點。如圖4所示,在每輪采樣周期開始時,各子節點處的工業設備將各自當前的狀態參數通過以太網總線上傳至主服務器,利用主服務器的超強計算能力進行多輪偽并行遺傳計算,當采樣周期結束時,服務器將計算結果回傳給各設備端。

圖4 工業局域網分布式計算結構
這種類似云端計算的局域網方式,既可以將多臺單控制器設備整體升級為分布式計算模式,也可以在設備使用了前述的第一個方案后,通過本結構建立計算性能更強的三層式分層遺傳算法控制結構,即主服務器層、各設備的主控制器層和分控制器層。
根據大量實驗分析和理論研究表明,大多數工業控制設備的系統環境都具有自衡的能力,其傳遞函數模型可采用延遲環節和慣性環節的乘積來近似描述,如公式(7)所示:

其中:KC為系統放大系數,TC為設備時間常數,τ為被控參數變化的時間常數。
這種有自衡能力的一階慣性控制裝置在進行系統參數辨識時,通常采用反應曲線法、衰減曲線法或穩定邊界法測算,綜合考慮實驗數據的采集難度和各方法的適用范圍,這里使用反應曲線法[8]來計算系統模型所需參數。
下面,以曾經自主研發的IC芯片無氧化烘箱為例,說明利用反應曲線法對被控系統進行辨識的過程。首先,由于多數產品所需工作溫度在175℃左右,因此可以將烘箱腔體內的初始溫度設置為165℃,加熱器的目標溫度設為175℃,通過每30s間隔進行一次溫度采樣,獲取溫度變化過程的數據點。利用MatLab軟件中的6階多項式擬合函數[9]對這些數據點進行曲線平滑處理以提高處理精度,最終得到烘箱內環境溫度的飛升曲線如圖5所示。過曲線的拐點P畫切線和輔助線,可估算出公式(7)所需參數的具體數值,其中 KC=0.9,TC=640,τ=160。

圖5 烘箱腔體溫度飛升曲線圖
為了兼顧算法模型的普適性和有效性,算法測試對象分別選擇為5.1節中根據公式(7)推導的設備仿真模型和實際的IC芯片烘箱溫控系統,分兩次進行單機算法與分布式算法的性能對比分析,從而得到更加客觀準確的評價結論。
在分別采用兩種遺傳算法的溫控仿真系統輸入端引入階躍信號(初始為165℃,階躍目標為175℃),每隔30s采集一次控制器響應輸出數據,并經過MatLab擬合處理后得到響應曲線如圖6所示。可以看出兩者在上升速度與超調量的平衡處理方面表現都很好,在保證較高快速性的前提下基本沒有出現明顯的超調,這對于生產過程控制來說是最重要的指標之一,因為一個不起眼的毛刺信號可能就會造成大批產品在生產過程中被損壞。在穩態誤差方面兩者的表現也很好,進入穩態后實際曲線能夠與目標曲線重合,完全實現了恒溫控制的核心功能。此外,在良好的動態與穩態性能基礎上,分布式算法響應曲線還體現出更好的實時性和計算優勢,在初始上升速度方面明顯優于單控制器設備,體現出更強更廣泛的適應性,可以用于要求更加嚴格的工業生產中。

圖6 基于仿真對象的兩種階躍響應曲線對比
同樣的,在分別采用兩種遺傳算法的IC芯片烘箱溫控系統輸入端引入階躍信號(初始為98℃,階躍目標為175℃),采集并處理設備控制器實際輸出響應曲線如圖7所示??梢钥吹匠藘煞N算法均能滿足烘箱的生產要求之外,分布式控制器快速性能更好,初始調節時間只有不到10分鐘,而單控制器設備需要20分鐘左右。
顯然,引入分布式計算模式后,系統階躍響應曲線的上升時間、調節時間等快速性指標進一步獲得提升,突破了單控制器計算的物理限制。此外,原始采集數據點的坐標分布也反映出,相比于單機系統,分布式系統的穩態誤差趨于0,抗干擾性和魯棒性均得到同步提高。
本文采用分層模式對自適應在線遺傳PID算法進行改進,與主從式網絡架構相結合構建出符合工業生產實際的分布式計算結構,并將其引入設備控制系統,在成本和安裝體積基本不變的前提下,突破了采用單控制器時在線算法的計算瓶頸。通過對優化前后兩種算法模型的實驗數據對比表明,分布式結構提高了原算法的搜索速度、擴大了搜索范圍;采用分布式遺傳PID控制方案的設備綜合性能要遠優于采用傳統PID方案的設備,其被控參數調節速率明顯提高,具有良好的動態特性和魯棒性。該模型可廣泛應用于各類嵌入式工業控制設備的PID控制系統中。

圖7 基于實際設備的兩種階躍響應曲線對比