国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)學(xué)建模:層次分析法(AHP)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)學(xué)建模:層次分析法(AHP)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

層次分析法簡(jiǎn)介

層次分析法(Analytic Hierarchy Process,AHP)是一種多準(zhǔn)則決策方法,用于解決復(fù)雜的決策問(wèn)題。它是由美國(guó)數(shù)學(xué)家托馬斯·薩亞基(Thomas L. Saaty)于20世紀(jì)70年代提出的。其基本思想是將復(fù)雜的決策問(wèn)題分解為層次結(jié)構(gòu),通過(guò)對(duì)準(zhǔn)則和方案進(jìn)行定量和定性的比較,最終得出最佳決策。層次結(jié)構(gòu)由準(zhǔn)則層、子準(zhǔn)則層和方案層組成,準(zhǔn)則層表示決策問(wèn)題的目標(biāo)和標(biāo)準(zhǔn),子準(zhǔn)則層表示實(shí)現(xiàn)目標(biāo)的具體要素,方案層表示可選的決策方案。在AHP中,通過(guò)構(gòu)建判斷矩陣來(lái)比較準(zhǔn)則和方案之間的重要性。判斷矩陣是一個(gè)方陣,其中每個(gè)元素表示兩個(gè)準(zhǔn)則或方案之間的比較結(jié)果。通過(guò)對(duì)準(zhǔn)則和方案進(jìn)行兩兩比較,可以得到判斷矩陣。然后,通過(guò)計(jì)算判斷矩陣的特征向量,可以得出準(zhǔn)則和方案的權(quán)重,用于進(jìn)行綜合決策。在進(jìn)行判斷矩陣的構(gòu)建和權(quán)重計(jì)算時(shí),AHP還考慮了一致性的問(wèn)題。一致性是指比較結(jié)果的合理性和穩(wěn)定性。AHP通過(guò)計(jì)算一致性指標(biāo)和一致性比率來(lái)檢驗(yàn)判斷矩陣的一致性,確保比較結(jié)果的可靠性。AHP可以應(yīng)用于各種決策問(wèn)題,例如項(xiàng)目選擇、投資決策、供應(yīng)商選擇、產(chǎn)品評(píng)估等。它提供了一種系統(tǒng)化和結(jié)構(gòu)化的方法,幫助決策者在面對(duì)復(fù)雜的決策問(wèn)題時(shí)做出明智的選擇。

題目舉例

請(qǐng)為大學(xué)畢業(yè)的青年建立一個(gè)選擇志愿的層次結(jié)構(gòu)模型.

解題步驟

Ⅰ、建立層次結(jié)構(gòu)

首先對(duì)題目進(jìn)行問(wèn)題分析并搜索多方面資料對(duì)問(wèn)題進(jìn)行回答。

1.為什么要選擇志愿?(目標(biāo)層)

????????為同學(xué)選擇最合適的發(fā)展路線。

2.有什么因素影響志愿選擇?(準(zhǔn)則層)

????????經(jīng)濟(jì)情況、學(xué)習(xí)情況、興趣情況、性格情況、家庭情況。

3.選擇的志愿類(lèi)型有哪些?(方案層)

????????工作、考公、讀研、創(chuàng)業(yè)。

建立層次結(jié)構(gòu)圖如下:

?層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

????????圖1-1 層次結(jié)構(gòu)圖

Ⅱ、構(gòu)造判斷矩陣

我們的解題目標(biāo)為填寫(xiě)出權(quán)重表格。

假設(shè)各準(zhǔn)則之間相互獨(dú)立。

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖2-1 權(quán)重表格

通過(guò)進(jìn)行各準(zhǔn)則與各方案的關(guān)系判斷矩陣求出權(quán)重比例。構(gòu)造空白目標(biāo)判斷矩陣如下:

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖2-2 判斷矩陣O-C

空白處為各準(zhǔn)則之間的比例關(guān)系。通過(guò)簡(jiǎn)單的分治策略可以輕松求出。這里以經(jīng)濟(jì)和學(xué)習(xí)進(jìn)行舉例。

eg:

重要程度表如下:

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖2-3 重要程度表

根據(jù)重要程度表進(jìn)行專(zhuān)家判斷得出判斷矩陣如下:

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖2-4 判斷矩陣O-C

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖2-5 判斷矩陣C-P

Ⅲ、一致性檢驗(yàn)

對(duì)所有判斷矩陣進(jìn)行一致性檢驗(yàn)通過(guò)后才能進(jìn)行求權(quán)重。

首先需要了解兩個(gè)概念:

①矩陣中的所有元素均大于0且滿足Aij*Aji=1,即正互反矩陣。

②在正互反矩陣中滿足Aij*Ajk=Aik,即一致矩陣。

以圖2-5中C1-P舉例,當(dāng)i=1,j=2,k=4時(shí):

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

圖3-1 判斷矩陣C1-P

?層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

即①條件滿足。

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

*一致矩有一個(gè)特征值為n,其余為0。

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

即②條件滿足。

接下來(lái)進(jìn)行一致性檢驗(yàn):

1.計(jì)算一致性指標(biāo)CI

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

其中:n為矩陣的階,λmax為矩陣最大特征值。

clear;clc
disp('判斷矩陣A: ')
A = [1 1/2 2 1 2;
 2 1 4 2 1;
 1/2 1/4 1 1/2 1/4;
 1 1/2 2 1 1/2;
 1/2 1 4 2 1]
?
[row,col] = size(A);
[V,D] = eig(A); 
% 求最大特征值
MAX_D = max(max(D)); 
CI = (MAX_D - row) / (row - 1)
CI = 0.0613
2.查找對(duì)應(yīng)的平均隨機(jī)一致性指標(biāo)RI

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

平常n大多小于10,如果超過(guò)10可以考慮建立二級(jí)指標(biāo)體系。

3.計(jì)算一致性比例CR

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab

如果CR<0.1,則可認(rèn)為判斷矩陣的一致性可以接受,否則需要對(duì)判斷矩陣進(jìn)行修正。

clear;clc
disp('判斷矩陣A: ')
A = [1 1/2 2 1 2;
 2 1 4 2 1;
 1/2 1/4 1 1/2 1/4;
 1 1/2 2 1 1/2;
 1/2 1 4 2 1]
?
[row,col] = size(A);
[V,D] = eig(A); 
% 求最大特征值
MAX_D = max(max(D)); 
CI = (MAX_D - row) / (row - 1);
CR = CI / 1.12
if CR < 0.1 
 ? ?disp('True')
else
 ? ?disp('False')
end
CR = 0.0548
True

Ⅳ、合成權(quán)重

權(quán)重合成方法有三種:算數(shù)平均值法、幾何平均值法、特征值法。

1.算數(shù)平均值法
clear;clc
disp('判斷矩陣A: ')
A = [1 1/2 2 1 2;
 2 1 4 2 1;
 1/2 1/4 1 1/2 1/4;
 1 1/2 2 1 1/2;
 1/2 1 4 2 1]
?
%% 方法1:算術(shù)平均法求權(quán)重
% 第一步:將判斷矩陣按照列歸一化(每一個(gè)元素除以其所在列的和)
Sum_col_A = sum(A);
% 求出A的行列大小
[row,col] = size(A); 
% 構(gòu)造出中間矩陣
Temp_A = repmat(Sum_col_A,row,1);
clc;
% 得出答案
Stand_A = A ./ Temp_A;
% 這里我們直接將兩個(gè)矩陣對(duì)應(yīng)的元素相除即可
% 第二步:將歸一化的各列相加
Stand_SUM_A = sum(Stand_A,2);
% 第三步:將得到的向量點(diǎn)除階數(shù)得到權(quán)重
ans_A = Stand_SUM_A ./ row;
ans_A.'
% 檢驗(yàn)求出的矩陣和是否為一,為一表示正確
if sum(ans_A) == 1
 ? ?disp("True")
else
 ? ?disp("False")
end
// 得出權(quán)重
ans_A.' = [0.2165 ?  0.3067 ?  0.0767 ?  0.1534 ?  0.2467]
2.幾何平均值法
clear;clc
disp('判斷矩陣A: ')
A = [1 1/2 2 1 2;
 2 1 4 2 1;
 1/2 1/4 1 1/2 1/4;
 1 1/2 2 1 1/2;
 1/2 1 4 2 1]
 
%% 方法2:幾何平均法求權(quán)重
% 第一步:將A的元素按照行相乘得到一個(gè)新的列向量
Prduct_A = prod(A,2)
% 第二步:將新的向量的每個(gè)分量開(kāi)n次方
% 求出A的行列大小
[row,col] = size(A); 
Prduct_row_A = Prduct_A .^ (1/row)
% 第三步:對(duì)該列向量進(jìn)行歸一化即可得到權(quán)重向量
% 即將這個(gè)列向量中的每一個(gè)元素除以這一個(gè)向量的和
ans_A = Prduct_row_A ./ sum(Prduct_row_A)
% 檢驗(yàn)求出的矩陣和是否為一,為一表示正確
if sum(ans_A) == 1
 ? ?disp("True")
else
 ? ?disp("False")
end
// 得出權(quán)重
ans_A.' = [0.2083 ?  0.3157 ?  0.0789 ?  0.1578 ?  0.2393]
3.特征值法
clear;clc
disp('判斷矩陣A: ')
A = [1 1/2 2 1 2;
 2 1 4 2 1;
 1/2 1/4 1 1/2 1/4;
 1 1/2 2 1 1/2;
 1/2 1 4 2 1]
 
%% 方法3:特征值法
% 第一步:求出矩陣A的最大特征值以及其對(duì)應(yīng)的特征向量
[V,D] = eig(A); 
MAX_D = max(max(D)); 
[r,c] = find(D == MAX_D,1);
% 第二步:對(duì)求出的特征向量進(jìn)行歸一化即可得到我們的權(quán)重
ans_A = V(:,1) ./ sum(V(:,1))
% 檢驗(yàn)求出的矩陣和是否為一,為一表示正確
if sum(ans_A) == 1
 ? ?disp("True")
else
 ? ?disp("False")
end
// 得出權(quán)重
ans_A.' = [0.2223 ?  0.3059 ?  0.0765 ?  0.1530 ?  0.2424]

Ⅴ、得出權(quán)重表

根據(jù)判斷矩陣和準(zhǔn)則權(quán)重得出答案。

clear;clc;
% 三種方法得出的權(quán)重矩陣
weight_1 = [0.2165 ? ?0.3067 ? ?0.0767 ? ?0.1534 ? ?0.2467];
weight_2 = [0.2083 ? ?0.3157 ? ?0.0789 ? ?0.1578 ? ?0.2393];
weight_3 = [0.2223 ? ?0.3059 ? ?0.0765 ? ?0.1530 ? ?0.2424];
% C-P矩陣
C1 = [1 1/2 1 1/2;
 ? ?2 1 2 1;
 ? ?1 1/2 1 1/2;
 ? ?2 1 2 1;];
?
C2 = [1 1/2 1/2 1/2;
 ? ?2 1 1 1/2;
 ? ?2 1 1 1/2;
 ? ?2 2 2 1;];
?
C3 = [1 4 4 4;
 ? ?1/4 1 1 1;
 ? ?1/4 1 1 1;
 ? ?1/4 1 1 1;];
?
C4 = [1 1/2 2 2;
 ? ?2 1 4 4;
 ? ?1/2 1/4 1 1;
 ? ?1/2 1/4 1 1;];
?
C5 = [1 1 1/2 1/4;
 ? ?1 1 1/2 1/4;
 ? ?2 2 1 1/2;
 ? ?4 4 2 1;];
?
% 求權(quán)重
disp('算數(shù)平均值求解答案:')
C1_weight = C1(:,1) .* weight_1;
C1_weight = C1_weight(:,1)
?
C2_weight = C2(:,1) .* weight_1;
C2_weight = C2_weight(:,1)
?
C3_weight = C3(:,1) .* weight_1;
C3_weight = C3_weight(:,1)
?
C4_weight = C4(:,1) .* weight_1;
C4_weight = C4_weight(:,1)
?
C5_weight = C5(:,1) .* weight_1;
C5_weight = C5_weight(:,1)
?
disp('幾何平均值求解答案:')
C1_weight = C1(:,1) .* weight_2;
C1_weight = C1_weight(:,1)
?
C2_weight = C2(:,1) .* weight_2;
C2_weight = C2_weight(:,1)
?
C3_weight = C3(:,1) .* weight_2;
C3_weight = C3_weight(:,1)
?
C4_weight = C4(:,1) .* weight_2;
C4_weight = C4_weight(:,1)
?
C5_weight = C5(:,1) .* weight_2;
C5_weight = C5_weight(:,1)
?
disp('特征值求解答案:')
C1_weight = C1(:,1) .* weight_3;
C1_weight = C1_weight(:,1)
?
C2_weight = C2(:,1) .* weight_3;
C2_weight = C2_weight(:,1)
?
C3_weight = C3(:,1) .* weight_3;
C3_weight = C3_weight(:,1)
?
C4_weight = C4(:,1) .* weight_3;
C4_weight = C4_weight(:,1)
?
C5_weight = C5(:,1) .* weight_3;
C5_weight = C5_weight(:,1)

根據(jù)答案填寫(xiě)權(quán)重表。

層次分析法方案層必須是同一種類(lèi)型么,數(shù)學(xué)建模,matlab文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-799137.html

到了這里,關(guān)于數(shù)學(xué)建模:層次分析法(AHP)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包