一、评价模型的种类
二、层次分析法
2.1层次分析法的原理及应用
2.1.1原理
层次分析法是被老师称为小学生都会的算法~~~
它的算法原理很简单,所以在我们简历模型的时候最好是不要把他当作主要模型,最好只是一个解决问题的辅助手段~~~
虽说是小学生都会的算法,但在分析问题上还是需要我们大学生的脑细胞的哈哈哈哈哈哈哈
层次分析法是对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法。
层次分析法是建立在层次结构图的基础上的,层次结构图又是由相对重要权值和相对优劣次序来排定的。
层次分析法,简单来说,就是要形成一个多层次的分析结构模型,如下:
相信学习过数学建模的同学都知道,数学建模中对于某些因素的分析,我们常常要靠定量分析才能得到大家一致的认可,也就是,用数据说话,定性分析总归有点笼统。因此,我们这里介绍的层次分析法也是需要定量分析的,所以,成对比较矩阵就问世了哈哈~~~
成对比较矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较。如下:
2.1.2应用
应用实例:
综上所述,层次分析法的求解步骤为:
这个图。。也许也许有一点。。不大好看
原谅我这一生不羁放纵爱自由
以下是层次分析法的MATLAB求解源码:
disp('请输入判断矩阵A(n阶)');
A=input('A=');
[n,n]=size(A);
x=ones(n,100);
y=ones(n,100);
m=zeros(1,100);
m(1)=max(x(:,1));
y(:,1)=x(:,1);
x(:,2)=A*y(:,1);
m(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
while k>p
i=i+1;
x(:,i)=A*y(:,i-1);
m(i)=max(x(:,i));
y(:,i)=x(:,i)/m(i);
k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);
%以下是一致性检验
CI=(t-n)/(n-1);RI=[0 0 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];
CR=CI/RI(n);
if CR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
end
矩阵A=[1, 1/2, 4, 3, 3;
2, 1, 7, 5, 5;
1/4, 1/7, 1, 1/2, 1/3;
1/3, 1/5, 2, 1, 1;
1/3, 1/5, 3, 1, 1;]
关于层次分析法的知识学习和理解,我推荐小石老师的视频,讲得挺好的~
我分享一下小石老师数学建模的14讲视频的配套资料(含PPT、MATLAB程序源码),里面也有下载下来的14节的数学建模的学习视频,需要的同学自取~
链接:https://pan.baidu.com/s/14ylw2HHT_Fi5QltcJA-yCA
提取码:2qym