日常生活中有許多決策問題。決策是指在面臨多種方案時需要依據一定的标準選擇某一種方案。 比如買鋼筆,一般要依據品質、顔色、實用性、價格、外形等方面的因素選擇某一支鋼筆。 又比如假期旅遊,是去風光秀麗的蘇州,還是去迷人的北戴河,或者是去山水甲天下的桂林,一般會依據景色、費用、食宿條件、旅途等因素選擇去哪個地方。
我們可以利用上一節講的模糊綜合評判的方法,對每一個備選方案都進行一次打分,最後取分最高的。不過既然這是新的一篇筆記,肯定還有其他方法啦。美國運籌學家托馬斯.賽迪(T. Saaty等人)20世紀在七十年代為美國國防部提出了一種能有效處理這類問題的實用方法——層次分析法。
1. 層次分析法 AHP
層次分析法(Analytic Hierarchy Process, AHP)是一種定性和定量相結合的、系統化的、階層化的分析方法。是系統分析問題的數學工具之一。層次分析法一般包含以下幾個主要步驟:
- 建立層次結構模型
- 構造成對比較矩陣
- 層次單排序及一緻性檢驗
- 層次總排序及其一緻性檢驗
下面逐漸解釋各個步驟。
1.1 建立層次結構模型
一般分為三層,最上面為目标層,最下面為方案層,中間是準則層或名額層。

若上層的每個因素都支配着下一層的所有因素,或被下一層所有因素影響,稱為完全層次結構,否則稱為不完全層次結構(都是概念性的東西,我覺得不重要,隻要了解層次結構就好啦)。
1.2 構造成對比較矩陣
設某層有 nnn 個因素,X={x1,...,xn}X=\{x_1,...,x_n\}X={x1,...,xn} 。要比較它們對上一層某一準則(或目标)的影響程度,也就是把 nnn 個因素對上 層某一目标的影響程度排序。這種比較是涼涼元素之間的比較,比較時取1~9 尺度。用 aija_{ij}aij 表示第 iii 個因素相對于第 jjj 個因素的比較結果,則有 aij=1/ajia_{ij}=1/a_{ji}aij=1/aji(這裡應該完全是人為定義)
A=(aij)n×n=(a11a12⋯a1na21a22⋯a2n⋯⋯⋯⋯an1an2⋯ann)
A=\left(a_{i j}\right)_{n \times n}=\left(\begin{array}{llll}a_{11} & a_{12} & \cdots & a_{1 n} \\a_{21} & a_{22} & \cdots & a_{2 n} \\\cdots & \cdots & \cdots & \cdots \\a_{n 1} & a_{n 2} & \cdots & a_{n n}\end{array}\right)
A=(aij)n×n=⎝⎜⎜⎛a11a21⋯an1a12a22⋯an2⋯⋯⋯⋯a1na2n⋯ann⎠⎟⎟⎞
AAA 則稱為成對比較矩陣。
這裡的成對比較矩陣有點像圖論裡的鄰接矩陣,就是說任意兩個元素都要進行一次比較。
前邊說了比較尺度我們一般選擇 1~9,并且一般選擇奇數(不知道為啥),各尺度含義為
尺度 | 含義 |
---|---|
1 | 第 iii 個因素與第 jjj 個因素的影響相同 |
3 | 第 iii 個因素比第 jjj 個因素的影響稍強 |
5 | 第 iii 個因素比第 jjj 個因素的影響強 |
7 | 第 iii 個因素比第 jjj 個因素的影響明顯強 |
9 | 第 iii 個因素比第 jjj 個因素的影響絕對地強 |
2,4,6,8 表示第 iii 個因素相對于第 jjj 個因素的影響介于上述兩個相鄰等級之間。
根據上面的定義,可以知道成對比較矩陣 AAA 滿足以下三條性質:
- aij>0a_{ij}>0aij>0
- aij=1/ajia_{ij}=1/a_{ji}aij=1/aji
- aii=1a_{ii}=1aii=1
此時 AAA 也成為正互反陣。
比如旅遊問題中,第二層 AAA 的各因素對目标層 ZZZ 的影響兩兩比較結果如下:
Remarks:(我個人覺得)一般認為各因素是有序的,也就是說如果 x1>x2,x2>x3x_1>x_2,x_2>x_3x1>x2,x2>x3,那麼應該有 x1>x3x_1>x_3x1>x3,這樣一來互反矩陣 AAA 就需要滿足一定的性質了。
1.3 層次單排序及一緻性檢驗
層次單排序就是确定下層各因素對上層某因素影響程度的過程。 用權值表示影響程度,先從一個簡單的例子看如何确定權值。 例如 一塊石頭重量記為 1,打碎分成 n 個小塊,各塊的重量分别記為 w1,...,wnw_1,...,w_nw1,...,wn,那麼可以得到成對比較矩陣
A=(aij)n×n=(1w1w2⋯w1wnw2w11⋯w2wn⋯⋯⋯⋯wnw1wnw2⋯1)
A=\left(a_{i j}\right)_{n \times n}=\left(\begin{array}{llll}1 & \frac{w_1}{w_2} & \cdots & \frac{w_1}{w_n} \\\frac{w_2}{w_1} & 1 & \cdots & \frac{w_2}{w_n} \\\cdots & \cdots & \cdots & \cdots \\\frac{w_n}{w_1} & \frac{w_n}{w_2} & \cdots & 1\end{array}\right)
A=(aij)n×n=⎝⎜⎜⎛1w1w2⋯w1wnw2w11⋯w2wn⋯⋯⋯⋯wnw1wnw2⋯1⎠⎟⎟⎞
根據上面的定義可以有 aikakj=aij,∀i,ja_{ik}a_{kj}=a_{ij},\forall i,jaikakj=aij,∀i,j。前面我們提到的互反矩陣并不滿足這個性質,如果互反矩陣 AAA 滿足此性質,則我們稱其為一緻陣。一緻陣有以下性質:
- aij=1/aji,aii=1a_{ij}=1/a_{ji},a_{ii}=1aij=1/aji,aii=1
- aikakj=aija_{ik}a_{kj}=a_{ij}aikakj=aij
- ATA^TAT 也是一緻陣
- AAA 的各行成比例,故 rank(A)=1rank(A)=1rank(A)=1
- AAA 的最大特征值為 nnn,其餘特征值均為 0
- AAA 的任一列都是對應于特征根的特征向量。
若成對比較矩陣是一緻陣,則我們自然會取對應于最大特征根 nnn 的歸一化特征向量 {w1,...,wn}\{w_1,...,w_n\}{w1,...,wn},且 ∑wi=1\sum w_i=1∑wi=1,wiw_iwi 即表示下層第 iii 個因素對上層某因素影響程度的權值。若成對比較矩陣不是一緻陣,Saaty等人建議用其最大特征根對應的歸一化特征向量作為權向量 w\boldsymbol{w}w,這樣确定權向量的方法稱為特征根法。
定理: nnn 階互反陣 AAA 的最大特征根 λ≥n\lambda\ge nλ≥n,當且僅當 λ=n\lambda=nλ=n 時,AAA 為一緻陣。
由于 λ\lambdaλ 連續的依賴于 aija_{ij}aij,則 λ\lambdaλ 比 nnn 大的越多,AAA 的不一緻性越嚴重。用最大特征值對應的特征向量作為被比較 因素對上層某因素影響程度的權向量,其不一緻程度越大,引起的判斷誤差越大。因而可以用 λ−n\lambda-nλ−n 數值的大小來衡量 AAA 的不一緻程度。
一緻性名額:CI=λ−nn−1CI=\frac{\lambda-n}{n-1}CI=n−1λ−n
随即一緻性名額:構造 500 個成對比較矩陣 A1,...,A500A_1,...,A_{500}A1,...,A500,可得一緻性名額 CI1,...,CI500CI_1,...,CI_{500}CI1,...,CI500
RI=CI1+CI2+⋯CI500500=λ1+λ2+⋯+λ500500−nn−1
R I=\frac{C I_{1}+C I_{2}+\cdots C I_{500}}{500}=\frac{\frac{\lambda_{1}+\lambda_{2}+\cdots+\lambda_{500}}{500}-n}{n-1}
RI=500CI1+CI2+⋯CI500=n−1500λ1+λ2+⋯+λ500−n
對于 1 階和 2 階成對比較矩陣,總是有 RI=0RI=0RI=0。一般有以下表格,使用時直接查表
有一些文獻取随機取 1000 個成對矩陣,分别計算它們的一緻性名額 CI 進而得到如下的随機一緻性名額 RI:
一般,當一緻性比率 CR=CI/RI<0.1CR=CI/RI<0.1CR=CI/RI<0.1 時,認為 AAA 的不一緻程度在容許範圍之内,可用其最大特征值對應的歸一化特征向量作為權向量,否則要重新構造成對比較矩陣,對 AAA 加以調整。
一緻性檢驗:上面利用一緻性名額及随機一緻性名額的數值表,進而計算一緻性比率并進行判斷的過程稱為是對 AAA 的一緻性檢驗。
1.4 層次總排序及其一緻性檢驗
确定某層所有因素對于總目标相對重要性的排序權值過程, 稱為層次總排序。
那麼 BBB 層第 iii 個因素對總目标的權值為 Bi=∑jajbijB_i = \sum_j a_jb_{ij}Bi=∑jajbij。
假設 BBB 層 B1,...,BnB_1,...,B_nB1,...,Bn 對上層 AAA 中因素 AjA_jAj 的層次單排序一緻性名額為 CIjCI_jCIj,随機一緻性名額為 RIjRI_jRIj,則層次總排序的一緻性比率為:
CR=a1CI1+⋯+amCIma1RI1+⋯+amRIm
CR=\frac{a_1CI_1+\cdots+a_mCI_m}{a_1RI_1+\cdots+a_mRI_m}
CR=a1RI1+⋯+amRIma1CI1+⋯+amCIm
當 CR<0.1CR<0.1CR<0.1 時,認為層次總排序通過一緻性檢驗。到此,根據最下層(決策層)的層次總排序做出最後決策。
最後給我的部落格打個廣告,歡迎光臨
https://glooow1024.github.io/
https://glooow.gitee.io/