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