馮洲鵬,祖象歡,曹瑞國
1.海軍駐興平地區軍事代表室,陜西興平 713105
2.哈爾濱工程大學動力與能源工程學院,黑龍江哈爾濱 150001
3.陜西柴油機重工有限公司,陜西興平 713105
基于MATLAB GUI的灰色預測仿真優化平臺設計
馮洲鵬1,祖象歡2,曹瑞國3
1.海軍駐興平地區軍事代表室,陜西興平 713105
2.哈爾濱工程大學動力與能源工程學院,黑龍江哈爾濱 150001
3.陜西柴油機重工有限公司,陜西興平 713105
利用MATLAB GUI設計了基于GM(1,1)模型及改進模型的灰色預測仿真優化平臺,該平臺集輸入、輸出、仿真計算以及后處理功能為一體,并通過編譯生成可脫離MATLAB的.exe可執行程序,簡化了灰色建模過程,提高了仿真效率。最后在該平臺上進行了仿真實例,驗證了該平臺的實用性。
灰色預測;GM(1,1)模型;圖形用戶界面(GUI);仿真優化平臺
GM(1,1)模型是灰色預測模型中最基礎的模型,具有建模簡單、準確的優點,目前已經成功應用在電力、航天、船舶等多個領域[1-5]。由于模型自身局限性,GM(1,1)模型主要適用于單調數列或光滑性好的數列,為此不少學者都提出不同的改進方法[6-8],為灰色預測的實現和優化奠定了理論基礎與有效方法。現有的GM(1,1)模型仿真程序大多是通過編程在命令行界面中完成,無法實現程序的模塊化,不便于實際應用。如DU等[9]采用MAT-LAB語言編寫灰色預測程序m文件,進而調用該m文件進行計算仿真,完成對柴油機相繼增壓系統的故障預測與診斷。然而,改進后的建模方法大多在原模型基礎上,對原有公式進行修正或者融入新的數學理論,使得預測程序更加復雜,編程的工作量也隨之增加。在對模型進行大量計算和驗證中,命令行界面操作會給仿真程序運行帶來諸多不便,影響仿真效率。
GUI(graphical user interfaces)是MATLAB軟件的一個重要模塊,是指采用圖形方式顯示的計算機操作用戶界面,具有開發周期短、操作方便、界面友好的特點[10],有利于更方便快捷地控制仿真程序[11-13]。目前,針對灰色預測仿真及優化問題的界面化仿真平臺的研究相對較少,故文中利用MAT-LABT中的GUI設計了基于傳統GM(1,1)預測模型以及改進模型的灰色預測仿真平臺,該平臺集輸入、輸出、仿真計算以及后處理為一體,簡化了建模過程,提高了仿真計算的效率,有效解決了灰色預測的預測精度的優化問題。最后以某型增壓柴油機為研究對象,在該平臺上進行實例驗證,結果表明了該平臺的準確性和實用性。
1.1 GM(1,1)模型
GM(1,1)模型是一階單變量的微分方程模型,其建立的基本思路如下:若原始序列
x(0)={x(0)(1),x(0)(2),…,x(0)(n)}
滿足

式中:
x(1)={x(1)(1),x(1)(2),…,x(1)(n)}(1)
則稱x(1)(k)為x(0)的一次累加生成,記為1-AGO。
在式(1)的基礎上建立白化微分方程:

式中a和u為待辨識參數,記參數列為α^且

根據最小二乘法求解α^,得:


式中:由此可得GM(1,1)的離散響應方程為


1.2 精度檢驗
模型建立后需要進行精度檢驗,主要包括:殘差檢驗、后驗差檢驗以及關聯度檢驗,相應的計算程序均由M語言編寫,精度等級參照如表1所示。
對x^(1)(k+1)作一次累減還原得到預測模型

表1 模型精度檢驗等級參照表
1.3 GM(1,1)改進模型
文中引用最常用的幾種改進模型,包括殘差GM(1,1)預測模型、殘差均值GM(1,1)預測模型以及加常數優化的GM(1,1)預測模型。
1.3.1殘差GM(1,1)模型
建立殘差模型的步驟如下:首先定義殘差為
ε(0)(k)=x(1)(k)-x^(1)(k)
k=i,i+1,…,n
令k=i,i+1,…,n,得到殘差序列:
ε(0)(k)=(ε(0)(i),ε(0)(i+1),…,ε(0)(n))
為便于表示,令n′=n-i+1:
ε(0)(k)=(ε(0)(1′),ε(0)(2′),…,ε(0)(n′))
對ε(0)(k)建立GM(1,1)模型可以得到:

將上述殘差的GM(1,1)模型加入原模型中得:

式中:

1.3.2 殘差均值GM(1,1)模型
如果按原始數據x0(i)建立的GM(1,1)模型,經檢驗不合格,則對原模型進行修正的最簡單的方法,就是對模型預測值x^(0)(k)都加上殘差平均值,即修正后的預測值為此新模型為殘差均值修正模型。
1.3.3 序列變換GM(1,1)模型
針對波動數據預測精度受限的問題,在原始序列中每一個數據均加上同一常數b,以此來弱化數據波動帶來的影響。通過研究不同b值下衡量指標的變化關系,找出最優b值。其中,衡量指標設定為:建模平均相對精度P0、殘差方差σ、關聯度ε、絕對平均誤差后驗誤差C。其中:

本平臺通過MATLAB的圖形用戶界面(GUI)的設計環境來實現人機交互界面設計,設計主要包括GUI界面設計和回調函數的設計,分別對應生成.fig和.m文件。仿真優化平臺界面設計如圖1所示。

圖1 仿真平臺界面
GUI界面設計通過設置菜單和各個控件,并對其進行位置布置和屬性編輯來實現,在設計好GUI界面之后,編寫菜單和各個控件的回調函數的程序代碼,實現各個控件相應的功能。其中回調函數均采用M語言設計。該平臺設計有多個功能模塊,每個模塊包含多個子程序,結構控制流程如圖2所示。

圖2 仿真平臺結構控制流程
2.1 初始設置模塊
該模塊包括模型的設置和基本參數的輸入。在GM(1,1)模型的基礎上,引入了3種GM(1,1)改進模型,便于用戶比較不同模型的仿真計算效果;通過導入功能,可以從指定的EXCEL或WORD中讀取歷史數據作為輸入,有利于進行實時在線預測。
2.2 操作模塊
該模塊包括仿真、精度檢驗、誤差分析、預測、步長選擇等操作。用戶只需要通過這些操作即可完成對原始數據序列的灰色預測仿真計算。
2.3 輸出模塊
該模塊負責建模精度檢驗結果和仿真結果的輸出,主要包括預測值、仿真計算過程中的中間反饋參數、曲線對比圖以及誤差分析的輸出等,每項輸出均可獨立顯示。此外,模塊設置有導出功能,可以將每次仿真計算的結果以及相關反饋參數保存至工作目錄下EXCEL或WORD文件中。
本計算實例根據文獻[9]中的試驗數據,分別取7個采樣時刻,前6個時刻的數據為原始數據,第7個采樣時刻數據用來驗證模型的預測精度。部分試驗數據如表1所示。

表2 部分試驗數據
1)單調數據。如油耗率,模型設置為傳統GM(1,1)模型,平臺仿真計算結果如圖3所示。從圖3可以看出,平臺輸出的模型擬合值為:[182.5 183.472 6 787.483 4 191.581 9 195.769 9 200.019 5];相對誤差為:[0 1.227 4 -0.883 41-1.081 9 0.1301 0.650 51];誤差精度“良好”;模型預測值為204.423,與文獻[9]中的預測值為204.4基本吻合,說明了仿真平臺的準確性。相比于文獻[9]的命令窗口操作形式,本平臺操作方便,仿真計算效率更高,同時所有中間反饋信息可以通過導出功能保存至工作目錄下.xls文件中,以便于用戶查詢和后處理。

圖3 油耗率仿真結果輸出
2)波動數據。如增壓器轉速,模型設置為傳統GM(1,1)模型,平臺仿真計算結果如圖4所示。

圖4 增壓器轉速仿真結果輸出
從圖4可以看出,對于波動數據傳統GM(1,1)模型擬合出的序列已經無法準確描述原序列的變化趨勢,因而無法進行準確預測,需要采取改進模型。模型設置改為殘差GM(1,1)模型,不同i值下的模型結果與試驗值對比圖如圖5所示。

圖5 不同i值時殘差GM(1,1)模型結果輸出
從圖5可以看出,當i=1時即殘差GM(1,1)模型能夠反應出增壓器轉速的波動特點,因此宜采用殘差GM(1,1)模型來對增壓器轉速進行預測,這與文獻[9]中的結論一致,進一步說明了該平臺的準確性。
利用MATLAB GUI編程環境開發了多功能灰色預測仿真優化平臺,有效避免了灰色預測建模過程中編程以及程序運行的繁瑣,簡化了建模過程,提高了建模仿真的效率;平臺提供多種改進模型選擇,可以有效解決不同特點原始序列的灰色預測仿真及其優化;通過編譯生成的.exe可執行文件可脫離MATLAB單獨運行,便于實際應用。通過實例驗證結果表明,此仿真平臺界面友好,操作方便,具有良好的實用性和交互性。
同時本研究在日后的工作中,將為平臺不斷補充更多的GM(1,1)優化模型如全負數據序列GM(1,1)預測模型、基于Gourier GM(1,1)模型、GM(1,1)冪模型等,以此豐富模型庫,為用戶的灰色預測建模研究提供更多的方式選擇。
[1]ZHANG Y J,ZHANG X T,LI Q H,et al.Gray theory based energy saving potential evaluation and planning for distribution networks[J].Information and Software Technol-ogy,2013,57:298-303.
[2]吳軍,劉滌塵.基于灰色預測的電力系統靜態頻率特性系數計算[J].電力系統保護與控制,2012,40(2):97-103.
[3]王霄婷,周軍,林鵬,等.變質心再入飛行器的灰色預測PID控制[J].西北工業大學學報,2012,30(4):485-490.
[4]LU X Z,LUW K.Pre-alarm model of diesel vapour detec-tion and alarm based on grey forecasting[J].Measurement,2012,45(4):656-662.
[5]朱顯輝,崔淑梅,師楠,等.電動汽車電機故障時間的粒子群優化灰色預測[J].高電壓技術,2012,38(6):1391-1396.
[6]王正新,黨耀國,趙潔玨,等.優化的GM(1,1)冪模型及其應用[J].系統工程理論與實踐,2012,32(9):1973-1978.
[7]張華,任若恩.基于小波分解和殘差GM(1,1)-AR的非平穩時間序列預測[J].系統工程理論與實踐,2010,30(6):1016-1020.
[8]尚軍亮,方敏.一種優化的高精度灰色GM(1,1)預測模型[J].電子與信息學報,2010,32(6):1301-1305.
[9]DU JW,WANG Y Y.Fault forecast and diagnosis of se-quential turbocharging system based on grey theory and neural network[J].Transactions of CSIC,2008,26(6):543-545.
[10]陳垚光,毛濤濤.精通MATLAB GUI設計[M].北京:北京航空航天大學出版社,2011:47-52.
[11]王兆文,李浩,黃都,等.Matlab/GUI的汽油機缸內直接噴霧圖像處理方法[J].農業機械學報,2013,44(9):19-23.
[12]秦輝,席裕庚.基于Matlab GUI的預測控制仿真平臺設計[J].系統仿真學報,2006,18(10):2778-2781.
[13]楊娟,郭海湘,楊文霞,等.基于MATLAB的GUI設計車輛路徑問題的仿真優化平臺[J].系統仿真學報,2012,24(3):722-727.
Design for the simulation platform of grey forecast based on MATLAB GUI
FENG Zhoupeng1,ZU Xianghuan2,CAO Ruiguo3
1.The PLA Navy Military Affairs Representative Office in Xingping,Xingping 713105,China
2.College of Power and Energy Engineering,Harbin Engineering University,Harbin 150001,China
3.Shaanxi Diesel Engine Heavy Industry Co.,Ltd.,Xingping 713105,China
A simulation optimization platform of grey forecast based on GM(1,1)model and improvedmodelswas designed by GUI of MATLAB.The platform integrates input,output,simulation calculation and post processing functions,which are further compiled to generate executable program that can operate withoutMATLAB.It simpli-fies the greymodeling process and improves the efficiency of simulation.Finally,the practicability of the platform was verified by the simulation examples.
grey forecast;GM(1,1)model;graphical user interfaces(GUI);simulation optimization platform
TP391.9
A
1009-671X(2015)03-040-04
10.3969/j.issn.1009-671X.201409018
2014-09-30.
日期:2015-04-20.
國家863計劃資助項目(2012BAF01B01).作者簡介:馮洲鵬(1975-),男,工程師;祖象歡(1991-),男,博士研究生.
祖象歡,E-mail:zuhuan0815@163.com.
http://www.cnki.net/kcms/detail/23.1191.U.20150420.1012.002.html