周澤云 鄢烈虎 孫劍橋 陳財森 鄭顯柱
摘要:層次分析法作為多指標綜合評價的常用方法,在各領(lǐng)域應(yīng)用廣泛。但在應(yīng)用中發(fā)現(xiàn),輔助完成層次分析法計算的軟件工具一般都存在安裝復雜或操作不便的問題。通過分析層次分析法原理和計算步驟,研究了判斷矩陣的特征向量、最大特征值的計算方法和一致性檢驗方法,基于C#和SQLite數(shù)據(jù)庫設(shè)計開發(fā)了層次分析法軟件,以可視化界面完成評價指標和數(shù)據(jù)錄入與管理。應(yīng)用表明,該軟件明顯提高了操作的方便性,對于進一步推廣層次分析法在各領(lǐng)域的應(yīng)用具有重要意義。
關(guān)鍵詞:層次分析法;特征向量;最大特征值;SQLite
DOIDOI:10.11907/rjdk.161063
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2016)005-0082-03
0 引言
我們經(jīng)常會遇到一些復雜問題,需要進行綜合評價才能作出決策。綜合評價就是將影響事物的各類因素分解,得到一個綜合指標體系,在對各種指標分解評價的基礎(chǔ)上進行匯聚,從整體上反映被評價事物的情況[1]。
近年來,多指標綜合評價研究不斷深入,其它領(lǐng)域的相關(guān)知識不斷滲入,使得多指標綜合評價方法不斷豐富。目前,國內(nèi)外提出的綜合評價方法已有幾十種之多,而其中的層次分析法(AHP)因為原理相對簡單,在軍事、經(jīng)濟、衛(wèi)生、教育、工程等各個領(lǐng)域應(yīng)用廣泛。
但是,在應(yīng)用AHP進行決策時,可選用的工具一般是Matlab軟件或者Excel,前者安裝過程相對復雜,學習成本相對較高,后者在評價指標個數(shù)發(fā)生變化時,調(diào)整的工作量比較大。有的研究人員采用Yaahp軟件進行計算,操作比較方便,但是免費版功能過于簡單,不能完全滿足應(yīng)用需求。為此,筆者在研究層次分析法原理的基礎(chǔ)上,自行設(shè)計開發(fā)了用于計算的軟件,可以大幅提高AHP運用的效率。
1 AHP原理與計算步驟
1.1 AHP原理
層次分析法是美國著名運籌學家Saaty在20世紀70年代初提出的一種多目標決策系統(tǒng)分析方法[2],其原理是:將需要決策的問題置于一個大系統(tǒng)中,將問題分解并層次化,形成一個多層次的評價分析模型;之后綜合運用數(shù)學方法與定性分析方法,計算出每個評價指標對上級指標產(chǎn)生的影響權(quán)重。最終通過逐層計算,得到問題總目標的權(quán)重,以此評價解決方案的優(yōu)劣,實現(xiàn)輔助決策。
1.2 計算步驟
(3)按照上述過程計算每一級指標權(quán)重,然后自下而上逐級相乘,最終得到每個評價指標相對總目標的權(quán)重。
2 程序設(shè)計
2.1 開發(fā)環(huán)境
軟件基于VS2005.NET開發(fā),具體開發(fā)語言選用C#,數(shù)據(jù)庫選擇SQLite。
基于數(shù)據(jù)庫對評價方案進行管理,程序開發(fā)相對簡便,計算效率高、速度快、存儲方便。而且,基于數(shù)據(jù)庫進行管理,有利于軟件將來修改為中間件或者Web服務(wù)供其它軟件調(diào)用,可進一步提高軟件的使用率。
SQLite數(shù)據(jù)庫是一個開源的嵌入式關(guān)系數(shù)據(jù)庫,它區(qū)別于其它數(shù)據(jù)庫的最大特點是零配置。它既不需要安裝和管理配置,也不需要系統(tǒng)管理員對數(shù)據(jù)庫進行管理。此外,SQLite還具有存儲量大、速度快、可靠性好、支持標準SQL、無數(shù)據(jù)類型限制、源代碼開放、完全免費、持續(xù)升級、可用于任何用途等諸多特點。
2.2 功能設(shè)計
軟件主要設(shè)計評價方案管理、評價指標管理、數(shù)據(jù)管理、計算與結(jié)果輸出等功能。
(1)評價方案管理。主要提供評價方案的增加、刪除、修改等功能。如圖1所示,可以將評價方案數(shù)據(jù)保存在數(shù)據(jù)庫中,避免用戶進行AHP評價操作時重新輸入數(shù)據(jù)。
(2)評價指標管理。主要提供評價指標的增加、刪除、修改等功能。如圖2所示,基于樹形控件對評價指標進行操作,指標層次關(guān)系更清晰、操作更方便。
(3)數(shù)據(jù)管理。主要提供判斷矩陣初始數(shù)據(jù)錄入和修改功能。如圖3所示,軟件基于表格控件管理數(shù)據(jù),相比控制臺更直觀、操作更方便。軟件根據(jù)n個評價指標自動生成n行n列的數(shù)據(jù)表格。設(shè)行標為i,列標為j,當i=j時,第i行第j列自動設(shè)定為1且不允許修改。輸入其它單元格(i,j)數(shù)據(jù)x時,對應(yīng)單元格(j,i)的值自動設(shè)定為1/x。
5 結(jié)語
本文設(shè)計開發(fā)的層次分析法軟件,通過SQLite數(shù)據(jù)庫存儲數(shù)據(jù),以可視化的界面完成評價指標和數(shù)據(jù)錄入與管理,可以明顯提高操作的方便性,對于進一步推廣層次分析法在各領(lǐng)域的應(yīng)用具有重要意義。
參考文獻:
[1]虞曉芬,傅玳.多指標綜合評價方法綜述[J].統(tǒng)計與決策, 2004(11):119-121.
[2]陳明,郭立新. 基于AHP-熵權(quán)-TOPSIS的電動汽車動力性經(jīng)濟性綜合評價方法[J]. 機械設(shè)計,2013(4):15-19.
[3]常建娥,蔣太立. 層次分析法確定權(quán)重的研究[J]. 武漢理工大學學報:信息與管理工程版, 2007(1):153-156.
[4]葉耀軍,王首軍,魏磊,等. 矩陣最大特征值的近似求法[J]. 河南農(nóng)業(yè)大學學報, 2001(S1):69-71.
[5]洪志國,李焱,范植華,等. 層次分析法中高階平均隨機一致性指標(RI)的計算[J]. 計算機工程與應(yīng)用,2002(12):45-47,150.
(責任編輯:杜能鋼)