(合肥工業大學 電氣與自動化工程學院,安徽 合肥 230009)
DMF是一種常見的有機溶劑,在很多化工工藝中起著重要的作用。高濃度DMF廢液是回收系統的原料,DMF廢液經過收集、濃縮塔脫水后進入精餾塔,塔內的溫度控制是回收系統的核心[1-2]。精餾塔由導熱油供熱。導熱油溫度和流量都是溫度控制過程中的變量,由于導熱油溫度較為穩定,改變導熱油閥門的開度來改變導熱油流量是DMF溶液回收系統溫度控制的主要思路[3]。因為精餾塔內的溫度無法做到實時精確測量,所以精餾塔內的液位高度是否穩定成為反映塔內溫度穩定的重要指標。因此,系統控制目的是使精餾塔液位保持穩定或動態穩定,并且與理想液位的誤差最小,使塔內DMF廢液的進料量和DMF溶液的揮發量保持平衡。此時能最大程度節約資源,降低企業生產成本。
對導熱油閥門開度進行PID控制器設計,由于傳遞函數模型往往建立得不夠精確,同時導熱油閥門開度的設定往往由工人根據經驗調節且閥門調節的頻率不能太高,傳統PID控制器很難滿足控制需要。因此,對其進行基于AFSA-BP算法的模糊PID控制器設計。其結構圖如圖1所示。它包括如下幾個部分:
① 積分分離PID控制器。根據PID參數直接對導熱油閥門開度進行控制。
② 模糊邏輯。對導熱油閥門開度的偏差值e(k)和偏差值變化率Δe(k)進行模糊化處理。
③ BP神經網絡。確定BP神經網絡的結構并與模糊規則相結合。
④ 算法學習。對BP神經網絡的系數和權值用AFSF算法發現全局最優解。

圖1 復雜PID系統控制結構圖
PID控制器的數學表達式為
(1)
式中,U(k)為第k次測量精餾塔導熱油閥門開度的大小;err(k)為第k次閥門開度大小與理想閥門開度大小的偏差值;r(k)為理想閥門大小開度的輸出值。
導熱油閥門開度和導熱油流量正相關,流量的大小決定了精餾塔溫度的高低,這也是溫度的控制核心。由于閥門開度控制難以建立精確的數學模型[3],塔內的溫度不容易直接精確測量,所以往往根據工人的操作經驗定性改變導熱油的開度,這也為模糊邏輯的設計提供了前提條件。模糊化處理的目的是在進行模糊推理前,將輸入的精確量轉化為模糊量[4]。
設集合{PB,PM,PS,ZE,NS,NM,NB}分別對應導熱油閥門開度的7個等級{正大,正中,正小,適中,負小,負中,負大}。對閥門開度的輸出值與理想值的偏差e(k)和偏差變化率Δe(k)進行模糊化處理,分別對應這7個等級。Kp、Ki、Kd的模糊化變量分別為ΔKp、ΔKi、ΔKd均對應同樣的7個等級[5]。
BP神經網絡包含輸入層、輸出層和隱含層,是一種建立在梯度下降法基礎上的有導師的學習算法,其學習過程包含正向傳播和反向傳播[6]。反向傳播通過對各層連接權值進行反向學習,以獲得最優的控制參數。
因為本系統的輸出層有兩個輸入量,即精餾塔導熱油閥門開度的輸出量與理想輸出量的偏差值e(k)和偏差值變化率Δe(k)。這兩個值無法準確獲得,所以在1.3節中提出了模糊規則,在輸入層之后加入一層模糊層。選擇合適的隸屬函數,對輸入值閥門開度誤差和誤差變化率進行模糊劃分。圖2為加入了模糊規則的5層BP神經網絡結構圖[7]。

圖2 模糊BP神經網絡結構圖
第1層為輸入層,包含兩個輸入量,偏差值e(k)和偏差值變化率Δe(k)分別設為x1和x2,有兩個輸入量,即M=2。

所選用的高斯隸屬函數為
(2)
式中,cij為隸屬函數曲線的中心點;σij為隸屬函數曲線的寬度,通常為正數。
第3層為隱含層,該層與典型BP神經網絡的隱含層含義不同,由于在模糊層設定了模糊分割數7,所以可以根據模糊分割數和輸入節點數得出該層的節點數Q=7×7=49,同時,m=∏mi,對于兩個輸入量的系統而言,m=Q=49。49個節點每個都對應一條模糊控制規則。每個節點的模糊規則為
(3)
式中,Q表示第幾條模糊規則,Q=1,2,…,49,j1∈{1,2,…7},j2∈{1,2,…7}。
第4層為歸一化層,對第3步得到的值進行歸一化處理,得
(4)
第5層為輸出層,根據歸一化的隱含層節點輸出,得到PID參數,有
(5)
式中,ωlj為第4層到第5層的權值。
對于函數曲線的中心點cij,函數曲線的寬度σij(i=1,2;j=1,2,3,…,mi)和隱含層到輸出層的權系數ωlj(l=1,2,3;j=1,2,…,m)而言,這3個系數都需要經過學習才能得到。
AFSA是一種根據魚群生活習性衍生出的仿生算法,它的基本思路是:魚群在水域中總是會朝著食物濃度最高的區域移動,從而進行覓食行為[8]。由此構造出人工魚集群進行全局尋優,可以有效解決BP神經網絡反向傳播常用的最速下降法產生的容易陷入區域極大值的情況。
把輸出均方誤差的倒數作為人工魚群算法的適應函數(食物濃度),得到[9]:
(6)

dp,q=‖Xp-Xq‖
(7)
對于距離給出如下定義:

(8)
式中,ωlj(l=1,2,3;j=1,2,…,m)為第4層到第5層的權值;cij(i=1,2;j=1,2,…,mi)為隸屬函數曲線的中心點;σij(i=1,2;j=1,2,…,mi)為隸屬函數曲線的寬度(下同)。
人工魚有以下幾種基本行為[10-12],對每種行為分別做以下說明。
① 覓食行為。Visual為人工魚視野,step為最大移動步長,rand()∈(0,1)為一個隨機數,Xi為當前人工魚狀態,Xj為人工魚視野內的隨機狀態,當該隨機狀態的食物濃度Yj大于當前狀態Yi時,則朝該隨機位置移動,此時有
(9)
式中,ωlj、cij、σij的含義和取值同式(8);ωlj()、cij()、σij()為遞推時人工魚群的狀態;ωlj(i)、cij(i)、σij(i)為當前狀態Xi的訓練參數;ωlj(j)、cij(j)、σij(j)為隨機狀態Xj的訓練參數;ωlj(i+1)、cij(i+1)、σij(i+1)為執行此種行為后的訓練參數。
當該隨機狀態的食物濃度Yj小于當前狀態Yi時,則人工魚群隨機移動一步,則有
(10)
式中,ωlj()、cij()、σij()為遞推時人工魚群的狀態。
② 聚群行為。Xi為當前人工魚狀態,Xjc為人工魚視野內的隨機狀態的中心點,n為該隨機狀態的區域的伙伴數量,δ為擁擠度因子,Yjc為隨機狀態中心的食物濃度,Yi為當前位置的食物濃度,當Yjc/n>σYi時,說明該隨機狀態中心有較多食物,人工魚應該朝該中心位置移動,則有
(11)
式中,ωlj()、cij()、σij()為遞推時人工魚群的狀態,否則執行覓食行為。
③ 追尾行為。Xi為當前人工魚狀態,當其視野內存在一個Xj,其食物濃度為視野內最大滿足Yj=Yjmax時,若Yjmax/n>δYi成立,說明該處有較多食物,人工魚應該朝該處移動,則有
(12)
式中,ωlj()、cij()、σij()為遞推時人工魚群的狀態,否則執行覓食行為。
圖3為用AFSA-BP神經網絡優化PID參數的流程圖。其過程包含如下步驟。
① 確定模糊BP神經網絡的結構。
② 初始化人工魚群算法的參數。

圖3 AFSA-BP神經網絡優化PID參數流程圖
③ 產生N條人工魚,即產生N組ωlj、σij和cij,計算各魚群的適應函數Y,得到食物濃度的最大值,取值給公告欄。
④ 模擬執行3種行為,然后按照執行行為后的食物濃度選擇相應的行為,缺省行為方式為覓食行為。
⑤ 根據步驟④確定魚群經過某種行為后再次計算各魚群的適應函數Y,若食物濃度最大值優于公告欄的值,則把新的值賦值給公告欄。
⑥ 判斷是否達到最大迭代次數Nummax,若未達到則回到步驟③。
⑦ 達到最大迭代次數,取得公告欄最優值,得到BP神經網絡的最優連接權值和隸屬函數參數值。
⑧ BP神經網絡運行得到最優的PID優化參數。
在現場DMF回收系統中,由于電機伺服系統頻繁改變轉向可能導致電機燒毀,所以導熱油閥門開度調節頻率不應過高,精餾塔的體積較大、溫度分布不均勻,無法通過單點測量確認塔內整體溫度,所以通常可以測量液位高度的變化進而判斷系統是否處于穩定。當精餾塔的DMF廢液進料量和揮發量保持一致時,可以有效降低成本,即液位的變化量越小PID參數越好,回收效率越高。在現場生產過程中,采用的是西門子FM355PLC模塊控制導熱油閥門開度,該控制模塊包含PID參數的輸入。對精餾塔的液位高度變化進行測量,當液位高度變化很快或回收效率降低時,說明物料沒有達到動態平衡,此時會對PID參數進行優化,也就是一種離線優化的過程。用AFSA-BP算法進行系統仿真,根據系統實際輸出的情況確認優化后的PID參數。
收集實際實驗中的數據,設定120組數據,每組包括進料流量、精餾塔內單點溫度、閥門開度、理想液位和實際液位高度,得到采用BP神經網絡最速下降法訓練時與AFSA-BP算法時的數據,比較液位高度的變化量,部分實驗結果如表1所示。

表1 訓練參數后部分實驗數據組
實際實驗數據表明,AFSA-BP算法相較于BP神經網絡算法可以有效降低液位高度的相對誤差,使液位處于動態穩定狀態,能夠有效節約能源,降低生產成本。
AFSA算法優化模糊BP神經網絡,需要設定的參數包括步長step=0.4,視野Visual=0.6,最大迭代次數N=100,擁擠度因子δ=0.628,人工魚的樣本數量k,人工魚群的數量和神經網絡的結構和待訓練參數的個數有關,根據神經網絡結構,模糊度為7,輸入量為2,輸出量為3,隸屬函數有兩個訓練參數,一個連接權系數,所以人工魚群數量k應該設定為7×2×2+49×3=175。系統的仿真時間大約需要40 min。以120組數據中的30組數據為訓練對象,逼近輸出均方誤差可以得到圖4所示的實驗結果。
由圖4可知,AFSA算法在進行到第20次時,誤差已經達到10-3級,此時訓練誤差已經比較理想。因此,AFSA-BP算法具有迭代次數少、快速性好的優點。
系統可以在很大程度上降低誤差。在得到最優的連接權系數和隸屬函數參數后,用實際實驗數據中的另外30組為測試對象,仿真得到系統預測精度,結果如圖5所示。

圖4 AFSA算法訓練誤差

圖5 AFSA算法訓練參數后的檢驗效果圖
圖5中綠色表示理想輸出值,紅色表示實際輸出值,通過用ASFA算法訓練后得到的最優連接權系數和隸屬函數參數,賦給模糊BP神經網絡后,絕大部分實際輸出值符合理想輸出值,只有在個別點有一定偏差,因此控制精度較高,滿足整體控制要求。
針對DMF回收系統中精餾塔的導熱油閥門開度控制難以建立精確數學模型的問題,提出了一種用AFSA算法來優化模糊BP神經網絡的PID控制器,控制目的是使精餾塔內的DMF廢液進料量和DMF溶液揮發量保持動態平衡,從而實現節約資源并降低企業的生產成本。AFSA算法具有全局尋優能力強、迭代速度快、穩定性好等優點。通過實驗仿真,證明AFSA-BP算法迭代次數少,能夠減小精餾塔液位的誤差,使精餾塔內液位高度保持動態平衡。