python模糊层次分析法案例_python实现AHP算法的方法实例(层次分析法)

本文介绍了层次分析法(AHP)的基本原理,它由托马斯·塞蒂提出,用于确定评价因子的权重。文章通过Python代码展示了如何使用numpy进行矩阵运算,实现AHP算法的算术平均法、几何平均法和特征值法来求权重,并提供了判断矩阵一致性的方法。最后给出了一个判断矩阵实例的权重计算过程。
摘要由CSDN通过智能技术生成

一、层次分析法原理

层次分析法(analytic hierarchy process,ahp)由美国运筹学家托马斯·塞蒂(t. l. saaty)于20世纪70年代中期提出,用于确定评价模型中各评价因子/准则的权重,进一步选择最优方案。该方法仍具有较强的主观性,判断/比较矩阵的构造在一定程度上是拍脑门决定的,一致性检验只是检验拍脑门有没有自相矛盾得太离谱。

相关的理论参考可见:wiki百科

二、代码实现

需要借助python的numpy矩阵运算包,代码最后用了一个b1矩阵进行了调试,相关代码如下,具体的实现流程已经用详细的注释标明,各位小伙伴有疑问的欢迎留言和我一起讨论。

import numpy as np

class ahp:

"""

相关信息的传入和准备

"""

def __init__(self, array):

## 记录矩阵相关信息

self.array = array

## 记录矩阵大小

self.n = array.shape[0]

# 初始化ri值,用于一致性检验

self.ri_list = [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]

# 矩阵的特征值和特征向量

self.eig_val, self.eig_vector = np.linalg.eig(self.array)

# 矩阵的最大特征值

self.max_eig_val = np.ma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值