日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数学建模】第一讲-层次分析法

發布時間:2023/12/14 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数学建模】第一讲-层次分析法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????

目錄

??????一、簡介及前言(層次分析法解決評價類問題)

二、構造判斷矩陣(準則層、方案層)

三、一致性檢驗(CR=CI/RI)

四、計算權重(算數平均、幾何平均、特征值)

五、計算得分(Excel)

六、論文寫作(SmartArt、畫圖)

七、代碼實現(MATLAB)


一、簡介及前言

層次分析法(Analytic Hierarchy Process,簡稱AHP),是指將與?決策有關的元素分解成目標、準則、方案等層次,在此基礎之上進行定性和定量分析的決策方法。

層次分析法是將決策問題按總目標、各層子目標、評價準則直至具體的備投方案的順序分解為不同的層次結構,然后用求解判斷矩陣特征向量的辦法,求得每一層次的各元素對上一層次某元素的優先權重,最后再加權和的方法遞階歸并各備擇方案對總目標的最終權重,此最終權重最大者即為最優方案。

層次分析法比較適合于具有分層交錯評價指標的目標系統,而且目標值又難于定量描述的決策問題。

層次分析法是建模比賽中最常用的模型,主要用于解決評價類問題。評價類問題可用打分解決。

如果直接打分問權重:

?

?

?關鍵在于如何確定這些權重

?

二、構造判斷矩陣

??

采用指標兩兩比較的方法確定最終權重

??

?aij與列指標相比,行指標的重要程度(行是列的幾倍)

滿足主對角線全為1,aij*aji=1,則稱正互反矩陣也就是層次分析法中的判斷矩陣。

??

準則層各個指標構造一次得出權重。

方案層針對準則層每個指標構造判斷矩陣得出各個權重。

三、一致性檢驗

??

?? ? ? ? ? ? ? ? ? ??

列與列成比例,比值為?ajk。? ? ? ? ?行與行成比例,比值為aij

?

?一致性檢驗:檢驗我們構造的判斷矩陣與一致矩陣的差距大小

?

?

四、計算權重

?五、計算得分

六、論文寫作

七、代碼實現

clear;clc %第一步:輸入判斷矩陣 A=input('請輸入判斷矩陣'); %A = [1,2,4;1/2,1,2;1/4,1/2,1];%第二步:一致性檢驗(求CI、RI、CR) E = eig(A);%得到一個所有特征值構成的列向量 lambda_max = max(E);%最大特征值 n = size(A,1);%指標數即行列數 CI = (lambda_max-n)/(n-1); RI = [0 0.0001 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]; %注意哦,這里的RI最多支持 n = 15 CR = CI/RI(n); disp(['一致性比例CR為' num2str(CR)]); if CR<0.1disp('一致性檢驗通過。') elsedisp('一致性檢驗不通過。') end%第三步:判斷矩陣求權重 [n,n] = size(A); %--------算數平均法--------% sum_A = repmat(sum(A),n,1);%按列求和得到行向量,行向量向下復制成r行 average_A = A./sum_A;%按列歸一化 average_A1 = sum(average_A,2)./n;%按行求和再除以指標數n disp('算數平均法得出的權重:'); disp(average_A1); %--------幾何平均法--------% product_A = prod(A,2).^(1/n);%按行求幾何平均值得到列向量(和算數平均有區別!!) product_A1 = product_A./sum(product_A);%歸一化 disp('幾何平均法得出的權重:'); disp(product_A1); %--------特征值法--------% [V,D] = eig(A);%V:一列列特征向量構成的矩陣D:特征值對角陣 eig_max = max(max(D));%最大特征值 [r,c] = find(D==eig_max,1);%最大特征值所在列find(logic,1)只找第一個不為0的 eig_vetor_max = V(:,c);%最大特征值對應的特征向量 eig_vetor_max1 = eig_vetor_max./sum(eig_vetor_max);%歸一化 disp('特征值法得出的權重:'); disp(eig_vetor_max1);

總結

以上是生活随笔為你收集整理的【数学建模】第一讲-层次分析法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。