【AHP层次分析法】原理+应用步骤+旅游目的地选择实例应用

这篇具有很好参考价值的文章主要介绍了【AHP层次分析法】原理+应用步骤+旅游目的地选择实例应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AHP层次分析法

1.层次分析法

实现标准之间相对重要程度,并给出决策方案中每个标准的权重,利用权数求出各个方案的优劣次序。

2.应用步骤

1.建立层次结构模型

该层主要有三个方面:

  • 目标层
  • 准则层
  • 领域层(各种解决问题的措施和方案)
    这里选择了一个旅游问题的层次分析模型来直观的展示三个层的关系:xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
    如果将三个层放在实际解决问题的时候,其依次对应的就是:
    目标层:考虑解决什么样的问题?
    准则层:考虑解决问题的决策因素?
    领域层:考虑解决问题的方案。

2.构造判断矩阵

1)判断矩阵标度方法表

比较各层各个因素对于下一层的重要性,其判断矩阵需要使用判断矩阵aij的标度方法表:
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

2) 构造判断矩阵A:

先构造方案层的各个判断矩阵(Pn——Cn):
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
构造准则层对于目标层的各个判断矩阵(Cn——O):
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

3.计算单层权向量并做一致性检验

能否确认层次单排序,需要进行一致性检验,一致性检验指的是判断矩阵确定不一致的允许范围。

4.一致性检验

1) 层次分析法中构造的判断矩阵是正互反矩阵。

小tips:正互反矩阵中各行各列是否呈倍数关系,即可判断其是否为一致矩阵。
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

2)一致性检验原理:

检验我们构造的判断矩阵和一致矩阵是否有太大的差别,也就是检验特征值和n相差大小。

3)一致性检验数学原理

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
由引理可知:一直矩阵有一个特征值为n,其余特征值均为0。并且,当特征值为n时,对应的特征向量刚好为:
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
从上图可以看出,当判断矩阵越不一致时,最大特征值与n相差就越大。
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

4)一致性检验计算过程

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
Q1:为什么要这样构造CI,为什么要以0.1为划分依据。
:通过多次蒙特卡罗模拟得到的最佳方案。

5.一致矩阵计算权重

1)求权重实例:

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

2)求权重的几种方法:

方法一:算术平均法求权重
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
方法二:几何平均法求权重
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
方法三:特征值法求权重
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
步骤1:求出矩阵A的最大特征值和对应的特征向量
步骤2:对求出的特征向量进行归一化得到权重
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

6.层次总排序及其一致性检验

  • 计算某一层次所有因素对于最高层(总目标)相对重要性的权重,称为层次总排列。
  • 这一过程是从最高层次到最低层次依次进行。

3.层次分析法的一些局限性

1)评价的决策层不能太多,太多的话n会很大,判断矩阵和一致矩阵差异性可能会很大

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

2) 如果决策层中指标的数据是已知的,如何利用这些数据来使得评价更标准?

4.单层AHP应用(领域层已经给出):旅游目的地选择代码实例

  1. Cn层到O层的判断矩阵:
    xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
  2. 输入判断矩阵:
import numpy as np
A=np.array([[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]])
print(A)

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
3. 判断矩阵的形状:

[m,n]=A.shape
print(m,n)

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
4. 输出矩阵A的特征值和特征向量:

V,D=np.linalg.eig(A)
print("特征值为:")
print(V)
print("特征向量:")
print(D)

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
5. 输出最大特征值和特征向量:

max_V=np.max(V)
print(max_V)
k=[i for i in range(len(V)) if V[i]==max_V]
max_D=-D[:,k]
print(max_D)

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
6. 计算权重:

weight=np.zeros((n,1))
weight
for i in range(0,n):
    weight[i]=max_D[i]/np.sum(max_D)
Q=weight
print(Q)

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
7. 一致性检验:

CI=(max_V-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]
RI_1=RI[n-1]
CR=CI/RI_1
if CR>=0.1:
    print('没有通过特征值检验')
else:
    print('通过一致性检验')

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
8. 计算评分:
假设已知苏杭、北戴河、桂林三个方案层对于准则层的评分:

p = np.mat('8 7 6 8 7;7 8 8 7 8;5 7 6 7 7')
score=p*Q
for i in range(len(score)):
    print("score{}:".format(i),float(score[i]))

xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法

5.多层AHP应用:旅游选择问题代码实例

import numpy as np

def AHP(array_matrix):
    #N的维度(行)
    N=array_matrix.shape[0]
    #RI表
    list_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]
    #求特征值和特征向量
    arr_V,arr_D=np.linalg.eig(array_matrix)
    #求最大特征值
    max_arr_V=np.max(arr_V)
    #最大特征值对应的index
    max_index=[i for i in range(len(arr_V)) if arr_V[i]==np.max(arr_V)]
    max_arr_D=-arr_D[:,max_index]
    #特征向量归一化(求权重)
    max_arr_D=max_arr_D/sum(max_arr_D)
    CI=(max_arr_V-N)/(N-1)
    RI=list_RI[N-1]
    #进行一致性检验
    is_consistence=False
    if N<3:
        is_consistence=True
    elif CI<0.1:
        is_consistence=True
    else:
        is_consistence=False
    #返回最大特征值,最大特征向量,是否满足一致性检验
    return max_arr_V,max_arr_D,is_consistence
a=np.array(["苏杭","北戴河","桂林"])
#Cn——O 准则层——目标层判断矩阵
A=np.array([[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]])
#Pn——Cn 领域层——准则层判断矩阵
B1 = np.array([[1,2,4],[1/2,1,2],[1/4,1/2,1]])
B2 = np.array([[1,1/3,1/8],[3,1,1/3],[8,3,1]])
B3 = np.array([[1,1,3],[1,1,3],[1/3,1/3,1]])
B4 = np.array([[1,3,4],[1/3,1,1],[1/4,1,1]])
B5 = np.array([[1,1,1/4],[1,1,1/4],[4,4,1]])
#将准则层因素判断矩阵合并方便计算
B=np.array([B1,B2,B3,B4,B5])
#返回准则层——目标层判断矩阵的 最大特征值、对应特征向量、是否满足一致性检验
A_max_arr_V,A_max_arr_D,A_is_consistence=AHP(A)
#分别返回判断矩阵B的 最大特征值、对应特征向量、是否满足一致性检验
B_max_arr_V=[]
B_max_arr_D=[]
All_B_is_consistence=[]
for i in B:
    max_B_arr_V1,max_B_arr_D1,B_is_consistence=AHP(i)
    B_max_arr_V.append(max_B_arr_V1)
    B_max_arr_D.append(max_B_arr_D1)
    All_B_is_consistence.append(B_is_consistence)
if not A_is_consistence:
    print("准则层对目标层的判断矩阵未通过一致性检验,请进行修改")
else:
    if not all(All_B_is_consistence):
        for i in range(len(All_B_is_consistence)):
            if not All_B_is_consistence[i]:
                print("方案曾对于准则层各个因素判断矩阵第"+str(i+1)+"个矩阵未通过一致性检验,请进行修改")
    else:
        #总排序:准则层的最大特征向量的转置乘以目标层的最大特征向量,找到总排序中最大的
        w_total=np.array(B_max_arr_D).T.dot(A_max_arr_D)
        print("所有判断矩阵均通过一致性检验!\n方案层对目标层的权重为:")
        print(w_total)
        choose=np.argmax(w_total)
        print(choose)
        print("最佳方案为第"+str(np.argmax(w_total)+1)+"个方案,该方案为"+a[np.argmax(w_total)])

输出方案结果:
xx主题景区适宜性选址分析研究ahp分析,学习,人工智能,算法
综上所述,AHP层次分析法求解最终方案为桂林文章来源地址https://www.toymoban.com/news/detail-763004.html

到了这里,关于【AHP层次分析法】原理+应用步骤+旅游目的地选择实例应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【数学建模】层次分析法(AHP)

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

    2024年02月01日
    浏览(41)
  • 层次分析法(AHP)详解+完整代码

    ​ 层次分析法是一种主观赋值评价方法也是一个多指标综合评价算法,常用于综合评价类模型。层次分析法将与决策有关的元素分解成目标、准则、方案等多个层次,并在此基础上进行定性和定量分析,是一种简单、实用的算法。 ​ 原理:是在分析一个现象或问题之前,首

    2024年02月09日
    浏览(43)
  • 数学建模:层次分析法(AHP)

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

    2024年01月17日
    浏览(58)
  • 模糊综合评价-----层次分析法AHP

    文首先读: ​ 最近有个课题需要用到模糊综合评价,笔者也是收集了各方资料,最后发现某乎上的一篇文章,简单、系统、详细的同时不乏简单易懂和深度见解,这边link给出,读者可以自己尝试阅读,必有不少收获。 ​ 之后发现其中需要用到层次分析法的时候,大佬是一

    2023年04月09日
    浏览(45)
  • 基于AHP层次分析法的数学建模研究

            随着数学在现代科学和技术中的广泛应用,数学建模在现代实践中的应用越来越广泛,成为现代科学和技术发展的重要手段。然而,在复杂的实际问题中,很难直接应用数学方法去解决问题。因此,选择适当的建模方法和技术来解决实际问题显得尤为重要。    

    2024年02月10日
    浏览(46)
  • 数学建模--层次分析法(AHP)的Python实现

    目录 1.算法流程简介 2.算法核心代码 3.算法效果展示 算术平均法求得的权重为: [0.07243906 0.30125047 0.62631047] 几何平均法求得的权重为: [0.7374984  0.17727613 0.08522547] 特征值权重法法求得的权重为: [0.07239208 0.30116321 0.62644471]

    2024年02月10日
    浏览(44)
  • 基于AHP(层次分析法)确定权值的模糊综合评价

    目录 1、模糊综合评价 2、权值的确定 因素集 :影响评价的因素,例如:企业家的素质综合评价可以考虑5个因素{德,能,勤,绩,生命周期延长} 评价集 :某因素好与坏,例如:企业家的德可以被评价为{高 较高 一般 低} 单因素评价矩阵 :rij代表因素i对评价j的隶属度。 例

    2024年02月05日
    浏览(53)
  • 【数学建模学习】matlab实现评价模型——层次分析法(AHP)

    目录 1概述  2算法实现流程 3实例  4matlab实现层次分析法 5计算结果 层次分析法,简称AHP,是评价模型中的一种算法,指将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。层次分析法的缺陷在于判断矩阵是主观决定的,

    2024年02月04日
    浏览(56)
  • 评价模型(一) 层次分析法(AHP),熵权法,TOPSIS分析 及其对应 PYTHON 实现代码和例题解释

    数学建模系列文章: 以下是个人在准备数模国赛时候的一些模型算法和代码整理,有空会不断更新内容: 评价模型(一)层次分析法(AHP),熵权法,TOPSIS分析 及其对应 PYTHON 实现代码和例题解释 评价模型(二)主成分分析、因子分析、二者对比及其对应 PYTHON 实现代码和例

    2024年02月08日
    浏览(62)
  • 毕设中涉及层次分析法的EXCEL处理步骤

    简单易懂操作,解决EXCEL层次分析法的问题,仅供参考。  判断矩阵采用9级比例标尺,将决策者的偏好判断数量化,形成判断矩阵,最后运用矩阵理论进行偏好分析,求出分层权系数。 标度 数字的含义(以因素 i 和因素 j 为例) 1 表示因素 i 和因素 j 相比,i 与 j 具有相同重

    2024年02月03日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包