基于层次分析法的大学生志愿选择模型
摘 要 本文主要讨论了大学生毕业后志愿选择的问题。
针对问题,利用层次分析法将决策问题分解为目标层(志愿)、准则层(贡献、收入、发展、声誉、人际关系及地理位置)和方案层(工作、学习及其他)。通过成对比较法确定各准则对于目标的权重及各方案对于各准则的权重,构造出准则层对目标层和方案层对准则层的成对比较阵,建立层次结构模型并用MATLAB程序计算各成对比较阵的权向量以及方案层对目标层的组合权向量,得到的结论如下:
大学生毕业后志愿选择时工作、学习和其他的权重分别为0.48、0.2630和0.2506。可见选择工作、学习和其他的大学生分别占总人数的48.%、26.30%和25.06%。
关键词 层次分析法;成对比较阵;权重;MATLAB
1
一、问题分析
在日常生活中经常会碰到许多决策问题,在解决这些决策问题时通常会使用离散模型。以是否能够发挥自己的才干为国家做贡献、丰厚的收入、适合个人的兴趣及发展、良好的声誉、人际关系和地理位置六个方面为大学生毕业后志愿选择的主要因素,选择方案有三种,即工作、学习、其他。运用层次分析法得到指标评价体系,建立大学生志愿选择的层次结构模型,利用相对比较矩阵求得各项指标的权向量,给出大学生青年志愿选择得分并进行分析。
二、问题假设
1.假设调查的数据是合理的;
2.假设除已经考虑的因素之外的其他因素对评价模型造成的影响很小,可以不予考虑。
三、模型的建立与求解
经过讨论,确定大学生青年志愿选择的主要指标为是否能够发挥自己的才干为国家做贡献、丰厚的收入、适合个人的兴趣及发展、良好的声誉、人际关系和地理位置六个方面。
利用层次分析法([1])确定大学生志愿选择作为目标层A;以是否能够发挥自己的才干为国家做贡献、丰厚的收入、适合个人的兴趣及发展、良好的声誉、人际关系和地理位置六个方面分别作为准则层C1、C2、C3、C4、C5、C6;以工作、学习、其他分别作为方案层P1、P2、P3。建立以下层次结构(如图1):
图1 层次结构模型
利用成对比较法对准则层、方案层进行列表(表1)
2
表1-1 主要影响因素对比 因素 贡献 收入 发展 声誉 人际 关系 地理 位置 贡献 1 1 1/5 1 2 1/3 收入 1 1 1/3 1 1/5 1/4 发展 5 3 1 5 3 2 声誉 1 1 1/5 1 1/2 1/3 人际 关系 1/2 5 1/3 2 1 1 地理 位置 3 4 1/2 3 1 1 表1-2 贡献对比 因素 工作 学习 其他 工作 1 12/13 11/13 学习 13/12 1 11/12 其他 13/11 12/11 1 表1-3 收入对比 因素 工作 学习 其他 工作 1 1/3 1/2 学习 3 1 2 其他 2 1/2 1 表1-4 发展对比 因素 工作 学习 其他
表1-5 声誉对比 因素 工作 学习 其他
3
工作 1 1/3 1/2 学习 3 1 2 其他 2 1/2 1 工作 1 16/25 14/25 学习 25/16 1 7/8 其他 25/14 8/7 1
表1-6 人际关系对比 因素 工作 学习 其他
表1-7 地理环境对比 因素 工作 学习 其他 工作 1 1/2 1/3 学习 2 1 1/3 其他 3 3 1 工作 1 1/2 1/4 学习 2 1 1/3 其他 4 3 1
3.1 准则层对目标层的成对比较阵及权向量
根据表1数据和层次分析法,给出如下成对比较阵:
1511/2311131541/51/311/51/31/2A
11512321/531/2111/31/421/311
) 利用MATLAB可求得最大特征根为6.5373和特征向量w(1(程序见附录1)。
根据公式
1w1jw1j 6(1)w1ji1将特征向量归一化得权向量
w0.19750.29470.04940.23070.14460.0830
一致性检验: 由一致性指标公式:
TCIn
n1
可得
6.537360.10746
61
由于n6查矩阵阶数表,如表2所示。
CI
4
表2 矩阵阶数表 矩阵1 2 阶数 3 4 5 6 7 8 9 10 11 RI 0 0
0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.51 得到相应的随机一致性指标:RI1.24,则一致性比率为:
CI0.10746CR0.08670.1
RI1.24故通过一致性检验,即认为A的一致性程度在容许的范围内,可以用归一化后的特征向量w作为排序权重向量。
3.2 方案层对准则层的成对比较阵及权向量
13/1213/111112/111.C112/13, 最大特征根为3,对应的权向量为: 111/1311/12T
w210.3611,0.3333,0.3056一致性比率为:CR2100.1;
1322.C21/311/2,最大特征根为3.0092,对应的权向量为:
1/221T
w220.5396,0.1634,0.2970一致性比率为:CR220.00790.1;
1323.C31/311/2,最大特征根为3.0092,对应的权向量为:
1/221T
w220.5396,0.1634,0.2970一致性比率为:CR220.00790.1;
25/1625/14118/74.C416/25, 最大特征根为3,对应的权向量为: 114/257/8T
w210.4545,0.2909,0.2545一致性比率为:CR2400.1;
5
241, 最大特征根为3.0183,对应的权向量为: 1/2135.C51/41/31T
w250.5584,0.3196,0.1220一致性比率为:CR250.01580.1;
231,最大特征根为3.0536,对应的权向量为: 1/2136.C61/31/31T
w260.5278,0.3325,0.1396一致性比率为:CR260.04620.1。 上述结果如表3所示:
表3 方案层的计算结果 k w2k 1 0.3611 0.3333 0.3056 3 0 0.58 0 2 0.5396 0.1634 0.2970 3.0092 0.0395 0.58 0.0079 3 0.5396 0.1634 0.2970 3.0092 0.0395 0.58 0.0079 4 0.4545 0.2909 0.2545 3 0 0.58 0 5 0.5584 0.3196 0.1220 3.0183 0.079 0.58 0.0158 6 0.5278 0.3325 0.1396 3.0536 0.231 0.58 0.0462 k CIk RIk CRk
CRk0.1,(k1,2,,6),故通过一致性检验,认为Ck(k1,2,,6)的一致性
程度在容许的范围之内,用归一化后的特征向量作为排序权向量。
3.3 计算组合权向量并做一致性检验
由各准则对目标的权向量w和各方案对每一准则的权向量w2k,计算各方案对目标的权向量,即组合权向量,记作w1,对于方案P1,它在人际关系等6个准则中的权重用w1中的第一个分类表示,所以方案P1在目标中的组合权重应为它们相应项的两两乘积之和,即
0.19750.36110.29470.53960.04940.5396 0.23070.45450.14460.55840.08300.52780.48
P2在目标中的组合权重为:
0.19750.33330.29470.16340.04940.1634 0.23070.29090.14460.31960.08300.33250.2630
P3在目标中的组合权重为:
0.19750.30560.29470.29700.04940.2970 0.23070.25450.14460.12200.08300.13960.2506
6
于是组合权向量w10.48,0.2630,0.2506。
结果表明:方案P1在大学生志愿选择中所占的权重近于1/2,远大于P2和P3,所以大学生毕业后最有可能选择工作。
(p)组合一致性检验可逐层进行。若第p层的一致性指标为CI1(p),,CIn,(n是
(p)第p1层因素的数目)随机一致性指标为RI1(p),,RIn。
(p)CI(p)[CI1(p),,CIn]w(p1) (p)RI(p)[RI1(p),,RIn]w(p1)
T则第p层的组合一致性比率为:
CI(p)CR,p3,4,,s (p)RI第3层的一致性指标为0,0.0395,0.0395,0,0.079,0.231,随机一致性指标为RIk0.58(k1,2,,6),
(p)所以
CI0.197500.29470.03950.04940.0395
0.230700.14460.0970.08300.2310.0442;
RI0.19750.580.29470.580.04940.58
0.23070.580.14460.580.08300.580.5800;
此时
CR0.07620.1
CR0.1,故组合一致性检验通过,组合权向量符合一致性要求。根据组合权向量的分量取值,大学生毕业后最有可能选择工作。
参考文献
[1] 姜启源,谢金星.数学模型[M].北京:高等教育出版社,2001.
7
附录
1.
clear;clc; A=[
1 1 5 1 1/2 3 1 1 3 1 5 4 1/5 1/3 1 1/5 1/3 1/2 1 1 5 1 2 3 2 1/5 3 1/2 1 1 1/3 1/4 2 1/3 1 1 ];
n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1) ri=1.24; cr=ci/ri
2.
clear;clc; A=[
1 13/12 13/11 12/13 1 12/11 11/13 11/12 1 ]; n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1) ri=0.58; cr=ci/ri
3.
clear;clc;
8
A=[ 1 3 2 1/3 1 1/2 1/2 2 1 ]; n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1)ri=0.58; cr=ci/ri
4.
clear;clc; A=[ 1 3 2 1/3 1 1/2 1/2 2 1 ]; n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1)ri=0.58; cr=ci/ri
5.
clear;clc; A=[
1 25/16 25/14 16/25 1 8/7 14/25 7/8 1 ];
n=length(A);
9
[a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1) ri=0.58; cr=ci/ri
6.
clear;clc; A=[
1 2 4 1/2 1 3 1/4 1/3 1 ];
n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end q=q
ci=(b(1,1)-n)/(n-1) ri=0.58; cr=ci/ri
7.
clear;clc; A=[ 1 2 3 1/2 1 3 1/3 1/3 1 ];
n=length(A); [a,b]=eig(A) b=b(1,1) s=sum(a(:,1)); for i=1:n
q(i,1)=a(i,1)/s; end
10
q=q
ci=(b(1,1)-n)/(n-1) ri=0.58; cr=ci/ri
11