matlab四层ahp,基于MATLAB的AHP实现最终版(资料4)

《基于MATLAB的AHP实现.doc》由会员分享,可免费在线阅读全文,更多与《基于MATLAB的AHP实现(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、utw,dw,CIC,RIC)%求层次总排序权重并进行一致性检验%utw为上一层因素的总排序权重行向量%dw为下一层因素相对于上一层各因素的层次单排序权重矩阵%CIC为一致性指标列向量%RIC为随机一致性指标列向量tw=dw*utwCR=utw'*CIC(utw'*RIC);ifCRgt=dis([inut('层次总排序没通过一致性检验,请重新调整判断矩阵')]);elsedis([inut('层次总排序通过一致性检验')]);end在MATLAB中输入如下指令:dw=zeros(,);dw=(:,)=wP;dw=(:,)=W;dw=(:,)=wP;CIC=[CIP;CIP;CIP];RIC=[RIP;RIP;RIP];tw=tolsortvec(wA,dw,CIC,RIC)’;运行结果如下:tw=层次总排序通过一致性检验其中tw是层次总排序结果。因此,根据数据建立如下的层次总排序表。表层次总排序表(权重)AP。

2、,,,];RI=RIT(n);CI=(maxeigvaln)(n);CR=CIRI;ifCRgt=dis([inut('矩阵没通过一致性检验,请重新调整判断矩阵')]elsedis([inut('矩阵通过一致性检验')]);end在MATLAB中键入如下指令:[RIA,CIA]=sglsortexamine(max(),A);[RIP,CIP]=sglsortexamine(max(),P);[RIP,CIP]=sglsortexamine(max(),P);[RIP,CIP]=sglsortexamine(max(),P);运行结果如下:矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验一致性检验及总排序的MATLAB实现通过层次单排序(权重)计算后,进行层次合成计算,在此本文定义tolsortvecm函数计算层次总排序的权重并进行一致性检验。functiontw=tolsortvec(。

3、和解决。BC参考文献[]朱建军。层次分析法的若干问题研究及应用[J]。东北大学,:。[]SaatyTLJMathPsychol,():。[]SaatyTL,GholamnezhadAHEnviromentandPlanningB()。[]SaatyTL,BennettJPBehavioralScience()。[]MitchellKH,SoyeMPMathematicsandComuterSimulation()。[]李祚泳。层次分析法(AHP)及其最新进展[J]。成都信息工程学院学报,:。[]SaatyTLTheAnalyticHierarchyProcess[M]NewYorkMcGrawHill,Lnc:。[]张崎,西村昂。提高层次分析法评价精度的几种方法[J]。系统工程与实践,,():。[]杜栋。论AHP的标度评价[J]。运筹与管理,,():。[]胡明甫。AHP层次分析法及MATLAB的应用研究[J]。。

4、A=+ii+iileaseinut通过一致性检验矩阵通过一致性检验层次总排序通过一致性检验CHOICE=由此分析得,通过层次分析法并且结合MATLAB,该生很容易便能作出了决策,选择工作。而且容易得出如下表的层次总排序:表层次总排序BBBBBB层次总排序CCC从而得出结论:选择工作.结束语利用层次分析法AHP,并结合被称为第四代计算机语言的MATLAB工具软件,来解决多目标、多准则的问题,大大缩减了决策者计算复杂矩阵的时间。目前很多领域都采用这种方法,如经济计划和管理、能源政策和分配、行为科学等。由此可见,层次分析法AHP结合MATLAB时很有发展前景的。但是层次分析法也有其局限性:()AHP方法中所用的指标体系需要有专家系统的支持,如果给出的指标不合理,得到的结果也就不准确;()AHP方法中经行多层比较的时候需要给出一致性比较,如果不满足一致性指标要求,则AHP方法就失去了作用。因此,需要更多的研究人员去探讨。

5、,];[Wa,LA]=eig(A)%求A的特征向量WA和特征根LAMaxn=inut('leaseinutlargesteigenvalue:');%输入最大特征根CIn=(Maxnn)(n);CRn=CInRI(n);%A的一致性比率CRnWA=Wa(:,)sum(Wa(:,));%特征向量归一化ifCRnltfrintf('A的CR%f通过一致性检验!\n',CRn);%控制文本格式elsefrintf('A的CR%f未通过一致性检验!\n',CRn);endfork=:n%求B的特征向量WK和特征根LK[WB,LK]=eig(BS(:,(k)*m+:(k)*m+))Max(k)=inut('leaseinutlargesteigenvalue:');CIm(k)=(Max(k)m)(m);RIm(k)=RI(m);CRm(k)=CIm(k)RIm(k);;%B的一致性比率CRmWK(:,k)=WB(:,)。

6、铁技术,:。[]刘新宪,朱道立。选择与判断AHP层次分析法[M]。决策上海科学普及出版社,:。[]焦树峰。AHP法中平均随机一致性指标的算法及MATLAB实现[J]。太原师范学院学报(自然科学版),,():。[]许树柏。层次分析法原理实用决策方法[M]。天津大学出版社,:。[]刘卫国。MATLAB程序设计教程[M]。中国水利水电出版社,:,。[]陈晓江。层次分析法中平均随机一致性指标的数学软件实现[J]。九江职业技术学院学报,():。[]董守贵。基于MATLAB的层次分析法实现[J]。航空兵器,:。致谢本文是在杨涤尘教授的悉心指导下完成的。在整个本科论文完成过程中,我得到了杨老师的精心指导,他严谨的治学态度、渊博的学识、精湛的学术造诣、诲人不倦的精神以及虚怀若谷的气度给我留下了深刻的印象,使我受益匪浅,将永远激励我在以后的学习和工作中不懈努力、不断进步。谨此,我向杨老师致以最诚挚的谢意和最美好的祝福,祝愿老师身。

7、um(WB(:,));endfork=:nifCRm(k)ltfrintf('B%d的CR%f通过一致性检验!\n',k,CRm(,k));%控制文本格式elsefrintf('B%d的CR%f未通过一致性检验!\n',k,CRm(,k));endenddis('准则层对目标层权向量');dis(WA);dis('方案层对准则层权向量');dis(WK);E=WK*WAdis('方案层组合权向量');dis(E);CI=CIm*WA;RI=RIm*WA;CR=CIRI;%组合一致性比率CRifCRltfrintf('组合一致性比率CR%f通过一致性检验!\n',CRn);elsefrintf('组合一致性比率CR%f未通过一致性检验!\n',CRn);end[MAX,CHOICE]=max(E);%最佳选择CHOICEMATLAB运行结果如下:Wa=i+i+iii+ii+ii+i+iii+i+ii+iii+iL。

8、体健康,工作顺利,桃李满天下!特别要感谢我的父母和亲人,他们的关爱和鼓励是我一生努力前进的巨大动力。感谢一切曾经关心过我、帮助过我、教导过我的人们。最后感谢论文评审委员会的专家和老师们百忙之中对本论文的认真指正!谨以此文献给他们!赵美云年月于湖南人文科技学院argesteigenvalue:A的CR通过一致性检验!WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=LK=leaseinutlargesteigenvalue:WB=i+i+iiLK=+iileaseinutlargesteigenvalue:B的CR通过一致性检。

9、最终选择决策。现以A、B、C表示选择工作的三个层次,建立如下结构模型:图选择单位层次结构图根据成对比较法,得到相应判断矩阵如下表:表AB判断矩阵ABBBBBBBBBBBB表B~C判断矩阵BCCCCCC表B~C判断矩阵BCCCCCC表B~C判断矩阵BCCCCCC表B~C判断矩阵BCCCCCC表B~C判断矩阵BCCCCCC表B~C判断矩阵BCCCCCC现在在MATLAB中分别用直接输入程序法和M文件方法求解。)、直接输入代码法:在MATLAB中输入如下程序:A=[,,,,,;,,,,,;,,,,,;,,,,,;,,,,,;,,,,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];BS=[B,B,B,B,B,B];m=length(B);n=length(A);%随机一致性指标RIRI=[,,,,,,,,,。

10、!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!准则层对目标层权向量方案层对准则层权向量E=方案层组合权向量组合一致性比率CR通过一致性检验!CHOICE=)、M文件法:根据第三章节的层次分析法各环节的MATLAB实现定义如下三个函数:()定义maxeigvalvecm来实现最大特征根及对应的归一化特征向量。function[maxeigval,w]=maxeigvalvec(A)%求最大特征值及对应的归一化特征向量%A为判断矩阵[eigvec,eigval]=eig(A);eigval=diag(eigval);%特征向量eigvalmag=imag(eigval);realind=find(eigvalmagltes);realeigval=eigval(realind);%实特征根maxeigval=max(realeigval)%。

11、,];[Wa,LA]=eig(A)%求A的特征向量WA和特征根LAMaxn=inut('leaseinutlargesteigenvalue:');%输入最大特征根CIn=(Maxnn)(n);CRn=CInRI(n);%A的一致性比率CRnWA=Wa(:,)sum(Wa(:,));%特征向量归一化ifCRnltfrintf('A的CR%f通过一致性检验!\n',CRn);%控制文本格式elsefrintf('A的CR%f未通过一致性检验!\n',CRn);endfork=:n%求B的特征向量WK和特征根LK[WB,LK]=eig(BS(:,(k)*m+:(k)*m+))Max(k)=inut('leaseinutlargesteigenvalue:');CIm(k)=(Max(k)m)(m);RIm(k)=RI(m);CRm(k)=CIm(k)RIm(k);;%B的一致性比率CRmWK(:,k)=WB(:,) 。

12、最大特征值index=find(eigval==maxeigval);vecinit=eigvec(:,index);%最大特征值对应的特征向量w=vecinitsum(vecinit)%特征向量归一化()定义sglsortexaminem函数来实现层次单排序的一致性检验。function[RI,CI]=sglsortexamine(maxeigval,A)%层次分析法单排序一致性检验%maxeigval为最大特征值,A为判断矩阵n=size(A,);RIT=[,,,,,,,,,,];RI=RIT(n);CI=(maxeigvaln)(n);CR=CIRI;ifCRgt=dis([inut('矩阵没通过一致性检验,请重新调整判断矩阵')]elsedis([inut('矩阵通过一致性检验')]);end()定义tolsortvecm函数计算层次总排序的权重并进行一致性检验。functiontw=tolsortve

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值