数学建模:层次分析法

这篇具有很好参考价值的文章主要介绍了数学建模:层次分析法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛

层次分析法

步骤描述

  1. 将问题条理化,层次化,构建出一个有层次的结构模型。层次分为三类:目标层,准则(指标)层,方案层
  2. 比较指标层中不同指标之间的相对重要程度,并且构建一个成对比较矩阵
    1. 自行判断两个不同指标的相对重要程度。
    2. 如果指标1重要程度大于指标2,并且赋予一个重要程度为3,因此得到其指标1的值为3,
    3. 同理指标2的重要程度小于指标1(不能存在矛盾),因此相对的指标2的值为 1 3 \frac{1}{3} 31
    4. 因此任意两个指标重要度之间存在的关系为: a i j > 0 , a i j = 1 a j i , i , j ∈ ( 1 , 2 , 3 , . . . n ) a_{ij}>0,a_{ij} = \frac{1}{a_{ji}},i,j\in(1,2,3,...n) aij>0aij=aji1i,j(1,2,3,...n)
    5. 接着构建出所有两个指标的这种关系,就可以得到一个关于所有指标两两之间的成对比较矩阵 A n n A_{nn} Ann,其中 n n n 为指标的数量。
  3. 在单一准则下计算指标相对排序的权重,以及进行判断矩阵(成对比较矩阵)的一致性检验
  4. 计算方案层中对于目标层的总排序权重,从而得到评价后的结果。

算法流程

  1. 通过分层与条理化后,我们得到了两两指标之间的成对比较矩阵(判断矩阵):

∣ 1 3 1 1 / 3 1 / 3 1 1 / 2 1 / 5 1 2 1 1 / 3 3 5 5 1 ∣ \left|\begin{array}{cccc}1 & 3 & 1 & 1 / 3 \\1 / 3 & 1 & 1 / 2 & 1 / 5 \\1 & 2 & 1 & 1 / 3 \\3 & 5 & 5 & 1\end{array}\right| 11/313312511/2151/31/51/31

  1. 首先得到判断矩阵的最大特征值对应的特征向量T:

T = [ t 1 t 2 ⋯ t n ] T=\begin{bmatrix}t_1&t_2&\cdots&t_n\end{bmatrix} T=[t1t2tn]

  1. 得到权重向量W:

W = [ w 1 w 2 ⋯ w n ] w i = t i ∑ i = 1 n t i \begin{gathered}W=\begin{bmatrix}w_1&w_2&\cdots&w_n\end{bmatrix}\\\\w_i=\frac{t_i}{\sum_{i=1}^nt_i}\end{gathered} W=[w1w2wn]wi=i=1ntiti

  1. 计算一致性指标 C I CI CI

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

  1. 查找相应的随机平均一致性指标 R I RI RI:如果 n = 5 n = 5 n=5 则表示有五个指标,则 R I = R I ( 1 , 5 ) = 1.12 RI = RI(1,5) = 1.12 RI=RI(1,5)=1.12

数学建模:层次分析法,数学建模,MATLAB,数学建模

  1. 计算**一致性比例CR:**当 C R < 0.10 CR<0.10 CR<0.10 时,一致性接受,否则改矩阵应该适当修改参数。

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

  1. 计算评价对象的得分:其中 P P P 为归一化后的原始数据, W W W为权重向量

S c o r e = P ⋅ W Score = P \cdot W Score=PW


完整代码

function [Score,W] = mfunc_levelAnalysis(A,data)
    % 层次分析法:求解每个评价对象的综合得分与对应权重
    % paramts: 
    %      A: 两两指标之间的自定义的成对对角矩阵 Shape: (n,n)
    %      data: 原始数据矩阵,(m,n) m为评价对象,n为评价指标
    % returns:
    %      Score:每个评价对象的综合得分
    %      W: 所有指标的权重
    
    % 成对对角矩阵:A判别矩阵
    % A=[1,3,1,1/3;
    %     1/3,1,1/2,1/5;
    %     1,2,1,1/3;
    %     3,5,3,1];
    [n,~]=size(data);
    %Z=zscore(X);
    Z = data ./ repmat(sum(data.*data) .^ 0.5, n, 1); %矩阵归一化
    
    [n,~]=size(A);
    %求特征值特征向量,找到最大特征值对应的特征向量
    [V,D]=eig(A);
    tzz=max(max(D));     %找到最大的特征值
    c1=find(D(1,:)==tzz);%找到最大的特征值位置
    T=V(:,c1);%最大特征值对应的特征向量
    %赋权重
    W=zeros(n,1);
    for i=1:n
    W(i,1)=T(i,1)/sum(T);
    end
    %一致性检验
    CI=(tzz-n)/(n-1);
    RI=[0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.52,1.54,1.56,1.58,1.59];
    %判断是否通过一致性检验
    CR=CI/RI(1,n);
    if CR>=0.1
       fprintf('没有通过一致性检验\n');
    else
      fprintf('通过一致性检验\n');
    end
     score=Z*W;
     Score=100*score/max(score);
end

有关成对比较矩阵两两指标之间的的相关重要性的程度参考:

数学建模:层次分析法,数学建模,MATLAB,数学建模文章来源地址https://www.toymoban.com/news/detail-688894.html

到了这里,关于数学建模:层次分析法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数学建模美赛 | 国赛必学模型算法精讲】层次分析法——模型原理及Matlab+Python双语言代码演示

    层次分析法 是 评价决策类 中一个比较常用的方法,很多留意美赛赛题的小伙伴们就会发现,在美赛EF类题目的历年O奖论文中,层次分析法出现的概率是非常高的。层次分析法呢一般是针对评价决策类的题目,让我们评价或选择一个可能更好、更优的政策及方案,那这样呢,

    2024年01月25日
    浏览(48)
  • 数学建模:层次分析法(AHP)

    层次分析法(Analytic Hierarchy Process,AHP)是一种多准则决策方法,用于解决复杂的决策问题。它是由美国数学家托马斯·萨亚基(Thomas L. Saaty)于20世纪70年代提出的。其基本思想是将复杂的决策问题分解为层次结构,通过对准则和方案进行定量和定性的比较,最终得出最佳决

    2024年01月17日
    浏览(58)
  • 数学建模——层次分析法(AHP)

    在人类社会生活的各个领域以及日常生活中,我们经常遇到一些决策问题,例如购物买钢笔,一般要依据质量、颜色、实用性、价格、外形等方面的因素选择某一支钢笔。买饭,则要依据色、香、味、价格等方面的因素选择某种饭菜。过去人们处理这些问题往往是凭经验,靠

    2024年02月05日
    浏览(51)
  • 【数学建模】层次分析法(AHP)

    评价类问题 ,如选择哪种方案最好,哪位运动员或者员工表现地更优秀。通常具体数据没有给出。 一道典型例题 这是典型的运用层次分析法的题目,没有给出具体数据,要求采取一定措施进行评价,选择最佳方案,其中已经高亮。 我们需要考虑三个问题: 目标、方

    2024年02月01日
    浏览(41)
  • 数学建模学习笔记||层次分析法

    解决评价类问题首先需要想到一下三个问题 我们评价的目标是什么 我们为了达到这个目标有哪几种可行方案 评价的准则或者说指标是什么 对于以上三个问题,我们可以根据题目中的背景材料,常识以及网上收集到的参考资料进行结合,从而筛选出最合适的指标 优先选择知

    2024年01月23日
    浏览(56)
  • 五、数学建模之层次分析法

    1.概念 2.例题    层次分析法 (Analytic Hierarchy Process,AHP)是一种多 标准决策分析方法 ,用于帮助人们在面对复杂的决策问题时 进行定量和定性的比较和评估 。它最初由美国运筹学家和管理学家托马斯·萨蒙(Thomas L. Saaty)于20世纪70年代提出,并在后来得到广泛应用。层

    2024年02月07日
    浏览(56)
  • 清风老师数学建模笔记——层次分析法

    1.层次分析法的概念;层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家、匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解决了定性问题定量化的处理过程。 2.层次

    2024年02月02日
    浏览(47)
  • 数学建模常用模型(三):层次分析法

    层次分析法(Analytic Hierarchy Process,AHP)是一种用于多准则决策分析的方法,由美国运筹学家托马斯·L·赛蒂(Thomas L. Saaty)于1970年提出。它通过对决策问题进行层次化,将复杂的问题拆分为多个层次和准则,并使用定量化的方法进行比较和权重分配,最终得出综合评价和决

    2024年02月13日
    浏览(49)
  • 清风数学建模学习笔记(一)层次分析法

    目录 一、基本介绍 二、利用层次分析法解决评价类问题 2.1判断矩阵 2.2判断矩阵一致性检验  2.3计算权重  2.4算数平均法求权重  2.5几何平均法求权重  2.6特征值求权重 三、总结  层次分析法是评价类模型中的一种常见算法,它是用来根据多种准则,或是说因素从候选方案

    2024年02月16日
    浏览(47)
  • 数学建模(层次分析法 python代码 案例)

    目录 介绍:  模板: 例题:从景色、花费、饮食,男女比例四个方面去选取目的地  准则重要性矩阵:  每个准则的方案矩阵:​  一致性检验:  特征值法求权值: 完整代码: 运行结果:

    2024年04月29日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包