最新数学建模实验报告1、层次分析法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模实验报告
一、实验要求
柴静的纪录片《穹顶之下》从独立媒体人的角度调查了席卷全国多个省份的雾霾的成因,提出解决的方法有:关停重污染的钢铁厂、提高汽柴油品质、淘汰排放不达标汽车、提高洗煤率等,请仔细观看该纪录片,根据雾霾的成因,选择你认为治理雾霾确实可行的几个方案,并用AHP方法给出这几个主要方案的重要性排序。
二、前期准备
1、理解层次分析法(AHP)的原理、作用,掌握其使用方法。
2、观看两遍柴静所拍摄的纪录片《穹顶之下》,选出我认为可较为有效地治理雾霾的几个
方法,初步确定各方法的有效性(即权重)。
3、初步拟定三个方案,每个方案中各个治理方法的权重不同。
三、思路&分析
1、根据纪录片《穹顶之下》和个人的经验判断给出各个记录雾霾的方法对于治理雾霾的
判断矩阵,以及三个不同方案对于五大措施的判断矩阵。
2、了解了AHP的原理后,不难发现MATLAB在其中的作用主要是将判断矩阵转化为因素
的权重矩阵。当然矩阵要通过一致性检验,得到的权重才足够可靠。
3、分别得到准则层对目标层、方案层对准则层的权重之后,进行层次总排序及一致性检
验。得到组合权向量(方案层对目标层)即可确定适用方案。
四、实验过程
1、确定层次结构
2、构造判断矩阵
(1)五大措施对于治理雾霾(准则层对目标层)的判断矩阵
(2)三个方案对于五大措施(方案层对准则层)的判断矩阵
3、层次单排序及一致性检验
该部分在MATLAB中实现,每次进行一致性检验和权向量计算时,步骤相同,输入、输出参数一致。(虽然输入的矩阵阶数可能不同,但可以不把矩阵阶数作为参数输入,而通过[n,n]=size(A)来算得阶数。)因此考虑将这个部分定义为一个函数judge,输入一个矩阵A,打印一致性检验结果和权向量计算结果,并返回权向量、一致性指标CI、平均随机一致性指标RI。将此脚本存为judge.m,在另一脚本ahp.m中调用。
代码如下:
调试通过后,下面便用此函数进行一致性检验及权向量计算:(1)准则层对目标层(A矩阵)
(2)方案层对准则层(BB矩阵)
代码:
结果:
注:实际实验时,一开始构造的五个矩阵中有两个没有通过一致性检验。反复调整后方才通过,考虑到实验报告的简洁性要求,不在此赘述调整判断矩阵的过程。
4、层次总排序及一致性检验
原理简述如下:
因此,编写如下代码:
其中,max是权重最大的方案的序号:
结果如下:
五、实验心得体会
1、
2、函数化、模块化的思想在此实验中十分重要。尽管最终呈现的代码看似很简单,但
是这得益于将一致性检验和权向量计算的模块定义成了函数,并且这个函数不需要输入矩阵的阶数做参数。
3、判断矩阵的构造并不是个轻松的过程。由于考虑欠妥,我一开始构造的判断矩阵的
CR达到0.48,调整过程中才渐渐找到了构造的技巧。
4、
5、由于AHP方法的主观性,该实验得到的结果仅供参考。实际上,调整其中一个判
断矩阵便有可能得到不同的结果(选择不同的方案),我认为如果有一些足够可靠的实践依据(即:通过长期调查研究得到的某种方法对于治理雾霾实际起到的效果)。以此为参考构造判断矩阵,那么该实验结果将更有科学价值。
六、参考文献
1、卓金武. Matlab在数学建模中的应用.第二版北京;北京航空航天大学出
社,2014.18~20
2、
3、陈恩水,王峰. 数学建模与实验北京;科学出版社,2008.48~56
4、吴建国层次分析法(AHP法)建模仰恩大学数学系
(另外感谢CSDN、网易博客等网站上各位不知名的热心解答问题的网友。)