数学建模基础算法----层次分析法

层次分析法


1.什么是层次分析法?

层次分析法(Analytic Hierarchy Process,AHP)由美国运筹学家托马斯·塞蒂(T. L.Santy)于20世纪70年代初,为美国国防部研究”根据各个工业部门对国家福利的贡献大小而进行电力分配“的课题时,应用网络系统理论喝多目标综合评价方法,提出的一种层次权重决策分析方法。

这种方法的特点是在对复杂的决策问题的本质、影响因素及内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程进行数学化,从而为多目标、多准则或无结构性的复杂决策问题提供简便的决策方法。


2.层次分析法的原理

层次分析法用于确定评价模型中各评价因子/准则的权重,从而进一步选择最优方案。*该方法仍具有较强的主观性,判断/比较矩阵的构造在一定程度上是主观决定的。

层次分析法根据问题的性质和要达到的总目标,将问题分解成不同的组成因素,并按照因素间的相互关联/影响以及隶属关系将不同层次聚集组合,形成一个多层次的分析结构模型,从而使问题归结为最低层(供决策的方案、措施等)相对于最高层(总目标)的相对重要权值的确定或者优劣次序的排定。

通俗的讲,当我们需要做决策的时候,也就是说我们在面临多种方案的时候,需要根据一定的评判标准来选择其中一种方案。
例如五一假期,你打算在苏州、成都、西安三个地点选择一个旅游点。要考虑五个方面的影响因素:景点的景色、居住的环境、饮食的特色、交通是否便利以及旅游的开销。这个时候就可以简单的用层次分析法对问题进行分析,从而做出决策。


3.层次分析法的步骤

1. 建立层次结构模型

在深入分析问题的基础上,将决策的目标、考虑的因素和决策对象按相关关系分为最高层、中间层和最低层,绘出层次结构图。

  • 最高层:决策的目的、要解决的问题
  • 中间层:主因素,考虑的因素、决策的准则
  • 最低层:决策时的备选方案,也可为中间层的子因素

2. 构建成对比较矩阵

在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因而Santy等人提出:一致矩阵法。
即:

  1. 不把所有因素放在一起比较,而是两两相互比较。
  2. 对此时采用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,以提高准确度。

成对比较矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较。成对比较矩阵的元素,用Santy的1-9标度方法给出。

成对比较矩阵标度表

标度 含义
1 表示两个因素相比,具有同样重要性
3 表示两个因素相比,一个因素比另一个因素稍微重要
5 表示两个因素相比,一个因素比另一个因素明显重要
7 表示两个因素相比,一个因素比另一个因素强烈重要
9 表示两个因素相比,一个因素比另一个因素极端重要
2,4,6,8 上述两相邻判断的中值

对上表进行简化即可获得如下矩阵,该矩阵称为判断/比较矩阵:

3.一致性检验


4. 层次分析法举例

由上面提到的三个地点找一个旅游点来举例:

  • 建模

建模

A1、A2、A3、A4、A5分别表示景色、费用、居住、饮食。B1、B2、B3分别表示苏州、成都、西安。

  • 构造成对比较矩阵

实现代码展示

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

A1、A2、A3、A4、A5对Z的权重为:

B1、B2、B3对A1的权重为:

B1、B2、B3对A2的权重为:

B1、B2、B3对A3的权重为:

B1、B2、B3对A4的权重为:

B1、B2、B3对A5的权重为:
在这里插入图片描述

  • 计算层次总排序权重和一致性检验
  • B1对总目标的权重为:
  • 0.595x0.263+0.082x0.475+0.429x0.055+0.633x0.099+0.166x0.110=0.3
  • 同理得,B2,B3对总目标的权重分别为:
  • 0.245, 0.455
  • 决策层对总目标的权向量为:{0.3,0.245,0.455},可作为最后的决策依据。

即各方案的权重排序为 B3>B1>B2
又B1、B2、B3分别表示苏州、成都、西安。
所以,最后的决策选择的旅游点是:西安


完。


Guess you like

Origin blog.csdn.net/m0_57102326/article/details/116354295