原创为b站视频:https://www.bilibili.com/video/av20238704ide
简介:性能
层次分析法(AHP)是一种层次权重决策分析方法,平常生活中好比:冰箱品牌的选购(考虑到价格,性能,售后等因素);旅游景点的选择(交通,居住环境,饮食等)。code
步骤:视频
1.创建层次结构模型blog
2.构造判断(成对比较)矩阵ci
3.一致性检验get
1.创建层次结构模型(以选择旅游地为例)input
2.构造判断(成对比较)矩阵class
标度表gc
例:
3.一致性检验
以旅游问题为例:
成对比较矩阵是怎么得出来的呢(查找了大量的数据并综合了相关领域专家的意见后获得,,,)
程序:
disp('请输入判断矩阵A(n阶)'); A=input('A='); [n,n]=size(A); x=ones(n,100); y=ones(n,100); m=zeros(1,100); m(1)=max(x(:,1)); y(:,1)=x(:,1); x(:,2)=A*y(:,1); m(2)=max(x(:,2)); y(:,2)=x(:,2)/m(2); p=0.0001;i=2;k=abs(m(2)-m(1)); while k>p i=i+1; x(:,i)=A*y(:,i-1); m(i)=max(x(:,i)); y(:,i)=x(:,i)/m(i); k=abs(m(i)-m(i-1)); end a=sum(y(:,i)); w=y(:,i)/a; t=m(i); disp(w); %如下是一致性检验 CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59]; CR=CI/RI(n); if CR<0.10 disp('此矩阵的一致性能够接受!'); disp('CI=');disp(CI); disp('CR=');disp(CR); end
成对比较矩阵:
[1, 1/2, 4, 3, 3; 2, 1, 7, 5, 5; 1/4, 1/7, 1, 1/2, 1/3; 1/3, 1/5, 2, 1, 1; 1/3, 1/5, 3, 1, 1;] [1,2,5; 1/2,1,2; 1/5,1/2,1;] [1,1/3,1/8; 3,1,1/3; 8,3,1;] [1,1,3; 1,1,3; 1/3,1/3,1;] [1,3,4; 1/3,1,1; 1/4,1,1;] [1,1,1/4; 1,1,1/4; 4,4,1;]
运行结果:以A和B1为例
>> cengcifenxi 请输入判断矩阵A(n阶) A=[1, 1/2, 4, 3, 3; 2, 1, 7, 5, 5; 1/4, 1/7, 1, 1/2, 1/3; 1/3, 1/5, 2, 1, 1; 1/3, 1/5, 3, 1, 1;] 0.2636 0.4758 0.0538 0.0981 0.1087 此矩阵的一致性能够接受! CI= 0.0180 CR= 0.0161 >> cengcifenxi 请输入判断矩阵A(n阶) A=[1,2,5; 1/2,1,2; 1/5,1/2,1;] 0.5954 0.2764 0.1283 此矩阵的一致性能够接受! CI= 0.0028 CR= 0.0053 >>
获得权重值:
注:层次分析法主观性比较强,可用于建模中的一小问