层次分析模型(AHP)及其MATLAB实现

   今天用将近一天的时间学习了层次分析模型(AHP),主要参考了一份pdf,这个网站,和暨南大学章老师的课件,现写出一些自己总结的要点。  

  一、层次分析法的基本步骤:

角度一:

实际问题——分解——>多个因素——建立——>层次结构—

—确定——>诸因素的相对重要性——计算——>权向量—

—判断——>综合决策

角度二:

建立层次结构模型——>构造判断矩阵——>层次单排序——>一致性检验——>层次总排序。

  二、几个理解的重点

1.正反矩阵

若矩阵A=(aij)mxn满足以下特征:

(1) aij>0

(2)aij=1/aji

则称矩阵A 为正互反矩阵。

2.一致阵

定义:满足a(ij)·a(jk)=a(ik), i,j,k=1,2,··,n的正互反阵A称一致阵。

性质:A的秩为1,A的唯一非0特征根为n;

   A的任一列向量是对应于n的特征向量;

   A的归一化特征向量可作为权向量。

注意:

这里想了下,用最大特征根的特征向量替代A,可能是为了最大限度的保存原始数据(A)的信息量(不确定。。。)

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);                    %计算一致性检验指标CI
CR=CI/RI(1,n);
if CR<0.10
    disp(‘CI=‘);disp(CI);
    disp(‘CR=‘);disp(CR);
    disp(‘对比矩阵A通过一致性检验,各向量权重向量Q为:‘);
    Q=zeros(n,1);
    for i=1:n
        Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化
    end
    Q                              %输出权重向量
else
    disp(‘对比矩阵A未通过一致性检验,需对对比矩阵A重新构造‘);
end

  这里是对AHP的一个初步的认识,之后还要深入学习,到时候再继续总结。

时间: 2024-10-07 20:51:47

层次分析模型(AHP)及其MATLAB实现的相关文章

01层次分析法

AHP(层次分析法) 层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(TLsaaty)正式提出.它是一种定性和定量相结合的.系统化.层次化的分析方法.由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视.它的应用已遍及经济计划和管理.能源政策和分配.行为科学.军事指挥.运输.农业.教育.人才.医疗和环境等领域. 层次分析法的基本步骤 1.建立层次结构模型.在深入分析实际问题的基础上,将有关的各

2016.08互金平台移动端影响力50强

2015年,也被称为互联网金融移动化的元年,强化移动端的竞争力已成为互联网金融平台的重要战略之一. 以最活跃的P2P网贷领域为例,根据网贷之家.盈灿咨询的投资者调研及主要平台的数据显示,在2015年末移动端的成交量正在超越PC端,甚至行业内已经出现纯移动端的平台. 对于互金平台来讲,移动端具有用户体验好.沟通效率高.数据获取更准确等优势,各家平台也充分认识到这一点,通过多种渠道强化移动端的影响力. 基于此,盈灿咨询通过监测互金平台的微信公众号.平台APP.平台微博.新闻客户端.QQ群等常见移动端

层次聚类的Matlab实现代码

最近需要用到层次聚类,发现在Matlab上很容易实现,下面是代码加详细注释 clear all clc close all mdist=input('输入坐标文件名字\n'); disp('读取数据坐标') %获取坐标 %文件为二维的坐标,第一列为x轴坐标,第二列为y轴坐标 xx=load(mdist); %获取数据的个数存至number [number, row]=size(xx); %获取距离矩阵,第二参数指定距离计算方法 %可选参数有'euclidean':欧氏距离(默认):'seucli

层次分析法(Analytic Hierarchy Process,AHP)

昨天晚上室友问我什么是层次分析法?我当时就大概给他介绍了一下,没有细讲. 今天我仔细讲讲这个. 层次分析法是运筹学里面的一种方法,是讲与决策总是有关的元素分解成目标.准则.方案等层次,在此基础上进行定性和定量分析的决策方法.我们通过几个例子来看层次分析法的使用场景. 例1,某一位顾客选购电视机时,对时常正在出售的四种电视机考虑了八项准则作为评估依据,建立层次模型如下: 从品牌,外形,价格,尺寸,耗能量,厂家信誉,伴音,保修服务者几个方面考虑来选购电视机. 我们举一个简单例子来看看怎么计算的. 我

ahp层次分析法软件

http://www.jz5u.com/Soft/trade/Other/58808.html 权重计算 归一化 本组当前数 - 本组最小 / 本组最大-本组最小

层次分析法

title: 层次分析法 date: 2020-02-25 19:14:41 categories: 数学建模 tags: [MATLAB, 评价模型] mathjax: true 定义 ? 层次分析法(The Analytic Hierarchy Process即AHP)是由美国运筹学家. 匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合 评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解 决了定性问题定量化的处理过程. ? AHP的主要特

Matlab基础应用之作图

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的每个图形元素(如坐标轴.曲线.文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分. 在此介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各

Matlab聚类分析(Cluster Analyses)

Matlab提供系列函数用于聚类分析,归纳起来具体方法有如下: 方法一:直接聚类,利用clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法,该方法的使用者无需了解聚类的原理和过程,但是聚类效果受限制. 方法二:层次聚类,该方法较为灵活,需要进行细节了解聚类原理,具体需要进行如下过程处理:(1)找到数据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离:(2)用 linkage函数定义变量之间的连接:(3)用 cophenet

[转载]Matlab实用小技巧——Matlab学习笔记

1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口.当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象.所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到). figu