
摘 要:層次分析法簡便易懂,可操作性和實用性強,但是構造判斷矩陣往往不容易,計算判斷矩陣的特征值特別繁瑣且易出錯,得到的一致性檢驗不易調整,這些都給使用層次分析法帶來困難,以往使用辦公軟件電子表格(Excel)的方法計算單層次排序和總層次排序,這種方法使得計算和一致性檢驗變得容易,文本使用Matlab程序使得計算變得更容易,也使得層次分析法在多個領域得到推廣和應用。
關鍵詞:層次分析法;Excel;matlab
1 層次分析法(AHP法)的原理和解決思路
層次分析法是對定性問題進行定量分析的一種簡便、靈活而又實用的多準則決策方法。它的原理是模擬人的決策過程,具有思路清晰、方法簡便、適用面廣、系統性強等特點。是解決多目標、多準則、多層次復雜問題決策或者大型工程風險分析的有力工具。
層次分析法解決問題的思路就是用下一次因素的相對排序求得上一次因素的相對排序。按照因素之間的相互影響和隸屬關系將各層次因素聚類組合,形成一個遞進有序的層次結構模型。
2 層次分析法的應用難點
2.1合適的判斷矩陣構造不易
模型確定后,按照模型層次結構和模型的各因素的相對重要性,綜合專家群體咨詢意見,采用標度法[ 1 ],從數字1/9一9中選取恰當值,構造各層的判斷矩陣,并使之盡量符合一致性檢驗,這一步成為問題的關鍵。但實際上系統越復雜,判定矩陣的階數就會越高,計算就會越困難。
2.2計算量大,步驟繁瑣
層次分析法首先要求的就是判斷矩陣的最大特征值?姿max,及其正規化的特征向量w,向量w的分量wi是相應因素的單層次權值,這部分計算理論上基于線性代數知識,不用計算機也可以將其計算出來。但實際上,當矩陣的階數高于4階時,人工計算就變得相當困難且易出錯,如使用計算機計算,就容易得多,常用的方法有Basic語言,電子表格Excel等方法。但計算量都有待改進。
2.3不符合一致性檢驗時,數據調整變得困難
層次分析法的計算是要得到一個符合一致性檢驗的結果,否則排序結果沒有實際意義。一旦計算結果不滿足一致性檢驗,就得調整數據重新算一遍,令人不勝其煩,工作量增加一倍,出錯的可能性也大大增加。實際構造高階矩陣的過程中,一次成功符合一致性檢驗的機會并不多,“返工”是常態。
2.4以上難點對層次分析法的影響
使用層次分析法如果不能很好的處理其中的計算,那么就會給該方法的學習、推廣和應用帶來困難。使人失去學習該方法的耐心,在弄不清,算不出來的心理影響下,減少了層次分析法在各領域的應用。
3 用Matlab程序實現層次分析法的步驟
為了解決以上難題,簡化層次分析法的計算,讓該方法變得簡單易學,我們使用Matlab軟件,設計簡單的程序,輸入數據即可得到相應的單層次排序和總層次排序,以及一致性檢驗的結果。
3.1使用層次分析法步驟簡介
使用層次分析法步驟,建立層次結果模型、構造判斷矩陣、計算特征向量w,最大特征值,一致性指標、隨機一致性指標、隨機一致性比例CI,RI,CR(RI為隨機計算10次得到的平均值為已知)[ 1 ],并判斷是否滿足一致性。
3.2用實例說明計算過程
例:某房地產投資公司準備在某市內建一高檔社區,現對市中心、外三環、市郊三種可供選擇的地理位置進行選取,其中要考慮的因素包括居住、消費、價格、交通、建筑質量,請問哪種選址企業的收益最大?
(4)將影響決策的各因素對各方案的權重加權取平均數可得三個方案綜合評價排序結果,總排序w=(0.38876,0.38202,0.21664),可知方案C3優于方案C2,更優于方案C1。
4 層次分析法Matlab算法的總結
層次分析法Matlab算法可以使用目前廣泛使用的Matlab軟件作為運算平臺,多數人都會使用,不需要掌握Matlab知識,只需把本文應用程序換上數字即可運算。運算速度快、效率高、計算結果精確,誤差小,計算最大特征值的同時可進行一致性檢驗,如果不符合一致性檢驗,重新調整數據非常簡單。
本文的方法解決了層次分析法看起來簡單,但計算難度大的問題,克服了傳統算法應對高階矩陣的無奈,同時還解決了傳統算法不利于反復檢驗的問題,使得大量數學計算不再是層次分析法學習使用者的障礙,對層次分析法在各學科中的推廣和應用可以起到一定的積極作用。
參考文獻:
[1] Saaty T L.層次分析法[M].許樹柏譯.北京: 煤炭工業出版社,1998.
[2] 于晶.基于AHP的太陽能建筑應用項目風險管理[J].科技經濟市場.2016,2(1):212-213
[3] 先鋒.電子表格(Excel)實現層次分析法(AHP)的簡捷計算[D].廣州:華南農業大學,2004.
[4] 張格亮,李昕.風險投資項目中幾種數學方法評析[J].牡丹江師范學院學報,2012,10(1):1-4.
作者簡介:
于晶(1976-),講師,北華大學數學與統計學院。