层次分析法matlab程序举例

合集下载

层次分析法(AHP法)

层次分析法(AHP法)

32
定义一致性比率 : CR CI
RI
一般,当一致性比率 CR CI 0.1 时,认为A
RI
的不一致程度在容许范围之内,有满意的一致性,通 过一致性检验。否则要重新构造成对比较矩阵A,对
aij 加以调整。
一致性检验:利用一致性指标和一致性比率<0.1
及随机一致性指标的数值表,对A进行检验的过程。
实用文档
6
例2 旅游 假期旅游,是去风光秀丽的苏州,还是
去凉爽宜人的北戴河,或者是去山水甲天下 的桂林?通常会依据景色、费用、食宿条件、 旅途等因素选择去哪个地方。
实用文档
7
例3 择业 面临毕业,可能有高校、科研单位、企
业等单位可以去选择,一般依据工作环境、 工资待遇、发展前途、住房条件等因素择业。
实用文档
31
由于λ(A的特征根) 连续的依赖于aij ,则λ比n 大的 越多,A 的不一致性越严重。引起的判断误差越大。 因而可以用 λ-n 数值的大小来衡量 A 的不一致程
度。
定义一致性指标: CI n
n 1
CI=0,有完全的一致性
CI接近于0,有满意的一致性
CI 越大,不一致越严重
实用文档
实用文档
14
2.层次数与问题的复杂程度和所需要分析的详尽 程度有关。每一层次中的元素一般不超过9个,因 一层中包含数目过多的元素会给两两比较判断带 来困难。
实用文档
15
3.一个好的层次结构对于解决问题是极为重 要的。层次结构建立在决策者对所面临的 问题具有全面深入的认识基础上,如果在 层次的划分和确定层次之间的支配关系上 举棋不定,最好重新分析问题,弄清问题 各部分相互之间的关系,以确保建立一个 合理的层次结构。

AHP及matlab程序

AHP及matlab程序

层次分析法(AHP)及matlab程序层次分析法是一种新的定性分析与定量分析相结合的系统分析方法,是将人的主观判断用数量形式表达和处理的方法,简称AHP(The Analytic Hierarchy Process)法。

近年来,层次分析法在草地农业生态系统的系统分析、设计与决策中日益受到重视。

1层次分析法的基本方法和步骤层次分析法是把复杂问题分解成各个组成因素,又将这些因素按支配关系分组形成递阶层次结构。

通过两两比较的方式确定各个因素相对重要性,然后综合决策者的判断,确定决策方案相对重要性的总排序。

运用层次分析法进行系统分析、设计、决策时,可分为4个步骤进行;(1)分析系统中各因素之间的关系,建立系统的递阶层次结构;(2)对同一层次的各元素关于上一层中某一准则的重要性进行两两比较,构造两两比较的判断矩阵;(3)由判断矩阵计算被比较元素对于该准则的相对权重;(4)计算各层元素对系统目标的合成权重,并进行排序,2递阶层次结构的建立首先把系统问题条理化、层次化,构造出一个层次分析的结构模型。

在模型中,复杂问题被分解,分解后各组成部分称为元素,这些元素又按属性分成若干组,形成不同层次。

同一层次的元素作为准则对下一层的某些元素起支配作用,同时它又受上面层次元素的支配。

层次可分为三类;(1)最高层:这一层次中只有一个元素,它是问题的预定目标或理想结果,因此也叫目标层;(2)中间层:这一层次包括要实现目标所涉及的中间环节中需要考虑的准则。

该层可由若干层次组成,因而有准则和子准则之分,这一层也叫准则层;(3)最底层:这一层次包括为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。

上层元素对下层元素的支配关系所形成的层次结构被称为递阶层次结构。

当然,上一层元素可以支配下层的所有元素,但也可只支配其中部分元素。

递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,可不受限制。

每一层次中各元素所支配的元素一般不要超过9个,因为支配的元素过多会给两两比较判断带来困难。

MatLab层次分析法代码

MatLab层次分析法代码
>>A=[12564724;1/21242712;1/51/215151/22;1/61/41/511/331/21/4;1/41/2131512;1/71/71/51/31/511/71/5;1/21221712;1/41/21/241/251/21];
>>d=eig(A)%求全部特征值所组成的向量
e=max(eig(A));%最大特征值
v=null(A-e*eye(length(A)));%e对应特征向量
>>e
>>A=[13365957;1/31134746;1/31134746;1/61/31/311/241/22;1/51/41/421412;1/91/71/71/41/411/31/2;1/51/41/421312;1/71/61/61/21/221/21];
e=max(eig(A));%最大特征值
v=null(A-e*eye(length(A)));%e对应特征向量
>>e
e=
8.4243
>>v
v=
-0.7427
-0.3893
-0.2579
-0.0985
-0.2588
-0.0519
-0.3352
-0.1966
>>A=[13365957;1/31134746;1/31134746;1/61/31/311/241/22;1/51/41/421412;1/91/71/71/41/411/31/2;1/51/41/421312;1/71/61/61/21/221/21];
0.2579-0.0614+0.3195i-0.0614-0.3195i-0.0739-0.0916i-0.0739+0.0916i-0.1506-0.0176i-0.1506+0.0176i

层次分析法AHP法

层次分析法AHP法
成对比较矩阵是表达本层全部原因针对上一层某一种 原因旳相对主要性旳比较。判断矩阵旳元素aij用 Saaty旳1—9标度措施给出。
心理学家以为成对比较旳原因不宜超出9个,即 每层不要超出9个原因。
成对比较阵和权向量
比较尺度aij
Saaty等人提出1~9尺度——aij 取值
1,2,… , 9及其互反数1,1/2, … , 1/9
上述两相邻判断旳中值
原因i与j比较旳判断aij,则原因j与i比较旳判断aji=1/aij
对于 n 个元素 A1, …, An 来说,经过两两比 较,得到成对比较(判断)矩阵 A = (aij)nn:
其中判断矩阵具有如下性质: (1)aij > 0; (2)aij = 1/aji; (3)aii = 1。 我们称 A 为正旳互反矩阵。
3.一种好旳层次构造对于处理问题是极为 主要旳。层次构造建立在决策者对所面临 旳问题具有全方面进一步旳认识基础上, 假如在层次旳划分和拟定层次之间旳支配 关系上举棋不定,最佳重新分析问题,搞 清问题各部分相互之间旳关系,以确保建 立一种合理旳层次构造。
例1. 选择旅游地
目的层
怎样在3个目旳地中按照景色、 费用、居住条件等原因选择.
例2 旅游
假期旅游,是去风光秀丽旳苏州,还是 去凉爽宜人旳北戴河,或者是去山水甲天下 旳桂林?一般会根据景色、费用、食宿条件、 旅途等原因选择去哪个地方。
例3 择业 面临毕业,可能有高校、科研单位、企
业等单位能够去选择,一般根据工作环境、 工资待遇、发展前途、住房条件等原因择业。
例4 科研课题旳选择 因为经费等原因,有时不能同步开展几
因为λ(A旳特征根) 连续旳依赖于aij ,则λ比n 大旳越 多,A 旳不一致性越严重。引起旳判断误差越大。 因而能够用 λ-n 数值旳大小来衡量 A 旳不一致程度。

层次分析法判断矩阵求权值以及一致性检验程序

层次分析法判断矩阵求权值以及一致性检验程序

function [w,CR]=mycom(A,m,RI)[x,lumda]=eig(A);r=abs(sum(lumda));n=find(r==max(r));max_lumda_A=lumda(n,n);max_x_A=x(:,n);w=A/sum(A);CR=(max_lumda_A-m)/(m-1)/RI;end本matlab程序用于层次分析法中计算判断矩阵给出的权值已经进行一致性检验。

其中A为判断矩阵,不同的标度和评定A将不同。

m为A的维数RI为判断矩阵的平均随机一致性指标:根据m的不同值不同。

当CR<0.1时符合一致性检验,判断矩阵构造合理。

下面是层次分析法的简介,以及判断矩阵构造方法。

一.层次分析法的含义层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。

它是一种定性和定量相结合的、系统化、层次化的分析方法。

由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。

它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。

二.层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。

(1)层次分析法的原理层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。

这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。

层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。

matlab计算AHP层次分析法

matlab计算AHP层次分析法

matlab计算AHP层次分析法第一篇:matlab计算AHP层次分析法用matlab解决层次分析法AHP1、求矩阵最大特征值及特征向量用matlab求:输入:A=[1 1/2 2 1/4;2 1 1 1/3;1/2 1 1 1/3;4 3 3 1][x,y]=eig(A)得出:特征向量x=[0.2688 0.3334 0.2373 0.8720]最大特征值λmax=4.19642、一致性检验CI=(λmax-n)/(n-1)=(4.1964-4)/(4-1)=0.0655 CR=CI/RI=0.0655/0.9=0.0727(注:维数为4时,RI=0.9)CR=0.0727<0.1,矩阵一致性通过检验3、对最大特征值进行归一化处理,即可得到各指标权重(归一化:分项/分项之和)W=[0.157 0.195 0.139 0.510]第二篇:AHP层次分析法层次分析法层次分析法(The analytic hierarchy process,简称AHP),也称层级分析法什么是层次分析法层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。

它是一种定性和定量相结合的、系统化、层次化的分析方法。

由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。

它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。

层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。

不妨用假期旅游为例:假如有3个旅游胜地A、B、C供你选择,你会根据诸如景色、费用和居住、饮食、旅途条件等一些准则去反复比较这3个候选地点.首先,你会确定这些准则在你的心目中各占多大比重,如果你经济宽绰、醉心旅游,自然分别看重景色条件,而平素俭朴或手头拮据的人则会优先考虑费用,中老年旅游者还会对居住、饮食等条件寄以较大关注。

层次分析法及matlab程序

层次分析法及matlab程序

层次分析法建模层次分析法(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个旅游胜地可供选择.例如:1P :苏州杭州,2P 北戴河,3P 桂林,到底到哪个地方去旅游最好?要作出决策和选择。

层次分析法AHP、ANP与熵值法带例子和软件操作说明

层次分析法AHP、ANP与熵值法带例子和软件操作说明
0.1141/4=0.0285
RI(5)=1.12
CR=CI/RI=0.0285/1.12=0.0255<0.10
因此,通过一致性检验。
③求得权重 权重即为最大特征根对应的特征向量W=[0.3697,0.0906,
0.0595,0.3697,0.8455]进行归一化后的结果, w=W./sum(W) =[0.2131,0.0522,0.0343,0.2131,0.4873]
量分析的一种决策方法。他把人的思维过程层次化、数量化,
并用数学为分析、决策、预报或控制提供定量的依据。它尤
其适合于人的定性判断起主要作用的、对决策结果难于直接
准确计量的场合。

应用层次分析法时,首先要把问题层次化。根据问题的性质和
要达到的目标,将问题分解为不同组成因素,并按照因素间的相互
关联影响及其隶属关系将因素按不同层次聚集组合,形成一个多层
A
B1
B2
B3
B1 1 1/5 1/3
B2
5
1
3
B3 3 1/3 1
1 1/ 5 1/ 3
A


5
1
3

3 1 / 3 1
同样,可得:
1 2 3 1/ 3 1 3
1 1/ 7 1/3 1/5
4 2
7
5

B2

7 3
5
1 1/5 1/ 2
5 1 3
0.263
对于判断矩阵B3,其计算结果为:
0.406
W00..400964,max 4,CI 0,RI 0.90,CR0
0.094
(5)层次总排序
层次B B1
层次C

层次分析法AHP、ANP与熵值法(带例子和软件操作说明)

层次分析法AHP、ANP与熵值法(带例子和软件操作说明)
n
i n max
i2
上述结论告诉我们,当判断矩阵不能保证具有完全 一致性时,相应判断矩阵的特征根也将发生变化, 这样就可以用判断矩阵特征根的变化来检验判断的 一致性程度。因此,在层次分析法中引入判断矩阵 最大特征根以外的其余特征根的负平均值,作为度 量判断矩阵偏离一致性的指标,即用:
123456789
0.00 0.00 0.58 0.90 1.12 1.24 1.32 1.41 1.45
当阶数大于2时,判断矩阵的一致性指标CI与同阶平均 随机一致性指标RI之比称为随机一致性比率CR,当 CR=CI/RI<0.10时,可以认为判断矩阵具有满意的一 致性,否则需要调整判断矩阵。
0.491 0.232
W 0.092 , max 5.126, CI 0.032, RI 1.12, CR 0.028
0.138 0.046
对于判断矩阵B2,其计算结果为:
0.550
W

0.564 0.118
,
max

CI max n
n 1
检查决策者思维的一致性。CI值越大,表明判断矩 阵偏离完全一致性的程度越大;CI值越小(接近于 0),表明判断矩阵的一致性越好。
当判断矩阵具有完全一致性时,CI=0; 当判断矩阵具有满意一致性时,需引入判断矩阵的平均
随机一致性指标RI值。对于1-9阶判断矩阵,RI值如下:
C2
0.232
C3
0.092
C4
0.138
C5
0.046
B2 0.637
0 0.055 0.564 0.118 0.263
B3 0.258 0.406 0.406 0.094 0.094

MATLAB层次分析法

MATLAB层次分析法

C11
C1
0
桥梁 D1
隧道 D2
渡船 D3
(1)过河效益层次结构
例3 横渡江 河、海峡方 案的抉择
经济代价 B1
过河的代价 A
社会代价 B2
环境代价 B3
投 操 冲冲 交 居 汽 对 对
入 作 击击 通 民 车 水 生
资 维 渡生 拥 搬 排 的 态
金 护 船活 挤 迁 放 污 的
C1 C2 业 方 C5 C6 物 染 破






对外 贸易
位 置
供选择的岗位
例3 横渡江 河、海峡方 案的抉择
经济效益 B1
过河的效益 A
社会效益 B2
节 收岸 当 建安 交 自
省 入间 地 筑全 往 豪
时 C2 商 商 就 可 沟 感

业 业 业 靠 通 C8
C1
C3 C4 C5 C6 C7
环境效益 B3
舒进 美
适出 化
C9
方 便
Ci : C j aij
A
(aij )nn , aij
0,
a ji
1 aij
选 择
1 1/ 2 4 3 3
2
1
7
5
5
A~成对比较阵
旅 A 1/ 4 1/ 7
游 地
1/ 3
1/ 5
1/ 3 1/ 5
1 2
1/ 2 1
1/ 3
1
A是正互反阵
3 1 1
要由A确定C1,…, Cn对O的权向量
2
n
min
wi ( i1,,n ) i1
n j1 ln aij
ln wi wj

层次分析法判断矩阵

层次分析法判断矩阵

层次分析法判断矩阵层次分析法判断矩阵程序先确定判断矩阵;然后用以下程序就好了:%层次分析法的matlab程序%%%%diertimoxingyiclc,cleardisp(输入判断矩阵);% 在屏幕显示这句话A=input(A=);% 从屏幕接收判断矩阵[n,n]=size(A);% 计算A的维度,这里是方阵,这么写不太好x=ones(n,100);% x为n行100列全1的矩阵y=ones(n,100);% y同xm=zeros(1,100);% m为1行100列全0的向量m(1)=max(x(:,1));% x第一列中最大的值赋给m的第一个分量y(:,1)=x(:,1);% x的第一列赋予y 的第一列x(:,2)=A*y(:,1);% x的第二列为矩阵A*y(:,1)m(2)=max(x(:,2));% x 第二列中最大的值赋给m的第二个分量y(:,2)=x(:,2)/m(2);% x的第二列除以m(2)后赋给y的第二列p=0.0001;i=2;k=abs(m(2)-m(1));% 初始化p,i,k为m(2)-m(1)的绝对值while k>p% 当k>p是执行循环体i=i+1;% i 自加1x(:,i)=A*y(:,i-1);% x的第i列等于A*y的第i-1列m(i)=max(x(:,i));% m的第i个分量等于x第i列中最大的值y(:,i)=x(:,i)/m(i);% y的第i列等于x的第i列除以m的第i个分量k=abs(m(i)-m(i-1));% k等于m(i)-m(i-1)的绝对值enda=sum(y(:,i));% y的第i列的和赋予aw=y(:,i)/a;% y的第i 列除以at=m(i);% m的第i个分量赋给tdisp(权向量:);disp(w);% 显示权向量wdisp(最大特征值:);disp(t);% 显示最大特征值t %以下是一致性检验CI=(t-n)/(n-1);% t-维度再除以维度-1的值赋给CIRI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];% 计算的标准CR=CI/RI(n);% 计算一致性if CR摘要在定性问题的决策中,AHP是一种优秀的方法,其基础是对评价对象的两两比较,并用比较结果构造判断矩阵,而这些都依赖于决策者选用的偏好关系。

层次分析法判断矩阵求权值以及一致性检验程序

层次分析法判断矩阵求权值以及一致性检验程序

function [w,CR]=mycom(A,m,RI)[x,lumda]=eig(A);r=abs(sum(lumda));n=find(r==max(r));max_lumda_A=lumda(n,n);max_x_A=x(:,n);w=A/sum(A);CR=(max_lumda_A-m)/(m-1)/RI;end本matlab程序用于层次分析法中计算判断矩阵给出的权值已经进行一致性检验。

其中A为判断矩阵,不同的标度和评定A将不同。

m为A的维数RI为判断矩阵的平均随机一致性指标:根据m的不同值不同。

当CR<0.1时符合一致性检验,判断矩阵构造合理。

下面是层次分析法的简介,以及判断矩阵构造方法。

一.层次分析法的含义层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。

它是一种定性和定量相结合的、系统化、层次化的分析方法。

由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。

它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。

二.层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。

(1)层次分析法的原理层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。

这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。

层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。

matlab-层次分析法一致性

matlab-层次分析法一致性

用了两周左右的时间,我编写了网络分析法(The Analytic Network Process,ANP)的Matlab源代码(将在下面给出),主要针对王莲芬老师的《网络分析法(ANP)的理论与算法》中的内部依存的递阶层次结构,而且假设N = 4 的情形,所以如果要使用该程序,需要作修改,如果你不想改,我可以帮忙!ANP是美国匹兹堡大学的T.L.Saaty 教授于1996年提出了一种适应非独立的递阶层次结构的决策方法,它是在网络分析法(AHP)基础上发展而形成的一种新的实用决策方法。

其关键步骤有以下几个:1 确定因素,并建立网络层和控制层模型。

2 创建比较矩阵。

3 按照指标类型针对每列进行规范化。

4 求出每个比较矩阵的最大特征值和对应的特征向量。

5 一致性检验。

如果不满足,则调整相应的比较矩阵中的元素。

6 将各个特征向量单位化(归一化),组成判断矩阵。

7 将控制层的判断矩阵和网络层的判断矩阵相乘,得到加权超矩阵。

8 将加权超矩阵单位化(归一化),求其K次幂收敛时的矩阵。

其中第j列就是网络层中各元素对于元素j的极限排序向量。

% 第一个函数% 矩阵归一化(单位化)% Unitize 函数开始function Matrix_Unitize = Unitize(Matrix)[line,colume] = size(Matrix);for j = 1:1:columefa = 0;for i = 1:1:linefa = fa + Matrix(i,j);endsum(j) = fa;endfor j = 1:1:columefor i = 1:1:lineMatrix_Unitize(i,j) = Matrix(i,j) / sum(j);endend% Unitize 函数结束% 第二个函数% 求一个方阵的最大特征值及其对应的特征向量% MAX_EigenV 函数开始function [Max_Eigenvector,Max_Eigenvalue] = Max_EigenV(Matrix)[line,colume] = size(Matrix);if line ~= columemessage = '矩阵不是方阵,无法求解最大特征值及其对应的特征向量';disp(message);return;end[Eigenvector Eigenvalue] = eigs(Matrix);Max_Eigenvalue = Eigenvalue(1);for i=1:1:lineMax_Eigenvector(i) = Eigenvector(i,1);end% MAX_EigenV 函数结束% 第三个函数(此函数我没有用)% 根据给定的指标类型对矩阵的列进行规范化% Standardize 函数开始function Matrix_Standardize = Standardize(Matrix, IndexType)% a 是需要规范化的矩阵% IndexType 是该矩阵各列的指标类型数组% IndexType(j) = 1 a 的第j 列是效益型指标% IndexType(j) = 0 a 的第j 列是成本型指标[m n] = size(Matrix);MAX = max(Matrix);MIN = min(Matrix);d = MAX - MIN;for j=1:1:nfor i=1:1:mif IndexType(j) == 1 % 效益型指标规范化Matrix_Standardize(i,j) = (Matrix(i,j) - MIN(j)) / d(j);elseif IndexType(j) == 0 % 成本型指标规范化Matrix_Standardize(i,j) = (MAX(j) - Matrix(i,j)) / d(j);endendend% Standardize 函数结束% 第四个函数% 读取一个格式化文件中所有矩阵,连接成归一化的判断矩阵% 计算最大特征值对应的特征向量,进行一致性检验,构造判断矩阵.% version 2.0% 矩阵文件的(*.txt)格式要求(共4条)% 1 空格开头的行,回车行,注释行(见第3条)在读取时都会被忽略.%% 2 每个矩阵要有维数(Dimension)和序号(Sequence),其次序可以颠倒,但是不能缺项,% 且关键字及其取值要各占一行(共4行,中间可以有空格行或空行),但关键字行尾不能有空格.%% 3 竖线"|"是注释标记,要独自占一行,但是不要在有效的矩阵元素行之后加竖线.%% 4 矩阵的元素只能用空格分开,每个元素后都可以跟空格,且空格的数量可以是任意多个. % 但是,需要强调的是,每一行第一个元素的前面不能有空格(参照第1条)!% JudgementMatrix 函数开始function [judge_matrix_unitize,flag] = JudgementMatrix(fid)judge_matrix = 0;judge_matrix_unitize = 0;flag = 0; % 判断矩阵构造成功的标志LineData = IgnoreLine(fid); % 跳到第一行有效的数据Count = 0; % 矩阵计数器Flag1 = 0; % 是否读取矩阵序号的开关Flag2 = 0; % 是否读取矩阵列数的开关Flag3 = 0; % 是否读取矩阵行数的开关Sequence = 0; % 矩阵的序号Dimension = 0; % 矩阵的阶DCount = 0; % 同一文件中每个矩阵的阶数下标LastCount = 0; % 同一文件中上一个矩阵的阶数下标while( feof(fid) == 0 )if strcmp(LineData, 'Sequence')LineData = IgnoreLine(fid);if LineData == -1warning('已经到了文件末尾,无数据可读取!');flag = -1;return;endSequence = str2num(LineData);Flag1 = Flag1 + 1;elseif strcmp(LineData, 'Dimension')LineData = IgnoreLine(fid);if LineData == -1warning('已经到了文件末尾,无数据可读取!');flag = -1;return;endDCount = DCount + 1;Dimension(DCount) = str2num(LineData);LastCount = DCount-1;if LastCount > 0 && Dimension(DCount) ~= Dimension(LastCount) flag = -1;warning('矩阵的维数不等,比较矩阵弄错了吧!');endFlag2 = Flag2 + 1;endif ( Flag1 > 1 || Flag2 > 1 )if Flag1 > 1c = num2str(Sequence);c = strcat('第',c);message = strcat(c, '个矩阵的上一个矩阵没有设置维数关键字"Dimension"!');flag = -1;warning(message);return;elseif Flag2 > 1c = num2str(Sequence);c = strcat('第',c);message = strcat(c, '个矩阵的上一个矩阵没有设置序号关键字"Sequence"!');warning(message);flag = -1;return;endelseif ( Flag1 == 0 && Flag2 ==0 )warning('没有发现矩阵的序号或行数或列数关键字!请参考文件格式要求!');flag = -1;return;elseif ( Flag1 == 1 && Flag2 == 1 )Matrix = 0;% 为了读分数矩阵,逐行读取再变为数值类型for i = 1:1:Dimension(DCount)LineData = IgnoreLine(fid);if LineData == -1warning('已经到了文件末尾,无数据可读取!');flag = -1;judge_matrix_unitize = Unitize(Matrix);return;endDoubleLine = str2num(LineData);[line_DoubleLine,colume_DoubleLine] = size(DoubleLine);if colume_DoubleLine ~= Dimension(DCount)flag = -1;endfor j = 1:1:colume_DoubleLineMatrix(i,j) = DoubleLine(j);endendif flag == -1judge_matrix_unitize = Unitize(Matrix);return;endif isreal(Matrix)Count = Count + 1;if Sequence ~= Countc = num2str(Sequence);c = strcat('文件中编号为',c);message = strcat(c,'的矩阵的序号没有按照顺序排列!');warning(message);end% 最大特征值及其对应的特征向量[vector_lmd_max,lmd_max(Count)] = MaxEV(Matrix);for j = 1:1:Dimension(DCount)judge_matrix(Count,j) = vector_lmd_max(j);end% 一致性检验CI(Count) = 0; % 一致性指标% 当矩阵的阶数n < 3 时,判断矩阵永远具有完全一致性。

Matlab建模教程层次分析法

Matlab建模教程层次分析法

第八章 层次分析法层次分析法(Analytic Hierarchy Process ,简称AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。

它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。

§1 层次分析法的基本原理与步骤人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。

层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。

运用层次分析法建模,大体上可按下面四个步骤进行:(i )建立递阶层次结构模型;(ii )构造出各层次中的所有判断矩阵;(iii )层次单排序及一致性检验;(iv )层次总排序及一致性检验。

下面分别说明这四个步骤的实现过程。

1.1 递阶层次结构的建立与特点应用AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。

在这个模型下,复杂问题被分解为元素的组成部分。

这些元素又按其属性及关系形成若干层次。

上一层次的元素作为准则对下一层次有关元素起支配作用。

这些层次可以分为三类:(i )最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。

(ii )中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。

(iii )最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。

递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。

每一层次中各元素所支配的元素一般不要超过9个。

这是因为支配的元素过多会给两两比较判断带来困难。

下面结合一个实例来说明递阶层次结构的建立。

例1 假期旅游有1P 、2P 、3P 3个旅游胜地供你选择,试确定一个最佳地点。

层次分析法建模举例

层次分析法建模举例
i1
其中:maxN为单注封顶金额;minN为单注保底 金额;Qij为第 i 种方案得第 j 等奖的单项奖比例; M为当期销售总额;n为低项奖总额; Q为总奖金 比例。
三、层次分析
3.1层次分析模型分为四层:




目标层:即决策目标,在本问题中取彩票的销售规则 及其相应的奖金设置方案的合理性作为决策目标。 中间层:作为目标层的衡量准则,我们取彩票的高项 奖金,低项固定奖金,和中奖面三方面来衡量目标层。 指标层:其中包括高项奖金的3个评价标准(即一, 二,三等奖)和低项固定奖金的4个评价指标(即四, 五,六,七等奖),而位于中间层的中奖面衡量准则 可以单独作为目标层的一个评价指标(即中奖面)。 方案层: 需进行评估的各种分配方案
一、 问题的提出与概率计算
已给的29种方案分为两种类型 1、“传统型”采用“10选6+1”方案: 投注者从0~9十个号码中任选6个基本号码(可 重复),从0~4中选一个特别号码,构成一注 。根 据单注号码与中奖号码相符的个数多少及顺序确定 中奖等级;
表1: “传统型” 中奖办法
中 奖 等 级 10 选 6+1(6+1/10) 基本号码 特别号码 选7中

Roots: 多项式的零点可用命令roots求的。
例: >> r=roots(p) 得到 r= 0.2500 + 1.5612i 0.2500 - 1.5612i -1.0000 所有零点由一个列向量给出。

Poly: 由零点可得原始多项式的各系数,但可能相差一 个常数倍。 例: >> poly(r)
如“33选7”的方案:投注者从01~33个号码 中任选7个组成一注(不可重复),根据单注号 码与中奖号码相符的个数多少确定相应的中奖等 级,不考虑号码顺序。

层次分析法AHP、ANP与熵值法(带例子和软件操作说明)

层次分析法AHP、ANP与熵值法(带例子和软件操作说明)

数量化,并用数学为分析、决策、预报或控制提供定量的依据。它尤其适
合于人的定性判断起主要作用的、对决策结果难于直接准确计量的场合。
应用层次分析法时,首先要把问题层次化。根据问题的性质和要达到的目标,
将问题分解为不同组成因素,并按照因素间的相互关联影响及其隶属关系将因素按不
同层次聚集组合,形成一个多层次的分析结构模型。并最终把系统分析归结为最底层,
对于上一层次各个因素的单排序权值后,用上一层次因素本身的权值加权综合,即
可计算出层次总排序权值。总之,依次由上向下即可计算出最低层因素相对于最高层
的相对重要性权值或相对优劣次序的排序值。
AHP的模型与步骤
假设某一企业经过发展,有一笔利润资金,要企业高层领导决定如 何使用。企业领导经过实际调查和员工建议,现有如下方案可供 选择:
AW i
nWi
其中,(AW)i表示向量AW的第i个元素。
对于判断矩阵A,其计算结果为:
0.105
W
0.637
,
max
3.308, CI
0.019, RI
0.58, CR
0.033
0.258
对于判断矩阵B1,其计算结果为:
0.491
0.232
W 0.092 , max 5.126, CI 0.032, RI 1.12, CR 0.028
(2)构造判断矩阵
判断矩阵的一般形式
Bk C1C2
C1 C11
C12
C2 C21
C22
Cn C1n C2 n
性质:(C1)n CijC >0;n(12)CijC =1/Cnji2;(3)Cii=1
Cnn
此时则,C矩为阵一为致正矩反阵矩。阵。若对于任意i、j、k,均有Cij*Cjk=Cik,

(完整版)层次分析法计算权重在matlab中的实现

(完整版)层次分析法计算权重在matlab中的实现

信息系统分析与设计作业层次分析法确定绩效评价权重在matlab中的实现小组成员:孙高茹、王靖、李春梅、郭荣1 程序简要概述编写程序一步实现评价指标特征值lam、特征向量w以及一致性比率CR的求解。

具体的操作步骤是:首先构造评价指标,用专家评定法对指标两两打分,构建比较矩阵,继而运用编写程序实现层次分析法在MATLAB中的应用。

通过编写MATLAB程序一步实现问题求解,可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化。

2 程序在matlab中实现的具体步骤function [w,lam,CR] = ccfx(A)%A为成对比较矩阵,返回值w为近似特征向量% lam为近似最大特征值λmax,CR为一致性比率n=length(A(:,1));a=sum(A);B=A %用B代替A做计算for j=1:n %将A的列向量归一化B(:,j)=B(:,j)./a(j);ends=B(:,1);for j=2:ns=s+B(:,j);endc=sum(s);%计算近似最大特征值λmaxw=s./c;d=A*wlam=1/n*sum((d./w));CI=(lam-n)/(n-1);%一致性指标RI=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51];%RI为随机一致性指标CR=CI/RI(n);%求一致性比率if CR>0.1disp('没有通过一致性检验');else disp('通过一致性检验');endend3 案例应用我们拟构建公司员工绩效评价分析权重,完整操作步骤如下:3.1构建的评价指标体系我们将影响员工绩效评定的指标因素分为:打卡、业绩、创新、态度与品德。

3.2专家打分,构建两两比较矩阵A =1.0000 0.5000 3.0000 4.00002.0000 1.0000 5.00003.00000.3333 0.2000 1.0000 2.00000.2500 0.3333 0.5000 1.00003.3在MATLAB中运用编写好的程序实现直接在MATLAB命令窗口中输入[w,lam,CR]=ccfx(A)继而直接得出d =1.30352.00000.51450.3926w =0.31020.46910.12420.0966lam =4.1687CR =0.0625,通过一致性检验3.4解读程序结果根据程序求解中得出的特征向量,可以得出打卡、业绩、创新以及态度品德在员工绩效评价中所占的权重分别为:0.3102、0.4691、0.1242、0.0966。

关于层次分析法的例题与解

关于层次分析法的例题与解

关于层次分析法的例题与解旅游发展水平评价摘要为了研究和比较两个旅游城市的旅游发展水平,建立了层次分析法[数学模型,对两个旅游城市的旅游发展水平进行了评价.首先,通过对本课题中图1和表1的分析和讨论,按照层次分析法,建立了四个层次:目标层a、准则层b、子准则层c和方案层d,通过比较同一层目标之间的重要度,得到判断矩阵,每个判断矩阵用MATLAB[1]编程求解。

其次,利用MATLAB软件计算决策组合向量,然后比较决策组合向量的大小。

以“最大决策组合向量”为目标,Y市的决策组合向量为0.4325,Q市的决策组合向量为0.5675。

最后,通过比较q市和y市旅游发展水平的决策组合向量,得出q市旅游发展水平较高的结论。

层次分析法MATLAB旅游发展水平;决策组合向量11.问题重述本文要求对Y和Q两个旅游城市的旅游发展水平进行分析,并对两个城市的各种因素进行比较,如城市规模和密度、经济条件、交通条件、生态环境条件、宣传监督、旅游规格、空气质量、城市规模、人口密度、人均国内生产总值、人均住房面积、第三产业增加值占国内生产总值的比重、税收国内生产总值、对外贸易依存度、城市内外交通、人均绿地等。

污水集中处理率、环境噪声、国内外游客数量、索赔金额、立案数量、甲级景区数量、旅行社数量、星级酒店数量。

建立数学模型来解决这个问题。

2.问题分析本文要求对Y、Q旅游城市的旅游业发展水平进行分析。

在对Y和Q 旅游城市的分析中,发现有许多因素需要考虑。

首先,城市规模和密度,包括城市规模和人口密度。

第二,经济条件,包括对外贸易依存度,人均国内生产总值,人均住房面积,第三产业增加值占国内生产总值的比重,税收占国内生产总值的比重。

第三,运输条件,包括内部运输和外部运输。

第四,生态环境条件包括空气质量、人均绿地面积、污水处理能力和环境噪声。

第五,宣传和监督,包括国内外游客人数,以及游客投诉的数量。

第六,旅游指标,包括甲类景区的数量、旅行社的数量、星级酒店的数量,用层次分析法来估计各指标的权重,并对最优方案进行评价。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档