
1. 引言层次分析法Analytic Hierarchy ProcessAHP是一种经典的多准则决策方法由美国运筹学家 Thomas L. Saaty 于 20 世纪 70 年代提出。它通过将复杂决策问题分解为层次结构结合专家判断构造判断矩阵并计算权重向量来辅助决策。在 Python 生态中ahp-calculator是一个轻量、易用的开源库封装了 AHP 的核心计算流程让开发者可以快速完成权重计算、一致性检验和方案排序。本文将从功能特性、安装方式、核心语法与参数、9 个实际应用案例以及常见错误与注意事项五个维度系统介绍 ahp-calculator 包的使用方法。2. ahp-calculator 包功能概述ahp-calculator 包的核心功能围绕 AHP 方法的完整计算链路展开主要包含以下能力判断矩阵构建支持用户以二维列表或 NumPy 数组形式输入判断矩阵矩阵元素表示两两比较的相对重要程度。权重向量计算内置特征向量法Eigenvector Method和几何平均法Geometric Mean Method两种权重求解算法满足不同场景需求。一致性检验自动计算一致性指标CI、随机一致性指标RI和一致性比率CR并给出是否通过一致性检验的结论。层次结构支持支持单层次和多层次准则层、子准则层、方案层的权重计算与合成。方案排序在多个备选方案之间根据综合权重进行排序输出最优方案推荐。结果可视化提供简单的权重条形图绘制功能便于直观展示各因素的重要程度。数据校验自动检查判断矩阵的正互反性、维度一致性等基本约束降低输入错误风险。3. 安装方法ahp-calculator 包已发布到 PyPI可以通过 pip 直接安装。推荐在虚拟环境中进行安装避免依赖冲突。# 基础安装 pip install ahp-calculator 如需使用可视化功能建议同时安装 matplotlib pip install ahp-calculator matplotlib 升级到最新版本 pip install --upgrade ahp-calculator安装完成后可以通过以下方式验证是否安装成功import ahp_calculator print(ahp_calculator.__version__)如果输出版本号说明安装成功。需要注意的是包名在导入时使用下划线ahp_calculator而 pip 安装时使用连字符ahp-calculator。4. 核心语法与参数详解4.1 基础类与函数ahp-calculator 包的核心接口是AHP类通过实例化该类并传入判断矩阵即可完成计算。以下是主要参数说明参数名类型必填说明matrixlist / np.ndarray是判断矩阵形状为 n×n元素为正互反数methodstr否权重计算方法可选 eigen特征向量法默认或 geometric几何平均法criteria_nameslist否准则名称列表用于结果展示长度需与矩阵维度一致alternative_nameslist否方案名称列表用于多方案排序场景4.2 主要方法方法名返回值说明calculate_weights()dict返回各准则或方案的权重字典consistency_check()dict返回 CI、RI、CR 值及是否通过检验的布尔结果rank_alternatives()list返回按综合权重降序排列的方案列表plot_weights()None绘制权重条形图需 matplotlibget_result()dict一次性返回权重、一致性检验和排序的完整结果4.3 基础使用示例from ahp_calculator import AHP 定义判断矩阵3 个准则 matrix [ [1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1] ] 创建 AHP 对象 ahp AHP(matrixmatrix, criteria_names[价格, 性能, 售后]) 计算权重 weights ahp.calculate_weights() print(权重结果, weights) 一致性检验 consistency ahp.consistency_check() print(一致性检验, consistency) 完整结果 result ahp.get_result() print(完整结果, result)5. 9 个实际应用案例案例 1供应商选择某制造企业需要在三家供应商A、B、C中做出选择评价准则包括质量、价格、交货期和服务。首先构造准则层判断矩阵再对每个准则下的供应商进行两两比较最后合成综合权重。from ahp_calculator import AHP 准则层判断矩阵 criteria_matrix [ [1, 3, 5, 7], [1/3, 1, 3, 5], [1/5, 1/3, 1, 3], [1/7, 1/5, 1/3, 1] ] 各准则下供应商判断矩阵 quality_matrix [ [1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1] ] price_matrix [ [1, 1/3, 1/5], [3, 1, 1/2], [5, 2, 1] ] delivery_matrix [ [1, 2, 3], [1/2, 1, 2], [1/3, 1/2, 1] ] service_matrix [ [1, 1/2, 1/3], [2, 1, 1/2], [3, 2, 1] ] 计算准则权重 criteria_ahp AHP(matrixcriteria_matrix, criteria_names[质量, 价格, 交货期, 服务]) criteria_weights criteria_ahp.calculate_weights() print(准则权重, criteria_weights) 计算各准则下供应商权重 supplier_matrices [quality_matrix, price_matrix, delivery_matrix, service_matrix] supplier_names [供应商A, 供应商B, 供应商C] final_scores {} for i, mat in enumerate(supplier_matrices): ahp AHP(matrixmat, criteria_namessupplier_names) w ahp.calculate_weights() for name, weight in w.items(): final_scores[name] final_scores.get(name, 0) criteria_weights[list(criteria_weights.keys())[i]] * weight print(供应商综合得分, final_scores) print(最优供应商, max(final_scores, keyfinal_scores.get))案例 2旅游目的地选择选择旅游目的地时通常考虑风景、费用、交通、美食和住宿五个因素。通过 AHP 方法可以将主观偏好转化为量化权重辅助决策。from ahp_calculator import AHP 准则判断矩阵 matrix [ [1, 3, 5, 7, 9], [1/3, 1, 3, 5, 7], [1/5, 1/3, 1, 3, 5], [1/7, 1/5, 1/3, 1, 3], [1/9, 1/7, 1/5, 1/3, 1] ] ahp AHP(matrixmatrix, criteria_names[风景, 费用, 交通, 美食, 住宿]) weights ahp.calculate_weights() print(各因素权重, weights) 一致性检验 result ahp.consistency_check() print(CR 值, result[CR]) print(是否通过, result[is_consistent])案例 3员工绩效评估企业评估员工绩效时可从工作质量、工作效率、团队协作、创新能力和出勤率五个维度进行。AHP 方法可以帮助确定各维度的权重使评估更加客观。from ahp_calculator import AHP matrix [ [1, 2, 3, 4, 5], [1/2, 1, 2, 3, 4], [1/3, 1/2, 1, 2, 3], [1/4, 1/3, 1/2, 1, 2], [1/5, 1/4, 1/3, 1/2, 1] ] ahp AHP(matrixmatrix, criteria_names[工作质量, 工作效率, 团队协作, 创新能力, 出勤率]) result ahp.get_result() print(绩效维度权重, result[weights]) print(一致性检验, result[consistency])案例 4软件技术选型在多个技术方案之间进行选型时可以从性能、可维护性、社区活跃度、学习成本和生态丰富度等角度评估。以下示例演示如何使用 ahp-calculator 进行技术选型。from ahp_calculator import AHP 技术方案方案1、方案2、方案3 准则性能、可维护性、社区、学习成本、生态 criteria_matrix [ [1, 3, 5, 7, 5], [1/3, 1, 3, 5, 3], [1/5, 1/3, 1, 3, 1/3], [1/7, 1/5, 1/3, 1, 1/3], [1/5, 1/3, 3, 3, 1] ] criteria_ahp AHP(matrixcriteria_matrix, criteria_names[性能, 可维护性, 社区, 学习成本, 生态]) criteria_weights criteria_ahp.calculate_weights() 各准则下方案判断矩阵 perf_matrix [[1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1]] maintain_matrix [[1, 1/3, 1/5], [3, 1, 1/2], [5, 2, 1]] community_matrix [[1, 2, 3], [1/2, 1, 2], [1/3, 1/2, 1]] cost_matrix [[1, 1/2, 1/3], [2, 1, 1/2], [3, 2, 1]] eco_matrix [[1, 3, 5], [1/3, 1, 3], [1/5, 1/3, 1]] matrices [perf_matrix, maintain_matrix, community_matrix, cost_matrix, eco_matrix] tech_names [方案1, 方案2, 方案3] final_scores {} for i, mat in enumerate(matrices): ahp AHP(matrixmat, criteria_namestech_names) w ahp.calculate_weights() criterion list(criteria_weights.keys())[i] for name, weight in w.items(): final_scores[name] final_scores.get(name, 0) criteria_weights[criterion] * weight print(技术方案综合评分, final_scores) print(推荐方案, max(final_scores, keyfinal_scores.get))案例 5购房决策购房时需要考虑地段、价格、面积、户型、周边配套和升值潜力等因素。以下示例展示如何利用 AHP 方法辅助购房决策。from ahp_calculator import AHP matrix [ [1, 3, 5, 7, 5, 9], [1/3, 1, 3, 5, 3, 7], [1/5, 1/3, 1, 3, 1/3, 5], [1/7, 1/5, 1/3, 1, 1/5, 3], [1/5, 1/3, 3, 5, 1, 5], [1/9, 1/7, 1/5, 1/3, 1/5, 1] ] ahp AHP(matrixmatrix, criteria_names[地段, 价格, 面积, 户型, 配套, 升值潜力]) weights ahp.calculate_weights() print(购房因素权重, weights) 可视化权重 ahp.plot_weights()案例 6项目风险评估在项目管理中风险评估是重要环节。通过 AHP 方法可以对技术风险、市场风险、管理风险、财务风险和外部环境风险进行量化评估。from ahp_calculator import AHP matrix [ [1, 2, 3, 4, 5], [1/2, 1, 2, 3, 4], [1/3, 1/2, 1, 2, 3], [1/4, 1/3, 1/2, 1, 2], [1/5, 1/4, 1/3, 1/2, 1] ] ahp AHP(matrixmatrix, criteria_names[技术风险, 市场风险, 管理风险, 财务风险, 外部风险]) result ahp.get_result() print(风险权重, result[weights]) print(一致性检验, result[consistency]) 根据权重确定风险优先级 sorted_risks sorted(result[weights].items(), keylambda x: x[1], reverseTrue) print(风险优先级排序, sorted_risks)案例 7高校专业选择高考志愿填报时考生需要综合考虑兴趣、就业前景、学校实力、专业实力和地理位置等因素。AHP 方法可以帮助考生理性决策。from ahp_calculator import AHP matrix [ [1, 3, 5, 7, 5], [1/3, 1, 3, 5, 3], [1/5, 1/3, 1, 3, 1/3], [1/7, 1/5, 1/3, 1, 1/3], [1/5, 1/3, 3, 3, 1] ] ahp AHP(matrixmatrix, criteria_names[兴趣, 就业前景, 学校实力, 专业实力, 地理位置]) weights ahp.calculate_weights() print(专业选择因素权重, weights) 假设有 3 个备选专业构造方案层判断矩阵 major1 [[1, 2, 3], [1/2, 1, 2], [1/3, 1/2, 1]] major2 [[1, 1/2, 1/3], [2, 1, 1/2], [3, 2, 1]] major3 [[1, 3, 5], [1/3, 1, 2], [1/5, 1/2, 1]] major4 [[1, 1/3, 1/5], [3, 1, 1/2], [5, 2, 1]] majo《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能主要包括各类提示词的应用如问答式、指令式、状态类、建议式、安全类和感谢类提示词以及如何通过实战演练掌握提示词的使用技巧使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务以及在数据挖掘、程序开发等领域的应用AI在绘画创作上的应用百度文心一言和阿里通义大模型这两大智能平台的特性与功能以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》读者可掌握如何有效利用AI提示工程提升工作效率创新工作流程并在职场中脱颖而出。