宋秀英
【摘要】本文介绍了层次分析法基本原理,并用层次分析法对学生综合素质进行了评定,并编写了层次分析法的玀ATLAB程序进行求解,建立了学生素质综合评估模型.
【关键词】层次分析法;玀ATLAB;学生素质综合评定オ
一、层次分析法概述
层次分析法是将决策总是有关的元素分解成目标、准则、方案等层次,在此基础上进行定性和定量分析的决策方法.该方法是美国匹茨堡大学教授、运筹学家萨蒂于20世纪70年代初,在为美国国防部研究“根据各个工业部门对国家福利的贡献大小而进行电力分配”课题时,应用网络系统理论和多目标综合评价方法,提出的一种层次权重决策分析方法.这种方法的特点是在对复杂的决策问题的本质、影响因素及其内在关系等进行深入分析的基础上,利用较少的定量信息使决策的思维过程数学化,从而为多目标、多准则或无结构特性的复杂决策问题提供简便的决策方法.尤其适合于对决策结果难于直接准确计量的场合.运用层次分析法建模,大体上可按下面四个步骤进行:
1苯立递阶层次结构模型
应用层次分析法分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型.在这个模型下,复杂问题被分解为元素的组成部分.这些元素又按其属性及关系形成若干层次.上一层次的元素作为准则对下一层次有关元素起支配作用.这些层次可以分为三类:
(1)最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层.
(2)中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层.
(3)最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层.
递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般层次数不受限制.每一层次中各元素所支配的元素一般不要超过9个.这是因为支配的元素过多会给两两比较判断带来困难.
2惫乖斐龈鞑愦沃械乃有判断矩阵
层次结构反映了因素之间的关系,但准则层中的各准则在目标衡量中所占的比重并不一定相同,在决策者的心目中,它们各占有一定的比例.在确定影响某因素的诸因子在该因素中所占的比重时,遇到的主要困难是这些比重常常不易定量化.此外,当影响某因素的因子较多时,直接考虑各因子对该因素有多大程度的影响时,常常会因考虑不周全、顾此失彼而使决策者提出与他实际认为的重要性程度不相一致的数据,甚至有可能提出一组隐含矛盾的数据.为看清这一点,可作如下假设:将一块重为1千克的石块砸成n小块,你可以精确称出它们的重量,设为w1,…,w璶,现在,请人估计这n小块的重量占总重量的比例(不能让他知道各小石块的重量).此人不仅很难给出精确的比值,而且完全可能因顾此失彼而提供彼此矛盾的数据.
设现在要比较n个因子X={x1,…,x璶}对某因素Z的影响大小,萨蒂等人建议可以采取对因子进行两两比较建立成对比较矩阵的办法.即每次取两个因子x璱和x璲,以a﹊j表示x璱和x璲对Z的影响大小之比,全部比较结果用矩阵A=(a﹊j)﹏×n表示,称Z为Z-X之间的成对比较判断矩阵(简称判断矩阵).容易看出,若x璱与x璲对Z的影响之比为a﹊j,则x璲与x璱对Z的影响之比应为a﹋i=1a﹊j.
矩阵A=(a﹊j)﹏×n具有性质:
(1)a﹊j>0.
(2)a﹋i=1a﹊j(i,j=1,2,…,n).
称之为正互反矩阵(易见a﹊i=1,i=1,…,n).
关于如何确定a﹊j的值,萨蒂等人建议引用数字1~9及其倒数作为标度.下表1列出了1~9标度的含义.
表1 判断矩阵标度及其含义
标 度含 义
1表示两个因素相比,具有相同重要性
3表示两个因素相比,前者比后者稍重要
5表示两个因素相比,前者比后者明显重要
7表示两个因素相比,前者比后者强烈重要
9表示两个因素相比,前者比后者极端重要
2,4,6,8表示上述相邻判断的中间值
从心理学观点来看,分级太多会超越人们的判断能力,既增加了作判断的难度,又容易因此而提供虚假数据.萨蒂等人还用实验方法比较了在各种不同标度下人们判断结果的正确性,实验结果也表明,采用1~9标度最为合适.
3辈愦蔚ヅ判蚣耙恢滦约煅楠
判断矩阵A对应于最大特征值λ┆玬ax的特征向量W,经归一化后即为同一层次相应因素对于上一层次某因素相对重要性的排序权值,这一过程称为层次单排序.
上述构造成对比较判断矩阵的办法虽能减少其他因素的干扰,较客观地反映出一对因子影响力的差别.但综合全部比较结果时,其中难免包含一定程度的非一致性.如果比较结果是前后完全一致的,则矩阵A的元素还应当满足:
a﹊j猘﹋k=a﹊k,i,j,k=1,2,…,n.
称满足这一关系式的正互反矩阵称为一致矩阵.需要检验构造出来的正互反判断矩阵A是否严重地非一致,以便确定是否接受A.对判断矩阵的一致性检验的步骤如下:
(1)计算一致性指标獵I
獵I=λ┆玬ax-nn-1.
(2)查找相应的平均随机一致性指标玆I
对n=1,…,9,萨蒂给出了玆I的值,如下表2所示:
表2 玆I值
n123456789
玆I000.580.901.121.241.321.411.45
玆I的值是这样得到的:用随机方法构造500个样本矩阵,随机地从1~9及其倒数中抽取数字构造正互反矩阵,求得最大特征根的平均值λ′┆玬ax,并定义玆I=λ′┆玬ax-nn-1.
(3)计算一致性比例獵R
獵R=獵I玆I.
当獵R<0.10时,认为判断矩阵的一致性是可以接受的,否则应对判断矩阵作适当修正.
4辈愦巫芘判蚣耙恢滦约煅楠
上面我们得到的是一组元素对其上一层中某元素的权重向量.我们最终要得到各元素,特别是最底层中各方案对于目标的排序权重,从而进行方案选择.总排序权重要自上而下地将单准则下的权重进行合成.
设上一层次(A层)包含A1,…,A璵共m个因素,它们的层次总排序权重分别为a1,…,a璵.又设其后的下一层次(B层)包含n个因素B1,…,B璶,它们关于A璲的层次单排序权重分别为b1j,…,b﹏j(当B璱与A璲无关联时,b﹊j=0).现求B层中各因素关于总目标的权重,即求B层各因素的层次总排序权重b1,…,b璶,计算按下表3所示方式进行,即゜璱=А苖j=1b﹊j猘璲,i=1,…,n.
表3 层次总排序
层次A1A2…A璵a1a2…a璵B层总排序权值
B1b11猙12…b1m猈1=А苖j=1a璲b1j
B2b21猙22…b2m猈2=А苖j=1a璲b2j
螃螃螃螃螃
B璶b﹏1猙﹏2…b﹏m猈璶=А苖j=1a璲b﹏j
对层次总排序也需作一致性检验,检验仍像层次总排序那样由高层到低层逐层进行.这是因为虽然各层次均已经过层次单排序的一致性检验,各成对比较判断矩阵都已具有较为满意的一致性.但当综合考察时,各层次的非一致性仍有可能积累起来,引起最终分析结果较严重的非一致性.
设B层中与A璲相关的因素的成对比较判断矩阵在单排序中经一致性检验,求得单排序一致性指标为獵I璲,(j=1,…,m),相应的平均随机一致性指标为玆I璲(獵I璲,玆I璲已在层次单排序时求得),则B层总排序随机一致性比例为獵R=А苖j=1獵I璲a璲∑mj=1玆I璲a璲.当獵R<010时,认为层次总排序结果具有较满意的一致性并接受该分析结果.
二、层次分析法在学生综合素质评定中的应用举例
某高校为了做好学生素质的综合评估,使推荐就业尽可能科学合理,构造了相应的层次结构模型,在评估时,只要根据该学生的各项指标,利用由层次分析得到的评估公式计算其最终得分即可.
1苯立递阶层次结构
2惫乖旄鞑愦嗡有判断矩阵和层次单排序及一致性检验
学院认为,为了就业的需求,知识面与外观形象同样重要,而在能力方面则应有稍强一些的要求.根据以上看法,建立A-B层成对比较判断矩阵:
AB1B2B3
B11121
B2212
B31121
进行一致性检验求出獵R=0,即通过一致性检验并求得B层的三个元素B1,B2,B3对A层的权重向量为:¦瑼=025000500002500.
在知识中,我们认为专业知识更为重要,其次是基础理论知识,再次是外语知识,由此建立B1-C层成对比较判断矩阵:
B1C1C2C3
C11153
C2518
C313181
进行一致性检验求出獵R=00380,即通过一致性检验并求得B1层的三个元素C1,C2,C3对B1层的权重向量为:W〣1=018630737000768.
在能力中,我们认为动手能力、组织能力与其他能力重要性大致相同,建立B2-C层成对比较判断矩阵:
B2C4C5C6
C4111
C5111
C6111
进行一致性检验求出獵R=0,即通过一致性检验并求得B2层的三个元素C3,C4,C5对B2层的权重向量为:¦〣2=033330333303333.
在外表中,我们认为气质最重要,其次是身高,最不重要的是体重,于是建立B3-C层成对比较判断矩阵:
B3C7C8C9
C7157
C81512
C917121
进行一致性检验求出獵R=00122,即通过一致性检验并求得B3层的三个元素C7,C8,C9对B3层的权重向量为:W〣3=073800167600944.
3辈愦巫芘判蚣耙恢滦约煅楠
经层次总排序,可求得C层中各因子C璱在总目标层A中的权重分别为:0.0466,0.1842,0.0192,0.1667,0.1667,0.1667,0.1845,0.0419,0.0236.
即A〤璱=(00466,01842,00192,01667,01667,01667,01845,00419,00236),并通过一致性检验.
4毖生综合评估模型
在学生的基础学科、专业学科、英语、计算机、实训课程、组织能力、体育健康测试所得的测评分数的基础上,经过数据的标准化处理,得到C1-C9各指标的评分,记为:X=(x1,x2,…,x9)玊,即学生综合测评的总得分为:
y=A瑿X
=00466x1+01842x2+00192x3+01667(x4+x5+x6)+
01845x7+00419x8+00236x9.
オ
三、学生素质综合测评中层次分析法的MATLAB程序
1苯立M文件(fun10_2.m):层次分析法中对判断矩阵进行一致性检验及求权重向量的程序.
function [w CR]=fun10_2(A1)
length_a=length(A1);
eigroot_a=eig(A1);
max_eigroot_a=max(abs(eigroot_a));
CI=(max_eigroot_a-length_a)/(length_a-1);
RI=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
CR=CI/RI(length_a);
if CR<0.1
sum_col=sum(A1);
for i=1:length_a
A(:,i)=A1(:,i)/sum_col(i);
end
v=sum(A,2);
sum_a=sum(v);
w=v/sum_a;
else
w=zeros(length_a,1);
disp(error);
end
2苯立M文件(fun10_1.m):调用fun10_2.m计算判断矩阵相关数据,并进行层次总排序和总排序一致性检验的程序.
clear
clc
close
B1=[1 1/5 3;5 1 8;1/3 1/8 1];
[w1 CI]=fun10_2(B1);
w=[w1];ci=[CI];
B2=[1 1 1;1 1 1;1 1 1];
[w1 CI]=fun10_2(B2);
w=[w w1];ci=[ci CI];
B3=[1 5 7;1/5 1 2;1/7 1/2 1];
[w1 CI]=fun10_2(B3);
w=[w w1];ci=[ci CI];
A=[1 1/2 1;2 1 2;1 1/2 1];
[w_a CR]=fun10_2(A);
w_last=w_a*w
CR_last=w_a*ci/sum(0.58*w_a)
w_11=w_a(1)*w(:,1);
w_12=w_a(2)*w(:,2);
w_13=w_a(3)*w(:,3);
w_last=[w_11,w_12,w_13]
CR_last=w_a*ci/sum(0.58*w_a)オオ
【参考文献】オ
[1]韩中庚.数学建模方法及其应用.北京:高等教育出版社,2006.
[2]颜文勇.数学建模.北京:高等教育出版社,2011.
[3]运筹学理论,层次分析法.http://baike.baidu.com/view/364279.htm?fromTaglist.