基于MATLAB的AHP實現_第1頁
基于MATLAB的AHP實現_第2頁
基于MATLAB的AHP實現_第3頁
基于MATLAB的AHP實現_第4頁
基于MATLAB的AHP實現_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 頁目 錄中英文摘要 . 2 1 層次分析法 311 概述 . 3 12 ahp 的基本原理和步驟6. 3 1.2.1 遞階層次結構原理 3 1.2.2 標度原理 4 1.2.3 排序原理 4 1.3 ahp 的層次總排序及其一致性檢驗. 6 1.3.1 層次總排序 6 1.3.2 ahp 的一致性檢驗 7 2matlab的基本內容 72.1 matlab 矩陣 . 8 2.1.1 matlab 矩陣的建立 8 2.1.2 矩陣的特征值與特征向量 8 2.2 matlab 的 m 文件. 9 3基于 matlab的 ahp 實現 1031 ahp 的 matlab 的計算流程框圖 . 1

2、0 32 平均隨機一致性指標的matlab 實現 . 10 33 ahp 各環(huán)節(jié)的matlab 實現 . 12 3.3.1 特征向量及其歸一化的matlab 實現 12 3.3.2 一致性檢驗及單排序的matlab 實現 13 3.3.3 一致性檢驗及總排序的matlab 實現 14 3.3.4 選擇最優(yōu)排序 15 4基于 matlab的 ahp 應用 1641 挑選合適工作問題 . 16 5結束語 26參考文獻 27致謝 28第 2 頁基于 matlab 的 ahp 實現摘 要:在實際統計分析工作中,常會遇到多指標的綜合評價和多目標決策的問題。許多人利用層次分析法將復雜的問題分解為若干層次和

3、若干因素,在各因素之間進行簡單的比較和計算,就可以得出不同方案的權重,為最佳方案的選擇提供依據且使問題簡單化。但是,受計算條件的限制,不能及時給出結果,從而影響現場決策。ma tlab是當今最優(yōu)秀的科技應用軟件之一,利用 matlab對層次分析法的判斷、分析和計算過程進行處理后,為決策者提供方便友好的對話界面。只要決策者在matlab軟件中輸入自己的層次結構方案和兩兩對比的判斷矩陣后能迅速得出相應的結果,為解決實際問題提供一個快捷的方法。從而提高人們的決策效率,同時也為科技工作者使用層次分析法提供一種新思路。關鍵詞 :ahp ;層次分析法;matlab 應用matlab-based imple

4、mentation of the ahp abstract: in practice, statistical analysis work, we often encounter multi-index comprehensive evaluation and multi-objective decision-making. many people use ahp to the complex problem into a number of levels and a number of factors, among various factors, a simple comparison a

5、nd calculation can be drawn on the weight of different options, in order to provide a basis for selection of the best programs make the problem simple of. however, due to the calculation conditions, the results can not be given in a timely manner, thus affecting the on-site decision-making. matlab i

6、s the most outstanding application of science and technology, using matlab to determine the right level of analysis, analysis and computation processing, in order to provide decision makers with convenient user-friendly dialog interface. when the decision-makers in matlab software, enter their own h

7、ierarchy of the program and judgment matrix to determine quickly after the corresponding results obtained, in order to solve practical problems to provide a quick method. thereby enhancing the efficiency of peoples decision-making, but also for the scientific and technological workers to use ahp to

8、provide a new idea. keywords: ahp;matlab applications 第 3 頁1 層次分析法11 概述在市場競爭日益激烈的今天, 企業(yè)或個人經常面臨復雜的決策問題,不僅需要快速作出決策, 而且需要解決決策問題中多種不確定性所帶來的困難。決策分析問題中的重要組成部分是多屬性決策,雖然多屬性決策問題的背景不同,但它們通常具有下列共同特點 :1(1) 屬性之間通常是相互沖突和不可公度的(屬性量綱不同 ) ;(2) 在屬性集中,可能同時存在定性屬性和定量屬性;(3) 屬性經常構成一個層次結構;(4) 決策信息有時是不完全的,決策者只能提供決策參數的不完全信息;決

9、策者的判斷可能是不確定的,即沒有100%的把握做出主觀判斷。美國著名運籌學家t.l.saaty教授于 70年代中期創(chuàng)立了一種實用的多準則決策法層次分析法(the analytic hierarchyprocess,簡稱 ahp)2。是一種實用的多準則決策方法,是處理那些完全用定量方法來解決復雜問題的有效手段,也是定量分析和定性分析相結合的決策方法。 更是在多目標、 多準則的條件下, 對多種方案進行選擇與判斷的一種簡潔而有力的工具。眾多的工作表明, ahp 的應用范圍十分廣泛, 其應用已涉及到能源政策和資源規(guī)劃,企業(yè)管理與生產決策,管理信息系統3,經濟分析和計劃,政治和沖突分析4,行為和社會學5

10、, 科技發(fā)展和評價,軍事指揮,農業(yè)氣候區(qū)劃,大氣和水環(huán)境質量評價,湖泊富營養(yǎng)化評價等領域,可以預料,隨著對ahp 理論的深入研究,它的應用范圍必將進一步拓廣。正因為如此,人們自然地要求了解和掌握ahp 的應用技巧。本文旨在基于層次分析法的基礎上,在matlab 中編制對層次分析法的判斷、分析和計算過程的程序, 決策者只要輸入層次結構方案和判斷矩陣,就能迅速得出相應的結果,為決策者解決問題提供一種快速的、具有較強實用價值的方法。12 ahp 的基本原理和步驟6ahp 的內容和決策方法是由它的基本原理確定的。ahp 的原理包括遞階層次結構原理、標度原理、排序原理。71.2.1 遞階層次結構原理一個

11、復雜的問題可分解為它的目標、約束準則和方案等因素, 按照不同屬性把這些因素分組形成互不相交的層次, 上一層的因素對相鄰下一層次的全部或部分因素起著支配作用 , 形成按層次自上而下的逐層支配關系, 而每一層都要通過兩兩比較, 導出第 4 頁它們包含的因素的相對重要性排序權值, 具有這種性質的層次稱為遞階層次結構。這種遞階層次的分解與綜合的研究思想在自然科學和社會科學中已被廣泛采用。人們的決策思維中的分解與綜合, 人們的邏輯判斷也常常具有遞階層次原則的特點。采用的遞階層次結構會使面臨的問題在一定程度上反映了系統的有序性, 它提供了一種深入認識和處理系統的方式, 把看來雜亂無章的各種復雜的決策因素統

12、一起來, 按系統的功能與行為進行深入研究。因此, 以遞階層次思想作為決策思維的一種方式, 是 ahp的核心。1.2.2 標度原理不同標度可能產生不同的方案排序, 從而直接或間接地影響著人們的決策。 因此,對各種標度進行分析研究與比較評價,無論是對ahp 的理論發(fā)展和實際應用都是有意義的。文獻8采用判斷矩陣的一致性指標評價標度選擇的合理性,以具有最小一致性比例指標的標度方案作為最終評價結果。文獻9提出了評價標度的兩個準則,即實用性和客觀性,但沒有系統、全面地研究標度評價的指標體系。此外,標度評價研究缺少在實例中進行驗證,均沒有充足的說服力。ahp 規(guī)定了測度方式是通過兩兩比較判斷給出的比較的依據

13、為標度,這種標度用的是 19 整數及其倒數來表示 , 叫比例標度。其中 t.l.saaty的九級標度法及其含義見下表10。表 1-1 saaty九級標度法及其含義標度定義(比較因素 i 與 j)1 因素 i 與 j 同樣重要3 因素 i 與 j 稍微重要5 因素 i 與 j 較強重要7 因素 i 與 j 強烈重要9 因素 i 與 j 絕對重要2, 4, 6, 8 上述兩相鄰判斷的中間值1 9 的倒數表示因素 i 與因素 j 比較的標度值等于因素j 與因素 i 比較的標度值的倒數1.2.3 排序原理ah p 單一準則下的排序問題實質上是由一組元素兩兩比較得到重要性測度組成的判斷矩陣nnijaa)

14、(, 它具有正值、互反性和基本一致性。并且和排序測度w 之間具有na關系。在一致性情況下 , 比較測度a與排序測度w之間可以轉化為對方程組。0)(nia求解未知的 , 從矩陣代數 perron-frobineus理論知 , 正矩陣的實特征根所對應的歸一化特征向量是唯一的 , 而最大的特征根 max, 可通過求解maxa得到。第 5 頁因此, 把上式看成比較測度a與導出測度w的關系 , 從而單一準則下的排序問題化為對上式的求解。這種特征根法是解決從比較測度求出排序權值的一種方法。通過層次分析法的基本原理,我們知運用ahp 解決問題,大體可以把步驟總結如下:111、定義問題,確定要完成的目標。2、

15、從最高層 (目標),通過中間層 (準則)到最低層 (方案)構成一個層次結構模型。如圖 1 所示:圖 1 層次結構模型圖3、構造一系列下層各因素對上一層準則的兩兩比較判斷矩陣。如,針對圖中準則層 1,作方案 1 與方案 2,方案 1 與方案 3, ,方案 1 與方案 n,方案 2 與方案3, ,方案 n-1 與方案 n 等比較,從而得到判斷矩陣b,其形式如表 1-2 所示。表 1-2判斷矩陣 bc1c2cnc1b11b12b1nc2b21b22b2ncnbn1bn2bnn4、在第 3 步里建立判斷矩陣所需要的2)1(nn個判斷。5、完成所有的兩兩比較,輸入數據,計算最大正特征值,計算一致性指標c

16、r。6、對各層次完成第3、4、5 步的計算。7、層次合成計算。8、如整個層次綜合一致性不通過,要對某些判斷作適當的改善,例如修改作成對比較判斷時所提的問題。 如一定要修改問題的結構, 則就要回到第 2 步,不過只要第 6 頁對層次結構中有問題的部分作相應修改即可。1.3 ahp 的層次總排序及其一致性檢驗1.3.1 層次總排序根據判斷矩陣計算本層次指標與上一層次指標之間的重要性程度的相對值(即權重值)的過程,稱為層次單排序。 采用的方法為求判斷矩陣最大特征值及對應的特征向量并將其歸一化。層次總排序是計算同層次所有元素對最高層次的相對重要性權值。也就是利用上一層次單排序結果計算更高層的排隊順序。

17、例如,在已經得到方案層對準則層、準則層對目標層的單排序后,把尋求方案因素對目標層的優(yōu)劣順序稱為方案總排序。假設最高層 a 包含 m 個因素 a1, a2, , am, 對目標層總的排序權值為1a ,2a , ,ma ;下一層包含 n 個因素 fl,f2,fn,它們對因素 a1,a2,am。的層次單排序權值為121111222212mmmnnnwwwwwwwww計算中取 fk與 aj無關則 wij=0,相關則 wij=l,形成相關矩陣 (具體形式見表 1-3)。計算得到 f 層的總排序權值 (見表 1-3)。最后得到 f 層總的排序的隨機一致性比率為:jmjjmjjriaciacr1j1/當 c

18、r0(2) ija jia = l (3) iia =l 輸 入 準 則 層 層 數輸 入 準 則 層 對 目 標 層判 斷 矩 陣 元 素ija判 斷 矩 陣 歸 一 化 計 算c r 0 . 1輸 入 準 則 層 第 j 個 準 則包 含 的 方 案 數 量 n判 斷 矩 陣 歸 一 化 計 算輸 入 方 案 層 第 j個 準 則層 的 判 斷 矩 陣 元 素 bijc r 0 .1另 m = 1 ;n = 1輸 入 方 案 層 第 m 個 準則 層 的 相 關 矩 陣 元 素計 算 權 值 矩 陣權 值af的 計 算總 c r 計 算開 始結 束c r 9)=b(find(a9); %借

19、助 b,將 917分別轉化為1219a(find(a=8.1)=8; e=eye(n); %產生一個 4 階單位陣c=1./a; %將 a 中每個元素換成相應倒數c=c; %將 c 轉置c=tril(c,-1); %抽取 c 的下三角 (不含主對角線 ) a=triu(a,1); %抽取 a 的上三角 (不含主對角線 ) a=a+c+e; %實現隨機成對比較陣a k=size(a,1); %計算 a 的行維數ri=ri+(max(abs(eig(a)-k)/(k-1); %計算 100次 ri 值end ri/m %計算平均 ri 值第 12 頁33 ahp 各環(huán)節(jié)的matlab 實現以目標矩

20、陣a=1351 3131 51 31,準則層矩陣為p1=121 21, p2=1351 3131 51 31,p3=121 21為例,運用 matlab 進行數據處理。3.3.1 特征向量及其歸一化的matlab實現matlab 中求矩陣特征值和特征向量的函數是eig, 其調用的格式為 v,d=eig(a),其中,v 為特征向量矩陣, d 為特征值矩陣。層次分析法中需要求得是最大特征值及對應的歸一化特征向量,而且考慮到eig 函數在求得的特征值中可能會存在復數。因此,運用直接輸入程序代碼會產生一定的誤差。在此需要對求得的v、d 進行適當選擇,定義一個 m-file maxeigvalvec.m

21、 來實現。functionmaxeigval,w=maxeigvalvec(a) %求最大特征值及對應的歸一化特征向量%a 為判斷矩陣eigvec,eigval=eig(a); eigval=diag(eigval); %特征向量eigvalmag=imag(eigval); realind=find(eigvalmag=0.10 disp(input(矩陣沒通過一致性檢驗,請重新調整判斷矩陣) else disp(input(矩陣通過一致性檢驗 ); 第 14 頁end 在 matlab 中鍵入如下指令:ria,cia= sglsortexamine(max(1),a); rip1,cip1

22、= sglsortexamine(max(2),p1); rip2,cip2= sglsortexamine(max(3),p2); rip3,cip3= sglsortexamine(max(4),p3); 運行結果如下:矩陣通過一致性檢驗矩陣通過一致性檢驗矩陣通過一致性檢驗矩陣通過一致性檢驗3.3.3 一致性檢驗及總排序的matlab實現通過層次單排序 (權重)計算后,進行層次合成計算, 在此本文定義 tolsortvec.m函數計算層次總排序的權重并進行一致性檢驗。function tw=tolsortvec(utw,dw,cic,ric) % 求層次總排序權重并進行一致性檢驗% utw

23、 為上一層因素的總排序權重行向量% dw 為下一層因素相對于上一層各因素的層次單排序權重矩陣% cic 為一致性指標列向量% ric 為隨機一致性指標列向量tw=dw*utw cr=utw*cic/(utw*ric); if cr=0.10 disp(input(層次總排序沒通過一致性檢驗,請重新調整判斷矩陣); else disp(input(層次總排序通過一致性檢驗); end 在 matlab 中輸入如下指令:dw=zeros(7,3); dw=(1:2,1)=wp1; dw=(3:5,2)=wp2; dw=(6:7,3)=wp3; cic=cip1;cip2;cip3; ric=rip

24、1;rip2;rip3; tw= tolsortvec(wa,dw,cic,ric);運行結果如下:tw= 0.4247 0.2123 0.0667 0.1646 0.0270 第 15 頁0.0698 0.0349 層次總排序通過一致性檢驗其中 tw 是層次總排序結果。因此,根據數據建立如下的層次總排序表。表 3-3 層次總排序表(權重)a p a 層次 p 的總排序結果注0.6370 0.2583 0.1047 p10.6667 0 0 0.4247 0.3333 0 0 0.2123 p20 0.2583 0 0.0667 0 0.6370 0 0.1646 0 0.1047 0 0.0

25、270 p30 0 0.6667 0.0698 0 0 0.3333 0.0349 注:按概率乘法,p層次總排序指標的權重值為np層次指標的權重與相應上一層次指標an層權重的積,且總排序權重值的和為1。3.3.4 選擇最優(yōu)排序計算出層次總排序后, 為了使決策者能迅速得出結果, 本文對層次總排序進行最優(yōu)排序。運用 matlab 鍵入如下指令:n=length(tw); for i=1:n t=max(tw); b(i)=t; m n=find(a=t); tw(n)=; end b 運行結果如下:b= 0.4247 0.2123 0.1646 0.0698 0.0667 第 16 頁0.0349

26、 0.0276 利用 matlab 大大縮短了計算復雜矩陣的時間,為決策者節(jié)省了寶貴的時間,從而有更多的精力投入其他事務。4基于 matlab的 ahp 應用41 挑選合適工作問題某畢業(yè)生選擇工作,經雙方懇談,假設已有三個單位c1,c2,c3表示愿意錄用他。該生對三個單位進行了解后,選取了一些中間指標進行考察,例如單位的研究課題,發(fā)展前途,待遇,同事情況,地理位置,單位名氣等。根據層次分析法,試求該生工作優(yōu)先排序(給出權值、計算程序) ,并給出最終選擇決策。現以 a、b、c 表示選擇工作的三個層次,建立如下結構模型:圖 3 選擇單位層次結構圖根據成對比較法,得到相應判斷矩陣如下表:表 4-1

27、a-b 判斷矩陣ab1b2b3b4b5b6b11 1 1 4 1 1/2 b21 1 2 4 1 1/2 b31 1/2 1 5 3 1/2 b41/4 1/4 1/5 1 1/3 1/3 b51 1 1/3 3 1 1 b62 2 2 3 3 1 第 17 頁表 4-2 b1c 判斷矩陣1b1c2c3c1c1 1/4 1/2 2c4 1 3 3c2 1/3 1 表 4-3 b2c 判斷矩陣2bc1c2c3c11 1/4 1/5 c24 1 1/2 c35 2 1 表 4-4 b3c 判斷矩陣3bc1c2c3c11 3 1/3 c21/3 1 1/7 c33 7 1 表 4-5 b4c 判斷矩

28、陣4bc1c2c3c11 1/3 5 c23 1 7 c31/5 1/7 1 第 18 頁表 4-6 b5c 判斷矩陣5bc1c2c3c11 1 7 c21 1 7 c31/7 1/7 1 表 4-7 b6c 判斷矩陣6bc1c2c3c11 7 9 c21/7 1 1 c31/9 1 1 現在在 matlab 中分別用直接輸入程序法和m文件方法求解。1) 、直接輸入代碼法:在 matlab 中輸入如下程序:a = 1,1,1,4,1,1/2; 1,1,2,4,1,1/2; 1,1/2,1,5,3,1/2; 1/4,1/4,1/5,1,1/3,1/3; 1,1,1/3,3,1,1; 2,2,2,

29、3,3,1; b1 = 1,1/4,1/2;4,1,3;2,1/3,1; b2 = 1,1/4,1/5;4,1,1/2;5,2,1; b3 = 1,3,1/3;1/3,1,1/7;3,7,1; b4 = 1,1/3,5;3,1,7;1/5,1/7,1; b5 = 1,1,7;1,1,7;1/7,1/7,1; b6 = 1,7,9;1/7,1,1;1/9,1,1; bs = b1,b2,b3,b4,b5,b6; m = length(b1);n = length(a); %隨機一致性指標ri ri = 0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.5

30、1; wa,la = eig (a) %求 a 的特征向量wa 和特征根la maxn=input(please input largest eigenvalue:); %輸入最大特征根cin = (maxn- n) / (n - 1); crn = cin / ri(n); %a 的一致性比率crn wa=wa(:,1)/sum(wa(:,1); %特征向量歸一化第 19 頁if crn 0.10 fprintf(a 的 cr %f 通過一致性檢驗!n,crn); %控制文本格式else fprintf(a 的 cr %f 未通過一致性檢驗!n,crn); end for k = 1:n %

31、求 b 的特征向量wk 和特征根lk wb,lk = eig( bs(1:3,(k-1)*m+1:(k-1)*m+3) ) max(k)=input(please input largest eigenvalue:); cim(k) = (max(k)- m) / (m - 1); rim(k) = ri(m); crm(k) = cim(k) / rim(k); %b 的一致性比率crm wk(:,k)= wb(:,1)/sum(wb(:,1);end for k = 1:n if crm(k) 0.10 fprintf(b%d的 cr %f 通過一致性檢驗!n,k,crm(1,k); %控

32、制文本格式else fprintf(b%d的 cr %f 未通過一致性檢驗!n,k,crm(1,k); end end disp(準則層對目標層權向量); disp(wa); disp(方案層對準則層權向量); disp(wk); e = wk * wa disp(方案層組合權向量);disp(e); ci = cim * wa; ri = rim * wa; cr = ci / ri; %組合一致性比率cr if cr 0.10 fprintf( 組合一致性比率cr %f 通過一致性檢驗!n,crn); else fprintf( 組合一致性比率cr %f 未通過一致性檢驗!n,crn);

33、end max,choice = max(e); %最佳選擇choice matlab 運行結果如下:wa = -0.3396 -0.1255 - 0.0563i -0.1255 + 0.0563i 0.7354 -0.1896 + 0.3838i -0.1896 - 0.3838i -0.4038 -0.1884 - 0.5736i -0.1884 + 0.5736i -0.6464 -0.4476 - 0.2693i -0.4476 + 0.2693i -0.4249 0.6724 0.6724 0.0834 0.3884 - 0.0605i 0.3884 + 0.0605i -0.106

34、3 -0.0138 + 0.0429i -0.0138 - 0.0429i -0.0405 -0.0592 - 0.0922i -0.0592 + 0.0922i -0.3298 -0.1384 + 0.3417i -0.1384 - 0.3417i -0.1217 0.0035 + 0.1640i 0.0035 - 0.1640i -0.6488 -0.1467 - 0.0710i -0.1467 + 0.0710i 0.1337 0.5920 0.5920 第 20 頁la = 6.6178 0 0 0 0 0 0 -0.1557 + 1.2808i 0 0 0 0 0 0 -0.1557

35、 - 1.2808i 0 0 0 0 0 0 -0.0603 0 0 0 0 0 0 -0.1230 + 0.5461i 0 0 0 0 0 0 -0.1230 - 0.5461i please input largest eigenvalue:6.6178 a 的 cr 0.099645 通過一致性檢驗! wb = 0.1999 0.1000 + 0.1731i 0.1000 - 0.1731i 0.9154 -0.9154 -0.9154 0.3493 0.1747 - 0.3025i 0.1747 + 0.3025i lk = 3.0183 0 0 0 -0.0091 + 0.2348i

36、 0 0 0 -0.0091 - 0.2348i please input largest eigenvalue: 0.1999 wb = 0.1460 0.0730 + 0.1265i 0.0730 - 0.1265i 0.4994 0.2497 - 0.4325i 0.2497 + 0.4325i 0.8540 -0.8540 -0.8540 lk = 3.0246 0 0 0 -0.0123 + 0.2725i 0 0 0 -0.0123 - 0.2725i please input largest eigenvalue:3.0246 wb = 0.3382 -0.1691 + 0.29

37、29i -0.1691 - 0.2929i 0.1226 -0.0613 - 0.1062i -0.0613 + 0.1062i 0.9331 0.9331 0.9331 lk = 3.0070 0 0 0 -0.0035 + 0.1453i 0 第 21 頁0 0 -0.0035 - 0.1453i please input largest eigenvalue: 3.0070 wb = 0.3928 -0.1964 + 0.3402i -0.1964 - 0.3402i 0.9140 0.9140 0.9140 0.1013 -0.0506 - 0.0877i -0.0506 + 0.08

38、77i lk = 3.0649 0 0 0 -0.0324 + 0.4448i 0 0 0 -0.0324 - 0.4448i please input largest eigenvalue:3.0649 wb = -0.7035 -0.3392 0.6619 -0.7035 -0.9233 -0.7495 -0.1005 0.1804 0.0125 lk = 3.0000 0 0 0 0.0000 0 0 0 -0.0000 please input largest eigenvalue: 3.0000 wb = -0.9844 0.9844 0.9844 -0.1293 -0.0647 -

39、 0.1120i -0.0647 + 0.1120i -0.1189 -0.0595 + 0.1030i -0.0595 - 0.1030i lk = 3.0070 0 0 0 -0.0035 + 0.1453i 0 0 0 -0.0035 - 0.1453i please input largest eigenvalue: 3.0070 b1 的 cr -2.413879 通過一致性檢驗! b2 的 cr 0.021207 通過一致性檢驗! b3 的 cr 0.006034 通過一致性檢驗! b4 的 cr 0.055948 通過一致性檢驗! b5 的 cr 0.000000 通過一致性檢驗

40、! 第 22 頁b6 的 cr 0.006034 通過一致性檢驗! 準則層對目標層權向量0.1507 0.1792 0.1886 0.0472 0.1464 0.2879 方案層對準則層權向量0.1365 0.0974 0.2426 0.2790 0.4667 0.7986 0.6250 0.3331 0.0879 0.6491 0.4667 0.1049 0.2385 0.5695 0.6694 0.0719 0.0667 0.0965 e = 0.3952 0.2996 0.3052 方案層組合權向量0.3952 0.2996 0.3052 組合一致性比率cr 0.099645 通過一致性

41、檢驗! choice = 1 2) 、m文件法:根據第三章節(jié)的層次分析法各環(huán)節(jié)的matlab 實現定義如下三個函數:(1) 定義 maxeigvalvec.m來實現最大特征根及對應的歸一化特征向量。functionmaxeigval,w=maxeigvalvec(a) %求最大特征值及對應的歸一化特征向量%a 為判斷矩陣eigvec,eigval=eig(a); eigval=diag(eigval); %特征向量eigvalmag=imag(eigval); realind=find(eigvalmag=0.10 disp(input(矩陣沒通過一致性檢驗,請重新調整判斷矩陣) else d

42、isp(input(矩陣通過一致性檢驗 ); end (3)定義 tolsortvec.m 函數計算層次總排序的權重并進行一致性檢驗。function tw=tolsortvec(utw,dw,cic,ric) % 求層次總排序權重并進行一致性檢驗% utw 為上一層因素的總排序權重行向量% dw 為下一層因素相對于上一層各因素的層次單排序權重矩陣% cic 為一致性指標列向量% ric 為隨機一致性指標列向量tw=dw*utw; cr=utw*cic/(utw*ric); if cr=0.10 disp(input(層次總排序沒通過一致性檢驗,請重新調整判斷矩陣); else disp(in

43、put(層次總排序通過一致性檢驗); end %main.m 主程序clear; a = 1,1,1,4,1,1/2; 1,1,2,4,1,1/2; 1,1/2,1,5,3,1/2; 1/4,1/4,1/5,1,1/3,1/3; 1,1,1/3,3,1,1; 2,2,2,3,3,1; b1 = 1,1/4,1/2;4,1,3;2,1/3,1; b2 = 1,1/4,1/5;4,1,1/2;5,2,1; b3 = 1,3,1/3;1/3,1,1/7;3,7,1; b4 = 1,1/3,5;3,1,7;1/5,1/7,1; b5 = 1,1,7;1,1,7;1/7,1/7,1; b6 = 1,7,

44、9;1/7,1,1;1/9,1,1; 第 24 頁max(1),wa=maxeigvalvec(a); max(2),wb1=maxeigvalvec(b1); max(3),wb2=maxeigvalvec(b2); max(4),wb4=maxeigvalvec(b4); max(5),wb3=maxeigvalvec(b3); max(6),wb5=maxeigvalvec(b5); max(7),wb6=maxeigvalvec(b6); ria,cia=sglsortexamine(max(1),a); rib1,cib1=sglsortexamine(max(2),b1); rib

45、2,cib2=sglsortexamine(max(3),b2); rib3,cib3=sglsortexamine(max(4),b3); rib4,cib4=sglsortexamine(max(5),b4); rib5,cib5=sglsortexamine(max(6),b5); rib6,cib6=sglsortexamine(max(7),b6); dw=zeros(18,6); dw(1:3,1)=wb1;dw(4:6,2)=wb2;dw(7:9,3)=wb3;dw(10:12,4)=wb4; dw(13:15,5)=wb5;dw(16:18,6)=wb6; cic=cib1;c

46、ib2;cib3;cib4;cib5;cib6; ric=rib1;rib2;rib3;rib4;rib5;rib6; tw=tolsortvec(wa,dw,cic,ric); n=length(a); max,choice = max(n); %最佳選擇choice matlab 運行結果如下:maxeigval = 6.6178 w = 0.1507 0.1792 0.1886 0.0472 0.1464 0.2879 maxeigval = 3.0183 w = 0.1365 0.6250 0.2385 第 25 頁maxeigval = 3.0246 w = 0.0974 0.333

47、1 0.5695 maxeigval = 3.0649 w = 0.2790 0.6491 0.0719 maxeigval = 3.0070 w = 0.2426 0.0879 0.6694 maxeigval = 3.0000 w = 0.4667 0.4667 0.0667 maxeigval = 3.0070 w = 0.7986 0.1049 0.0965 矩陣通過一致性檢驗矩陣通過一致性檢驗矩陣通過一致性檢驗第 26 頁矩陣通過一致性檢驗矩陣通過一致性檢驗矩陣通過一致性檢驗矩陣通過一致性檢驗層次總排序通過一致性檢驗choice = 1 由此分析得,通過層次分析法并且結合matlab ,該生很容易便能作出了決策,選擇工作 1。而且容易得出如下表的層次總排序:表 4-7 層次總排序b1b2b3b4b5b6層次總排序0.1507 0.1792 0.1886 0.0472 0.1464 0.2879 c10.1365 0.0974 0.2426 0.2790 0.4667 0.7986 0.3952 c20.6250 0.3331 0.0879 0.6491 0.4667 0.1049 0.2996 c30.2385 0.5695 0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論