層次分析法(the analytic hierarchy process)簡稱ahp,在20世紀70年代中期由美國運籌學家托馬斯·塞蒂(t.l.saaty)正式提出。它是一種定性和定量相結合的、系統化、層次化的分析方法。
層次分析法的基本思路與人對乙個複雜的決策問題的思維、判斷過程大體上是一樣的。不妨用假期旅遊為例:假如有3個旅遊勝地a、b、c供你選擇,你會根據諸如景色、費用和居住、飲食、旅途條件等一些準則去反覆比較這3個候選地點.首先,你會確定這些準則在你的心目中各佔多大比重,如果你經濟寬綽、醉心旅遊,自然分別看重景色條件,而平素儉樸或手頭拮据的人則會優先考慮費用,中老年旅遊者還會對居住、飲食等條件寄以較大關注。其次,你會就每乙個準則將3個地點進行對比,譬如a景色最好,b次之;b費用最低,c次之;c居住等條件較好等等。最後,你要將這兩個層次的比較判斷進行綜合,在a、b、c中確定哪個作為最佳地點。
以上摘自層次分析法
1、建立層次結構模型。在深入分析實際問題的基礎上,將有關的各個因素按照不同屬性自上而下地分解成若干層次,同一層的諸因素從屬於上一層的因素或對上層因素有影響,同時又支配下一層的因素或受到下層因素的作用。最上層為目標層,通常只有1個因素,最下層通常為方案或物件層,中間可以有乙個或幾個層次,通常為準則或指標層。當準則過多時(譬如多於9個)應進一步分解出子準則層。
2、構造成對比較陣。從層次結構模型的第2層開始,對於從屬於(或影響)上一層每個因素的同一層諸因素,用成對比較法和1—9比較尺度構造成對比較陣,直到最下層。
3、計算權向量並做一致性檢驗。對於每乙個成對比較陣計算最大特徵根及對應特徵向量,利用一致性指標、隨機一致性指標和一致性比率做一致性檢驗。若檢驗通過,特徵向量(歸一化後)即為權向量:若不通過,需重新構造成對比較陣。
4、計算組合權向量並做組合一致性檢驗。計算最下層對目標的組合權向量,並根據公式做組合一致性檢驗,若檢驗通過,則可按照組合權向量表示的結果進行決策,否則需要重新考慮模型或重新構造那些一致性比率較大的成對比較陣。
以上摘自層次分析法
以此題為例:選擇旅遊地的時候,需要考慮景色,費用,居住,飲食,旅途等因素。
比較第 i 個元素與第 j 個元素相對上一層某個因素的重要性時,使用數量化的相對權重aij來描述。設共有 n 個元素參與比較,則a稱為成對比較矩陣。
成對比較矩陣中aij的取值可按下述標度進行賦值。aij在 1-9 及其倒數中間取值。
例如:選拔幹部考慮5個條件:品德,才能,資歷,年齡,群眾關係。某決策人用成對比較法,得到成對比較陣如下:
a14 = 5 表示品德與年齡重要性之比為 5,即決策人認為品德比年齡重要。
以例題:選擇旅遊地的時候,加入只考慮景色、費用、居住三個,並且有3個旅遊景點p1 p2 p3,其中3個景點費用是1200,980,1350。
構建比較矩陣如下圖:
a12,a13,a23分別就代表三個考慮因素之間的重要性選擇。
暫時不需要理解
p1 p2 p3對於準則層中「景色」的成對比較矩陣
1 3 3
0.33 1 1
0.33 1 1
計算出各項得分:0.143、0.4285、0.4285
p1 p2 p3對於準則層中「居住」的成對比較矩陣
1 3 3
0.33 1 1
0.33 1 1
計算出各項得分:0.143、0.4285、0.4285
p1 p2 p3對於準則層中「費用」的成對比較矩陣不需要建立。
各項得分是:1200/(1200+980+1350)=0.34
980/(1200+980+1350=0.28
1350/(1200+980+1350=0.38
最後帖上兩段示例**:
**一-------------------------------------
clcclear all;
a=[1 1/2 1 1/2 1/3;
2 1 2 1 1;
1 1/2 1 1 1/2;
2 1 1 1 1/2;
3 1 2 2 1]; %評價矩陣
[n,n]=size(a);
[v,d]=eig(a);
r=d(1,1);
ci=(r-n)/(n-1);
ri=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];
cr=ci/ri(n);
if cr<0.1 cr_result='yes';
else cr_result='no';
endw=v(:,1)/sum(v(:,1));
w=w';
disp('the result is')
disp(['coincidence indicator:',num2str(ci)])%一致性指標
disp(['consistency ratio:',num2str(cr)])%一致性比例
disp(['consistency test results:',cr_result])%一致性檢驗
disp(['eigenvalue:',num2str(r)])%特徵值
disp(['weight vector:',num2str(w)])%權向量
**二--------------------------------------------
clc;
clear;
a=[1 1.2 1.5 1.5;
0.833 1 1.2 1.2;
0.667 0.833 1 1.2;
0.667 0.833 0.833 1];
%因素對比矩陣a,只需要改變矩陣a
[m,n]=size(a); %獲取指標個數
ri=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
r=rank(a); %求判斷矩陣的秩
[v,d]=eig(a); %求判斷矩陣的特徵值和特徵向量,v特徵值,d特徵向量;
tz=max(d);
b=max(tz); %最大特徵值
[row, col]=find(d==b); %最大特徵值所在位置
c=v(:,col); %對應特徵向量
ci=(b-n)/(n-1); %計算一致性檢驗指標ci
cr=ci/ri(1,n);
if cr<0.10
disp('ci=');disp(ci);
disp('cr=');disp(cr);
disp('對比矩陣a通過一致性檢驗,各向量權重向量q為:');
q=zeros(n,1);
for i=1:n
q(i,1)=c(i,1)/sum(c(:,1)); %特徵向量標準化
endq %輸出權重向量
else
disp('對比矩陣a未通過一致性檢驗,需對對比矩陣a重新構造');
1 層次分析法
主要用於解決多因素的評價類問題。例如高考填報志願時,需要考慮到學習氛圍,校園景色,男女比例等等。根據權重計算得分 優點 計算量小 缺點 片面,不周全 直接考慮各因子對因素有多大程度影響時,常常會因考慮不周,而使決策者提出與他實際認為的重要性程度不相一致的資料 數學建模演算法與應用 分而治之,兩兩指標...
層次分析法
ahp分析方法,其基本步驟可歸納為 1 建立遞階層次結構 建立遞階層次結構是ahp法中關鍵一步,如圖所示。首先,把複雜問題中所包含的因素分解為不同層次。同一層次的因素作為準則對下一層次的某些因素起支配作用,同時,它又受上乙個層次因素的支配。這種從上到下的支配關係形成了乙個遞階層次結構,處於最上層的是...
層次分析法
此方法的步驟 1.建立有目標層 準則層 方案層等構成的層次結構 2.構造下層各元素對上層每一元素的成對比較矩陣 3.計算各個成對比較矩陣的特徵根和特徵向量,做一致性檢驗,通過後將特徵向量取做權向量 4.用分層加權和法計算最下層元素對最上層元素的權重 即逐層矩陣相乘 關於一致性檢驗,n階成對比較矩陣的...