评价模型:层次分析法

简介: 评价模型:层次分析法

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


1. 模型建立

1.1 建立层次结构模型

  在深入分析实际问题的基础上,将有关的各个因素按照不同属性自上而下地分解成若干层次,同一层的诸因素从属于上一层的因素或对上层因素有影响,同时又支配下一层的因素或受到下层因素的作用。最上层为目标层,通常只有1个因素,最下层通常为方案或对象层,中间可以有一个或几个层次,通常为准则或指标层,当准则过多时(一般为9个时)应进一步分解出子准则层。

  利用层次分析法,对大学生毕业后的选择进行排序:

1.2 构造判断矩阵

  层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重 并不一定相同。设 x i x_i xi与 y i y_i yi对 z z z的影响之比为 a i j a_{ij} aij,则 x i x_i xi与 y i y_i yi对 z z z的影响之比 a j i = 1 / a i j a_{ji}=1/a_{ij} aji=1/aij。

若矩阵 A = ( a i j ) m × n A=\left(a_{i j}\right)_{m\times n} A=(aij)m×n满足

( 1 )   a i j > 0 , ( 2 )   a j i = 1 a i j (1)\ a_{i j}>0, \quad (2)\ a_{j i}=\frac{1}{a_{i j}} (1)aij>0,(2)aji=aij1

则称之为正互反矩阵。

若矩阵A还满足

a i j a j k = a i k , ∀ i , j , k = 1 , 2 , ⋯   , n a_{i j} a_{j k}=a_{i k}, \forall i, j, k=1,2, \cdots, n aijajk=aik,∀i,j,k=1,2,⋯,n

则称之为一致矩阵。

n阶正互反矩阵A为一致矩阵当且仅当其最大特征根 λ max ⁡ = n \lambda_{\max }=n λmax=n ,且当正互反矩阵A非一致时,必有 λ max ⁡ > n \lambda_{\max }>n λmax>n。

关于如何确定 a i j a_{ij} aij的值,建议引用数字 1-9 及其倒数作为标度。下表列出了 1-9 标度的含义。

现构造准则层的判断矩阵如下:

表 2 准则层的判断矩阵

A B1 B2 B3 B4 B5
B1 1 2 1/2 1 5
B2 1/2 1 1/4 1/2 2
B3 2 4 1 2 3
B4 1 2 1/2 1 4
B5 1/5 1/2 1/3 1/4 1

接着构造方案层的判断矩阵如下:

表 3 方案层的判断矩阵

1.3 判断矩阵的一致性检验

对判断矩阵的一致性检验的步骤如下:

(1)计算一致性指标CI。

C I = λ max ⁡ − n n − 1 C I=\frac{\lambda_{\max }-n}{n-1} CI=n−1λmax−n

(2) 查找相应的平均随机一致性指标 RI,对于 n = 1 , 2 , ⋯   , 9 n=1,2, \cdots, 9 n=1,2,⋯,9,对应的RI值如下

(3) 计算一致性比例CR。

C R = C I R I C R=\frac{C I}{R I} CR=RICI

当CR < 0.10 时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正。

1.4 层次总排序及一致性检验

  首先确定准则层对于目标层的权向量 ω 0 \omega_{0} ω0,由于目标层的数量是一个,所以准则层对于目标层的权向量也是一个。先找到准则层的判断矩阵的最大特征值对应的特征向量,然后将此特征向量标准化,使其中的值分布在0和1之间,得到的结果就是准则层对于目标层的权向量;然后确定方案层对于准则层的权向量 ω 1 \omega_{1} ω1,由于准则层有5个指标,所以方案层对于准则层的权向量也是5个,使用同样的方法即可确定方案层对于准则层的5个权向量 ω 11 , ω 12 , ω 13 , ω 14 , ω 15 \omega_{11}, \omega_{12}, \omega_{13}, \omega_{14}, \omega_{15} ω11,ω12,ω13,ω14,ω15,即 ω 1 = [ ω 11 , ω 12 , ω 13 , ω 14 , ω 15 ] \omega_{1}=[\omega_{11}, \omega_{12}, \omega_{13}, \omega_{14}, \omega_{15}] ω1=[ω11,ω12,ω13,ω14,ω15];最后使用方案层对于准则层的权向量 与准则层对于目标层的权向量 加权平均,即可得到方案层4个方案的得分。

  对层次总排序也需作一致性检验,总排序随机一致性比例为

C R = ∑ j = 1 m C I ( j ) ω 0 ( j ) ∑ j = 1 m R I ( j ) ω 0 ( j ) , j = 1 , ⋯ m C R=\frac{\sum_{j=1}^{m} C I(j) \omega_{0}(j)}{\sum_{j=1}^{m} R I(j) \omega_{0}(j)}, j=1, \cdots m CR=∑j=1mRI(j)ω0(j)∑j=1mCI(j)ω0(j),j=1,⋯m

  其中m为准则层的个数。

2. 模型求解

利用Matlab编程求解得到准则层对于目标层的权向量 ω 0 \omega_{0} ω0为

0.2320,0.1094,0.3721,0.2189,0.0675

方案层对于准则层的权向量 ω 1 \omega_{1} ω1为

w1 = 4×5

0.4379    0.2437    0.3890    0.4385    0.3452
0.2437    0.2190    0.3609    0.1096    0.1850
0.0994    0.4379    0.1323    0.2652    0.0997
0.2190    0.0994    0.1177    0.1866    0.3701

准则层各指标的一致性检验结果为

cr1 = 1×5

0.0076    0.0076    0.0727    0.0225    0.0038

均小于0.1,认为判断矩阵的一致性是可以接受的。

  层次总排序得分为0.3923,0.2513,0.1850,0.1850,总排序一致性检验结果为0.0349<0.1,认为层次总排序结果具有较满意的一致性并接受该分析结果。

  Matlab程序如下:

clc,clear 
fid=fopen('ahp.txt','r'); 
n1=5;n2=4; 
a=[]; 
for i=1:n1 
 tmp=str2num(fgetl(fid));
 a=[a;tmp]; %读准则层判断矩阵
end 
for i=1:n1 
 str1=char(['b',int2str(i),'=[];']);
 str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
 eval(str1);
 for j=1:n2 
 tmp=str2num(fgetl(fid));
 eval(str2); %读方案层的判断矩阵
 end
 end 
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[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); 
for i=1:n1 
 [x,y]=eig(eval(char(['b',int2str(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); %准则层一致性比例
end 
cr1, ts=w1*w0, cr=cr1*w0
目录
相关文章
|
存储 缓存 网络协议
freeswitch使用说明
freeswitch使用说明
freeswitch使用说明
|
10月前
|
存储 弹性计算 人工智能
阿里云新用户目前优惠权益有哪些?如何领取并使用我的权益
阿里云为新注册用户提供覆盖云服务器、数据库、存储、网络、安全等多品类的丰富优惠权益,核心权益包括:ECS经济型e实例99元/年、轻量服务器38元/年抢购、优惠券及超云产品免费试用。本文详细解析新用户专属权益体系及使用指南,以供参考。
|
机器学习/深度学习 存储 安全
4G手机内存玩转Qwen2.5-Omni?MNN全面支持Qwen2.5-Omni与Qwen3!
随着移动端算力、存储能力的提升,在端侧部署大模型已成为趋势。本地化运行可消除网络延迟实现毫秒响应,降低云端算力成本,同时避免数据上传保障隐私安全。
3753 1
|
人工智能 自然语言处理 程序员
不是ManusAI用不起,而是AgenticSeek更有性价比,炸裂的项目,100%本地运行的AI秘书,真的丝滑啦!
AgenticSeek是一款开源本地AI助手,基于DeepSeek R1模型构建,无需云端支持,确保隐私安全。它能执行智能上网、编程辅助、任务调度、文件管理和语音交互等多功能操作,完全离线运行,适用于多种场景如网络安全扫描、代码迁移及学术研究等。相比Manus AI等工具,AgenticSeek具备更高性价比与更强隐私保护,是用户实现高效生产力的理想选择。项目已在GitHub收获12.3k+星,欢迎体验!
1496 5
|
缓存 监控 前端开发
java简历2年经验编写教程+面试题
是花了我很多天的心思,用心打造出来的Java简历分析模板,适合新手包装成有一点工作年限(1-2年),但又不会太老手的简历;让你的简历做得跟别人不一样;
5381 0
|
机器学习/深度学习 人工智能 算法框架/工具
探索AI在图像处理中的应用
本文深入探讨了人工智能(AI)在图像处理领域的应用,包括图像识别、图像增强和图像生成等方面。通过实际代码示例,我们将展示如何使用AI技术进行图像处理,并讨论其在不同场景下的应用。
|
算法
PID算法原理分析及优化
【10月更文挑战第6天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
919 0
|
机器学习/深度学习 存储 人工智能
边缘AI与嵌入式存储器的革新:实现数据智能化的关键
边缘AI与嵌入式存储器的革新:实现数据智能化的关键
1148 10
|
算法 索引 Python
使用Python基础与蒙特卡洛算法实现排列组合
使用Python基础与蒙特卡洛算法实现排列组合
576 0