模糊层次分析法python代码
时间: 2023-11-16 21:56:20 浏览: 170
模糊层次分析法代码
模糊层次分析法(Fuzzy Analytic Hierarchy Process,FAHP)是一种基于模糊数学理论的多准则决策方法,它可以用于解决复杂的决策问题。在FAHP中,通过构建层次结构模型,将决策问题分解为若干个层次,然后利用模糊数学方法对各层次因素进行评估和权重分配,最终得到决策结果。
下面是一个简单的FAHP的Python实现示例:
```python
import numpy as np
# 构建层次结构模型
criteria = ['价格', '品质', '服务']
factors = ['品牌', '口碑', '售后']
# 构建判断矩阵
price_matrix = np.array([[1, 3, 5], [1/3, 1,3], [1/5, 1/3, 1]])
quality_matrix = np.array([[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]])
service_matrix = np.array([[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]])
brand_matrix = np.array([[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]])
reputation_matrix = np.array([[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]])
after_sales_matrix = np.array([[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]])
# 计算权重向量
price_weight = np.sum(price_matrix, axis=1) / np.size(price_matrix, axis=1)
quality_weight = np.sum(quality_matrix, axis=1) / np.size(quality_matrix, axis=1)
service_weight = np.sum(service_matrix, axis=1) / np.size(service_matrix, axis=1)
brand_weight = np.sum(brand_matrix, axis=1) / np.size(brand_matrix, axis=1)
reputation_weight = np.sum(reputation_matrix, axis=1) / np.size(reputation_matrix, axis=1)
after_sales_weight = np.sum(after_sales_matrix, axis=1) / np.size(after_sales_matrix, axis=1)
# 计算综合权重
criteria_weight = np.array([price_weight, quality_weight, service_weight])
factors_weight = np.array([brand_weight, reputation_weight, after_sales_weight])
criteria_final_weight = np.sum(criteria_weight.T * factors_weight, axis=1)
print('各层次权重:')
print('价格、品质、服务:', criteria_final_weight)
print('品牌、口碑、售后:', factors_weight)
```
在上面的示例中,我们首先构建了一个包含两个层次的层次结构模型,其中第一层次包含三个准则(价格、品质、服务),第二层次包含三个因素(品牌、口碑、售后)。然后,我们构建了各层次的判断矩阵,并计算了各层次的权重向量和综合权重。最终,我们得到了各层次的权重结果。
阅读全文