資源描述:
《層次分析法程序代碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、層次分析法1)建立層次結(jié)構(gòu)模型:決策目標(biāo)P1準(zhǔn)則C1準(zhǔn)則C2準(zhǔn)則C3準(zhǔn)則C4P2P3P4P5P6(2)構(gòu)造判斷矩陣判斷矩陣應(yīng)為正互反矩陣,而且的判斷如下(1~9尺度法):標(biāo)度含義1相同3稍強5強7明顯的強9絕對的強2,4,6,8之比在上述兩個相鄰的等級之間之比為上面的復(fù)反數(shù)(3)單層排序及一致性檢驗1、單層排序求解判斷矩陣的最大特征值,再由最大特征值求出對應(yīng)的特征向量,并將標(biāo)準(zhǔn)化,即為同一層相對于上一層某一因素的權(quán)重,根據(jù)此權(quán)重的大小,便可確定該層因素的排序。2、一致性檢驗取一致性指標(biāo),(為的階數(shù))取隨機性指標(biāo)如下:123456789……00
2、0.580.91.121.241.321.411.45……令,若,則認(rèn)為具有一致性。否則,需要對進(jìn)行調(diào)整,直到具有滿意的一致性為止。(4)層次總排序及一致性檢驗假定準(zhǔn)則層排序完成,其權(quán)重分別為,方案層包含個方案:。其相對于上一層的對方案層中的個方案進(jìn)行單層排序,其排序權(quán)重記為,則方案層中第個方案的總排序權(quán)重為,見下表:層次C層次P層總排序權(quán)重從而確定層的排序。例:純文本文件txt3.txt中的數(shù)據(jù)格式如下:111411/2112411/211/21531/21/41/41/511/31/3111/331122233111/41/241321/
3、3111/41/5411/2521131/31/311/737111/353171/51/711171171/71/711791/7111/911matlab程序:>>fid=fopen('txt3.txt','r');n1=6;n2=3;a=[];fori=1:n1tmp=str2num(fgetl(fid));a=[a;tmp];%讀準(zhǔn)則層判斷矩陣endfori=1:n1str1=char(['b',int2str(i),'=[];']);str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];
4、']);eval(str1);forj=1:n2tmp=str2num(fgetl(fid));eval(str2);%讀方案層的判斷矩陣endendri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45];%一致性指標(biāo)[x,y]=eig(a);lamda=max(diag(y));num=find(diag(y)==lamda);w0=x(:,num)/sum(x(:,num));cr0=(lamda-n1)/(n1-1)/ri(n1)fori=1:n1[x,y]=eig(eval(char(['b',int2
5、str(i)])));lamda=max(diag(y));num=find(diag(y)==lamda);w1(:,i)=x(:,num)/sum(x(:,num));cr1(i)=(lamda-n2)/(n2-1)/ri(n2);endcr1,ts=w1*w0,cr=cr1*w0