模糊层次分析法的Matlab实现
- 格式:doc
- 大小:16.50 KB
- 文档页数:3
23.模糊聚类剖析原理及实现聚类剖析,就是用数学方法研究和办理所给定对象,依据事物间的相像性进行区分和分类的过程。
传统的聚类剖析是一种硬区分,它把每个待识其他对象严格地区分到某个类中,拥有非此即彼的性质,这种分类的类型界线是分明的。
跟着模糊理论的成立,人们开始用模糊的方法来办理聚类问题,称为模糊聚类剖析。
因为模糊聚类获得了样本数与各个类其他不确立性程度,表达了样本类属的中介性,即成立起了样本关于类其他不确立性的描绘,能更客观地反应现实世界。
本篇先介绍传统的两种(适合数据量较小情况,及理解模糊聚类原理):鉴于择近原则、模糊等价关系的模糊聚类方法。
(一)预备知识一、模糊等价矩阵定义 1 设 R=(r ij )n×n为模糊矩阵, I 为 n 阶单位矩阵,若R 知足i)自反性: I ≤R (等价于 r ii =1);ii)对称性: R T=R;则称 R 为模糊相像矩阵,若再知足iii) 传达性: R2≤R(等价于n(r ik r kj ) r ij)k 1则称 R 为模糊等价矩阵。
定理 1 设 R 为 n 阶模糊相像矩阵,则存在一个最小的自然数k(k<n), 使得 R k为模糊等价矩阵,且对全部大于 k 的自然数 l,恒有R l=R k. R k称为 R 的传达闭包矩阵,记为 t(R).二、模糊矩阵的λ-截矩阵定义 2 设 A=(a ij )n×m为模糊矩阵,对随意的λ∈[0,1],作矩阵A a ij( )n m此中,a ij( )1,aij 0,aij称为模糊矩阵 A 的λ-截矩阵。
明显, Aλ为布尔矩阵,且其等价性与与A一致。
意义:将模糊等价矩阵转变为等价的布尔矩阵,能够获得有限论域上的一般等价关系,而等价关系是能够分类的。
所以,当λ在[0,1]上改动时,由 Aλ获得不一样的分类。
若λ1<λ2, 则 Aλ1≥Aλ2, 进而由 Aλ2确立的分类是由Aλ1确立的分类的加细。
当λ从 1 递减变化到 0 时,Aλ的分类由细变粗,渐渐合并,形成一个分级聚类树。
使用Matlab程序实现层次分析法(AHP)的简捷算法作者:于晶来源:《科技风》2016年第16期摘要:层次分析法简便易懂,可操作性和实用性强,但是构造判断矩阵往往不容易,计算判断矩阵的特征值特别繁琐且易出错,得到的一致性检验不易调整,这些都给使用层次分析法带来困难,以往使用办公软件电子表格(Excel)的方法计算单层次排序和总层次排序,这种方法使得计算和一致性检验变得容易,文本使用Matlab程序使得计算变得更容易,也使得层次分析法在多个领域得到推广和应用。
关键词:层次分析法;Excel;matlab1 层次分析法(AHP法)的原理和解决思路层次分析法是对定性问题进行定量分析的一种简便、灵活而又实用的多准则决策方法。
它的原理是模拟人的决策过程,具有思路清晰、方法简便、适用面广、系统性强等特点。
是解决多目标、多准则、多层次复杂问题决策或者大型工程风险分析的有力工具。
层次分析法解决问题的思路就是用下一次因素的相对排序求得上一次因素的相对排序。
按照因素之间的相互影响和隶属关系将各层次因素聚类组合,形成一个递进有序的层次结构模型。
2 层次分析法的应用难点2.1合适的判断矩阵构造不易模型确定后,按照模型层次结构和模型的各因素的相对重要性,综合专家群体咨询意见,采用标度法[ 1 ],从数字1/9一9中选取恰当值,构造各层的判断矩阵,并使之尽量符合一致性检验,这一步成为问题的关键。
但实际上系统越复杂,判定矩阵的阶数就会越高,计算就会越困难。
2.2计算量大,步骤繁琐层次分析法首先要求的就是判断矩阵的最大特征值?姿max,及其正规化的特征向量w,向量w的分量wi是相应因素的单层次权值,这部分计算理论上基于线性代数知识,不用计算机也可以将其计算出来。
但实际上,当矩阵的阶数高于4阶时,人工计算就变得相当困难且易出错,如使用计算机计算,就容易得多,常用的方法有Basic语言,电子表格Excel等方法。
但计算量都有待改进。
第八章 层次分析法层次分析法(Analytic Hierarchy Process ,简称AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。
它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。
MATLAB 教程网 §1 层次分析法的基本原理与步骤人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。
层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。
运用层次分析法建模,大体上可按下面四个步骤进行:(i )建立递阶层次结构模型;(ii )构造出各层次中的所有判断矩阵;(iii )层次单排序及一致性检验;(iv )层次总排序及一致性检验。
下面分别说明这四个步骤的实现过程。
1.1 递阶层次结构的建立与特点应用AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。
在这个模型下,复杂问题被分解为元素的组成部分。
这些元素又按其属性及关系形成若干层次。
上一层次的元素作为准则对下一层次有关元素起支配作用。
这些层次可以分为三类:(i )最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。
(ii )中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
(iii )最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。
递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。
每一层次中各元素所支配的元素一般不要超过9个。
这是因为支配的元素过多会给两两比较判断带来困难。
下面结合一个实例来说明递阶层次结构的建立。
例1 假期旅游有1P 、2P 、3P 3个旅游胜地供你选择,试确定一个最佳地点。
一、概述层次分析法(Analytic Hierarchy Process, AHD)是将要决策的问题及其有关因素分解成目标、准则、方案等层次,进而进行定性和定量分析的决策方法。
它的特征是合理地将定性与定量决策结合起来,按照思维、心理的规律把决策过程细致化(层次化、数量化)。
层次分析法广泛地应用到处理复杂的决策问题,而决策是基于该方法计算出的权重,所以也常用来确定指标的权重。
层次分析法的基本思路与人们对一个决策问题的思维、判断过程大体上是一样的。
例如,选购一台笔记本电脑,假设有三种不同品牌款式的笔记本电脑A、B、C供选择。
我们一般会根据价格、外观、重量、用途、功耗、品牌等一些准则去反复比较这个三个候选。
首先,会确定这些准则在自己心目中各占多大比重,不同的人这种比重会有很大差异(喜欢玩游戏的人看重硬件性能和散热、预算有限的人看重价格等)。
其次,还会就每一个准则将A、B、C进行对比,比如A最便宜,B次之;C性能最好,B次之;C的品牌最知名等。
最后,将这两个层次的比较判断进行综合,在A、B、C中确定一台作为最符合自己需求的电脑。
二、算法步骤1. 将问题条理化、层次化,建立层次结构模型1)最高层(目标层)——只有一个元素:决策目标;2)中间层(准则层)——考虑的因素,决策的准则、子准则;3)最底层(方案层)——决策时的备选方案、措施。
层次分析法要解决的问题是,求出最底层对最高层的相对权重,以此对最底层的方案、措施进行排序,选择最优方案。
注1:为了避免两两比较判断过于复杂,每层次中各元素所支配的元素一般不要超过9个,否则应划分为若干子层;注2:层次分析法只考虑相邻两个层次间自上向下的支配作用,认为同一层次的元素间相互独立,若考虑进来需要网络分析法(ANP )。
例如前文提到的选购笔记本电脑的决策模型,可以建立如下的层次结构:2. 构造判断矩阵(成对比较矩阵)构造好层次模型后,针对某一层来讲,在比较第i 个元素与第j 个元素相对于上一层某个因素的重要性时,使用数量化的相对权重a ij 来表示,假设共有n 个元素参与比较,则矩阵1111()n ij n n n nn a a A a a a ⨯⎛⎫ ⎪== ⎪ ⎪⎝⎭LM OM L 称为判断矩阵(或成对比较矩阵)。
一、引言
层析分析法是将定量与定性相结合的多目标决策法,是一种使用频率很高的方法,在经济管理、城市规划等许多领域得到了广泛应用。
由于其结果受主观思维的影响较大,许多科研工作者对其进行了深入的研究,将模糊理论与层次分析法相结合,提出了模糊层次分析法。
为克服层次分析法中判断矩阵的一致性与人类思维的一致性存在的显著差异,文献[1-2]引入了模糊一致矩阵。
为解决解的精度及收敛问题,文献[3-4]引入幂法来求排序向量。
运用模糊层次分析法研究实际问题时,常采用迭代法来得到精度更高的排序向量,这就要求选择合适的初始值并通过大量的计算,为此,文中利用三种方法计算了初始排序向量,并给出了算法的Matlab程序,最后通过实例说明。
二、模糊层次分析法
为解决AHP种所存在的问题,模糊层次分析法引入模糊一致矩阵,无需再进行一致性检验,同时使用幂法来计算排序向量,可以减少迭代齿数,提高收敛速度,满足计算精度的要求.具体步骤:
1.构造优先关系矩阵
采用0.1~0.9标度[2],建立优先判断矩阵
2.将优先关系矩阵转化为模糊一致矩阵
3.计算排序向量
(1)和行归一法:
(2)方根法:
(3)利用排序法:
(4)利用幂法[5-6]求精度更高的排序向量:
否则,继续迭代。
三、模糊层次分析法的程序实现
给出模糊层次分析法的Matlab程序。
clear;
clc;
E=input('输入计算精度e:')
Max=input('输入最大迭代次数Max:')
F=input('输入优先关系矩阵F:');
%计算模糊一致矩阵
N=size(F);
r=sum(F');
for i=1:N(1)
for j=1:N(2)
R(i,j)=(r(i)-r(j))/(2*N(1))+0.5;
end
end
E=R./R';
% 计算初始向量----------
% W=sum(R')./sum(sum(R)); % 和行归一法
%---------------------------------------------------------
for i=1:N(1)
S(i)=R(i,1);
for j=2:N(2)
S(i)=S(i)*R(i,j);
end
end
S=S^(1/N(1));
W = S./sum(S);%方根法%-------------------------------------------------------- % a=input('参数a=?');
%W=sum(R')/(N(1)*a)-1/(2*a)+1/N(1); %排序法
% 利用幂法计算排序向量----V(:,1)=W'/max(abs(W)); %归一化
for i=1:Max
V(:,i+1)=E*V(:,i);
V(:,i+1)=V(:,i+1)/max(abs(V(:,i+1)));
if max(abs(V(:,i+1)-V(:,i)))k=i;
A=V(:,i+1)./sum(V(:,i+1));
break
Else
End
End
四、计算实例
由优先关系矩阵得到模糊一致矩阵
利用三种方法计算排序向量分别为:
五、结束语
模糊层次分析法广泛应用于许多领域,解决了判断矩阵的一致性与人类思维一致性的差异问题,同时还得到了计算精度较高的且与实际情况较吻合的排序向量,但是模糊一致矩阵的转换和排序向量的求解计算复杂,工作量大,本文运用Matlab程序实现了该方法,能够方便的解决方法的计算问题。
参考文献:
[1]姚敏、张森,模糊一致矩阵及其在决策分析中的应用[J].系统工程理论与实践,1998,18(5):78-81.
[2]周艳美、李伟华,改进模糊层次分析法及其对任务方案的评价[J].计算机工程与应用,2008,44(5):212-214.
[3]李永、胡向红、乔箭,改进的模糊层次分析法[J].西北大学学报(自然科学版),2005,35(1):11-12,16.
[4]张吉军,模糊一致判断矩阵3种排序方法的比较研究[J].系统工程与电子技术,2003,25(13):1370-1372.
[5]徐萃薇、孙绳武,计算方法引论[M].北京:高等教育出版社,2007,185-191.
[6]武汉大学、山东大学,计算方法[M].北京:高等教育出版社,1979,99-102.。