王莉
[摘 要] 為有效評估綜合能力,可構(gòu)建一個基于模糊層次分析的綜合能力評估系統(tǒng)。該系統(tǒng)是以運籌學(xué)中的決策理論為基礎(chǔ),基于AHP的模糊綜合集成算法為核心,采用混合編程技術(shù)實現(xiàn)的B/S結(jié)構(gòu)的Web應(yīng)用軟件。此評估系統(tǒng)能客觀評價出綜合能力水平,反映其發(fā)展規(guī)律。被評價者可根據(jù)評估結(jié)果有針對性的進行改進,進一步提高綜合能力。
[關(guān)鍵詞] 模糊層次分析算法;綜合能力評估;網(wǎng)絡(luò)系統(tǒng)
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 15. 082
[中圖分類號] TP39 [文獻標(biāo)識碼] A [文章編號] 1673 - 0194(2017)15- 0184- 03
0 引 言
目前,對基于層次分析法的綜合能力評估研究較多,但是,由于有些影響綜合能力水平的要素并沒有明確的高低關(guān)系,所以應(yīng)用傳統(tǒng)的層次分析評估方法存在不合理性。而模糊綜合評價是以模糊數(shù)學(xué)為基礎(chǔ),應(yīng)用模糊關(guān)系合成原理,將一些邊界不清、不易定量的因素定量化,從多個因素對被評價事物隸屬等級狀況進行綜合型評價的一種方法。以這種方法為理論基礎(chǔ)構(gòu)建出實用、易用的評估系統(tǒng),將能使綜合能力的評估更加科學(xué)、有效。
1 系統(tǒng)設(shè)計
本系統(tǒng)設(shè)計的總體思路是,認(rèn)真分析綜合能力評估的實際需求,確定要素全面的評估內(nèi)容,構(gòu)建層次分明的指標(biāo)體系,建立公正客觀的評估機制;以系統(tǒng)論原理為主導(dǎo),根據(jù)各要素之間的聯(lián)系綜合評定整體,融合影響評估的客觀規(guī)律、原則以及偶發(fā)的隨機因素,綜合運用運籌學(xué)、模糊數(shù)學(xué)、軟件工程學(xué)、模擬推演等方法,優(yōu)化整體設(shè)計;以簡便實用為目標(biāo),封裝復(fù)雜的評估算法模塊,實現(xiàn)易于布設(shè)的網(wǎng)絡(luò)平臺,呈現(xiàn)清晰明了的交互界面,方便推廣使用。
1.1 指標(biāo)設(shè)計
針對某種綜合能力進行深入理論研究,明確其基本構(gòu)成、基本特點、目標(biāo)達成等內(nèi)容,以運籌學(xué)中的層次分析理論為支撐,構(gòu)建檢驗評估指標(biāo)。
1.2 算法設(shè)計
本系統(tǒng)的核心算法是模糊層次分析算法,是一種定性與定量分析相結(jié)合的評估方法。模糊層次分析算法的原理是利用層次分析法確定指標(biāo)的權(quán)重值,通過專家打分,確定各指標(biāo)的隸屬度,進行模糊綜合評估,最終形成綜合集成評價。其中需運用特征向量法、遞階層次結(jié)構(gòu)原理、兩兩比較標(biāo)度與判斷原理和層次排序原理等多種數(shù)學(xué)基本原理[2]。
1.3 軟件設(shè)計
該系統(tǒng)采用B/S結(jié)構(gòu),開發(fā)軟件平臺是Windows 7、Visual Studio 2010 旗艦版、MATLAB 2012a、SQL Server 2005、IIS 7.5。本系統(tǒng)是由系統(tǒng)登錄、在線評估、查詢歷史、管理評估等功能模塊組成的網(wǎng)絡(luò)應(yīng)用平臺。其中在線評估模塊是核心模塊,設(shè)計原理如下:可根據(jù)構(gòu)建的檢驗評估指標(biāo),對二級指標(biāo)及其中的三級指標(biāo)進行兩兩比較輸入,形成比較矩陣;統(tǒng)計專家評估結(jié)果形成專家評估矩陣;系統(tǒng)自動調(diào)用模糊層次分析算法模塊進行評估計算,得出評估結(jié)果。所有數(shù)據(jù)將自動保存至數(shù)據(jù)庫中。
2 軟件實現(xiàn)
采用網(wǎng)絡(luò)編程、混合編程、數(shù)據(jù)庫技術(shù)實現(xiàn)綜合能力評估軟件。特別是混合編程技術(shù)充分利用了不同軟件的技術(shù)優(yōu)勢。一方面,評估分析算法在實現(xiàn)過程中需用到多種數(shù)學(xué)基本原理,使用數(shù)學(xué)專業(yè)軟件MATLAB 2012a進行分析和計算效率更高;另一方面,為實現(xiàn)友好、方便的人機互動,便于非專業(yè)人員使用,又采用了網(wǎng)絡(luò)平臺開發(fā)系統(tǒng)Visual Studio 2010進行軟件設(shè)計。
通過跨平臺調(diào)用實現(xiàn)混合編程是本軟件的關(guān)鍵技術(shù),在Visual Studio 2010中創(chuàng)建ASP .Net Web應(yīng)用程序并引用MATLAB 2012a的自帶組件MWArray和實現(xiàn)評估分析算法的自定義組件,結(jié)合頁面輸入將數(shù)據(jù)參數(shù)傳遞給自定義組件即可進行分析計算。同時,輸入數(shù)據(jù)及計算結(jié)果自動保存至SQL Server數(shù)據(jù)庫[3],方便查詢及管理,并將結(jié)果返回到頁面之中。
2.1 在MATLAB 2012a中實現(xiàn)評估算法并編譯生成可供.NET調(diào)用的COM組件
首先,用mbuild -setup命令配置編譯COM環(huán)境。然后,新建類型為.NET Assembly 的Deployment Project,并將實現(xiàn)決策算法的語句寫入m文件[4],并進行編譯,生成.dll文件。
2.2 在Visual Studio 2010中調(diào)用自定義的.dll文件實現(xiàn)評估分析功能
2.2.1 引用組件
在.NET編程環(huán)境中,除了引用自定義的.dll文件,還應(yīng)調(diào)用MWarray.dll通用組件,以支持對MWNumericArray類型的處理,該組件的位置在MATLAB的安裝目錄\MATLAB\R2012a \toolbox\dotnetbuilder\bin\win32\v2.0下。另外,還需在代碼開頭加入using語句,以便在程序中調(diào)用相應(yīng)組件。
//關(guān)鍵語句
using MathWorks.MATLAB.NET.Arrays;//系統(tǒng)通用組件
using MathWorks.MATLAB.NET.Utility;//系統(tǒng)通用組件
using AHPFuzzy;//自定義組件
2.2.2 轉(zhuǎn)換數(shù)據(jù)格式
根據(jù)界面輸入,提取相應(yīng)的判斷矩陣,其中要特別注意數(shù)據(jù)格式的轉(zhuǎn)換問題。因為在調(diào)用MATLAB組件時,輸入、處理、輸出的數(shù)字?jǐn)?shù)據(jù)只能是MWNumericArray類型的矩陣,即使是一個數(shù)字也是一個1*1的MWNumericArray變量。
//關(guān)鍵語句
double[,] myarrN=new double[8,8];//定義myarrN,用于存儲判斷矩陣。endprint
……
MWNumericArray arrA_B = null;//定義MATLAB類型的矩陣變量
arrA_B = (MWNumericArray)(myarrN);//強制類型轉(zhuǎn)換,以便作為參數(shù)傳遞給MATLAB生成的COM組件
2.2.3 調(diào)用組件
在調(diào)用算法組件實現(xiàn)決策分析的過程中,需特別注意參數(shù)的傳遞。
關(guān)鍵語句如下:
AHPFuzzy.AHPFuzzy evaluate=new AHPFuzzy.AHPFuzzy();//初始化一個對象
result = (MWNumericArray)evaluate.mainAHPFuzzy(arrA_B, arrB1_C, arrPB1_C, arrB2_C, arrPB2_C, arrB3_C, arrPB3_C, arrB4_C, arrPB4_C, arrB5_C, arrPB5_C, arrB6_C, arrPB6_C, arrB7_C, arrPB7_C, arrB8_C, arrPB8_C);
sub = (MWNumericArray)evaluate.subAHPFuzzy(arrA_B, arrB1_C,arrPB1_C,arrB2_C,arrPB2_C,arrB3_C,arrPB3_C,arrB4_C,arrPB4_C,arrB5_C,arrPB5_C,arrB6_C,arrPB6_C,arrB7_C,arrPB7_C,arrB8_C,arrPB8_C);//調(diào)用matlab中寫好的函數(shù)mainAHPFuzzy和subAHPFuzzy,根據(jù)判斷矩陣和評估矩陣的值,計算返回評價結(jié)果。
3 軟件測試
3.1 系統(tǒng)部署要求
硬件要求:服務(wù)器應(yīng)采用雙核CPU主頻2 GHz、內(nèi)存4 G或以上,硬盤安裝空間10 G以上??蛻舳艘鬄镻C機,CPU主頻1 GHz、內(nèi)存1 G或以上,硬盤安裝空間2 G以上。
軟件要求:服務(wù)器軟件包括中文版 Windows Server 2003(SP2)(也可選擇Windows XP 、Windows 7 系統(tǒng))、中文版SQL
Server 2005、MATLAB Complier Runtime (MCR) R2012a_win32 、.Net Framework 4.0??蛻舳塑浖╓indows XP professional(SP3)、.Net Framework 4.0。
3.2 軟件測試情況
以多人使用同一功能和多人使用不同功能的形式對系統(tǒng)進行壓力測試,其性能符合設(shè)計要求。以常見的注入式入侵、不同類型用戶使用和數(shù)據(jù)類型驗證的方式對系統(tǒng)的安全性抽查,其結(jié)果能滿足設(shè)計要求。系統(tǒng)界面設(shè)計美觀、布局合理、數(shù)據(jù)錄入便利,數(shù)據(jù)處理效率較高,使用方便。
4 結(jié) 語
應(yīng)用該評估系統(tǒng)時,可根據(jù)具體評估目標(biāo)的基本構(gòu)成、基本特點以及目標(biāo)達成等內(nèi)容,確定評估指標(biāo)體系,提供檢驗標(biāo)準(zhǔn)。在評估過程中,通過精確的運籌計算、合理的定性分析、多角度差異比較、綜合模擬推演等,可發(fā)現(xiàn)各要素之間的互相聯(lián)系和能力發(fā)展規(guī)律,從而及時采取相應(yīng)策略進行調(diào)整,促進綜合能力的提升。該系統(tǒng)可直接部署在網(wǎng)絡(luò)各平臺上,可移植性和穩(wěn)定性好,實用性強,使用方便,成本低,便于推廣。
同時,在應(yīng)用本評估系統(tǒng)時也應(yīng)注意,在評估內(nèi)容上,由于影響綜合能力評估的因素復(fù)雜多變,需以變化與發(fā)展為標(biāo)準(zhǔn)不斷改進指標(biāo)體系。在評估方法上,模糊層次分析算法是定性與定量分析的結(jié)合,需要大量的實踐數(shù)據(jù)進行支撐,在系統(tǒng)應(yīng)用和推廣過程中,應(yīng)不斷充實數(shù)據(jù)庫信息,特別是加強對邊界值、特殊值的情況分析,以求進一步完善算法。
主要參考文獻
[1]杜棟,龐慶華,吳炎.現(xiàn)代綜合評價方法與案例精選[M].北京:清華大學(xué)出版社,2012.
[2]焦寶聰,陳蘭平.運籌學(xué)的思想方法及應(yīng)用[M].北京:北京大學(xué)出版社,2008.
[3]明日科技. ASP.NET從入門到精通[M].北京:清華大學(xué)出版社,2014.
[4]劉浩,韓晶. MATLAB R2012a 完全自學(xué)一本通[M].北京:電子工業(yè)出版社,2013.endprint