层次分析数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
层次分析模型
班级:数学与应用数学(2)班学号:1307022019 姓名:杨猛志
班级学号姓名
摘要:
关键词:
1 问题的提出
高考志愿填报问题
请你帮一位应届高中毕业生选报高考志愿。
选报时通常要考虑到学校的声誉、教学、科研、文体及环境条件,同时又要结合本人的兴趣、考试成绩和毕业后的出路等因素。
在每一因素内还含有若干子因素,如教学因素中要考虑到教师水平、学生水平、深造条件等。
考生可填A、B、C、D三个志愿。
试用层次分析法做出决策。
2 合理假设与变量说明
2.1模型假设:在填志愿时要考虑的因素很多,一个好的模型不因该把所有因素全考虑进去,只要考虑那些主要的因素,因此此题给了很多因素,但我们只考虑其中7个主要因素即学校声誉、教学水平、学校环境、本人兴趣、考试成绩、毕业出路、学校科研。
而且在实际考虑填高考志愿时主要是前三个志愿比较主要,因此虽然此题给了四个志愿,但我们只选其中三个主要的志愿不妨为A、B、C。
2.2 变量说明:
(1)学校声誉B1
(2)教学水平B2
(3)学校环境B3
(4)本人兴趣B4
(5)考试成绩B5
(6)毕业出路B6
(7)学校科研B7
(8)学校A
(9)学校B
(10)学校C
3 模型建立
⑴建立层次结构:
4 模型求解
clear;clc;
a=[1 2 3 4 5 5 7;
0.5 1 2 3 4 4 6;
1/3 0.5 1 2 3 3 5;
1/4 1/3 0.5 1 2 2 4
0.2 0.25 1/3 0.5 1 1 3;
0.2 0.25 1/3 0.5 1 1 3;
1/7 1/6 1/5 1/4 1/3 1/3 1]; [v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=1.32;
if CI/RI<0.1
for i=1:4
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w = 0.3523 0.2375 0.1556 0.0997 0.0623 0.0623 0.0304 CI = 0.0295
lambda_Max = 7.1770
CR = 0.0224
准则层各因素对目标层的成对比较矩阵
clear;clc;
a=[1 2 3;0.5 1 3;1/3 1/3 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.5278 0.3325 0.1396
CI =
-0.6577
lambda_Max =
3.0536
CR =
-1.1340
不同学校声誉B1成对比较矩阵
clear;clc;
a=[1 2 3;0.5 1 2;1/3 0.5 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.5396 0.2970 0.1634
CI =
-0.6651
lambda_Max =
3.0092
CR =
-1.1468
不同学校教学水平B2成对比较矩阵
clear;clc;
a=[1 3 3;1/3 1 2;1/3 0.5 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.5936 0.2493 0.1571
CI =
-0.6577
lambda_Max =
3.0536
CR =
-1.1340
不同学校环境B3成对比较矩阵
clear;clc;
a=[1 4 4;0.25 1 3;1/4 1/3 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.6519 0.2351 0.1130
CI =
-0.6441
lambda_Max =
3.1356
CR =
-1.1105
不同人兴趣B4成对比较矩阵
clear;clc;
a=[1 1 0.5;1 1 1;2 1 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.2599 0.3275 0.4126
CI =
-0.6577
lambda_Max =
3.0536
CR =
-1.1340
不同人考试成绩B5成对比较矩阵
clear;clc;
a=[1 1 3;1 1 1;1/3 1 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.4600 0.3189 0.2211
CI =
-0.6441
lambda_Max =
3.1356
CR =
-1.1105
不同人毕业出路B6成对比较矩阵
clear;clc;
a=[1 3 0.5;1/3 1 1/4;2 4 1];
[v,d]=eig(a);
CI=(max(max(d))-7)/(7-1);
RI=0.58;
if CI/RI<0.1
for i=1:3
w(i)=v(i,1)/sum(v(:,1));
end
else
disp('调整矩阵');
end
w
CI
lambda_Max=max(max(d))
CR=CI/RI
w =
0.3196 0.1220 0.5584
CI =
-0.6636
lambda_Max =
3.0183
CR =
-1.1442
不同学校科研B7成对比较矩阵
从而我们得到方案层对目标层的组合权向量和进行组合一致检验:
w=[0.5278 0.5396 0.5936 0.6519 0.2599 0.4600 0.3196;
0.3325 0.2970 0.2493 0.2351 0.3275 0.3189 0.1220;
0.1396 0.1634 0.1571 0.1130 0.4126 0.2211 0.5584]*[0.3523 0.2375 0.1556 0.0997 0.0623 0.0623 0.0304]'
CR=[-1.1340 -1.1468 -1.1340 -1.1105 -1.1340 -1.1105 -1.1442]*[0.3523 0.2375 0.1556 0.0997 0.0623 0.0623 0.0304]'+0.0224
w =
0.5260
0.2939
0.1802
CR =
-1.1113
从上面的结果可以看出CR是小于0.1的,所以组合一致检验能够通过。
前面得到的组合权向量可以作为最终决策的依据。
结果表明学校A在填报志愿时占的比重最大,其次是学校B,最后是学校C。