林家泉,孫鳳山,李亞沖,莊子波
1. 中國民航大學 電子信息與自動化學院,天津 300300 2. 中國民航大學 飛行學院,天津 300300
隨著節(jié)能減排的規(guī)劃逐步推進,民航設備的節(jié)能減排也受到越來越多的關注。在夏季,飛機??吭跈C場時,大部分航空公司均采用飛機地面空調設備為客艙制冷[1],準確預測出客艙的能耗需求,是達到地面空調節(jié)能以及保證客艙熱舒適性的關鍵,也有助于機場電能的合理分配。同時,由于地面空調采用恒速的送風策略,當地面空調送風速度過小時,不滿足客艙熱舒適性要求,當地面空調送風速度過大時,浪費能源。因此,若能準確地預測客艙的能耗,通過計算能夠得出既滿足熱舒適性又節(jié)能的地面空調的最優(yōu)送風速度,則能為地面空調的送風控制提供理論依據。地面空調為客艙制冷如圖1所示。影響客艙能耗的主要因素為天氣因素與客艙內部因素,天氣因素主要包括室外溫度、濕度、太陽輻射強度、降水量等,客艙內部因素主要包括客艙內的溫度、濕度、風速等[2]。
圖1 地面空調系統(tǒng)Fig.1 Ground air condition system
人工神經網絡方法廣泛地運用于建立非線性數據間的關系,以達到預測的目的[3]。文獻[4]提出基于改進的遺傳算法用于優(yōu)化極限學習機網絡的航空發(fā)動機軸承故障預測模型,文獻[5]提出將人工神經網絡運用于建筑物能耗預測中,取得了較為理想的效果。文獻[6]提出基于小波神經網絡,運用于飛機客艙能耗預測中,建立了飛機客艙能耗預測模型。綜上可知,由于影響客艙能耗的因素間也存在著這種非線性特性,在采集到的樣本數據充足的情況下,依據神經網絡建立客艙能耗預測模型理論上是可行的。
Elman神經網絡采用梯度下降的學習規(guī)則,存在容易陷入局部最優(yōu)且收斂速度慢的問題。有學者提出使用標準的粒子群優(yōu)化(PSO)算法優(yōu)化Elman神經網絡[7],但實驗結果顯示,基于標準的PSO優(yōu)化后的Elman神經網絡,仍然存在精度不佳的問題。因此,需要對PSO算法進行改進。改進PSO算法能夠通過調節(jié)算法的慣性權重與學習因子實現(xiàn)。文獻[8]通過調節(jié)PSO算法中的學習因子c1和c2,c1隨著迭代次數的增加進行線性遞減變化,c2隨著迭代次數的增加進行線性遞增變化,增強了算法搜索能力,使得尋優(yōu)精度得到提高。文獻[9]提出一種慣性權重的非線性遞減調節(jié),加快了算法的尋優(yōu)速度。文獻[10]提出了一種基于全局最優(yōu)位置對慣性權重進行動態(tài)調節(jié)的方法,改進了PSO算法。文獻[11]提出了一種基于粒子聚集程度的慣性權重動態(tài)調節(jié)方式,在一定程度上避免了算法陷入局部最優(yōu)。文獻[12]通過結合粒子的適應度對慣性權重進行動態(tài)調節(jié),提高了算法的精度。
僅單一調節(jié)學習因子或慣性權重,并未考慮慣性權重與學習因子之間的配合作用,則不能建立粒子的局部搜索能力與全局搜索能力的動態(tài)平衡[13]。因此,為使得PSO算法得到更大程度的優(yōu)化,本文考慮了2個參數之間的配合,基于參數的收斂域,提出了基于粒子到全局最優(yōu)位置的距離對慣性權重與學習因子進行動態(tài)調節(jié),構造了兩者的動態(tài)調節(jié)函數,同時,引入了變異因子,提出了跳出局部最優(yōu)的策略,避免PSO算法過早收斂,使得PSO算法得到改進,提高了PSO算法的收斂速度與精度。將IPSO算法與Elman神經網絡相結合,通過IPSO算法的全局最優(yōu)位置對Elman神經網絡的權值與閾值進行更新,將IPSO-Elman應用于對Boeing738飛機客艙進行能耗預測,用以準確預測出飛機客艙的能耗并縮短預測耗時。
Elman神經網絡是在BP(Back Propagation)神經網絡上增加一個承接層使得網絡對歷史數據具有短期記憶功能,增強了其處理動態(tài)數據的能力[14]。Elman神經網絡結構如圖2所示。
圖2 Elman神經網絡結構Fig.2 Structure of Elman neural network
Elman神經網絡的模型為
xc(t)=axc(t-1)-x(t-1)
(1)
x(t)=g(W1xc(t)+W2u(t-1))
(2)
y(t)=f(x(t)W3)
(3)
式中:u(t-1)為神經網絡的輸入;x(t)為隱含層輸出;xc(t)為隱含層向承接層的輸入;W1、W2、W3分別為承接層到隱含層、輸入層到隱含層、隱含層到輸出層的權值;t表示迭代計算到第t步;y(t) 為神經網絡輸出;g(*)為隱含層傳遞函數;f(*)為輸出神經元的激勵函數。
Elman神經網絡的誤差函數為
(4)
式中:ei(t)為期望輸出;m為樣本總數;i為第i個樣本。
PSO算法受鳥群搜尋食物行為的影響而產生[15],影響鳥群中的鳥搜尋食物主要有2個因素:鳥飛行的速度、鳥和食物之間的距離。同樣,將鳥群中的鳥視為粒子群中的粒子,搜尋食物的過程視為粒子搜尋最優(yōu)解的過程。
每一個粒子均有速度和位置2個屬性,在每次迭代計算中,每個粒子在K維空間下,以一定的速度和位置在搜尋最優(yōu)解,將搜尋到自己的最優(yōu)解所處位置記為個體極值,其中Vi={Vi1,Vi2,…,Vik}為第i個粒子速度,xi={xi1,xi2,…,xik}為第i個粒子位置,Pbesti={Pbesti1,Pbesti2,…,Pbestik}為第i個粒子的個體極值。
假設目標函數為fg(x),第i個個體極值的計算式為[16]
Pbesti=
(5)
將個體極值與粒子群中的其他極值共享,選出最優(yōu)的個體極值做為全局最優(yōu)位置gbest(t)。假設粒子群中含有N個粒子,迭代次數為t,gbest(t)的求解過程為
Gbest(t)=min{fg(Pbest 1(t)),fg(Pbest2(t)),…,
fg(Pbest N(t))}
(6)
若fg(Pbesti(t))=Gbest(t),則有gbest(t)=Pbestj(t),Gbest(t)為全局最優(yōu)位置對應的適應度函數值。
每個粒子通過全局最優(yōu)位置來調整其位置和速度。粒子的速度與位置計算公式為
Vij(t+1)=ωVij(t)+c1r1[Pbest ij(t)-xij(t)]+
c2r2[gbest j(t)-xij(t)]
(7)
xij(t+1)=xij(t)+Vij(t+1)
(8)
式中:i為粒子群的粒子個數,i=1,2,…,N;j為搜索空間的維數,j=1,2,…,K;Vij(t)為迭代t次后,粒子的速度;xij(t)為迭代t次后,粒子所在的位置;Pbest ij為第i個粒子的個體極值的j維值;gbest j為全局最優(yōu)位置的j維值;r1與r2為[0,1]上的隨機數;c1、c2為學習因子;ω為慣性權重。
PSO算法中,粒子的位置更新與速度更新取決于全局最優(yōu)位置,當粒子與全局最優(yōu)位置的距離較大時,粒子分布分散,有助于粒子的全局搜索,粒子分布集中,有助于粒子的局部搜索。因此,粒子與全局最優(yōu)位置之間的距離是學習因子與慣性權重動態(tài)調節(jié)過程中的重要因素,在第t次迭代中,每個粒子與當前全局最優(yōu)位置之間的距離R(t)的計算公式為
R(t)=
(9)
單一調節(jié)粒子群的慣性權重或學習因子,很難使粒子群算法達到最佳效果,需要進行慣性權重與學習因子的共同調節(jié)。
在PSO算法中慣性權重ω影響了粒子群的粒子搜索能力,當ω較大時,全局搜索能力強,更容易定位到全局最優(yōu)解的大體位置,ω較小時,局部搜索能力強,更容易逼近全局最優(yōu)解。研究結果表明對慣性權重隨著迭代次數的增加進行遞減的動態(tài)調節(jié)方式有助于加快算法的收斂速度與提升精度[17]。為了進一步改善PSO算法的收斂速度與精度,引入每個粒子與當前全局最優(yōu)位置之間的距離R(t),即第t次迭代中,每個粒子與當前全局最優(yōu)位置之間的距離R(t)。利用R(t)在尋優(yōu)前期較大、在尋優(yōu)后期較小的特點,提出了一種結合R(t)、ω隨著迭代次數的增加進行非線性遞減的動態(tài)調節(jié)方法,使ω在迭代尋優(yōu)的前期擁有較大的值,快速最優(yōu)解的位置,使ω在迭代尋優(yōu)的后期,擁有較小的值,更快逼近最優(yōu)解,所構造的ω動態(tài)調節(jié)函數如式(10)所示,對ω的動態(tài)調節(jié)過程如圖3所示。本文ω的取值范圍為[0.4,0.9][18]。
圖3 慣性權重調節(jié)過程Fig.3 Adjustment process of inertia weight
ω(t)=ωmin+(ωmax-ωmin)·
(10)
式中:tmax為t的最大迭代次數;ωmax為慣性權重的最大值;ωmin為慣性權重的最小值;Rmax為粒子與全局最優(yōu)位置的距離最大值;ω(t)為第t步慣性權重的值。
在PSO算法中學習因子c1、c2影響了粒子群中粒子尋找最優(yōu)解的運動軌跡,c1決定粒子的個體認知能力,c1取值越大算法搜索全局最優(yōu)解越依靠個體極值,c2決定粒子的社會認知能力,c2取值越大算法搜索全局最優(yōu)解越依靠群體最優(yōu)位置。利用R(t)在尋優(yōu)前期較大、在尋優(yōu)后期較小的特點,提出了一種結合R(t)、c1隨著迭代次數的增加進行非線性遞減的動態(tài)調節(jié)方法,一種結合R(t)、c2隨著迭代次數的增加進行非線性遞增的動態(tài)調節(jié)方法。所構造的c1、c2的動態(tài)調節(jié)函數如式(11)和式(12)所示,c1、c2的動態(tài)調節(jié)過程如圖4所示。
圖4 學習因子調節(jié)過程Fig.4 Adjustment process of learning factors
c1(t)=c1min+(c1max-c1min)·
(11)
c2(t)=2.8-c1(t)
(12)
式中:c1min為學習因子c1的最小值;c1max為學習因子c1的最大值;c2min為學習因子c2的最小值;c2max為學習因子c2的最大值;c1(t)為第t步學習因子c1的值;c2(t)為第t步學習因子c2的值。
根據文獻[15]得出了PSO算法的ω與c1、c2的收斂域,其中0 為了避免PSO算法的過早收斂現(xiàn)象,提出了一種跳出局部最優(yōu)的策略。依據遺傳算法中的變異思想,引入了變異因子,通過分析粒子的聚集程度與變異因子的關系,構造了全局位置的更新函數,使得算法跳出局部最優(yōu)。聚集程度的判定公式為[19] (13) 式中:N為粒子群中粒子的個數;,fi為第i個粒子的適應度;favg為當前粒子群的平均適應度;σ2為粒子群的聚散程度;n為歸一化定標因子。 設定變異因子s的值為0.1,迭代計算至第t步,當σ2 gbest(t)=gbest(t)(σ2r+1) (14) 式中:r為[0,1]之間的隨機數。 利用IPSO算法得到的全局最優(yōu)位置作為Elman算法的最優(yōu)權值與閾值,使得Elman神經網絡得到優(yōu)化,IPSO-Elman的流程圖如圖5所示。IPSO-Elman神經網絡的步驟如下: 圖5 IPSO-Elman算法流程圖Fig.5 Flow chart of IPSO-Elman algorithm 1) 樣本數據歸一化,確定Elman神經網絡的網絡結構,建立Elman神經網絡。 2) 初始化粒子的速度、位置、慣性權重、加速因子及迭代次數。 3) 計算粒子的適應度,粒子的適應度定義為 (15) 4) 根據粒子的適應度值求得個體最優(yōu)位置與全局最優(yōu)位置。 5) 計算粒子群的聚集程度,若聚集程度的值小于變異因子的值,則根據式(14)更新當前全局最優(yōu)位置,否則不對當前全局最優(yōu)位置進行改變。 6) 根據式(10)~式(12)對學習因子與慣性權重進行動態(tài)調節(jié),避免PSO陷入局部最優(yōu),加快算法迭代速度。 7) 判斷粒子適應度是否小于設定值或達到最大迭代次數,滿足條件,則退出PSO算法,否則返回步驟3),繼續(xù)計算粒子適應度。 8) 依據Elman神經網絡的網絡結構,將IPSO得到的全局最優(yōu)位置分配給Elman神經網絡作為其最優(yōu)閾值與最優(yōu)權值,利用樣本數據進行網格訓練。 9) 當網格訓練的誤差小于設定值時,結束訓練,對測試數據進行仿真。 為了達到客艙能耗預測的目的,需要建立影響客艙熱舒適性的主要因素與客艙能耗之間的關系,影響客艙熱舒適性的主要因素為客艙溫度與濕度[20]。因此,為建立飛機客艙能耗的預測模型,采集了夏季??吭谀硻C場,使用地面空調制冷的Boeing738飛機客艙能耗數據,包括乘客下機后的客艙溫度和濕度,乘客登機時到達客艙熱舒適性要求的客艙溫度和濕度以及飛機客艙的耗電量。研究飛機客艙能耗的階段為當上一批乘客下機完成,使用地面空調對飛機客艙進行制冷,在下一批乘客登機時為止。共采集300組能耗數據,部分采集數據如表1所示。 表1 部分樣本數據Table 1 Part of sample data 為消除樣本數據中奇異樣本數據的影響,需要對樣本數據進行歸一化: (16) 式中:dmax與dmin為樣本數據中的最大值與最小值;d′為歸一化后的樣本數據。 Elman神經網絡是在BP神經網絡上增加了一個承接層,以達到記憶的目的,使得其對歷史數據更加敏感,相比于BP神經網絡具有更強的計算能力,而能耗預測模型的訓練與驗證依靠歷史數據。因此,為準確預測出客艙能耗,選擇Elman神經網絡建立飛機客艙能耗預測模型。在獲取了實驗數據后,需要建立能夠用于研究實驗數據的神經網絡。由于地面空調能耗產生的原因是為客艙制冷除濕,以達到乘客的熱舒適性要求,而影響客艙熱舒適性的主要因素為溫度與濕度,兩者具有較強的耦合性且對于客艙能耗的影響較大,故選擇乘客下機后的客艙的溫度和濕度,乘客登機時達到客艙熱舒適性要求的客艙溫度和濕度作為預測模型的輸入數據,飛機客艙的能耗量為輸出數據。共計4種輸入數據、1種輸出數據,因此,得出Elman神經網絡的輸入層為4個節(jié)點,輸出層成為1個節(jié)點,隱含層節(jié)點數的計算公式為[21] (17) 式中:min為輸入層節(jié)點數;nout為輸出層節(jié)點數;a為0~9之間的常數。 為判斷出H的取值對Elman神經網絡性能的影響,得出H的最佳值,根據H的取值范圍[3,12],建立了含有不同H的Elman神經網絡。依據飛機客艙能耗的實驗數據,進行50次仿真實驗,每次仿真實驗進行1 000次迭代運算,得出H值不同時Elman神經網絡的平均誤差,如表2所示。 由表2可知,當H=10時,Elman神經網絡預測值與實際值的平均誤差最小,故Elman神經網絡隱含層的節(jié)點數H取10。同時,由于Elman神經網絡承接層的節(jié)點數應該與隱含層一致,故承接層的節(jié)點數也為10。 表2 Elman神經網絡的平均誤差Table 2 Average error of Elman neural network 由于設定Elman神經網絡的輸入層節(jié)點數為4,隱含層節(jié)點為10,承接層節(jié)點數為10,輸出層節(jié)點數為1。所以,IPSO的維數為161,粒子個數為[22] (18) 式中:D為IPSO的維數;int(·)為向下取整。 IPSO的維數為161,則存放全局最佳位置的矩陣為1×161。而Elman神經網絡輸入層到隱含層的權值矩陣為10×4的矩陣,共計40個權值,隱含層到承接層權值矩陣為10×10的矩陣,共計100個權值,隱含層的閾值矩陣為10×1的矩陣,共計10個閾值,隱含層到輸出層的權值矩陣為1×10的矩陣,共計10個權值,輸出層的閾值矩陣為1×1的矩陣,共計1個閾值。因此,將全局最優(yōu)位置中的前40個元素分配作為神經網絡輸入層到隱含層的最優(yōu)權值,第41~140個元素分配作為隱含層到承接層的最優(yōu)權值,第141~150個元素分配作為神經網絡隱含層的最優(yōu)閾值,將第151~160個元素分配作為神經網絡隱含層到輸出層的最優(yōu)權值,將第161個元素分配作為神經網絡輸出層的最優(yōu)閾值。 為驗證IPSO-Elman神經網絡的預測精度以及收斂速度,進行了IPSO-Elman神經網絡的編程,建立了Boeing738飛機客艙能耗預測模型。同時,與Elman神經網絡、PSO-Elman神經網絡進行對比。其中總的數據集為300組能耗數據,隨機選擇290組數據作為訓練數據,驗證數據為10組,利用該方法對模型進行了驗證。設定粒子群個數為35,網絡結構為4-10-10-1的Elman神經網絡,PSO-Elman依據參數設定標準[23]設定學習因子c1為2.05、c2為0.5,每種方法均進行50次獨立的仿真實驗,每次仿真中IPSO算法進行200次迭代計算,Elman神經網絡算法進行1 000 次迭代計算,以預測模型跳出局部最優(yōu)所需要的迭代次數為評判收斂速度快慢的標準。以預測結果與真實值之間的相對誤差的平均值作為模型精度優(yōu)劣的評判指標,相對誤差的計算公式為[24] (19) 式中:upi為第i個預測值;uti為第i個真實值。 在預測模型的訓練函數、隱含層傳遞函數、輸出層傳遞函數以及相對誤差方面,對3種不同飛機客艙預測模型進行綜合分析與對比,所得結果的比較如表3所示。其中常用的訓練函數包括:traingd、trainlm、 traingda、traingdx,隱含層常用的傳遞函數包括:logsig、tansig、radbas、tribas。常用的輸出層傳遞函數為purelin。 由表3能夠得出,基于IPSO-Elman的飛機客艙能耗預測模型,選擇訓練函數為trianlm,傳遞函數為tansig、purelin時,其最小相對誤差僅為0.06%,相比于其他2種預測模型,預測精度有了一定的提升。依據表3分析能夠得出訓練函數以及傳遞函數的選取極大地影響了預測結果,當基于IPSO-Elman的飛機客艙能耗預測模型選擇訓練函數為traingda,傳遞函數為radbas、purelin時,其最小相對誤差為1.35%,預測誤差大大提高,因此,使用神經網絡對不同數據集進行預測研究時,分析出適合該數據集的訓練函數與傳遞函數是至關重要的。同時,當訓練函數選擇traingd,傳遞函數選擇radbas、purelin時,PSO-Elman能耗預測模型的預測精度不如Elman能耗預測模型,可知,由于PSO算法自身也存在著容易陷入局部最優(yōu)的特點,導致標準的PSO優(yōu)化Elman神經網絡的效果不佳,因此,對標準PSO算法的改進很有必要。 表3 不同模型的預測結果對比Table 3 Predictive results comparison of different models 續(xù)表 當選擇訓練函數為trianlm,傳遞函數為tansig、purelin時,3個模型的預測結果對比如圖6所示,從圖中能夠得出IPSO-Elman預測精度最高。 圖6 模型的預測值與真實值對比Fig.6 Comparison of predicted and real values of model PSO-Elman與IPSO-Elman模型的收斂速度對比如圖7所示,從圖中能夠看出IPSO-Elman的收斂速度明顯加快。跳出局部最優(yōu)的迭代步數與適應度函數的值如表4所示。 圖7 收斂速度對比Fig.7 Comparison of convergence rates 由表4能夠得出,基于IPSO-Elman的飛機客艙能耗預測模型,其達到適應度函數的穩(wěn)定值的迭代步數為96步,穩(wěn)定值的適應度函數值為53.03,相比于PSO-Elman預測模型,收斂速度有了一定的提升??芍擃A測模型考慮了學習因子與慣性權重之間的配合調節(jié),同時,引入了變異因子,使得算法在收斂速度與精度上取得了提高。 表4 穩(wěn)態(tài)步數與適應度函數值Table 4 Steady state steps and fitness function values 1) 為準確預測飛機客艙的能耗,通過考慮粒子與全局最優(yōu)位置的距離并引入變異因子,提出了一種動態(tài)調節(jié)PSO中的學習因子與慣性權重的方法,構造了學習因子與慣性權重的動態(tài)調節(jié)函數與全局位置的更新函數,進而建立了IPSO算法。 2) 將IPSO與Elman算法結合,建立了IPSO-Elman的飛機客艙能耗預測模型。 3) 通過仿真驗證了IPSO-Elman相比于Elman、PSO-Elman對飛機客艙能耗的預測,在預測精度與收斂速度方面均有一定程度的提高。 IPSO-Elman飛機客艙能耗預測模型在一定程度上解決了飛機客艙能耗預測的精度不高與收斂速度慢的問題,為飛機地面空調的能耗預測提供了支持。2.3 跳出局部最優(yōu)的策略
2.4 IPSO-Elman神經網絡
3 飛機客艙能耗預測
3.1 數據來源
3.2 數據歸一化處理
3.3 Elman神經網絡結構的建立
3.4 IPSO算法參數設置
3.5 Elman神經網絡最優(yōu)權值與閾值的獲取
4 算法驗證
5 結 論