ANP网络层次分析法
方法概述
网络层次分析法(Analytic Network Process, ANP)是由T.L. Saaty教授于1996年在AHP基础上提出的多准则决策方法。与AHP的树状层次结构不同,ANP采用网络结构,允许元素之间存在相互依赖和反馈关系,更适用于复杂的系统决策问题。
ANP的核心思想是:
将系统划分为控制层和网络层。控制层包含目标和准则,网络层由受控的元素和元素组构成,元素组内部及元素组之间可能存在相互影响。
通过构造超矩阵(Supermatrix)来捕捉元素间的所有直接和间接影响关系。
计算极限超矩阵(Limit Supermatrix)得到元素的全局权重。
ANP广泛应用于供应链管理、项目选择、绩效评估、能源规划等领域,尤其适合元素间存在复杂依存关系的场景。
ANP网络结构
ANP的典型网络结构由控制层和网络层两大部分组成。
控制层位于上层,包含决策目标(Goal)和若干准则(Criteria)。控制层是一个典型的AHP层次结构,准则之间相互独立,其权重可通过AHP方法计算得出。控制层对网络层起支配作用,即网络层中的所有元素都受到控制层准则的约束。
网络层位于下层,由多个元素组(Clusters)构成,每个元素组内包含若干个具体元素(Nodes)。元素组之间以及元素组内部可能存在相互影响关系,这种关系用带箭头的连线表示:
若元素组A中的元素对元素组B中的元素有影响,则存在从A指向B的箭头。
若两个元素组之间互相影响,则箭头双向。
同一元素组内的元素之间也可能存在相互影响(内部依存关系),通常用环绕该元素组的箭头表示。
典型的ANP网络结构示意如下:
控制层:顶层为目标(如“选择最优方案”),下一层为若干个准则(如“技术先进性”、“经济性”、“风险性”等),准则之间无相互影响。
网络层:包含多个元素组,例如“方案组”(含备选方案A、B、C)、“因素组”(含影响因素X、Y)、“风险组”(含风险因素R1、R2)等。元素组之间用箭头连接,例如“因素组”影响“方案组”,“风险组”同时影响“方案组”和“因素组”,而“方案组”也可能反馈影响“因素组”。同一元素组内部如“因素组”内各因素间可能存在相互影响。
这种网络结构能够真实反映复杂系统中元素间的依赖与反馈,是ANP与AHP的本质区别。
优势度
ANP中判断矩阵的构建基于优势度的概念,有两种比较方式:
- 直接优势度:给定一个准则,两元素基于该准则的重要程度进行比较。适用于元素间互相独立的情况(AHP采用)。
- 间接优势度:给定一个准则,两元素在该准则下对第三个元素(次准则)的影响程度进行比较。适用于元素间相互依存的情形(ANP采用)。
ANP通过间接优势度构建判断矩阵,能够反映元素间的反馈关系。
计算步骤
1. 建立ANP网络结构
确定准则、元素和元素组,并确定元素及元素组之间的影响关系。通常由专家给出影响关系矩阵,矩阵中的元素表示行元素对列元素是否有影响(1表示有影响,0表示无影响)。根据影响关系矩阵,可以推导出元素组之间的影响关系:若元素组A中任一元素对元素组B中任一元素有影响,则元素组A影响元素组B。
2. 构造判断矩阵
对于网络层中的每个元素组 \(c_j\) 中的每个元素 \(e_{jl}\),将其作为次准则,对元素组 \(c_i\) 中所有影响 \(e_{jl}\) 的元素进行两两比较(采用1~9标度),构造判断矩阵,并计算归一化特征向量。若 \(c_i\) 中无元素影响 \(e_{jl}\),则对应的向量分量为0。
将元素组 \(c_j\) 中所有元素作为次准则得到的特征向量组合成一个矩阵 \(W_{ij}\):
\[ W_{ij} = \begin{bmatrix} w_{i1}^{j1} & w_{i1}^{j2} & \cdots & w_{i1}^{jl} \\ w_{i2}^{j1} & w_{i2}^{j2} & \cdots & w_{i2}^{jl} \\ \vdots & \vdots & \ddots & \vdots \\ w_{ik}^{j1} & w_{ik}^{j2} & \cdots & w_{ik}^{jl} \end{bmatrix} \]
其中 \(w_{ik}^{jl}\) 表示以元素组 \(c_j\) 中的元素 \(e_{jl}\) 为次准则时,元素组 \(c_i\) 中元素 \(e_{ik}\) 的权重。
3. 构造超矩阵
对所有元素组对 \((c_i, c_j)\) 重复上述步骤,得到超矩阵 \(W\):
\[ W = \begin{bmatrix} W_{11} & W_{12} & \cdots & W_{1n} \\ W_{21} & W_{22} & \cdots & W_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ W_{n1} & W_{n2} & \cdots & W_{nn} \end{bmatrix} \]
超矩阵是一个分块矩阵,每个子块 \(W_{ij}\) 反映了元素组 \(c_j\) 对元素组 \(c_i\) 的影响关系。超矩阵的每一列和为1(经过归一化)。
4. 计算加权超矩阵
考虑元素组本身的重要性,需要构建元素组间的权重矩阵 \(A\)。以每个元素组 \(c_i\) 为准则,对元素组进行两两比较(采用1~9标度),得到判断矩阵并计算归一化特征向量,从而得到加权矩阵:
\[ A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix} \]
其中 \(a_{ij}\) 表示元素组 \(c_j\) 对元素组 \(c_i\) 的权重,且每一列和为1。
将超矩阵 \(W\) 与加权矩阵 \(A\) 结合,得到加权超矩阵 \(\bar{W}\):
\[ \bar{W} = \begin{bmatrix} a_{11}W_{11} & a_{12}W_{12} & \cdots & a_{1n}W_{1n} \\ a_{21}W_{21} & a_{22}W_{22} & \cdots & a_{2n}W_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1}W_{n1} & a_{n2}W_{n2} & \cdots & a_{nn}W_{nn} \end{bmatrix} \]
加权超矩阵的每一列之和也为1。
5. 计算极限超矩阵
加权超矩阵 \(\bar{W}\) 反映了元素间的一步优势度。为得到稳定状态下的全局权重,需要计算极限超矩阵:
\[ \bar{W}^{\infty} = \lim_{t \to \infty} \bar{W}^{t} \]
即对加权超矩阵反复自乘,直至矩阵各列收敛到相同值。极限超矩阵的每一列即为各元素的全局权重向量。当存在多个特征根时,可能需要取Cesaro平均值,通常采用幂法计算。
案例分析
案例背景:某企业需选择最优的研发项目,考虑三个准则:技术可行性(C1)、经济效益(C2)、战略匹配度(C3)。网络层包含两个元素组:项目组(P1, P2, P3)和风险组(R1, R2)。已知项目组与风险组之间存在相互影响:项目选择会影响风险,风险也会影响项目的可行性。
为简化,仅展示部分计算过程:
- 建立影响关系:确定元素组间影响关系,例如项目组影响风险组,风险组也影响项目组。
- 构造判断矩阵:以风险组中的R1为次准则,对项目组中影响R1的项目(P1, P2)进行两两比较,得到特征向量;类似地构建其他子块。
- 形成超矩阵:将所有子块组合成6×6的超矩阵。
- 计算加权矩阵:以项目组和风险组为准则,比较两元素组的重要性,得到加权矩阵。
- 迭代计算极限超矩阵:通过幂法计算得到最终项目权重和风险权重。
结论:最终可得各项目的全局权重,从而选出最优项目。
常见问题
Q1: ANP与AHP的主要区别是什么?
A: AHP假设元素之间相互独立,采用树状层次结构;ANP允许元素之间存在依赖和反馈,采用网络结构。ANP的计算更复杂,需要构造超矩阵并求极限,但能更真实地反映复杂系统的关系。
Q2: ANP是否需要一致性检验?
A: 是的。在构造判断矩阵(包括元素间和元素组间)时,仍需进行一致性检验(CR<0.1),以确保判断的合理性。超矩阵本身不要求一致性,但构成它的子块来自判断矩阵,因此一致性检验是必要的。
Q3: 如何确定元素组间是否有影响?
A: 通常由专家根据领域知识给出影响关系矩阵,或通过问卷调查确定。平台允许用户输入影响关系矩阵,系统自动识别哪些元素组参与比较。
Q4: 超矩阵规模很大时如何计算极限?
A: 超矩阵的极限计算通常采用幂法迭代,直至相邻两次迭代的误差小于给定阈值。平台内置了高效的数值算法,可处理一定规模的超矩阵(如不超过30个元素)。
Q5: 控制层的准则权重如何获得?
A: 控制层准则的权重可采用AHP方法计算,由专家对准则进行两两比较得到。平台支持在ANP分析前单独计算准则权重,或作为输入的一部分。
Q6: 支持多专家群体决策吗?
A: 支持。平台允许上传多个专家的判断矩阵(包括元素组间和元素间),然后对每个矩阵进行几何平均或算术平均,形成综合判断矩阵,再执行ANP计算。
平台功能
ANP网络层次分析法平台提供以下核心功能:
数据输入
- 支持CSV、Excel、TXT多种格式。
- 可定义控制层准则及权重,网络层元素组及元素。
- 输入元素间影响关系矩阵(0/1矩阵),自动生成参与比较的列表。
- 支持多工作表,每个工作表可对应一个专家判断矩阵。
分析设置
- 一致性阈值:可自定义CR阈值(默认0.1)。
- 迭代精度:设置极限超矩阵计算的收敛精度(默认1e-6)。
- 最大迭代次数:防止无限循环(默认1000次)。
- 小数位数:控制结果输出精度(默认5位)。
结果展示
- 详细分析报告:包含超矩阵、加权超矩阵、极限超矩阵、全局权重。
- 可视化图表:网络结构图、权重分布图。
- AI智能分析:基于DeepSeek API自动解读结果,提供决策建议(每日限3次)。
- 多格式导出:支持Excel和HTML报告下载。
元素管理
- 动态添加/删除元素组和元素。
- 自动检查影响关系的完整性。
- 实时显示一致性检验结果。
使用建议
准备阶段:明确决策目标,识别所有相关元素,并划分元素组。确定元素间的依赖关系,可通过专家访谈或文献调研。
数据收集:
- 设计调查问卷,收集各元素间及元素组间的两两比较判断。
- 使用模板文件填写影响关系矩阵和判断矩阵。
参数设置:根据问题规模设定迭代精度和最大迭代次数。
结果解读:
- 检查所有判断矩阵的一致性,必要时调整。
- 分析极限超矩阵的收敛情况,确保结果稳定。
- 重点关注全局权重排序,结合专家意见做出决策。
迭代优化:若结果不合理,可重新审视影响关系或调整判断矩阵。
平台界面

平台界面包含:控制层设置区、网络层编辑区、影响关系矩阵、超矩阵计算过程和结果展示
参考文献:
- Saaty, T.L. (1996). Decision Making with Dependence and Feedback: The Analytic Network Process. RWS Publications.
- Saaty, T.L. (2001). The Analytic Network Process: Decision Making with the ANP and its Applications. RWS Publications.
- 网络层次分析法(ANP)研究综述[J]. 系统工程理论与实践,2002.
- 基于ANP的复杂系统评价方法与应用[J]. 控制与决策,2005.