一种改进的AHP算法及其应用
2021-03-15成都师范学院数学学院舒孝珍
◇成都师范学院数学学院 舒孝珍
层次分析法是研究决策问题的常见方法,利用层次分析法研究问题的关键步骤是判别矩阵的建立及其一致性检验。当判别矩阵的一致性检验不成立时,与传统方法相比,提出了新的修正判别矩阵的方法和改进的一致性检验方法。
1 引言
层次分析法(Analytic Hierarchy Process,简称AHP)是由美国运筹学家sattyTL于二十世纪七十年代创立的一种定性分析与定量分析相结合的多准则决策方法[1-2]。它在各种决策问题中有着广泛的应用,主要通过建立问题的层次结构模型、构造各层的判别矩阵、进行层次单排序及一致性检验、进行层次总排序及一致性检验四个步骤来完成指标排序或权值确定[3-5]。
近年来,大多数研究者对层次分析法的研究主要集中在该方法的应用方面[5-10],对该方法本身的研究与改进方面,曹黎侠、冯孝周在文献4中利用一种和法对不满足一致性检验的判别矩阵提出了新的修正方法以及利用数学分析的方法改进了传统的一致性检验方法。吴福初、吴杰、陈邓安在文献11中,针对高阶矩阵在求最大特征值和特征向量时运算的复杂性以及判别矩阵一致性检验与矩阵分开运算进行的不足,提出了一种基于MATLAB数学软件的改进算法。李伟、张明生、陈德强在文献12中对判别矩阵的调整提出了一种新的方法。与以上研究者不同的是,本文利用了一种根法对不满足一致性检验的判别矩阵提出了新的修正方法,并且改进了利用MATLAB数学软件去检验判别矩阵的一致性指标的方法。
2 AHP算法的改进
2.1 判别矩阵的修正
当判别矩阵不满足一致性检验要求时,就需要对判别矩阵里面的元素进行修正,重新进行调查问卷或重新咨询专家,通过数据处理后,重新得到新的判别矩阵。然而,新的判别矩阵可能仍然不满足一致性检验要求,如果继续重复上述步骤,将会耗费大量的物力、财力,得不偿失。因此,有必要采取一种新的方法,在不破坏原始数据的情况下,对判别矩阵进行修正。
2.2 一致性检验的改进
通过MATLAB软件来实现判别矩阵的一致性检验,将极大的简化运算过程,MATLAB软件编写程序如下:
利用MATLAB软件求判别矩阵的最大特征值、特征向量及进行一致性检验,编写M文件jy.m如下:
因此,修正后的判别矩阵满足一致性检验。
3 结语
文中从判别矩阵的修正和判别矩阵的一致性检验两个方面对层次分析法进行了改进。利用根法修正后的判别矩阵即尊重了数据的原始性,又满足了一致性检验要求。利用MATLAB数值计算软件不仅简化了手动计算特征值、特征向量的复杂性,而且还可以通过程序的修改增进一致性检验的方法。改进后的层析分析法可以广泛应用于决策问题中,对提升决策问题的效率有一定的参考价值。