基于Matlab的层次分析法与运用

合集下载

利用Matlab进行数据聚类与分类的方法

利用Matlab进行数据聚类与分类的方法

利用Matlab进行数据聚类与分类的方法导言在当今大数据时代,处理和分析庞大的数据成为许多领域的重要任务,而数据聚类与分类是其中重要的一环。

Matlab作为一种功能强大的编程语言和工具,在数据聚类与分类方面具有广泛的应用。

本文将介绍利用Matlab进行数据聚类与分类的常用方法和技巧。

一、数据聚类的概念与方法1.1 数据聚类的定义数据聚类是指将具有相似特征的数据对象自动分成若干组的过程,旨在将相似的数据归为一类,不相似的数据分开。

1.2 常用的数据聚类方法- K-means聚类算法:K-means是一种常见且简单的数据聚类方法,通过迭代优化的方式将数据划分成K个簇。

- 层次聚类算法:层次聚类是一种基于树形结构的聚类方法,它将数据逐步合并或分裂,直到得到最终的聚类结果。

- 密度聚类算法:密度聚类根据数据点的密度特征进行聚类,能够有效地发现任意形状和大小的聚类簇。

- 谱聚类算法:谱聚类结合图论的思想,通过计算数据的拉普拉斯矩阵特征向量,将数据聚类成多个划分。

二、利用Matlab进行数据聚类2.1 准备工作在使用Matlab进行数据聚类之前,需要准备好数据集。

通常,数据集需要进行预处理,包括数据清洗、特征选择和降维等步骤。

2.2 K-means聚类利用Matlab的统计工具箱,可以轻松实现K-means聚类算法。

首先,将数据集读入Matlab并进行必要的归一化处理。

然后,使用kmeans函数运行K-means聚类算法,指定聚类的簇数K和迭代次数等参数。

最后,根据聚类结果进行数据可视化或进一步的分析。

2.3 层次聚类Matlab中的cluster函数提供了层次聚类的功能。

将数据集转换为距离矩阵,然后调用cluster函数即可实现层次聚类。

该函数支持不同的聚类算法和距离度量方法,用户可以根据具体需求进行调整。

2.4 密度聚类实现密度聚类可以使用Matlab中的DBSCAN函数。

DBSCAN是一种基于密度的聚类算法,它通过确定数据点的领域密度来判定是否为核心对象,并通过核心对象的连接性将数据点分为不同的簇。

层次分析

层次分析

干部选拔模型摘要如今干部选拔问题已经引起了政府和人民的热切关注,怎样才能选择好的干部已经成为当今社会的焦点问题。

每一位干部都应具有干部应有的良好素质,如:健康状况、业务知识、写作水平、口才、政策水平和工作作风等。

许多单位的选拔标准就用这些属性来衡量。

使用层次分析法对甲、乙、丙三人进行综合评价,并选出最合适的人。

使用MATLAB对程序进行运行以便观察结果。

关键字:层次分析法、MATLAB。

一、问题重述某单位希望从三名同志中选择一名作为干部,选拔的标准用6个属性来衡量:健康状况、业务知识、写作水平、口才、政策水平和工作作风等。

组织部门根据选拔的标准对甲、乙、丙每人进行打分,最终从3人中选择最合适的人。

通过建立数学模型运用层次分析法对闻听进行分析。

二、模型假设1、假设选拔甲、乙、丙时,不考虑其他随机因素,对三人按照选拔标准进行客观的打分。

2、假设三人在选拔时都正常发挥,不考虑其他额外因素,且都不受外界的影响,进行公平的竞争。

3、假设组织部门严格按照部门的流程进行选拔,也不考虑外界因素和影响。

三、符号说明p: 选拔干部的标准的第k个属性;kB: 判断矩阵;: 判断矩阵的特征根;W: 判断矩阵的权向量;CI: 一致性指标;RI:随机一致性指标;CR:一致性比率(用于确定判断矩阵的不一致性的容许范围);四、问题分析对于干部选拔的问题,就是综合分析的最优化问题,也是一个多目标的决策问题,使用层次分析法对甲、乙、丙按照选拔标准进行综合分析,并使用MATLAB 对分析的程序进行运行,观察和分析结果,最终有组织部门根据分析结果从三人中选择最合适的人。

五、建立模型使用层次分析法,先建立层次结构模型,模型分为3层:第一层,为解决问题目的的目标层;第二层,为实现总目标而采取的各种措施和方案的准则层;第三层,用于解决问题的各种措施和方案。

层次结构模型如下用123456,,,,,p p p p p p 分别表示:健康状况、业务水平、写作水平、口才、政策水平、工作作风。

使用Matlab程序实现层次分析法(AHP)的简捷算法

使用Matlab程序实现层次分析法(AHP)的简捷算法

使用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等方法。

但计算量都有待改进。

基于MATLAB/GUI的层次分析法在投资评价中的应用

基于MATLAB/GUI的层次分析法在投资评价中的应用

的界 面 , 而且为解决方案评价等 问题提供 了一条便捷 的途径 。
关 键 词 : 次 分析 法 ; T A / U ; 层 MA L B G I 冲压 生产 线 ; 资 方案 ; 合 评 价 投 综
中图分类号 :9 1 C 3
文献识码 : A
文章编号 :0 6— 4 4 20 )5— 1 3— 3 10 4 1 (0 9 0 0 0 0
YU Z e g h n ,Xio J n.MoYi a u —mi n ( h nu i rt eh o g , h nH bi 40 7 C i ) Wua n e i o cnl y Wua ue 3 00, hn v sy ft o a
Ab t a t h n l t i rr h rc s s a b t rwa o o rh n ie a p a s ,i tg ai g a ssa ta c u tto s o sr c :T e a ayi h e ac y p o e s i et y frc mp e e sv p r ia n e r t s i n c o n o l ,f r c e l n t
m t ee t p i tr r e t o u c n n et n.T e .i a ta me igi a a zd I e a a t i rh o v n r r eS h e po c f n h l eSiv s i e s e j s p i me t h n t fc l s u a n sn l e ., l i he c y n y ' n yc r h a
Th n l t i r r h r c s p l a i n o n e t e ta p a s lb s d o ATLAB/ e a a y i h e a c y p o e ss a p i t n i v sm n p r i a e n M c c o a GUI

基于Matlab的层次分析法(提供代码)

基于Matlab的层次分析法(提供代码)

基于Matlab的层次分析法(提供代码)层次分析法是一种常用的决策分析方法,可以用来解决复杂决策问题。

在Matlab中,我们可以使用ahp函数来实现层次分析法,以下是具体实现方法和代码示例。

1. 构建层次结构模型在进行层次分析法之前,首先需要构建层次结构模型。

层次结构模型是由多个因素构成的层次结构,每个因素都对应有多个子因素或者指标,最终目标会在最底层的因素或指标进行判断。

在Matlab中,我们可以使用ahp函数中的输入参数来构建层次结构模型。

2. 对各因素进行比较接着我们需要对各因素进行比较,即两两之间构建比较矩阵。

比较矩阵的大小取值应该为1,3,5,7,9这几个数,分别代表相当于、稍微重要、中等重要、非常重要和绝对重要。

在Matlab中,我们可以使用ahp函数中的输入参数来进行比较矩阵的构建。

3. 计算权重计算权重即为计算每个因素在最终目标中所占的权重大小。

我们可以根据比较矩阵来计算每个因素的权值,这可以通过Matlab的ahp函数中的输出参数进行得到。

以下是一个具体的代码示例:% 定义层次结构模型hierarchy = {'目标' {'因素1' '因素2' '因素3'}};% 构建比较矩阵% 比较矩阵大小代表相当于、稍微重要、中等重要、非常重要和绝对重要% 1代表相等,3代表比较略微重要等等,9代表比较绝对重要cmpMat{1} = [1 3 5;1/3 1 2;1/5 1/2 1];cmpMat{2} = [1 1/5 1/3;5 1 3;3 1/3 1];cmpMat{3} = [1 1/3 2;3 1 4;1/2 1/4 1];% 计算权重,得到结果存储在results变量中 results = ahp(hierarchy, cmpMat);% 层次分析法计算结果的可视化disp('计算结果:');disp(results);。

层次分析法及matlab程序

层次分析法及matlab程序

层次分析法及Matlab程序一、层次分析法简介层次分析法(Analytic Hierarchy Process,简称AHP)是一种用于决策分析的工具,由美国数学家托马斯·L·萨蒂(Thomas L. Saaty)在1970年代创立。

AHP通过将决策问题划分为多个层次和多个因素,将主要因素和次要因素划分归纳,以定量化的方法分析各因素间优先级的关系,从而对决策方案进行综合评价。

AHP的基本原理是通过构造判断矩阵、计算判断矩阵的特征向量、确定权重,最终得到决策方案的优先级,从而找到最终的最优决策方案。

其主要优点是可定量化、简单易行,适用于大部分决策问题。

二、层次分析法的步骤AHP的具体步骤如下:1.确定决策目标;2.确定影响决策的因素,并将它们分成若干类别,即形成层次结构;3.为每个因素构建判断矩阵,评估每个因素的重要程度(用1~9的数字表示);4.将各判断矩阵进行一致性检验,并计算其权重;5.对计算得到的权重进行优先级排序,选出最优决策方案。

三、Matlab程序实现AHP计算在Matlab中,可以通过编写程序实现AHP的计算。

以下是一份简单的Matlab 程序,用于计算AHP的权重:% 输入判断矩阵A = [1 4 5;1/4 1 2;1/5 1/2 1];% 计算特征向量[V, D] = eig(A);[m, idx] = max(max(D));w = V(:,idx)';w = w/sum(w);% 一致性检验RI = [0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49];CR = (max(D) - 3)/2/RI(length(A));CI = sum(CR)/length(A);if CI < 0.1disp('一致性较好,权重为:');disp(w);elsedisp('一致性差,需重新评估判断矩阵!');end该程序用于计算一个3x3的判断矩阵的权重,并输出一致性检验的结果。

基于MATLAB的AHP实现

基于MATLAB的AHP实现层次分析法(Analytic Hierarchy Process,AHP)是一种用于多准则决策问题的定量分析方法,它被广泛应用于各个领域,例如工程、管理、经济等。

基于MATLAB的AHP实现可以帮助决策者更好地进行权重分配和决策。

在MATLAB中,可以通过以下步骤实现AHP:1.构建层次结构:首先,需要明确决策问题的层次结构,包括目标、准则和方案。

目标是决策的最终目标,准则是评估和比较方案的标准,方案是待选的决策方案。

2.构建判断矩阵:决策者需要对层次结构中的准则和方案进行两两比较,得到一个判断矩阵。

判断矩阵的元素代表了准则或方案之间的重要程度比较,通常使用1-9的尺度进行比较。

3.计算权重向量:根据判断矩阵,可以计算出准则和方案的权重向量。

计算准则的权重时,需要对判断矩阵进行特征向量分解,得到最大特征值和对应的特征向量,再进行归一化处理。

计算方案的权重时,需要使用准则的权重向量和方案与准则之间的判断矩阵进行加权求和。

4. 一致性检验:在计算权重向量之前,需要进行一致性检验,以确保判断矩阵的一致性。

一致性检验使用一致性指标CR(Consistency Ratio),计算公式为CR = CI/RI,其中CI为一致性指标,RI为随机一致性指标。

如果CR小于0.1,则认为判断矩阵是一致的。

5.决策结果:根据准则和方案的权重向量,可以得到决策结果。

可以通过计算方案的加权得分,或者进行灵敏度分析,评估方案对权重变化的敏感程度。

MATLAB提供了一些函数和工具箱,可以帮助实现AHP。

例如,可以使用eig函数进行特征向量分解,使用sum函数进行加权求和,使用eigs 函数计算随机一致性指标等。

在实际应用中,基于MATLAB的AHP实现可以帮助决策者更好地进行权重分配和决策。

通过对准则和方案进行比较和评估,可以得到准确的权重向量,并且可以进行灵敏度分析,帮助决策者了解方案对权重变化的敏感程度。

(完整版)层次分析法及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个旅游胜地可供选择。

基于Matlab GUI层次分析法的实现和应用


另 外 , 在 煤 矿 自 动 化 的 实 现 过 程 之 中 ,关于 矿 区沉 陷 监测 技 术往 往会 因为传 感 器 以 及 技 术 自 身 、 灾 害 自 身 等 因 素 的 干 扰 , 而 出现 一 些 问题 。例 如 , 在 矿 区测 量 的 过 程 之 中 ,存 在 相 位 的 失相 关 问 题 ,造 成 差 分 干 涉 测 量 的 精 度 存 在 误 差 。 还 有 ,关 于 关 于 煤 矿 区 开 采 的 时 候 ,如 果 遇 见 突 然 塌 陷 的 情 况 , 或 者 是 塌 陷 坑 存 在 大 面 积 的 积 水 , 容 易 导 致 这 些 塌 陷 地 域 的雷 达 信 号 没 有 回 波 现 象。 二 、 关 于 煤 矿 自动 化 发 展 过 程 之 中 存 在问题的具体 对策分析 近 年 来 , 随 着 我 国 工 业 自动 化 水 平 的 不 断 提 升 ,煤 矿 自动 化 系 统 的 发 展 也 非 常 迅 速 , 出现 了采 煤 机 自动 运 行 控 制 系 统 、 在 线 监 控 系 统 、传 输 以及 显 示 系 统 ,还 有 综 采 工 作 面 装 备 远 程 监 控 系 统 以 及 专 家 诊 断 系 统 等 其 中 , 关 于 采 煤 机 的 远 程 监 控 系 统 以 及
自己的工作实践以及相关资料查 阅,首先简单叙述 了当前我 国煤矿 自动化发展之 中存在的问题 ,然后并且提 出 了具体 的对策分析 ,希望 能够提 升我国煤矿 自动化 发 展 的进 程 。
【 关 键 词 】煤 矿 ; 自动 化 发 展 ; 问题 ;对 策 分 析
现 阶 段 ,我 国 的科 学技 术 高速 发 展 , ( 一) 煤 矿 自 动 化 发 展 过 程 之 中 遇 见 问 关 于 我 国 煤 矿 自动 化 发 展 也 在 日渐 提 升 。关 题 的 具 体 对 策 分 析 于 煤 矿 工 业 的 采 煤 、 运 输 以及 供 水 、 供 电等 第 一 , 应 用 计 算 机 技 术 。 煤 炭 行 业 在 方 面 , 都 逐 渐 开 始 实 现 自动 化 。 尽 管 如 此 , 我 国所 有 行 业 之 中 ,属 于 我 国能 源 工 业 的 支 在 我 国 煤 矿 自动 化 的 发 展 过 程 之 中 ,却 存 在 柱 产 业 , 当 前 ,我 国 的计 算 机 技 术 已 经 被 广 些 问 题 影 响 了 煤矿 自动 化 的 发 展 。 泛 应 用 于 各 行 各 业 , 而 煤 炭 行 业 的 转 型 也 需 煤 矿 自动 化 发 展 中 存 在 的 问题 要借助于新 的科学技术 以及网络通信 技术 , 首 先 , 关 于 我 国 煤 矿 的 监 控 网 络 系 统 这 样 能 够 有 效 的 提 升 其 生 产 效 率 以及 经 济 利 之 中 , 应 用 比 较 常 见 的 是 冗 余 以太 网 , 具 益 。其 中 , 关 于 计 算 技 术 之 中被 应 用 于 改 造 有 良好 的 开 放 性 , 但 是 C o n t r o l n e t 网 则 是 传 统 煤 矿 业 的 可 编 程 防爆 式 控 制 装 置 以及 自 因 为 具 有 较 差 的 开 放 性 , 已 经 被 慢 慢 的 淘 动 化 控 制 作 业 装 置 等 , 都 需 要 进 行 研 究 ,提 汰 。 另 外 ,在 监 控 网 络 系 统 之 中被 应 用 的还 升 未 来 煤 矿 业 的 经 济 效 益 。 有G E P O N 网 以及M C T P 系 统。然 后,我 国的煤 第 二,传感器 以及传感器技术 的更新 。 矿 自动 化 生 产 没 有 完 全 被 应 用 在 煤 矿 行 业 之 关 于 煤 矿 自 动 化 发 展 的 实 现 , 同传 感 器 以及 中 , 只 是 实 现 了 局 部 环 节 的 自动 化 。仔 细 分 传 感 器 技 术 的 更 新 具 有 十 分 重 要 的 联 系 ,所 析 当 前 我 国煤 矿 供 电系 统 的 监 控 系 统 可 以 发 以 ,关 于 提 升 传 感 器 的 稳 定 性 以及 使 用 年 限 现 , 它 的 主 要 结 构 包 含 有 监 控 系 统 以及 微 机 就 显 得 尤 为 重 要 。另 外 , 在 进 行 传 感 器 技 术 保 护 系 统 ,然 而 , 它 只 能 够 满 足 地 面 供 电 系 的 研 发 时 , 需 要 进 行 红 外 技 术 、超 声 波 技 术

Matlab求解层次分析法程序代码【求解步骤+代码】

层次分析法1)建立层次结构模型:(2)构造判断矩阵判断矩阵()ij A a =应为正互反矩阵,而且ij a 的判断如下(1~9尺度法):(3)单层排序及一致性检验1、单层排序求解判断矩阵A 的最大特征值max λ,再由最大特征值求出对应的特征向量ω()max A ωλω=,并将ω标准化,即为同一层相对于上一层某一因素的权重,根据此权重的大小,便可确定该层因素的排序。

2、一致性检验取一致性指标max 1nCI n λ-=-,(n 为A 的阶数)令CR RI=,若0.1CR <,则认为A 具有一致性。

否则,需要对A 进行调整,直到具有满意的一致性为止。

(4)层次总排序及一致性检验假定准则层12,,,n C C C 排序完成,其权重分别为12,,,n a a a ,方案层P 包含m 个方案:12,,,m P P P 。

其相对于上一层的()1,2,,j C j n =对方案层P 中的m 个方案进行单层排序,其排序权重记为12,,,j j mj b b b ()1,2,,j n =,则方案层P 中第i 个方案Pi 的总排序权重为1nj ijj a b=∑,见下表:从而确定层的排序。

例:纯文本文件txt3.txt 中的数据格式如下:1 1 1 4 1 1/2 1 1 2 4 1 1/2 1 1/2 1 53 1/2 1/4 1/4 1/5 1 1/3 1/3 1 1 1/3 3 1 12 2 23 3 11 1/4 1/24 1 32 1/3 11 1/4 1/54 1 1/25 2 11 3 1/31/3 1 1/73 7 11 1/3 53 1 71/5 1/7 11 1 71 1 71/7 1/7 11 7 91/7 1 11/9 1 1matlab程序:>> fid=fopen('txt3.txt','r');n1=6;n2=3;a=[];for i=1:n1tmp=str2num(fgetl(fid));a=[a;tmp]; %读准则层判断矩阵endfor i=1:n1str1=char(['b',int2str(i),'=[];']);str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']); eval(str1);for j=1:n2tmp=str2num(fgetl(fid));eval(str2); %读方案层的判断矩阵endendri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标[x,y]=eig(a);lamda=max(diag(y));num=find(diag(y)==lamda);w0=x(:,num)/sum(x(:,num));cr0=(lamda-n1)/(n1-1)/ri(n1)for i=1:n1[x,y]=eig(eval(char(['b',int2str(i)])));lamda=max(diag(y));num=find(diag(y)==lamda);w1(:,i)=x(:,num)/sum(x(:,num));cr1(i)=(lamda-n2)/(n2-1)/ri(n2);endcr1, ts=w1*w0, cr=cr1*w0层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法层次分析法实例与步骤结合一个具体例子,说明层次分析法的基本步骤和要点。

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

基于Matlab的层次分析法与运用
摘要:本文通过使用Matlab软件进行编程,在满足同一层次中各指标对所有的下级指标均产生影响的假定条件下,实现了层次分析法的分析运算。

本程序允许用户自由设定指标层次结构内的层次数以及各层次内的指标数,通过程序的循环,用户只需输入判断矩阵的部分数据,程序可依据层次分析法的计算流程进行计算并作出判断。

本程序可以方便地处理层次分析法下较大的运算量,解决层次分析法的效率问题,提高计算机辅助决策的时效性。

关键词:Matlab层次分析法判断矩阵决策
在当前信息化、全球化的大背景下,传统的手工计算已不能满足人们高效率、高准确度的决策需求。

因此计算机辅助决策当仁不让地成为了管理决策的新工具、新方法。

基于此,本文在充分发挥计算机强大运算功能的基础上,选用美国MathWorks公司的集成数学建模环境Matlab R2009a作为开发平台,使用M语言进行编程,对计算机辅助决策在层次分析法中的运用进行讨论。

试图通过程序实现层次分析法在计算机系统上的运用,为管理决策探索出新的道路职称论文。

1 层次分析法的计算流程
根据层次分析法的相关理论,层次分析法的基本思想是将复杂的决策问题进行分解,得到若干个下层指标,再对下层指标进行分解,得到若干个再下层指标,如此建立层次结构模型,然后根据结构模型构造判断矩阵,进行单排序,最后,求出各指标对应的权重系数,进行层次总
排序。

1.1 构造层次结构模型在进行层次分析法的分析时,最主要的步骤是建立指标的层次结构模型,根据结构模型构造判断矩阵,只有判断矩阵通过了一致性检验后,方可进行分析和计算。

其中,结构模型可以设计成三个层次,最高层为目标层,是决策的目的和要解决的问题,中间层为决策需考虑的因素,是决策的准则,最低层则是决策时的备选方案。

一般来讲,准则层中各个指标的下级指标数没有限制,但在本文中设计的程序尚且只能在各指标具有相同数量的下级指标的假定下,完成层次分析法的分析,故本文后文选取的案例也满足这一假定。

1.2 建立判断矩阵判断矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较给判断矩阵的要素赋值时,常采用九级标度法(即用数字1到9及其倒数表示指标间的相对重要程度),具体标度方法如表1所示。

1.3 检验判断矩阵的一致性由于多阶判断的复杂性,往往使得判断矩阵中某些数值具有前后矛盾的可能性,即各判断矩阵并不能保证完全协调一致。

当判断矩阵不能保证具有完全一致性时,相应判断矩阵的特征根也将发生变化,于是就可以用判断矩阵特征根的变化来检验判断的一致性程度。

在层次分析法中,令判断矩阵最大的特征值为&lambda;max,阶数为n,则判断矩阵的一致性检验的指标记为:⑴
CI的值越大,判断矩阵的一致性越差。

当阶数大于2时,判断矩阵的一致性指标CI与同阶平均随机一致性指标RI之比称为随机一致性
比率,其中RI的值由表2确定,CR的计算公式为:

当CR&lt;0.1时,即可认为判断矩阵具有满意的一致性。

然而由于在为各指标间相互重要性程度大小的判定过程中存在人为主观因素,因此在判断矩阵不能通过一致性检验时,需要对各指标间相互重要性程度重新进行赋值,直至其通过矩阵一致性检验。

其最大特征值对应的特征向量即为该指标相对于上一级指标的重要性排序。

1.4 进行层次总排序在通过层次单排序得出各指标相对上一级指标的重要性排序向量后,沿递阶层次结构逐级依次由下往上进行矩阵计算,则可得到各底层指标对最高层的相对重要性权重,从而可对各底层指标的优先次序进行排序,找出重点指标并予以特别关注。

2 Matlab层次分析法程序设计思路
Matlab是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

Matlab可以进行矩阵运算、绘制函数和数据图像、设计算法、创建用户界面、连接用其他编程语言编写的程序等。

Matlab以矩阵为计算单位,采用M语言作为程序语言,与C语言有诸多相似之处,并可方便地与C/C++、Microsoft Excel等工具和软件进行结合并进行代码共享和数据交换,可以方便地进行数值分析、图像处理等功能,配合功能强大的统计和金融工具箱,Matlab已经可以在概率统计、经济管理等方面发挥强大的作用。

笔者所编程序即是运用Matlab丰富的函数、矩阵运算和程序控制功能,探索其在层次分析法分析中的运用。

程序通过三层循环结构,按照表1所示的方法和规则,实现多个层次上各个判断矩阵的输入和生成,并可以通过计算它们的特征值,按照上述公式⑴、公式⑴和表2所示的方法进行矩阵的一致性检验。

当所有的判断矩阵一致性检验均通过后,程序将对各层次从下往上依次计算,最终得出各底层指标相对于准则层的权重系数,从而有助于选择最优方案,程序流程如图1所示,其中的平行四边形表示输入数据,菱形表示判断,根据判断结果的不同出现2个分支。

程序中,用于生成判断矩阵的部分程序如下:
for a=1:mp
for b=1:mp
A(b,b)=1;
if a fprintf('Line %i, Row %i、n',[a;b]);
A(a,b)=input('Please input the value: ');
A(b,a)=1/A(a,b);
end
end
生成层次总排序权重矩阵的部分程序如下:
for r=p-1:1
v=['vect=vect*vector' int2str(r)];
evalc(v)
end
fprintf('The final judging vector is:')
fprintf('、n%.4f',vect)
[m,maxpl]=max(vect);
fprintf('、n、nThe Scheme %i is the best solution.、n、n',maxpl)。

相关文档
最新文档