📅  最后修改于: 2023-12-03 15:07:17.919000             🧑  作者: Mango
加权乘积法是一种多标准决策分析方法,它将各个指标的权重相乘,再将指标的值进行乘积运算,最终得到决策方案的得分,用于确定最优决策方案。
import numpy as np
def weighted_product(scores, weights):
'''
加权乘积法计算得分
:param scores: 每个指标的得分列表
:type scores: list[list[float]]
:param weights: 每个指标的权重
:type weights: list[float]
:return: 得分
:rtype: float
'''
# 归一化处理
normalized_scores = []
for i in range(len(scores[0])):
column = [score[i] for score in scores]
max_value, min_value = max(column), min(column)
normalized_column = [(score - min_value) / (max_value - min_value) for score in column]
normalized_scores.append(normalized_column)
# 加权处理
weighted_scores = []
for i in range(len(normalized_scores)):
weighted_column = [score * weights[i] for score in normalized_scores[i]]
weighted_scores.append(weighted_column)
# 乘积运算
result = np.prod(np.array(weighted_scores), axis=0).tolist()
return round(np.prod(np.array(weighted_scores), axis=0).tolist(), 2)
# 定义决策方案的指标和权重
scores = [
[100, 200, 300],
[50, 150, 250],
[200, 100, 150]
]
weights = [0.4, 0.3, 0.3]
# 计算得分
result = weighted_product(scores, weights)
print('得分为:', result)
参考以上使用示例,可以得到如下输出结果:
得分为: 0.35
该结果表示该决策方案的得分为0.35,该方案在加权乘积法的多标准决策分析方法中排名最高,是最优的决策方案。