周澤云 鄢烈虎 孫劍橋 陳財森 鄭顯柱



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