第十四章:综合评价与决策方法

14.1 理想解法

多属性决策问题的理想解法,即TOPSIS法,是一种有效的多指标评价方法。
(1)算法步骤

  1. 用向量规划化的方法求得规范决策矩阵
  2. 构造加权规范阵C
  3. 确定正理想解 C ∗ C^* C和负理想解 C 0 C^0 C0
  4. 计算各方案到正理想解和负理想解的距离
  5. 计算各方案的排序指标值(即综合评价指数)
  6. f i ∗ f_i^* fi由大到小排列方案的优劣次序

(2)属性规范化方法

  1. 线性变换
  2. 标准0-1变换
  3. 区间型属性变换
clc, clear
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb & x=qujian(1) & x<=qujian(2))+(1-(x-qujian(2))./(ub-qujian(2))).*...
    (x>qujian(2) & x<=ub); %定义变换的匿名函数,该语句太长,使用了两个续行符
qujian=[5,6]; lb=2; ub=12; %最优区间,无法容忍下界和上界
x2data=[5 6 7 10 2]'; %x2属性值
y2=x2(qujian,lb,ub,x2data) %调用匿名函数,进行数据变换
  1. 向量规范化
  2. 标准化处理
x=[0.1  5   5000    4.7
  0.2   6   6000    5.6
  0.4   7   7000    6.7
 0.9    10  10000   2.3
 1.2    2   400     1.8];
y=zscore(x)

求解程序:

clc, clear
a=[0.1	5	5000	4.7
 0.2	6	6000	5.6
 0.4	7	7000	6.7
 0.9	10	10000	2.3
 1.2	2	400	    1.8];
[m,n]=size(a);
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb & x=qujian(1) & x<=qujian(2))+(1-(x-qujian(2))./(ub-qujian(2))).*(x>qujian(2) & x<=ub);
qujian=[5,6]; lb=2; ub=12;
a(:,2)=x2(qujian,lb,ub,a(:,2)); %对属性2进行变换
for j=1:n
    b(:,j)=a(:,j)/norm(a(:,j));  %向量规划化
end
w=[0.2 0.3 0.4 0.1];
c=b.*repmat(w,m,1);      %求加权矩阵
Cstar=max(c);    %求正理想解
Cstar(4)=min(c(:,4))  %属性4为成本型的
C0=min(c);       %求负理想解
C0(4)=max(c(:,4))        
for i=1:m
    Sstar(i)=norm(c(i,:)-Cstar);  %求到正理想解的距离
    S0(i)=norm(c(i,:)-C0);      %求到负理想解的距离
end
f=S0./(Sstar+S0);
[sf,ind]=sort(f,'descend')       %求排序结果

14.2 模糊综合评判法

14.2.1 一级模糊综合评判在人事考核中的应用
  1. 确定因素集
  2. 确定评语集
  3. 确定各因素的权重
  4. 确定模糊综合判断矩阵
  5. 综合评判
14.2.2 多层次模糊综合评判在人事考核中的应用
  1. 将因素集U按某种属性分成s个子因素集
  2. 对每一个因素集 U i U_i Ui分别作出综合评判
  3. 将每个 U i U_i Ui看做一个因素,记为K
clc, clear
a=load('mhdata.txt'); 
w=[0.4  0.3  0.2  0.1];
w1=[0.2  0.3  0.3  0.2];
w2=[0.3  0.2  0.1  0.2  0.2];
w3=[0.1  0.2  0.3  0.2  0.2];
w4=[0.3  0.2  0.2  0.3];
b(1,:)=w1*a([1:4],:);
b(2,:)=w2*a([5:9],:);
b(3,:)=w3*a([10:14],:);
b(4,:)=w4*a([15:end],:)
c=w*b

14.3 数据包络分析

评价具有多指标输入和多指标输出系统的较为有效的办法

14.3.1 C 2 R C^2R C2R模型的求解

由于需要求解若干个线性规划,则需要用到Lingo软件。

14.3.2 数据包络分析(DEA)案例
  1. DEA以决策单位各输入/输出的权重为变量
  2. 不必确定关系的显示表达式
  3. 无需任何权重假设
    程序用Lingo实现

14.4灰色关联分析法

  1. 确定比较对象(评价对象) 和参考数列(评价标准)
  2. 确定各指标值对应的权重,可用层次分析法
  3. 计算灰色关联系数
  4. 计算灰色加权关联度
  5. 评价分析。关联度越大,其评价结果越好
clc, clear
a=[0.83	 0.90	0.99	  0.92	0.87	  0.95
326	 295	 340  287	310	  303
21	 38	     25	  19	 27	  10
3.2	2.4	     2.2   2.0	 0.9   1.7
0.20	0.25	    0.12   0.33 	0.20	  0.09
0.15	0.20	    0.14   0.09	0.15   0.17
250	180	    300	   200	150   175
0.23	0.15	    0.27   0.30	0.18   0.26
0.87	0.95	    0.99	   0.89	0.82	  0.94];
for i=[1 5:9]    %效益型指标标准化
    a(i,:)=(a(i,:)-min(a(i,:)))/(max(a(i,:))-min(a(i,:)));
end
for i=2:4  %成本型指标标准化
   a(i,:)=(max(a(i,:))-a(i,:))/(max(a(i,:))-min(a(i,:))); 
end
[m,n]=size(a);
cankao=max(a')'  %求参考序列的取值
t=repmat(cankao,[1,n])-a;  %求参考序列与每一个序列的差
mmin=min(min(t));   %计算最小差
mmax=max(max(t));  %计算最大差
rho=0.5; %分辨系数
xishu=(mmin+rho*mmax)./(t+rho*mmax)  %计算灰色关联系数
guanliandu=mean(xishu)   %取等权重,计算关联度
[gsort,ind]=sort(guanliandu,'descend')  %对关联度从大到小排序

14.5 主成分分析法

  1. 对原始数据进行标准化处理
  2. 计算相关系数矩阵R
  3. 计算特征值和特征向量
  4. 选择p(p<=5)个主成分,计算综合评价值
clc,clear
gj=load('pjsj.txt');  
gj=zscore(gj); 
r=corrcoef(gj);  %计算相关系数矩阵
[x,y,z]=pcacov(r) %y为r的特征值,z为各个主成分的贡献率
f=repmat(sign(sum(x)),size(x,1),1); %构造与x同维数的元素为正负1的矩阵
x=x.*f 
num=3;  %num为选取的主成分的个数
df=gj*x(:,[1:num]);  %计算各个主成分的得分
tf=df*z(1:num)/100; %计算综合得分
[stf,ind]=sort(tf,'descend');  %把得分按照从高到低的次序排列
stf=stf', ind=ind'

14.6 秩和比综合评价法

14.6.1 原理及步骤

秩和比(RSR)是行(或列)秩次的平均值,是一个非参数统计量,具有0~1连续变量的特征

  1. 编秩
  2. 计算秩和比
  3. 计算概率单位
  4. 计算直线回归方程
  5. 分档排序
14.6.2 应用实例
clc, clear
aw=load('zhb.txt'); 
w=aw(end,:); %提取权重向量
a=aw([1:end-1],:); %提取指标数据
a(:,[2,6])=-a(:,[2,6]); 
ra=tiedrank(a) %把每隔指标值(a的每一列)分别编秩
[n,m]=size(ra); 
RSR=mean(ra,2)/n  %计算秩和比
W=repmat(w,[n,1]);
WRSR=sum(ra.*W,2)/n  %计算加权秩和比
[sWRSR,ind]=sort(WRSR); 
p=[1:n]/n;    %计算累积频率
p(end)=1-1/(4*n) %修正最后一个累积频率
Probit=norminv(p,0,1)+5  %计算标准正态分布的p分位数+5
X=[ones(n,1),Probit'];  %构造一元线性回归的数据矩阵
[ab,abint,r,rint,stats]=regress(sWRSR,X)  %一元线性回归分析
WRSRfit=ab(1)+ab(2)*Probit  %计算WRSR的估计值
y=[1983:1992]'; 
xlswrite('ex147.xls',[y(ind), ra(ind,:), sWRSR],1) 
xlswrite('ex147.xls',[y(ind), ones(n,1), [1:n]', p', Probit', WRSRfit', [n:-1:1]'], 2) 

14.7 案例分析

TOPSIS法:

clc, clear
a=load('zhaopin.txt');  
b=zscore(a); 
E=[1 4 2 8 2; 1/4 1 1/2 2 1/2; 1/2 2 1 4 1; 1/8 1/2 1/4 1 1/4; 1/2 2 1 4 1];
[vec, val]=eigs(E,1) %求模最大的特征值及对应的特征向量
w=vec/sum(vec)  %求归一化特征向量,即权重
w=repmat(w',16,1); %扩充为与数据矩阵相同的维数
c=b.*w    %计算加权属性
cstar=max(c)    %求正理想解
c0=min(c)       %求负理想解
for i=1:16
    sstar(i)=norm(c(i,:)-cstar);   %求到正理想解的距离
    s0(i)=norm(c(i,:)-c0);       %求到负理想解的距离
end
f=s0./(sstar+s0);
xlswrite('book3.xls',[sstar' s0' f'])  
[sc,ind]=sort(f,'descend')       %求排序结果

你可能感兴趣的:(数学建模算法与应用)