数学建模层次分析法源程序
- 格式:doc
- 大小:29.50 KB
- 文档页数:3
层次分析法建模层次分析法(AHP-Analytic Hierachy process)---- 多目标决策方法70 年代由美国运筹学家T·L·Satty提出的,是一种定性与定量分析相结合的多目标决策分析方法论。
吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,採用此方法较为实用,是一种系统科学中,常用的一种系统分析方法,因而成为系统分析的数学工具之一。
传统的常用的研究自然科学和社会科学的方法有:机理分析方法:利用经典的数学工具分析观察的因果关系;统计分析方法:利用大量观测数据寻求统计规律,用随机数学方法描述(自然现象、社会现象)现象的规律。
基本内容:(1)多目标决策问题举例AHP建模方法(2)AHP建模方法基本步骤(3)AHP建模方法基本算法(3)AHP建模方法理论算法应用的若干问题。
参考书:1、姜启源,数学模型(第二版,第9章;第三版,第8章),高等教育出版社2、程理民等,运筹学模型与方法教程,(第10章),清华大学出版社3、《运筹学》编写组,运筹学(修订版),第11章,第7节,清华大学出版社一、问题举例:A.大学毕业生就业选择问题获得大学毕业学位的毕业生,“双向选择”时,用人单位与毕业生都有各自的选择标准和要求。
就毕业生来说选择单位的标准和要求是多方面的,例如:①能发挥自己的才干为国家作出较好贡献(即工作岗位适合发挥专长);②工作收入较好(待遇好);③生活环境好(大城市、气候等工作条件等);④单位名声好(声誉-Reputation);⑤工作环境好(人际关系和谐等)⑥发展晋升(promote, promotion)机会多(如新单位或单位发展有后劲)等。
问题:现在有多个用人单位可供他选择,因此,他面临多种选择和决策,问题是他将如何作出决策和选择?——或者说他将用什么方法将可供选择的工作单位排序?B.假期旅游地点选择暑假有3个旅游胜地可供选择。
数学建模5-(离散模型)层次分析法层次分析法的基本步骤如下:层次结构分析模型实例:(选择旅游地)每次取两个因素C i和C j,用a ij表示C i和C j对上层因素O的影响之比,全部结果可用成对比较矩阵表示:a ij=1(i=j)由成对比较阵求权向量的特征根法:(原理)一致阵的概念:a ij·a jk=a ik,I,j,k=1,2,……,n一致阵的性质:1.R(A)=1,A的唯一非零特征根为n;2.A的任一列向量都是对应于特征根n的特征向量。
若A不是一致阵在不一致容许的范围内,用对应于A最大特征根(记作λ)的特征向量(归一化后)作为权向量w,即w满足Aw=λw。
(实现方法)——和法例子:一致性检验:一致性指标:(CI越大A的不一致程度越严重)随机一致性指标:一致性比率:当时,认为A的不一致程度在容许范围内。
组合权向量的计算组合一致性检验:关于层次分析法的一些问题:1.不完全层次结构中组合权向量的计算:例:如何得到合理结果?用支配因素的数量对权向量进行加权修正2.成对比较阵残缺时的处理:设Θ表示残缺;3.本节讨论的内容主要是逐阶层次结构(层次内部因素无相互影响或支配,层次自上而下,逐层传递的支配关系)对于更复杂的层次结构,可能存在层次内部因素之间的相互影响,下层反过来对上层有支配作用,层次之间存在反馈作用等。
附:层次分析法的简单MATLAB实现clc;clear;A=[1 1.2 1.5 1.5;0.833 1 1.2 1.2;0.667 0.833 1 1.2;0.667 0.833 0.833 1];%因素对比矩阵A,只需要改变矩阵A[m,n]=size(A); %获取指标个数RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];R=rank(A); %求判断矩阵的秩[V,D]=eig(A); %求判断矩阵的特征值和特征向量,V特征值,D特征向量;tz=max(D);B=max(tz); %最大特征值[row, col]=find(D==B); %最大特征值所在位置C=V(:,col); %对应特征向量CI=(B-n)/(n-1); %计算一致性检验指标CICR=CI/RI(1,n);if CR<0.10disp('CI=');disp(CI);disp('CR=');disp(CR);disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');Q=zeros(n,1);for i=1:nQ(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化endendQ。
层次分析法实例与步骤结合一个具体例子,说明层次分析法的基本步骤和要点。
【案例分析】市政工程项目建设决策:层次分析法问题提出市政部门管理人员需要对修建一项市政工程项目进行决策,可选择的方案是修建通往旅游区的高速路(简称建高速路)或修建城区地铁(简称建地铁)。
除了考虑经济效益外,还要考虑社会效益、环境效益等因素,即是多准则决策问题,考虑运用层次分析法解决。
1. 建立递阶层次结构应用AHP解决实际问题,首先明确要分析决策的问题,并把它条理化、层次化,理出递阶层次结构。
AHP要求的递阶层次结构一般由以下三个层次组成:●目标层(最高层):指问题的预定目标;●准则层(中间层):指影响目标实现的准则;●措施层(最低层):指促使目标实现的措施;通过对复杂问题的分析,首先明确决策的目标,将该目标作为目标层(最高层)的元素,这个目标要求是唯一的,即目标层只有一个元素。
然后找出影响目标实现的准则,作为目标层下的准则层因素,在复杂问题中,影响目标实现的准则可能有很多,这时要详细分析各准则因素间的相互关系,即有些是主要的准则,有些是隶属于主要准则的次准则,然后根据这些关系将准则元素分成不同的层次和组,不同层次1元素间一般存在隶属关系,即上一层元素由下一层元素构成并对下一层元素起支配作用,同一层元素形成若干组,同组元素性质相近,一般隶属于同一个上一层元素(受上一层元素支配),不同组元素性质不同,一般隶属于不同的上一层元素。
在关系复杂的递阶层次结构中,有时组的关系不明显,即上一层的若干元素同时对下一层的若干元素起支配作用,形成相互交叉的层次关系,但无论怎样,上下层的隶属关系应该是明显的。
最后分析为了解决决策问题(实现决策目标)、在上述准则下,有哪些最终解决方案(措施),并将它们作为措施层因素,放在递阶层次结构的最下面(最低层)。
明确各个层次的因素及其位置,并将它们之间的关系用连线连接起来,就构成了递阶层次结构。
【案例分析】市政工程项目进行决策:建立递阶层次结构在市政工程项目决策问题中,市政管理人员希望通过选择不同的市政工程项目,使综合效益最高,即决策目标是“合理建设市政工程,使综合效益最高”。
层次分析法一、分析模型和一般步骤二、建立层次结构模型三、构造成对比较矩阵四、作一致性检验五、层次总排序及决策一. 层次分析模型和一般步骤层次分析法是一种定性与定量分析相结合的多因素决策分析方法。
这种方法将决策者的经验判断给于数量化,在目标因素结构复杂且缺乏必要数据的情况下使用更为方便,因而在实践中得到广泛应用。
层次分析的四个基本步骤:(1)在确定决策的目标后,对影响目标决策的因素进行分类,建立一个多层次结构;(2)比较同一层次中各因素关于上一层次的同一个因素的相对重要性,构造成对比较矩阵;(3)通过计算,检验成对比较矩阵的一致性,必要时对成对比较矩阵进行修改,以达到可以接受的一致性;(4)在符合一致性检验的前提下,计算与成对比较矩阵最大特征值相对应的特征向量,确定每个因素对上一层次该因素的权重;计算各因素对于系统目标的总排序权重并决策。
二. 建立层次结构模型将问题包含的因素分层:最高层(解决问题的目的);中间层(实现总目标而采取的各种措施、必须考虑的准则等。
也可称策略层、约束层、准则层等);最低层(用于解决问题的各种措施、方案等)。
把各种所要考虑的因素放在适当的层次内。
用层次结构图清晰地表达这些因素的关系。
〔例1〕购物模型某一个顾客选购电视机时,对市场正在出售的四种电视机考虑了八项准则作为评估依据,建立层次分析模型如下:例2〕选拔干部模型对三个干部候选人、、,按选拔干部的五个标准:品德、才能、资历、年龄和群众关系,构成如下层次分析模型:假设有三个干部候选人、、,按选拔干部的五个标准:品德,才能,资历,年龄和群众关系,构成如下层次分析模型例3〕评选优秀学校某地区有三个学校,现在要全面考察评出一个优秀学校。
主要考虑以下几个因素:(1)教师队伍(包括平均学历和年龄结构)(2)教学设施(3)教学工作(包括课堂教学,课外活动,统考成绩和教学管理)(4)文体活动三、构造成对比较矩阵比较第 i 个元素与第 j 个元素相对上一层某个因素的重要性时,使用数量化的相对权重来描述。
【数学建模】1.层次分析法1.解决问题的类型⾸先,提出⼀个⽅法考虑的应该是他对应解决什么类型的问题,对于层次分析法来说,它是⽤来解决确定评价指标、形成评价体系的评价类问题.解决评价类问题需要考虑的三个问题1.评价⽬标是什么2.为了达到这种⽬标有⼏种可以选择的⽅案3.评价的准则是什么2.层次分析法的步骤第⼀步建⽴系统的递阶层次结构.注:如果⽤到了层次分析法,层次结构图要放在建模论⽂中.层次结构图可以⽤PPT的SmartArt⽣成层次结构图可以⽤专业软件:亿图图⽰⽣成第⼆步构造判断矩阵对于判断矩阵来说很重要的⼀点就是确定各个指标的权重,那么下⾯就来说⼀说怎么确定权重3.权重的确定(1)⾸先填写判断矩阵把评价准则(景⾊、花费、居住、饮⾷、交通)和可选择的⽅案(苏杭、北戴河、桂林)做成判断矩阵(制表)我们采⽤填写判断矩阵的⽅法确定权重,参考如图总的判断表格判断矩阵判断指标然后需要对总的判断表格中的评价准则和针对不同准则⽅案之间的差异重新制表写判断表格。
对⾓线均为1评价准则的判断矩阵针对不同准则⽅案之间的差异值得注意的⼀点,填写完判断矩阵后我们要判断矩阵是否为⼀致矩阵⼀致矩阵特点:各⾏(各列)成倍数关系注:判断矩阵中的元素只能是1-9和他们的倒数.(2)其次进⾏⼀致性检验⼀致性检验:检查我们构造的判断矩阵和⼀致矩阵是否有太⼤的差别。
检验的具体原理这⾥就不详细的叙述了,下⾯就直接讲⼀致性检验的步骤了注:matlab中可以进⾏特征值计算,如果特征值为虚数,那么就⽐较特征值的模长.如果得到的判断矩阵符合⼀致性检验,那么我们就可以计算⼀致矩阵的权重了。
(3)再次⼀致矩阵权重的计算有三种⽅法:算术平均法、⼏何平均法、特征值法。
通常采⽤特征值法计算权重如果⼀个矩阵是⼀致矩阵那么采⽤特征值法计算权重的⽅法为那么对于通过⼀致性检验的矩阵来说,也可以采⽤这种⽅法最后汇总权重,计算得分得到的表格(4)CR>0.1的修正上⾯说的都是判断矩阵经过⼀致性检验的步骤,那如果没有经过⼀致性检验呢,这就需要我们对判断矩阵进⾏修正调整的原则就是:往⼀致矩阵调整就OK了,⼀致矩阵隔⾏成倍数关系4.层次分析法的局限性5.模型拓展6.例⼦7.附录优先选择知⽹(万⽅、百度学术、⾕歌学术等平台)搜索⽂献。
数学建模第三讲层次分析法在数学建模的领域中,层次分析法(Analytic Hierarchy Process,简称 AHP)是一种相当实用且重要的决策方法。
它能够帮助我们在面对复杂的多准则决策问题时,做出更为合理、科学的决策。
那么,什么是层次分析法呢?简单来说,层次分析法就是把一个复杂的问题分解成若干个层次,通过两两比较的方式,确定各层次元素之间的相对重要性,最后综合这些比较结果,得出最终的决策方案。
比如说,我们要选择一个旅游目的地。
这时候,可能会考虑多个因素,比如景点吸引力、交通便利性、住宿条件、餐饮质量、费用等等。
这些因素就构成了不同的层次。
然后,我们会对每个因素进行两两比较,比如景点吸引力比交通便利性更重要吗?重要多少?通过这样的比较,我们就能给每个因素赋予一个相对的权重。
为了更清楚地理解层次分析法,我们来看看它的具体步骤。
第一步,建立层次结构模型。
这是层次分析法的基础。
我们需要把问题分解成目标层、准则层和方案层。
目标层就是我们最终要实现的目标,比如选择最佳的旅游目的地。
准则层就是影响目标实现的各种因素,像前面提到的景点吸引力、交通便利性等等。
方案层就是我们可以选择的具体方案,比如去三亚、去桂林、去丽江等等。
第二步,构造判断矩阵。
在这一步,我们要对同一层次的元素进行两两比较,比较它们对于上一层某个元素的重要性。
比较的结果通常用 1 9 标度法来表示。
比如说,如果因素 A 比因素 B 稍微重要,就给A 对B 的比较值赋 3;如果 A 比 B 明显重要,就赋 5;如果 A 比 B 极端重要,就赋 9。
反过来,如果 B 比 A 稍微重要,就给 B 对 A 的比较值赋 1/3,以此类推。
第三步,计算权重向量并进行一致性检验。
通过数学方法,比如特征根法,计算出每个判断矩阵的最大特征值和对应的特征向量。
这个特征向量就是我们所需要的权重向量。
但是,为了确保我们的判断是合理的,还需要进行一致性检验。
如果一致性比率小于 01,就认为判断矩阵的一致性是可以接受的;否则,就需要重新调整判断矩阵。
数学建模实验报告1、层次分析法第一篇:数学建模实验报告1、层次分析法数学建模实验报告一、实验要求柴静的纪录片《穹顶之下》从独立媒体人的角度调查了席卷全国多个省份的雾霾的成因,提出解决的方法有:关停重污染的钢铁厂、提高汽柴油品质、淘汰排放不达标汽车、提高洗煤率等,请仔细观看该纪录片,根据雾霾的成因,选择你认为治理雾霾确实可行的几个方案,并用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 中调用。