摘 要:层次分析法简便易懂,可操作性和实用性强,但是构造判断矩阵往往不容易,计算判断矩阵的特征值特别繁琐且易出错,得到的一致性检验不易调整,这些都给使用层次分析法带来困难,以往使用办公软件电子表格(Excel)的方法计算单层次排序和总层次排序,这种方法使得计算和一致性检验变得容易,文本使用Matlab程序使得计算变得更容易,也使得层次分析法在多个领域得到推广和应用。
关键词:层次分析法;Excel;matlab
1 层次分析法(AHP法)的原理和解决思路
层次分析法是对定性问题进行定量分析的一种简便、灵活而又实用的多准则决策方法。它的原理是模拟人的决策过程,具有思路清晰、方法简便、适用面广、系统性强等特点。是解决多目标、多准则、多层次复杂问题决策或者大型工程风险分析的有力工具。
层次分析法解决问题的思路就是用下一次因素的相对排序求得上一次因素的相对排序。按照因素之间的相互影响和隶属关系将各层次因素聚類组合,形成一个递进有序的层次结构模型。
2 层次分析法的应用难点
2.1合适的判断矩阵构造不易
模型确定后,按照模型层次结构和模型的各因素的相对重要性,综合专家群体咨询意见,采用标度法[ 1 ],从数字1/9一9中选取恰当值,构造各层的判断矩阵,并使之尽量符合一致性检验,这一步成为问题的关键。但实际上系统越复杂,判定矩阵的阶数就会越高,计算就会越困难。
2.2计算量大,步骤繁琐
层次分析法首先要求的就是判断矩阵的最大特征值?姿max,及其正规化的特征向量w,向量w的分量wi是相应因素的单层次权值,这部分计算理论上基于线性代数知识,不用计算机也可以将其计算出来。但实际上,当矩阵的阶数高于4阶时,人工计算就变得相当困难且易出错,如使用计算机计算,就容易得多,常用的方法有Basic语言,电子表格Excel等方法。但计算量都有待改进。
2.3不符合一致性检验时,数据调整变得困难
层次分析法的计算是要得到一个符合一致性检验的结果,否则排序结果没有实际意义。一旦计算结果不满足一致性检验,就得调整数据重新算一遍,令人不胜其烦,工作量增加一倍,出错的可能性也大大增加。实际构造高阶矩阵的过程中,一次成功符合一致性检验的机会并不多,“返工”是常态。
2.4以上难点对层次分析法的影响
使用层次分析法如果不能很好的处理其中的计算,那么就会给该方法的学习、推广和应用带来困难。使人失去学习该方法的耐心,在弄不清,算不出来的心理影响下,减少了层次分析法在各领域的应用。
3 用Matlab程序实现层次分析法的步骤
为了解决以上难题,简化层次分析法的计算,让该方法变得简单易学,我们使用Matlab软件,设计简单的程序,输入数据即可得到相应的单层次排序和总层次排序,以及一致性检验的结果。
3.1使用层次分析法步骤简介
使用层次分析法步骤,建立层次结果模型、构造判断矩阵、计算特征向量w,最大特征值,一致性指标、随机一致性指标、随机一致性比例CI,RI,CR(RI为随机计算10次得到的平均值为已知)[ 1 ],并判断是否满足一致性。
3.2用实例说明计算过程
例:某房地产投资公司准备在某市内建一高档社区,现对市中心、外三环、市郊三种可供选择的地理位置进行选取,其中要考虑的因素包括居住、消费、价格、交通、建筑质量,请问哪种选址企业的收益最大?
(4)将影响决策的各因素对各方案的权重加权取平均数可得三个方案综合评价排序结果,总排序w=(0.38876,0.38202,0.21664),可知方案C3优于方案C2,更优于方案C1。
4 层次分析法Matlab算法的总结
层次分析法Matlab算法可以使用目前广泛使用的Matlab软件作为运算平台,多数人都会使用,不需要掌握Matlab知识,只需把本文应用程序换上数字即可运算。运算速度快、效率高、计算结果精确,误差小,计算最大特征值的同时可进行一致性检验,如果不符合一致性检验,重新调整数据非常简单。
本文的方法解决了层次分析法看起来简单,但计算难度大的问题,克服了传统算法应对高阶矩阵的无奈,同时还解决了传统算法不利于反复检验的问题,使得大量数学计算不再是层次分析法学习使用者的障碍,对层次分析法在各学科中的推广和应用可以起到一定的积极作用。
参考文献:
[1] Saaty T L.层次分析法[M].许树柏译.北京: 煤炭工业出版社,1998.
[2] 于晶.基于AHP的太阳能建筑应用项目风险管理[J].科技经济市场.2016,2(1):212-213
[3] 先锋.电子表格(Excel)实现层次分析法(AHP)的简捷计算[D].广州:华南农业大学,2004.
[4] 张格亮,李昕.风险投资项目中几种数学方法评析[J].牡丹江师范学院学报,2012,10(1):1-4.
作者简介:
于晶(1976-),讲师,北华大学数学与统计学院。