​​​​​​

目录

​​​​​​一、简介及前言(层次分析法解决评价类问题)

二、构造判断矩阵(准则层、方案层)

三、一致性检验(CR=CI/RI)

四、计算权重(算数平均、几何平均、特征值)

五、计算得分(Excel)

六、论文写作(SmartArt、画图)

七、代码实现(MATLAB)


一、简介及前言

层次分析法(Analytic Hierarchy Process,简称AHP),是指将与 决策有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。

层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。

层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。

层次分析法是建模比赛中最常用的模型,主要用于解决评价类问题。评价类问题可用打分解决。

如果直接打分问权重:

关键在于如何确定这些权重

二、构造判断矩阵

采用指标两两比较的方法确定最终权重

 aij与列指标相比,行指标的重要程度(行是列的几倍)

满足主对角线全为1,aij*aji=1,则称正互反矩阵,也就是层次分析法中的判断矩阵。

准则层各个指标构造一次得出权重。

方案层针对准则层每个指标构造判断矩阵得出各个权重。

三、一致性检验

                    

列与列成比例,比值为 ajk。         行与行成比例,比值为aij

 一致性检验:检验我们构造的判断矩阵与一致矩阵的差距大小

四、计算权重

 五、计算得分

六、论文写作

七、代码实现

clear;clc
%第一步:输入判断矩阵
A=input('请输入判断矩阵');
%A = [1,2,4;1/2,1,2;1/4,1/2,1];%第二步:一致性检验(求CI、RI、CR)
E = eig(A);%得到一个所有特征值构成的列向量
lambda_max = max(E);%最大特征值
n = size(A,1);%指标数即行列数
CI = (lambda_max-n)/(n-1);
RI = [0 0.0001 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];  %注意哦,这里的RI最多支持 n = 15
CR = CI/RI(n);
disp(['一致性比例CR为' num2str(CR)]);
if CR<0.1disp('一致性检验通过。')
elsedisp('一致性检验不通过。')
end%第三步:判断矩阵求权重
[n,n] = size(A);
%--------算数平均法--------%
sum_A = repmat(sum(A),n,1);%按列求和得到行向量,行向量向下复制成r行
average_A = A./sum_A;%按列归一化
average_A1 = sum(average_A,2)./n;%按行求和再除以指标数n
disp('算数平均法得出的权重:');
disp(average_A1);
%--------几何平均法--------%
product_A = prod(A,2).^(1/n);%按行求几何平均值得到列向量(和算数平均有区别!!)
product_A1 = product_A./sum(product_A);%归一化
disp('几何平均法得出的权重:');
disp(product_A1);
%--------特征值法--------%
[V,D] = eig(A);%V:一列列特征向量构成的矩阵D:特征值对角阵
eig_max = max(max(D));%最大特征值
[r,c] = find(D==eig_max,1);%最大特征值所在列find(logic,1)只找第一个不为0的
eig_vetor_max = V(:,c);%最大特征值对应的特征向量
eig_vetor_max1 = eig_vetor_max./sum(eig_vetor_max);%归一化
disp('特征值法得出的权重:');
disp(eig_vetor_max1);

【数学建模】第一讲-层次分析法相关推荐

  1. 数学建模中的层次分析法

    层次分析法,是数学建模在评价类问题中常用的一种评价方法,其主要思想是通过建议一个层级结构,并对各级关系建立判断矩阵,通过对矩阵进行数据标准化归一化等操作,最终得到一个关于各指标的权重矩阵,根据矩阵判断 ...

  2. 【数学建模】1层次分析法模型部分

    目录 1 数学建模的任务分配 2 简介 3 模型介绍 3.1 评价类问题 3.2 拿到建模问题 3.3 推荐搜索网站 3.4 确定好指标 3.5 确定指标权重 (1)采用分而治之的思想 (2)分而治之 ...

  3. 《数学建模》之层次分析法

    1.层次分析法与数学建模 在数学建模中,通常解决的问题是:"影响某一问题的几个因素的权重大小"."产生某一问题的主要的因素分析"."权重的大小分析&q ...

  4. 数学建模之AHP层次分析法

    一.定义 层次分析法,简称AHP,是指将与决策总是有关的元素分解成目标.准则.方案等层次,在此基础之上进行定性和定量分析的决策方法.该方法是美国运筹学家匹茨堡大学教授萨蒂于20世纪70年代初,在为美国 ...

  5. 【数学建模】清风数学建模笔记之——层次分析法

    文章目录 前言 一.建模步骤 二.模型实现 1. 分析系统中各因素之间的关系,建立系统的递阶层次结构 2.对于同一层次的个元素关于上一层次中某一准则的重要性两两比较,构造两两比较矩阵(判断矩阵). 在 ...

  6. 【数学建模入门】层次分析法

    层次分析法 适用场景 主要用于解决评价类问题(例如:选择哪种方案最好.哪位运动员或者员工表现最好) 基本知识 例题:假如有三个地方分别是苏杭.北戴河.桂林,我们现在要运用层次分析法选出那个地方最值得去 ...

  7. 数学建模学习笔记——层次分析法(评价类,专家打分一般不用)

    层次分析法 (1)评价类问题--打分解决 问法--确认评价指标.形成评价体系         亿图图示  

  8. MATLAB数学建模必备算法--层次分析法AHP

    其主要用于解决评价类问题(例如:选择哪种方案最好.哪位运动员或者员工表现的更优秀) 一个很典型的层次分析法案例: 确定评价目标: 高考完后小明想要去旅游,有三个目的地供他选择: 苏杭 北戴河 桂林 确 ...

  9. 数学建模常规算法——层次分析法

    层次分析法是将定性问题定量化处理的一种有效手段,根据不同的指标进行比对,得出最优解.层次分析法是一种定性和定量相结合的.系统化的.层次化的分析方法. 层次分析法的基本思路: 1)目标层: 2)准则层( ...

  10. 【数学建模】Day01——层次分析法

    文章目录 1. 引出层次分析法 1.1 思考问题 1.2 平台借力 1.3 分而治之的思想 1.4 一致矩阵 1.5 一致性检验 1.6 一致矩阵计算权重 1.7 判断矩阵求权重 2. 层次分析法 2 ...

最新文章

  1. 13.最为经典的动态规划入门
  2. mysql innodb 数据复制_五千万的数据 复制到另张表 是先复制数据再加索引还是先建好索引再复制数据 表引擎Innodb...
  3. iOS 11开发教程(十五)iOS11应用视图的位置和大小
  4. python 元组使用_Python3
  5. HDS HDIM背后的小秘密
  6. centos更换网卡后怎么更新配置_CentOS安装
  7. c语言中'.'与'-'的区别
  8. HDOJ 2030-汉字统计
  9. 完全分布式Hadoop2.3安装与配置
  10. Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯
  11. redis延时双删保证和数据库的一致性
  12. cmake mysql 编译参数_Mysql CMAKE编译参数详解
  13. 程序员计算器 android6,程序员计算器
  14. vue实现上传图片识别文字
  15. 【OpenGL】笔记六、GLM配置
  16. 1449 后缀表达式
  17. c语言中 输出操作是由库函数,【判断题】在 C语言中,输入操作是由库函数scanf完成,输出操作是由库函数printf完成 。...
  18. 智能小车 + 机械臂——华为嵌入式精英挑战赛
  19. PS进阶篇——如何PS软件钢笔工具抠图(三)
  20. 计算机的人文素养知识,人文素养知识要点

热门文章

  1. 安全算法—SHA-256算法
  2. win7 计算机 工具,win7小工具
  3. 使用Idea合并svn分支到主干上
  4. excel下载模版(数据字典)
  5. 易语言大漠插件模块制作窗口获取窗口句柄类
  6. JSONArray.fromObject(str)
  7. VLAN中tagged与untagged的处理
  8. 51单片机+PWM控制渐变七彩灯C51程序
  9. 204. 电子编程入门到工程师--混沌与秩序--天书信号
  10. 基于单片机的表决器(七人)系统设计(#0496)