馮洲鵬,祖象歡,曹瑞國
1.海軍駐興平地區(qū)軍事代表室,陜西興平 713105
2.哈爾濱工程大學(xué)動力與能源工程學(xué)院,黑龍江哈爾濱 150001
3.陜西柴油機重工有限公司,陜西興平 713105
基于MATLAB GUI的灰色預(yù)測仿真優(yōu)化平臺設(shè)計
馮洲鵬1,祖象歡2,曹瑞國3
1.海軍駐興平地區(qū)軍事代表室,陜西興平 713105
2.哈爾濱工程大學(xué)動力與能源工程學(xué)院,黑龍江哈爾濱 150001
3.陜西柴油機重工有限公司,陜西興平 713105
利用MATLAB GUI設(shè)計了基于GM(1,1)模型及改進模型的灰色預(yù)測仿真優(yōu)化平臺,該平臺集輸入、輸出、仿真計算以及后處理功能為一體,并通過編譯生成可脫離MATLAB的.exe可執(zhí)行程序,簡化了灰色建模過程,提高了仿真效率。最后在該平臺上進行了仿真實例,驗證了該平臺的實用性。
灰色預(yù)測;GM(1,1)模型;圖形用戶界面(GUI);仿真優(yōu)化平臺
GM(1,1)模型是灰色預(yù)測模型中最基礎(chǔ)的模型,具有建模簡單、準確的優(yōu)點,目前已經(jīng)成功應(yīng)用在電力、航天、船舶等多個領(lǐng)域[1-5]。由于模型自身局限性,GM(1,1)模型主要適用于單調(diào)數(shù)列或光滑性好的數(shù)列,為此不少學(xué)者都提出不同的改進方法[6-8],為灰色預(yù)測的實現(xiàn)和優(yōu)化奠定了理論基礎(chǔ)與有效方法?,F(xiàn)有的GM(1,1)模型仿真程序大多是通過編程在命令行界面中完成,無法實現(xiàn)程序的模塊化,不便于實際應(yīng)用。如DU等[9]采用MAT-LAB語言編寫灰色預(yù)測程序m文件,進而調(diào)用該m文件進行計算仿真,完成對柴油機相繼增壓系統(tǒng)的故障預(yù)測與診斷。然而,改進后的建模方法大多在原模型基礎(chǔ)上,對原有公式進行修正或者融入新的數(shù)學(xué)理論,使得預(yù)測程序更加復(fù)雜,編程的工作量也隨之增加。在對模型進行大量計算和驗證中,命令行界面操作會給仿真程序運行帶來諸多不便,影響仿真效率。
GUI(graphical user interfaces)是MATLAB軟件的一個重要模塊,是指采用圖形方式顯示的計算機操作用戶界面,具有開發(fā)周期短、操作方便、界面友好的特點[10],有利于更方便快捷地控制仿真程序[11-13]。目前,針對灰色預(yù)測仿真及優(yōu)化問題的界面化仿真平臺的研究相對較少,故文中利用MAT-LABT中的GUI設(shè)計了基于傳統(tǒng)GM(1,1)預(yù)測模型以及改進模型的灰色預(yù)測仿真平臺,該平臺集輸入、輸出、仿真計算以及后處理為一體,簡化了建模過程,提高了仿真計算的效率,有效解決了灰色預(yù)測的預(yù)測精度的優(yōu)化問題。最后以某型增壓柴油機為研究對象,在該平臺上進行實例驗證,結(jié)果表明了該平臺的準確性和實用性。
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)的基礎(chǔ)上建立白化微分方程:
式中a和u為待辨識參數(shù),記參數(shù)列為α^且
根據(jù)最小二乘法求解α^,得:
式中:由此可得GM(1,1)的離散響應(yīng)方程為
1.2 精度檢驗
模型建立后需要進行精度檢驗,主要包括:殘差檢驗、后驗差檢驗以及關(guān)聯(lián)度檢驗,相應(yīng)的計算程序均由M語言編寫,精度等級參照如表1所示。
對x^(1)(k+1)作一次累減還原得到預(yù)測模型
表1 模型精度檢驗等級參照表
1.3 GM(1,1)改進模型
文中引用最常用的幾種改進模型,包括殘差GM(1,1)預(yù)測模型、殘差均值GM(1,1)預(yù)測模型以及加常數(shù)優(yōu)化的GM(1,1)預(yù)測模型。
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)模型
如果按原始數(shù)據(jù)x0(i)建立的GM(1,1)模型,經(jīng)檢驗不合格,則對原模型進行修正的最簡單的方法,就是對模型預(yù)測值x^(0)(k)都加上殘差平均值,即修正后的預(yù)測值為此新模型為殘差均值修正模型。
1.3.3 序列變換GM(1,1)模型
針對波動數(shù)據(jù)預(yù)測精度受限的問題,在原始序列中每一個數(shù)據(jù)均加上同一常數(shù)b,以此來弱化數(shù)據(jù)波動帶來的影響。通過研究不同b值下衡量指標的變化關(guān)系,找出最優(yōu)b值。其中,衡量指標設(shè)定為:建模平均相對精度P0、殘差方差σ、關(guān)聯(lián)度ε、絕對平均誤差后驗誤差C。其中:
本平臺通過MATLAB的圖形用戶界面(GUI)的設(shè)計環(huán)境來實現(xiàn)人機交互界面設(shè)計,設(shè)計主要包括GUI界面設(shè)計和回調(diào)函數(shù)的設(shè)計,分別對應(yīng)生成.fig和.m文件。仿真優(yōu)化平臺界面設(shè)計如圖1所示。
圖1 仿真平臺界面
GUI界面設(shè)計通過設(shè)置菜單和各個控件,并對其進行位置布置和屬性編輯來實現(xiàn),在設(shè)計好GUI界面之后,編寫菜單和各個控件的回調(diào)函數(shù)的程序代碼,實現(xiàn)各個控件相應(yīng)的功能。其中回調(diào)函數(shù)均采用M語言設(shè)計。該平臺設(shè)計有多個功能模塊,每個模塊包含多個子程序,結(jié)構(gòu)控制流程如圖2所示。
圖2 仿真平臺結(jié)構(gòu)控制流程
2.1 初始設(shè)置模塊
該模塊包括模型的設(shè)置和基本參數(shù)的輸入。在GM(1,1)模型的基礎(chǔ)上,引入了3種GM(1,1)改進模型,便于用戶比較不同模型的仿真計算效果;通過導(dǎo)入功能,可以從指定的EXCEL或WORD中讀取歷史數(shù)據(jù)作為輸入,有利于進行實時在線預(yù)測。
2.2 操作模塊
該模塊包括仿真、精度檢驗、誤差分析、預(yù)測、步長選擇等操作。用戶只需要通過這些操作即可完成對原始數(shù)據(jù)序列的灰色預(yù)測仿真計算。
2.3 輸出模塊
該模塊負責建模精度檢驗結(jié)果和仿真結(jié)果的輸出,主要包括預(yù)測值、仿真計算過程中的中間反饋參數(shù)、曲線對比圖以及誤差分析的輸出等,每項輸出均可獨立顯示。此外,模塊設(shè)置有導(dǎo)出功能,可以將每次仿真計算的結(jié)果以及相關(guān)反饋參數(shù)保存至工作目錄下EXCEL或WORD文件中。
本計算實例根據(jù)文獻[9]中的試驗數(shù)據(jù),分別取7個采樣時刻,前6個時刻的數(shù)據(jù)為原始數(shù)據(jù),第7個采樣時刻數(shù)據(jù)用來驗證模型的預(yù)測精度。部分試驗數(shù)據(jù)如表1所示。
表2 部分試驗數(shù)據(jù)
1)單調(diào)數(shù)據(jù)。如油耗率,模型設(shè)置為傳統(tǒng)GM(1,1)模型,平臺仿真計算結(jié)果如圖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];誤差精度“良好”;模型預(yù)測值為204.423,與文獻[9]中的預(yù)測值為204.4基本吻合,說明了仿真平臺的準確性。相比于文獻[9]的命令窗口操作形式,本平臺操作方便,仿真計算效率更高,同時所有中間反饋信息可以通過導(dǎo)出功能保存至工作目錄下.xls文件中,以便于用戶查詢和后處理。
圖3 油耗率仿真結(jié)果輸出
2)波動數(shù)據(jù)。如增壓器轉(zhuǎn)速,模型設(shè)置為傳統(tǒng)GM(1,1)模型,平臺仿真計算結(jié)果如圖4所示。
圖4 增壓器轉(zhuǎn)速仿真結(jié)果輸出
從圖4可以看出,對于波動數(shù)據(jù)傳統(tǒng)GM(1,1)模型擬合出的序列已經(jīng)無法準確描述原序列的變化趨勢,因而無法進行準確預(yù)測,需要采取改進模型。模型設(shè)置改為殘差GM(1,1)模型,不同i值下的模型結(jié)果與試驗值對比圖如圖5所示。
圖5 不同i值時殘差GM(1,1)模型結(jié)果輸出
從圖5可以看出,當i=1時即殘差GM(1,1)模型能夠反應(yīng)出增壓器轉(zhuǎn)速的波動特點,因此宜采用殘差GM(1,1)模型來對增壓器轉(zhuǎn)速進行預(yù)測,這與文獻[9]中的結(jié)論一致,進一步說明了該平臺的準確性。
利用MATLAB GUI編程環(huán)境開發(fā)了多功能灰色預(yù)測仿真優(yōu)化平臺,有效避免了灰色預(yù)測建模過程中編程以及程序運行的繁瑣,簡化了建模過程,提高了建模仿真的效率;平臺提供多種改進模型選擇,可以有效解決不同特點原始序列的灰色預(yù)測仿真及其優(yōu)化;通過編譯生成的.exe可執(zhí)行文件可脫離MATLAB單獨運行,便于實際應(yīng)用。通過實例驗證結(jié)果表明,此仿真平臺界面友好,操作方便,具有良好的實用性和交互性。
同時本研究在日后的工作中,將為平臺不斷補充更多的GM(1,1)優(yōu)化模型如全負數(shù)據(jù)序列GM(1,1)預(yù)測模型、基于Gourier GM(1,1)模型、GM(1,1)冪模型等,以此豐富模型庫,為用戶的灰色預(yù)測建模研究提供更多的方式選擇。
[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]吳軍,劉滌塵.基于灰色預(yù)測的電力系統(tǒng)靜態(tài)頻率特性系數(shù)計算[J].電力系統(tǒng)保護與控制,2012,40(2):97-103.
[3]王霄婷,周軍,林鵬,等.變質(zhì)心再入飛行器的灰色預(yù)測PID控制[J].西北工業(yè)大學(xué)學(xué)報,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]朱顯輝,崔淑梅,師楠,等.電動汽車電機故障時間的粒子群優(yōu)化灰色預(yù)測[J].高電壓技術(shù),2012,38(6):1391-1396.
[6]王正新,黨耀國,趙潔玨,等.優(yōu)化的GM(1,1)冪模型及其應(yīng)用[J].系統(tǒng)工程理論與實踐,2012,32(9):1973-1978.
[7]張華,任若恩.基于小波分解和殘差GM(1,1)-AR的非平穩(wěn)時間序列預(yù)測[J].系統(tǒng)工程理論與實踐,2010,30(6):1016-1020.
[8]尚軍亮,方敏.一種優(yōu)化的高精度灰色GM(1,1)預(yù)測模型[J].電子與信息學(xué)報,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設(shè)計[M].北京:北京航空航天大學(xué)出版社,2011:47-52.
[11]王兆文,李浩,黃都,等.Matlab/GUI的汽油機缸內(nèi)直接噴霧圖像處理方法[J].農(nóng)業(yè)機械學(xué)報,2013,44(9):19-23.
[12]秦輝,席裕庚.基于Matlab GUI的預(yù)測控制仿真平臺設(shè)計[J].系統(tǒng)仿真學(xué)報,2006,18(10):2778-2781.
[13]楊娟,郭海湘,楊文霞,等.基于MATLAB的GUI設(shè)計車輛路徑問題的仿真優(yōu)化平臺[J].系統(tǒng)仿真學(xué)報,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