全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
33330 82
2009-04-12
层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。
现在上传AHP小软件,权数计算都自动显示,这个软件非常适应,符合文科生写点深度论文的需要!

[此贴子已经被作者于2009-6-11 7:53:51编辑过]

附件列表

314540.rar

大小:16.21 MB

只需: 30 个论坛币  马上下载

[原创]AHP软件(层次分析法)

本附件包括:

  • yaahpv0.4.exe

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-4-12 22:39:00
啥东东?具体一些,要这么多银子~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-4-12 22:40:00

这个模块可以放在SPSS编程功能栏里面实现AHP的运算

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);disp(t);
         %以下是一致性检验
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

function AHPInit1(x,y)
%层次分析的初始化
%默认只有两层 x为准则数,y为方案数
%CToT为准则对目标生成的比较阵
%EigOfCri为准则层的特征向量
%EigOfOpt为选项层的特征向量

EigOfCri=zeros(x,1);%准则层的特征向量
EigOfOpt=zeros(y,x);
dim=x;%维度
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];%RI标准
%生成成对比较阵
for i=1:dim
        CToT(i,:)=input('请输入数据:');
end
CToT %输出
pause,
tempmatrix=zeros(x+1);
tempmatrix=AHP1(dim,CToT);
EigOfCri=tempmatrix(1:x);
ci1=tempmatrix(1+x);
EigOfCri
ci1
pause,

matrix=cell(x);%元胞数组
ci=zeros(1,x);
dim=y;
for k=1:x
    matrix{k}=zeros(dim,dim);

%生成成对比较阵
for i=1:dim
        matrix{k}(i,:)=input('请输入数据:');
end
%判断该比较阵是不是一致阵
tempmatrix=zeros(y+1);
tempmatrix=AHP1(dim,matrix{k});
EigOfOpt(:,k)=tempmatrix(1:y);
ci(k)=tempmatrix(y+1);
EigOfOpt(:,k)
ci(k)
pause,
end
%下面进行组合一致性检查
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
CR=ci1/RI(x)+ci*EigOfCri/RI(y);
CR
if CR>0.1
    disp('组合一致性不通过,请重新评分')
    return
end
%下面根据比较阵的结果进行组合
result=EigOfOpt*EigOfCri;
result

function f=AHP1(dim,CmpMatrix)

RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];

%判断该比较阵是不是一致阵
%判断该比较阵是不是一致阵
[V,D]=eig(CmpMatrix);%求得特征向量和特征值
%求出最大特征值和它所对应的特征向量
tempNum=D(1,1);
pos=1;
for h=1:dim
    if D(h,h)>tempNum
        tempNum=D(h,h);
        pos=h;
    end
end   
eigVector=V(:,pos);
maxeig=D(pos,pos);
maxeig
dim

CI=(maxeig-dim)/(dim-1);
CR=CI/RI(dim);
if CR>0.1
    disp('准则对目标影响度评分生成的矩阵不是一致阵,请重新评分')
    return
end
CI
%归一化
sum=0;
for h=1:dim
    sum=sum+eigVector(h);
end
sum
pause,
for h=1:dim
    eigVector(h)=eigVector(h)/sum;
end
f=[eigVector;CI];

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-4-23 14:50:00

您好 ,我只有10B ,是否能方便给我呢 ,论文需要此软件,非常感谢

E-MAIL:yangmindong621@163.com

真的非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-4-24 12:50:00
怎么这么多呀,你买的是软件还是资料呀,里面有程序吗,连介绍都没有
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-7 17:21:00
[em09]20个,好多啊,不够钱啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群