基于MATLAB的AHP(层次分析法)的.ppt
《基于MATLAB的AHP(层次分析法)的.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的AHP(层次分析法)的.ppt(16页珍藏版)》请在冰点文库上搜索。
基于MATLAB的AHP(层次分析法)的实现,案例:
整治路口交通秩序方案的评估决策,AHP(层次分析法)介绍及步骤,步骤:
1、构造层次结构模型2、建立判断矩阵3、检验判断矩阵的一致性4、计算权重,选择决策,层次分析法是一种定性与定量分析相结合的多因素决策分析方法。
这种方法将决策者的经验判断给于数量化,在目标因素结构复杂且缺乏必要数据的情况下使用更为方便,因而在实践中得到广泛应用。
关于MATLAB的相关介绍,Matlab是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
Matlab可以进行矩阵运算、绘制函数和数据图像、设计算法、创建用户界面、连接用其他编程语言编写的程序等。
Matlab以矩阵为计算单位,采用M语言作为程序语言,与C语言有诸多相似之处,并可方便地与C/C+、MicrosoftExcel等工具和软件进行结合并进行代码共享和数据交换,可以方便地进行数值分析、图像处理等功能,配合功能强大的统计和金融工具箱,Matlab已经可以在概率统计、经济管理等方面发挥强大的作用。
案例简介,某市一十字路口常常因行人过街拥挤,存在安全隐患,市政部门欲对该路口进行改造,现提出了3套改造方案:
方案1(S1):
建地下通道;方案2(S2):
建人行天桥;方案3(S3):
拆除周围的旧建筑,拓宽街面。
市政部门认为,该改造工程需考虑如下几个方面的指标:
指标1(P1):
通车能力的大小;指标2(P2):
交通安全系数的高低;指标3(P3):
建筑费用的高低;指标4(P4):
群众出行方便度的大小;指标5(P5):
市容整洁程度的高低。
现在需要就以上问题进行决策,需决定在三套方案(S1S3)中选用最优方案。
构建结构层次模型,形成判断矩阵,Saaty九级标度法及其含义,形成判断矩阵,指标间重要程度判断矩阵(表一),通车能力(P1)判断矩阵(表二),形成判断矩阵,交通安全系数(P2)判断矩阵(表3),建筑费用(P3)判断矩阵(表4),群众方便度(P4)判断矩阵(表5),市容整洁度(P5)判断矩阵(表6),计算-MATLAB,Matlab程序设计思路,程序的设计目标首先是计算判断矩阵的权重向量和最大特征值,然后进行CI和CR的计算,进而判断矩阵的一次性。
程序流程图如右图所示,程序代码,disp(请输入判断矩阵A(n阶);A=input(A=);n,n=size(A);x=ones(n,100);y=ones(n,100);m=zeros(1,100);m
(1)=max(x(:
1);y(:
1)=x(:
1);x(:
2)=A*y(:
1);m
(2)=max(x(:
2);y(:
2)=x(:
2)/m
(2);p=0.0001;i=2;k=abs(m
(2)-m
(1);whilekpi=i+1;x(:
i)=A*y(:
i-1);m(i)=max(x(:
i);y(:
i)=x(:
i)/m(i);k=abs(m(i)-m(i-1);enda=sum(y(:
i);w=y(:
i)/a;t=m(i);disp(权向量);disp(w);disp(最大特征值);disp(t);%以下是一致性检验CI=(t-n)/(n-1);RI=000.520.891.121.261.361.411.461.491.521.541.561.581.59;CR=CI/RI(n);ifCR0.10disp(此矩阵的一致性可以接受!
);disp(CI=);disp(CI);disp(CR=);disp(CR);elsedisp(此矩阵的一致性不可以接受!
);end,计算-MATLAB,将表1-表6所表示的6个判断矩阵依次输入,通过程序计算得判断矩阵特征值及一致性检验结果汇总如下,计算-MATLAB,通过程序运算,各因素所占比重的权向量为,各方案对因素一的权向量为各方案对因素二的权向量为各方案对因素三的权向量为各方案对因素四的权向量为各方案对因素五的权向量为,计算-结论,根据以上所得的数据计算得出三套方案对于目标的权重向量,经比较发现,方案一(建地下通道)权重系数最大,进而得出结论,方案一(建地下通道)为最优决策,关于AHP(层次分析法)的总结,在确定决策的目标后,对影响目标决策的因素进行分类,建立一个多层次结构;比较同一层次中各因素关于上一层次的同一个因素的相对重要性,构造成对比较矩阵;通过计算,检验成对比较矩阵的一致性,必要时对成对比较矩阵进行修改,以达到可以接受的一致性;在符合一致性检验的前提下,计算与成对比较矩阵最大特征值相对应的特征向量,确定每一层次的各因素对上一层次的同一个因素的权重;计算各方案对于决策目标的总排序权重并决策。
关于MATLAB的总结,通过使用Matlab软件进行编程,在满足同一层次中各指标对所有的下级指标均产生影响的假定条件下,实现了层次分析法的分析运算。
通过本程序,用户只需输入判断矩阵的部分数据,程序可依据层次分析法的计算流程进行计算并得出相关数据及结果。
本程序可以方便地处理层次分析法下较大的运算量,解决层次分析法的效率问题,提高计算机辅助决策的时效性。
谢谢,六一国际儿童节快乐,