当前位置:首页>排行榜>AHP+TOPSIS实操|多方案怎么选?手把手带算+Python完整代码(附Excel模板)

AHP+TOPSIS实操|多方案怎么选?手把手带算+Python完整代码(附Excel模板)

  • 更新时间 2026-10-18 12:02:12
AHP+TOPSIS实操|多方案怎么选?手把手带算+Python完整代码(附Excel模板)

适用场景 多个备选方案、多个评价指标。先靠专家经验(AHP)确定指标的重要程度,再用 TOPSIS 算出每个方案距离理想最优解的远近,实现方案排序。

适合:供应商选择 · 装修方案对比 · 平台系统选型 · 项目方案择优 · 设备采购

一、案例背景

假设我们要“选购一套智慧办公系统”,一共有 3 套备选方案:方案 A、方案 B、方案 C。

我们设置 4 个评价指标:

1. 采购成本(越低越好,成本型指标)

2. 系统稳定性(越高越好,效益型指标)

3. 功能完备度(越高越好,效益型指标)

4. 后期维护难度(越低越好,成本型指标)

原始数据表

备选方案
采购成本(万)
稳定性(1-10)
完备度(1-10)
维护难度(1-10)
A
28
8
7
6
B
22
7
9
8
C
35
9
8
4

指标说明

效益型:数值越大越好(稳定性、完备度)

成本型:数值越小越好(采购成本、维护难度)

步骤总览

01 构建 AHP 层次结构,构造判断矩阵,算权重并做一致性检验

02 TOPSIS 原始矩阵标准化处理

03 把 AHP 权重乘入标准化矩阵,得到加权标准化矩阵

04 确定正理想解(最优虚拟方案)与负理想解(最差虚拟方案)

05 计算各方案到正、负理想解的距离

06 计算贴近度,从大到小排序,选出最优方案


二、Step1:AHP 求指标权重

层次结构

目标层:选择最优智慧办公系统

准则层(4 个指标):采购成本、系统稳定性、功能完备度、维护难度

1)构造判断矩阵

专家两两对比打分,采用 1-9 标度:

1 = 同等重要 3 = 稍微重要 5 = 明显重要 7 = 强烈重要 9 = 极端重要

2、4、6、8 为上述判断的中间值

本例专家打分判断矩阵(行/列依次为:成本、稳定性、完备度、维护难度)

指标
成本
稳定性
完备度
维护难度
采购成本
1
1/3
1/2
2
系统稳定性
3
1
2
4
功能完备度
2
1/2
1
3
维护难度
1/2
1/4
1/3
1

2)AHP 计算结果

手工可验算,也可用 Python 自动算:

最大特征根 λmax ≈ 4.046

一致性指标 CI = (λmax − n) / (n − 1) = (4.046 − 4) / (4 − 1) = 0.015

随机一致性指标 RI(n = 4 时,RI = 0.89)

一致性比率 CR = CI / RI = 0.017 < 0.1,通过一致性检验,权重有效

得到 4 个指标的权重:

采购成本 w1
系统稳定性 w2
功能完备度 w3
维护难度 w4
0.176
0.455
0.273
0.096

解读:系统稳定性权重最高,说明专家认为“稳不稳”是选系统最重要的因素。


三、Step2~6:TOPSIS 排序

核心逻辑

TOPSIS 的思路是:虚拟一个“理想最优方案(正理想解)”和一个“最差方案(负理想解)”,再计算每个方案分别离它们多远。

贴近度 Ci 越大 → 方案越优,取值在 0~1 之间。

原始决策矩阵

指标类型:cost(成本)、benefit(稳定性)、benefit(完备度)、cost(维护难度)

TOPSIS 计算结果

方案
D+ 正理想
D- 负理想
贴近度 Ci
排名
A
0.097
0.148
0.604
1
B
0.132
0.093
0.413
2
C
0.152
0.102
0.401
3

结论:方案 A 贴近度最高(0.604),为最优方案。


四、完整 Python 代码

AHP 与 TOPSIS 全流程封装好了,装好 numpy 就能直接跑:

依赖安装:pip install numpy

AHP + TOPSIS 完整代码

运行输出预览

==== AHP结果 ==== 
最大特征根λmax = 4.0458 
CI = 0.0153, RI=0.8900, CR=0.0172 
CR <0.1,一致性检验通过! 
指标权重: [0.1761 0.4553 0.2730 0.0956]  
==== TOPSIS 排序结果 ==== 
方案   D+到正理想距离    D-到负理想距离    贴近度Ci     排名 
方案A    0.0968           0.1477         0.6040      1 
方案B    0.1320           0.0929         0.4128      2 
方案C    0.1518           0.1017         0.4011      3

五、不写代码也能做

Excel 版思路,适合不想碰 Python 的读者:

① 确定目标 明确要选什么,列出备选方案

② 确定指标 一般控制在 3~7 个,区分效益型与成本型,不要贪多

③ AHP 打分 指标两两对比填判断矩阵,算权重,CR < 0.1 才算有效

④ 收数据 收集所有方案原始数据,建立方案评价表

⑤ TOPSIS 计算 标准化、乘权重、找正负理想解

⑥ 排序决策 算贴近度,从大到小排,选出最优方案


六、适用范围与避坑

什么时候适合用

· 多个备选方案、多维度评价,且指标重要程度需要专家经验判断

· 采购选型、供应商挑选、装修方案、项目方案、设备招标优选

三个坑,别踩

1. AHP 打分主观性强专家打分要严谨;一旦 CR ≥ 0.1,矩阵直接作废,必须重新打分。

2. 指标类型搞反TOPSIS 必须区分效益型/成本型,搞反一步,结果直接反向。

3. 指标太多指标别超过 9 个,否则判断矩阵很难通过一致性检验。


七、文末小结

AHP 负责确定指标的重要性权重(主观专家经验),TOPSIS 负责方案之间的量化排序。

两者组合,就把“凭感觉选方案”变成一套可复现、可验算的定量决策流程。

不管是企业采购、项目方案对比,还是课题论文里的方案优选,AHP + TOPSIS 都是非常经典好用的组合。

如果不喜代码,后台回复 【TOPSIS】 即可领取Excel模板,内含示例案例与文中一样。

— END —

随机文章