摘 要: 本程序在运行开始时,会要求用户输入指标的层数和第一层的指标数,在每一个层次的矩阵元素输入完成后,程序会要求用户输入下一个层次中的指标数,因此本程序可进行无限个层次的迭代运算。
关键词:Matlab;层次分析法;判断矩阵;决策
在当前信息化、全球化的大背景下,传统的手工计算已不能满足人们高效率、高准确度的决策需求。因此计算机辅助决策当仁不让地成为了管理决策的新工具、新方法。基于此,本文在充分发挥计算机强大运算功能的基础上,选用美国MathWorks公司的集成数学建模环境Matlab R2009a作为开发平台,使用M语言进行编程,对计算机辅助决策在层次分析法中的运用进行讨论。试***通过程序实现层次分析法在计算机系统上的运用,为管理决策探索出新的道路。
一、层次分析法的计算流程
根据层次分析法的相关理论,层次分析法的基本思想是将复杂的决策问题进行分解,得到若干个下层指标,再对下层指标进行分解,得到若干个再下层指标,如此建立层次结构模型,然后根据结构模型构造判断矩阵,进行单排序,最后,求出各指标对应的权重系数,进行层次总排序。
1.1 构造层次结构模型 在进行层次分析法的分析时,最主要的步骤是建立指标的层次结构模型,根据结构模型构造判断矩阵,只有判断矩阵通过了一致性检验后,方可进行分析和计算。其中,结构模型可以设计成三个层次,最高层为目标层,是决策的目的和要解决的问题,中间层为决策需考虑的因素,是决策的准则,最低层则是决策时的备选方案。一般来讲,准则层中各个指标的下级指标数没有限制,但在本文中设计的程序尚且只能在各指标具有相同数量的下级指标的假定下,完成层次分析法的分析,故本文后文选取的案例也满足这一假定。1.2 建立判断矩阵 判断矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较给判断矩阵的要素赋值时,常采用九级标度法(即用数字1到9及其倒数表示指标间的相对重要程度)。1.3 检验判断矩阵的一致性 由于多阶判断的复杂性,往往使得判断矩阵中某些数值具有前后矛盾的可能性,即各判断矩阵并不能保证完全协调一致。当判断矩阵不能保证具有完全一致性时,相应判断矩阵的特征根也将发生变化,于是就可以用判断矩阵特征根的变化来检验判断的一致性程度。在层次分析法中,令判断矩阵最大的特征值为λmax,阶数为n,则判断矩阵的一致性检验的指标记为: ⑴ CI的值越大,判断矩阵的一致性越差。当阶数大于2时,判断矩阵的一致性指标CI与同阶平均随机一致性指标RI之比称为随机一致性比率。 ⑵ 当CR
二、Matlab层次分析法程序设计思路
Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。Matlab可以进行矩阵运算、绘制函数和数据***像、设计算法、创建用户界面、连接用其他编程语言编写的程序等。Matlab以矩阵为计算单位,采用M语言作为程序语言,与C语言有诸多相似之处,并可方便地与C/C++、Microsoft Excel等工具和软件进行结合并进行代码共享和数据交换,可以方便地进行数值分析、***像处理等功能,配合功能强大的统计和金融工具箱,Matlab已经可以在概率统计、经济管理等方面发挥强大的作用。 笔者所编程序即是运用Matlab丰富的函数、矩阵运算和程序控制功能,探索其在层次分析法分析中的运用。程序通过三层循环结构,实现多个层次上各个判断矩阵的输入和生成,并可以通过计算它们的特征值,进行矩阵的一致性检验。当所有的判断矩阵一致性检验均通过后,程序将对各层次从下往上依次计算,最终得出各底层指标相对于准则层的权重系数,从而有助于选择最优方案,其中的平行四边形表示输入数据,菱形表示判断,根据判断结果的不同出现2个分支。
三、应用举例
某市一十字路口常常因行人过街拥挤,存在安全隐患,市***部门欲对该路口进行改造,现提出了3套改造方案:
方案1(S1):建地下通道;
方案2(S2):建人行天桥;
方案3(S3):拆除周围的旧建筑,拓宽街面。
市***部门认为,该改造工程需考虑如下几个方面的指标:
指标1(P1):通车能力的大小;
指标2(P2):交通安全系数的高低;
指标3(P3):建筑费用的高低;
指标4(P4):群众出行方便度的大小;
指标5(P5):市容整洁程度的高低。
现在需要就以上问题进行决策,需决定在三套方案(S1~S3)中选用最优方案。其主要步骤及操作如下所示。
第1步:根据题目建立层次结构模型。由于题目要求对3套方案均需考虑5个指标,故可画出指标体系结构***。
第2步:形成判断矩阵。形成判断矩阵,需要对各指标相互的重要性进行标度,矩阵的上三角部分与下三角部分以对角线为分界,对称呈倒数排列,对角线上元素均为1,因为各指标与自身的重要性为“同等重要”,不同的指标A1对A2的重要性与A2对A1的重要性互为倒数。
第3步:将以上各矩阵输入程序,进行计算。在Matlab的命令窗口依次按提示输入矩阵后,程序输出结果。
接着,程序对各矩阵计算所得的最大特征值对应的特征向量按下式进行标准化
再给出各指标的特征向量组成的矩阵
进而得出三套方案相对于目标的权重向量为
程序经比较,发现方案1权重系数最大,进而得出最终结论:方案1(地下通道)占优。
四、总结及分析
本文通过使用Matlab软件进行编程,在满足同一层次中各指标对所有的下级指标均产生影响的假定条件下,实现了层次分析法的分析运算。本程序允许用户自由设定指标层次结构内的层次数以及各层次内的指标数,通过程序的循环,用户只需输入判断矩阵的部分数据,程序可依据层次分析法的计算流程进行计算并作出判断。本程序可以方便地处理层次分析法下较大的运算量,解决层次分析法的效率问题,提高计算机辅助决策的时效性。
参考文献:
[1]王翼,王歆明.MATLAB基础及在经济学与管理科学中的应用[M].北京:机械工业出版社,2009,7.
[2]凌泽华.层次分析法在企业核心员工界定中的运用[J].经营管理者, 2010,(2).
转载请注明出处学文网 » Matlab的层次分析运用初探