簡介
針對多目標,多準則或無結構特性的復雜決策問題
步驟
解決評價類問題
評價類問題:
資料查找:
1)查找相關文獻
2)如果沒有找到相關文獻
3)搜索
通過上述步驟后得到的結果
構建層次結構模型
舉例:
成對比較矩陣
標度表:
奇數:越大越重要
偶數:上述兩相鄰判斷的中值
倒數:aji=1/aij
展示:
行列:
C1C1=1 C1與C1同樣重要
C1C2=1/2 C2比C1重要
C1C3=4 C1比C3重要
一致性檢驗
正反矩陣:
一致性矩陣:
一致性檢驗:
在使用判斷矩陣之前要先進行一致性檢驗
一致性的檢驗是通過計算一致性比例CR 來進行的
當 CR<0.10 時,認為判斷矩陣的一致性是可以接受的,否則應對判斷矩陣作適當修正。
CI的值由判斷矩陣計算獲得,RI的值查表獲得
舉例-旅游問題
構造成對比較矩陣
1)A1-A5對Z的重要性的成對比較,所以有一個A矩陣(Z)
A:行[A1-A5] 列[A1-A5]
2)B1-B3在A1-A5這個層面上的比較,所以有5個B矩陣(A1-A5)
B:行[B1-B3] 列[B1-B3]
權重:
計算權重
第一行的和除以所有數的和得到a1。
第二行的和除以所有數的和 得到a2。
第三行的和除以所有數的和 得到a3。
同理,得到a4,a5。然后。
w1=a1/(a1+a2+a3+a4+a5)。
w2=a2/(a1+a2+a3+a4+a5)。
同理得到w3 w4 w5。
如:B1對A1的權重
a1=(1+2+5)/(1+2+5+…)=0.6060606060606061
w1=a1/(a1+a2+a3+a5)
決策層對總目標的權向量
B1對Z的權值=B1對A1的權重A1對Z的權重+B1對A2的權重A2對Z的權重+…
結論:
程序(可作為模板套入)
輸入矩陣A與B1-B5
[1, 1/2, 4, 3, 3;2, 1, 7, 5, 5;1/4, 1/7, 1, 1/2, 1/3;1/3, 1/5, 2, 1, 1;1/3, 1/5, 3, 1, 1;][1,2,5;
1/2,1,2;
1/5,1/2,1;][1,1/3,1/8;
3,1,1/3;
8,3,1;][1,1,3;
1,1,3;
1/3,1/3,1;][1,3,4;
1/3,1,1;
1/4,1,1;][1,1,1/4;1,1,1/4;4,4,1;]
matlab代碼:
disp('請輸入判斷矩陣A(n階)');
A=input('A=');
[n,n]=size(A);
x=ones(n,100);
y=ones(n,100);
m=zeros(1,100);
m(1)=max(x(:,1));
y(:,1)=x(:,1);
x(:,2)=A*y(:,1);
m(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
while k>pi=i+1;x(:,i)=A*y(:,i-1);m(i)=max(x(:,i));y(:,i)=x(:,i)/m(i);k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);%以下是一致性檢驗
CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
if CR<0.10disp('此矩陣的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);
end