浅谈基于Matlab的层次分析法与运用
导语:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。下面是小编搜集整理的一篇探究企业财务会计与管理会计融合的论文范文,供大家阅读参考。
摘要:本文经过运用Matlab软件停止编程,在满足同一层次中各目标对一切的上级目标均发生影响的假定条件下,完成了层次剖析法的剖析运算。本顺序允许用户自在设定目标层次构造内的层次数以及各层次内的目标数,经过顺序的循环,用户只需输出判别矩阵的局部数据,顺序可根据层次剖析法的计算流程停止计算并作出判别。本顺序可以方便地处置层次剖析法下较大的运算量,处理层次剖析法的效率成绩,进步计算机辅佐决策的时效性。
关键词:Matlab层次剖析法 判别矩阵 决策
在以后信息化、全球化的大背景下,传统的手工计算已不能满足人们高效率、高精确度的决策需求。因而计算机辅佐决策当仁不让地成爲了管理决策的新工具、新办法。基于此,本文在充沛发扬计算机弱小运算功用的根底上,选用美国MathWorks公司的集成数学建模环境Matlab R2009a作爲开发平台,运用M言语停止编程,对计算机辅佐决策在层次剖析法中的运用停止讨论。试图经过顺序完成层次剖析法在计算机零碎上的运用,爲管理决策探究出新的路途职称论文。
一、层次剖析法的计算流程
依据层次剖析法的相关实际,层次剖析法的根本思想是将复杂的决策成绩停止分解,失掉若干个上层目标,再对上层目标停止分解,失掉若干个再上层目标,如此树立层次构造模型,然后依据构造模型结构判别矩阵,停止单排序,最初,求出各目标对应的权重系数,停止层次总排序。
1.1 结构层次构造模型 在停止层次剖析法的剖析时,最次要的步骤是树立目标的层次构造模型,依据构造模型结构判别矩阵,只要判别矩阵经过了分歧性检验后,方可停止剖析和计算。其中,构造模型可以设计成三个层次,最高层爲目的层,是决策的目的和要处理的成绩,两头层爲决策需思索的要素,是决策的原则,最低层则是决策时的备选方案。普通来讲,原则层中各个目标的上级目标数没无限制,但在本文中设计的顺序尚且只能在各目标具有相反数量的上级目标的假定下,完成层次剖析法的剖析,故本文后文选取的案例也满足这一假定。
1.2 树立判别矩阵 判别矩阵是表示本层一切要素针对上一层某一个要素的绝对重要性的比拟给判别矩阵的要素赋值时,常采用九级标度法(即用数字1到9及其倒数表示目标间的绝对重要水平),详细标度办法如表1所示。
1.3 检验判别矩阵的分歧性 由于多阶判别的复杂性,往往使得判别矩阵中某些数值具有前后矛盾的能够性,即各判别矩阵并不能保证完全协调分歧。当判别矩阵不能保证具有完全分歧性时,相应判别矩阵的特征根也将发作变化,于是就可以用判别矩阵特征根的变化来检验判别的分歧性水平。在层次剖析法中,令判别矩阵最大的特征值爲λmax,阶数爲n,则判别矩阵的分歧性检验的目标记爲:
⑴
CI的值越大,判别矩阵的分歧性越差。当阶数大于2时,判别矩阵的分歧性目标CI与同阶均匀随机分歧性目标RI之比称爲随机分歧性比率,其中RI的值由表2确定,CR的计算公式爲:
⑵
当CR0.1时,即可以为判别矩阵具有称心的分歧性。但是由于在爲各目标间互相重要性水平大小的断定进程中存在人爲客观要素,因而在判别矩阵不能经过分歧性检验时,需求对各目标间互相重要性水平重新停止赋值,直至其经过矩阵分歧性检验。其最大特征值对应的特征向量即爲该目标绝对于上一级目标的重要性排序。
1.4 停止层次总排序 在经过层次单排序得出各目标绝对上一级目标的重要性排序向量后,沿递阶级次构造逐级顺次由下往上停止矩阵计算,则可失掉各底层目标对最高层的绝对重要性权重,从而可对各底层目标的优先次第停止排序,找出重点目标并予以特别关注。
二、 Matlab层次剖析法顺序设计思绪
Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据剖析以及数值计算的初级技术计算言语和交互式环境。Matlab可以停止矩阵运算、绘制函数和数据图像、设计算法、创立用户界面、衔接用其他编程言语编写的顺序等。Matlab以矩阵爲计算单位,采用M言语作爲顺序言语,与C言语有诸多类似之处,并可方便地与C/C++、Microsoft Excel等工具和软件停止结兼并停止代码共享和数据交流,可以方便地停止数值剖析、图像处置等功用,配合功用弱小的统计和金融工具箱,Matlab曾经可以在概率统计、经济管理等方面发扬弱小的作用。
笔者所编顺序即是运用Matlab丰厚的函数、矩阵运算和顺序控制功用,探究其在层次剖析法剖析中的运用。顺序经过三层循环构造,依照表1所示的办法和规则,完成多个层次上各个判别矩阵的输出和生成,并可以经过计算它们的特征值,依照上述公式⑴、公式⑵和表2所示的办法停止矩阵的分歧性检验。当一切的判别矩阵分歧性检验均经过后,顺序将对各层次从下往上顺次计算,最终得出各底层目标绝对于原则层的权重系数,从而有助于选择最优方案,顺序流程如图1所示,其中的平行四边形表示输出数据,菱形表示判别,依据判别后果的不同呈现2个分支。顺序中,用于生成判别矩阵的局部顺序如下:
for a=1:mp
for b=1:mp
A(b,b)=1;
if a fprintf(‘Line %i, Row %i“n‘,[a;b]);
A(a,b)=input(‘Please input the value: ‘);
A(b,a)=1/A(a,b);
end
end
生成层次总排序权重矩阵的局部顺序如下:
for r=p-1:1
v=[‘vect=vect*vector‘ int2str(r)];
evalc(v)
end
fprintf(‘The final judging vector is:‘)
fprintf(‘“n%.4f‘,vect)
[m,maxpl]=max(vect);
fprintf(‘“n“nThe Scheme %i is the best solution.“n“n‘,maxpl)
其中,mp爲该层内的目标数,p爲目标的层数,均在顺序开端时由用户指定;vect初始被赋值爲空矩阵,经循环后生成第一目标层的判别向量;m爲vect向量的最大值,maxpl记载该最大值所处的地位。
由于本顺序构造上的限制,本顺序尚且只能在同一层次各个目标均对一切下一层次目标发生影响时处置层次剖析法的成绩,故本文举例亦遵照该假定停止。
三、使用举例
某市一十字路口经常因行人过街拥堵,存在平安隐患,市政部门欲对该路口停止改造,现提出了3套改造方案:
方案1(S1):建地下通道;
方案2(S2):建人行天桥;
方案3(S3):撤除四周的旧修建,拓宽街面。
市政部门以为,该改造工程需思索如下几个方面的目标:
目标1(P1):通车才能的大小;
目标2(P2):交通平安系数的'上下;
目标3(P3):修建费用的上下;
目标4(P4):群众出行方便度的大小;
目标5(P5):市容整洁水平的上下。
如今需求就以上成绩停止决策,需决议在三套方案(S1~S3)中选用最优方案。其次要步骤及操作如下所示。
第1步:依据标题树立层次构造模型
由于标题要求对3套方案均需思索5个目标,故可画出如图2所示的目标体系构造图。
第2步:构成判别矩阵
构成判别矩阵,需求对各目标互相的重要性停止标度,矩阵的上三角局部与下三角局部以对角线爲分界,对称呈倒数陈列,对角线上元素均爲1,由于各目标与本身的重要性爲“同等重要”,不同的目标A1对A2的重要性与A2对A1的重要性互爲倒数。依据经历对图2中各目标互相的重要性停止标度后,可得如下几个矩阵:
第3步:将以上各矩阵输出顺序,停止计算
在Matlab的命令窗口顺次按提示输出表 3~表 8所示矩阵后,顺序输入后果经整理如下表:
接着,顺序对各矩阵计算所得的最大特征值对应的特征向量按下式停止规范化:
再给出各目标的特征向量组成的矩阵:
进而得出三套方案绝对于目的的权重向量爲:
顺序经比拟,发现方案1权重系数最大,进而得出最终结论:方案1(地下通道)占优。
四、 总结及剖析
本顺序在运转开端时,会要求用户输出目标的层数和第一层的目标数,在每一个层次的矩阵元素输出完成后,顺序会要求用户输出下一个层次中的目标数,因而本顺序可停止有限个层次的迭代运算。当然,顺序只能替代层次剖析法的运算局部,由于对判别矩阵赋值具有客观性,经常需求经过其他的办法停止确定,如Delphi办法等。在把设定好的判别矩阵输出顺序停止运算时,顺序可以保证矩阵运算的精度和效率,在对代码停止优化和扩展后,还可以将进程与后果数据导出到Excel和Eviews,以方便停止后续的数据整理和计量剖析。
另外,如前所述,本顺序存在一个局限,即需求在满足同一层次内各目标对一切下一层次目标均发生影响的假定时才干正确运转。笔者将在今后对顺序停止进一步的完善,提升其功用和易用性,使其能满足不同类型、不同条件下的层次剖析法剖析,在日常生活的计算机辅佐决策范畴发扬更大的作用。
参考文献:
[1]凌泽华.层次剖析法在企业中心员工界定中的运用[J].运营管理者, 2010,(2).
刘文琦,熊惠珍.层次剖析法在财务目标剖析中的使用[J].审计与理财,2010,(1).
王翼,王歆明.MATLAB根底及在经济学与管文科学中的使用[M].北京:机械工业出版社,2009,7.
【浅谈基于Matlab的层次分析法与运用】相关文章: