【文章内容全部来自bilibili:https://www.bilibili.com/video/BV1Kb41167QZ】
数学建模的13种常用的方法
一、层次分析法(AHP)
1.起源:
美国运筹学家在上世纪70年代初,为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题是,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法。
2.特点:
在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较小的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构性的复杂问题提供简便的决策方法。
3.定位:
是对难以完全定量的复杂系统做出决策的模型和方法。
4.原理:
层次分析法根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合,形成一个多层次的分析结构模型,从而最终使问题归结为最底层相对于最高层的相对重要权值的确定或相对优劣的排定。
5.步骤:
1.建立层次结构模型。
2.构造判断(成对比较)矩阵
3.层次单排序及其一致性检验
4.层次总排序及其一致性检验
6.例子1:
7.例子2:
案例代码:
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)=Ay(:,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)=Ay(:,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