首页 > 编程知识 正文

层次分析法适用于解决什么问题,层次分析法spss教程

时间:2023-05-04 16:02:53 阅读:242913 作者:608

层次分析法

层次分析法 简述层次分析法的三个层次 1、最高层(目标层)2、中间层(准则层)3、最底层(方案层) 权重最佳解确定代码(MATLAB) 源代码操作要求

简述

层次分析法是一种层次权重决策分析方法,利用较少的定量信息使决策的思维过程数学化。
个人感觉这种判断主观臆断在其中占很大成分,但后续的分析则是客观地由算法给出定量的结果。

层次分析法的三个层次

构造模型的时候,层次供分为三个层次。

1、最高层(目标层)

决策的目的、要解决的问题(对于旅游,这层决定要去哪)

2、中间层(准则层)

考虑的因素、决策的准则(对于旅游,这层可能包括景色、费用、居住环境、饮食、旅途等等)

3、最底层(方案层)

决策时的备选方案(对于旅游,这层就包括所有供选择的目的地)

权重

权重通过成对比较矩阵来给出(其构造一定要言之有理):成对比较矩阵是表示本层所有因素针对上一层某一个因素的相对重要性的比较。成对比较矩阵的元素 aij a i j 用Santy的1~9标度方法给出。

标度含义1表示两个因素相比,具有同样重要性3表示两个因素相比,一个因素比另一个因素稍微重要5表示两个因素相比,一个因素比另一个因素明显重要7表示两个因素相比,一个因素比另一个因素强烈重要9表示两个因素相比,一个因素比另一个因素极端重要2,4,6,8上述两相邻判断的中值 最佳解确定

通过代码得到的最底层对中间层的权重和相应层中间层对最高层的权重相乘,再将同一最底层通过不同中间层对最高层的权重相加,最后比较大小,数值最大的即为最佳选择。

代码(MATLAB) 源代码 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));enda = 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五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。