层次分析购买电脑
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用层次分析法挑选电脑
一.实验目的
运用层次分析法,建立指标评价体系,得到电脑的层次结构模型,然后构造判断矩阵,求得各项子指标的权重,最后给出电脑品牌综合评价得分计算公式并进行实证分析,为购买个人电脑提供有效、科学合理的方法。二.实验内容
4.用层次分析法解决一两个实际问题;
你要购置一台个人电脑,考虑功能、价格等的因素,如何做出决策。
解:层次分析发法基本步骤:建立一个客观有效、科学合理的购买方式,对于个人电脑的购买是至关重要的。在此我们运用层次分析法(AHP),以性能、价格、外观、售后四个方面作为个人电脑购买的一级选择指标,然后构造判断矩阵,得到各个指标的权重,结合大众对个人电脑的各方面指标的重视程度,算出各项指标的得分,将这些得分进行加权求和得到电脑的综合选择得分,根据分配名额按总分排序即可选出购买何种电脑。
(一)建立层次模型
如图所示,将决策问题分为三层,第一层目标层:买什么电脑,第二层准则层,分为:性能,外观,价格,售后四个因素,第三层方案层:苹果,戴尔,微软,外星人四个品牌。
(二)构成比较矩阵及其权重
准则层对目标层
[
1212 1/2112 1112 1/21/21/21
]
由matlab可以知道, 并且知道权向量(,,,)性能
[11/41/21/8 4141/4 21/411/4 8441
]
由matlab可以知道,价格
[11/211 2142 11/411 11/211
]
由matlab可以知道,外观
[
1211/2 1/211/21 1212 211/21
]
由matlab可以知道,售后
[11/211 2122 11/211 11/211
]
由matlab可以知道,
k性能外观价格售后
k(3)
[0.0588
0.2491
0.1027
0.5894
][
0.2448
0.1672
0.3344
0.2536
][
0.1897
0.4590
0.1615
0.1897
][
0.2000
0.4000
0.2000
0.2000
]
k 4.1855 4.2493 4.0606 4
Cl K0.0618 0.0831 0.0202 0
由表格可以看出,当n=4的时候,随机一致性指标为RI=0.9,所以Cl均通过一致性检验
(三)组合权向量
已知准则层对目标层的权向量(,,,)和方案层对准则层的权向量,所以将权重的对应项两两相乘之和:
苹果对目标层的权重:
0.0588*0.3397+0.2448*0.2930+0.1897*0.2808+0.2*0.1404=0. 172969
同理可知:
戴尔,微软,外星人的权重分别为0.270632,0.261726,0.397889 由结果可知,外星人的权重最高,所以应选外星人
附录:
%层次分析法的matlab程序
clc,clear
disp('输入判断矩阵');%在屏幕显示这句话
A=input('A=');%从屏幕接收判断矩阵
[n,n]=size(A);%计算A的维度,这里是方阵,这么写不太好
x=ones(n,100);%x为n行100列全1的矩阵
y=ones(n,100);%y同x
m=zeros(1,100);%m为1行100列全0的向量
m(1)=max(x(:,1));%x第一列中最大的值赋给m的第一个分量
y(:,1)=x(:,1);%x的第一列赋予y的第一列
x(:,2)=A*y(:,1);%x的第二列为矩阵A*y(:,1)
m(2)=max(x(:,2));%x第二列中最大的值赋给m的第二个分量
y(:,2)=x(:,2)/m(2);%x的第二列除以m(2)后赋给y的第二列
p=0.0001;i=2;k=abs(m(2)-m(1));%初始化p,i,k为m(2)-m(1)的绝对值whilek>p%当k>p是执行循环体
i=i+1;%i自加1
x(:,i)=A*y(:,i-1);%x的第i列等于A*y的第i-1列
m(i)=max(x(:,i));%m的第i个分量等于x第i列中最大的值
y(:,i)=x(:,i)/m(i);%y的第i列等于x的第i列除以m的第i个分量
k=abs(m(i)-m(i-1));%k等于m(i)-m(i-1)的绝对值
end
a=sum(y(:,i));%y的第i列的和赋予a
w=y(:,i)/a;%y的第i列除以a
t=m(i);%m的第i个分量赋给t
disp('权向量:');disp(w);%显示权向量w
disp('最大特征值:');disp(t);%显示最大特征值t
%以下是一致性检验
CI=(t-n)/(n-1);%t-维度再除以维度-1的值赋给CI
RI=[000.520.891.121.261.361.411.461.491.521.541.561.581.59];%计算的标准CR=CI/RI(n);%计算一致性
ifCR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
else
disp('此矩阵的一致性不可以接受!');
end