数学建模算法与应用:综合评价与决策方法(1)理想解法

       

目录

       

前言

        一、理想解法         

        1.1、方法和原理

        1.2、TOPSIS法的算法步骤 

        二、示例

        2.1、题目 :研究生院试评估。

        2.2、建立模型

        2.3、模型求解


前言

        评价方法大体上可分为两类,其主要区别在确定权重的方法上。一类是主观赋权法,多数采取综合咨询评分确定权重,如综合指数法、模糊综合评判法、层次分析法、功效系数法等。另一类是客观赋权,根据各指标间相关关系或各指标值变异程度来确定权数,如主成分分析法、因子分析法、理想解法(也称 TOPSIS 法)等。 

        一、理想解法         

       多属性决策问题的理想解法,理想解法亦称为 TOPSIS 法,是一种有效的多指标评价方法。这种方法通过构造评价问题的正理想解和负理想解,即各指标的最优解和最劣解,通过计算每个方案到理想方案的相对贴近度,即靠近正理想解和远离负理想解的程度,来对方案进行排序,从而选出最优方案。 

        1.1、方法和原理

         设多属性决策方案集D=\begin{Bmatrix} d_{1},d_{2},...,d_{m} \end{Bmatrix}衡量方案优劣的属性变量为x_{1},x_{2},...,x_{n},这时方案集D 中的每个方案d_{i}(i=1,2,...,m) 的n属性值构成的向量\begin{bmatrix} a_{i1},a_{i2},...,a_{in} \end{bmatrix},它作为n维空间中的一个点,能唯一地表征方案d_{i}

         正理想解C^{*}是一个方案集D并不存在的虚拟的最佳方案,它的每个属性值都是决策矩阵中该属性的最好值;而负理想解C^{0}则是虚拟的最差方案,它的每个属性值都是决策矩阵中该属性的最差值。在n维空间中,将方案集D中的各备选方案d_{i}与正理想解C^{*}和负理想解C^{0}的距离进行比较,既靠近正理想解又远离负理想解的方案就是方案集D中的最佳方案;并可以据此排定方案集D中各备选方案的优先序。

         用理想解法求解多属性决策问题的概念简单,只要在属性空间定义适当的距离测度就能计算备选方案与理想解的距离。TOPSIS 法所用的是欧氏(欧几里得)距离。至于既用正理想解又用负理想解是因为在仅仅使用正理想解时有时会出现某两个备选方案与正理想解的距离相同的情况,为了区分这两个方案的优劣,引入负理想解并计算这两个方案与负理想解的距离,与正理想解的距离相同的方案离负理想解远者为优。

        1.2、TOPSIS法的算法步骤 

        二、示例

        2.1、题目 :研究生院试评估。

         为了客观地评价我国研究生教育的实际状况和各研究生院的教学质量,国务院学位委员会办公室组织过一次研究生院的评估。为了取得经验,先选5所研究生院,收集有关数据资料进行了试评估,表 1 是所给出的部分数据。

研究生院试评估的部分数据
i  \  j人均专著x_{1}/(本/人)生师比x_{2}科研经费x_{3} /(万元/年)逾期毕业率x_{4} / %
10.1550004.7
20.2660005.6
30.4770006.7
40.910100002.3
51.224001.8

        2.2、建立模型

        解:第一步:数据预处理

        数据的预处理又称属性值的规范化。属性具有多种类型,包括效益型、成本型和区间型等。这三种属性,效益型属性越大越好,成本型屈性越小越好,区间型属性是在某个区间最佳。  

        在进行决策时,一般要进行属性值的规范化,主要有如下三个作用:
        ① 属性值有多种类型,上述三种属性放在同一个表中不便于直接从数值大小判断方案的优劣,因此需要对数据进行预处理,必须在综合评价之前将属性的类型做一致化处理,使得表中任一属性下性能越优的方案变换后的属性值越大。 

        ② 无量纲化,多属性决策与评估的困难之一是属性间的不可公度性,即在属性值表中的每一列数值具有不同的单位(量纲)。即使对同一属性,采用不同的计量单位,表中的数值也就不同。在用各种多属性决策方法进行分析评价时,需要排除量纲的选用对决策或评估结果的影响,这就是无量纲化。 

       ③ 归一化,属性值表中不同指标的属性值的数值大小差别很大,为了直观,更为了便于采用各种多属性决策与评估方法进行评价,需要把属性值表中的数值归一化,即把表中数值均变换到[0,1]区间上。 

        此外,还可在属性规范时用非线形变换或其它办法,来解决或部分解决某些目标的达到程度与属性值之间的非线性关系,以及目标间的不完全补偿性。常用的属性规范化方法有以下几种。 

 

        在这道题中,人均专著、科研经费属于上述的效益型属性,越大越好, 逾期毕业率属于成本型属性越小越好。对于成本型和效益型,直接建立正理想解和负理想解,判断距离,就可以知道最优方案是哪个了。

        再根据线性变换或标准0-1变换进行归一化数据处理,让它们在[0,1]的区间内;

        而生师比既不属于效益性,也不属于成本型,属于区间型;

        研究生院的生师比最佳区间为[5,6],a^{'}_{2} =2、a^{"}_{2} =12。

        表1的师生比属性的数据处理结果见表2;

表2 生师比的数据处理

i \ j

生师比x_{2}处理后的生师比
151
261
370.8333
4100.3333
520

        问:处理后的师生比是怎么算的?

        答:以3为例,已知我们设的 a^{0}_{j}=5,a^{*}_{j}=6;a^{'}_{2}=2,a^{''}_{2}=12;,所以,按照区间型属性的变换公式,在a^{*}_{j}< a_{3} \leq a^{''}_{j}区间范围内,可以求得:b_{3}=1-(7-6)/(12-6)=0.8333

MATLAB程序如下: 

clc, clear
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*...
(x>=lb & x<qujian(1))+(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) %调用匿名函数,进行数据变换

直接用MATLAB函数进行标准化数据处理,如下: 

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];
format short,y=zscore(x)

运算结果:

y =

   -0.9741   -0.3430   -0.1946    0.2274
   -0.7623         0    0.0916    0.6537
   -0.3388    0.3430    0.3777    1.1747
    0.7200    1.3720    1.2362   -0.9095
    1.3553   -1.3720   -1.5109   -1.1463
数据经过标准化的属性值表
i  \  j人均专著x_{1}/(本/人)生师比x_{2}科研经费x_{3} /(万元/年)逾期毕业率x_{4} / %
1-0.9741-0.3430-0.19460.2274
2-0.762300.09160.6537
3-0.33880.34300.37771.1747
40.72001.37201.2362-0.9095
51.3553-1.3720-1.5109-1.1463

        2.3、模型求解

        首先对表 1 中的师生比数据进行最优值为给定区间的变化,用区间属性变换做,这里我们已经变换好啦,为表2。 然后对属性值进行向量规范化。

数据经过规范化的属性值表
i  \  j人均专著x_{1}/(本/人)生师比x_{2}科研经费x_{3} /(万元/年)逾期毕业率x_{4} / %
10.06380.5970.34490.4546
20.12750.5970.41390.5417
30.25500.49750.48290.6481
40.57380.1990.68980.2225
50.765100.02760.1741

        问:规范化数值是怎么算的啊?

        答: 按照向量规范化给的公式进行计算,以人均专著a_{1}举例:

  a_{1}=0.1/(0.1^{2}+0.2^{2}+...+1.2^{2})=0.0638 ;

        第二步,设权向量为w=[0.2,0.3,0.4,0.1],得加权的向量规范化属性矩阵见表 5

表5 数据经过规范化后的加权属性值表
i  \  j人均专著x_{1}/(本/人)生师比x_{2}科研经费x_{3} /(万元/年)逾期毕业率x_{4} / %
10.01280.17910.13800.0455
20.02550.17910.16560.0542
30.05100.14930.19310.0648
40.11480.05970.27590.2222
50.153000.01100.0174

        第三步,由表5和式(3)、式(4),得

正理想解:C^{*}=[0.1530,0.1791,0.2759,0.0174], 

负理想解:C^{0}=[0.0128,0,0.0110,0.0648]。 

        第四步,分别用式(5) 和式(6)求各方案到正理想解的距离s^{*}_{i} 和负理想解的距离s^{0}_{i} ,列表6。

表 6 距离值及综合指标值
s^{*}_{i} s^{0}_{i}f^{*}_{i}
10.19870.22040.5258
20.17260.23710.5787
30.14280.23850.6255
4

0.1255

0.29320.7003
50.31980.14810.3165

        第5步,计算排序指标值f^{*}_{i}(表 6),由f^{*}_{i}值的大小可确定各方案的从优到劣的次序为     4,3,2,1,5。

MATLAB程序设计,如下: 

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(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);       %q求负理想解
C0(4)=max(c(:,4))        %属性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')       %求排序结果

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bitter tea seeds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值