matlab实现决策矩阵规范化(多属性决策)

matlab实现决策矩阵规范化(多属性决策)

一般来说,不同的决策变量量纲也不同,规范化可以消除量纲对最终结果的影响,使不同变量具有可比性。

假设决策矩阵为 A = ( a i j ) m × n A=({a_{ij}})_{m×n} A=(aij)m×n, 规范化矩阵为 R = ( r i j ) m × n R=({r_{ij}})_{m×n} R=(rij)m×n, 对于效益性指标和成本型指标可以按下列公式转化。

首先, 对于同一属性,找出所有方案中这一指标值的最大值 a m a x a_{max} amax和最小值 a m i n a_{min} amin

对于效益性指标(越大越好)

对于效益性指标,按照下列公式进行规范化处理:
r i j = ( a i j − a m i n ) / ( a m a x − a m i n ) r_{ij}=(a_{ij}-a_{min})/(a_{max}-a_{min}) rij=(aijamin)/(amaxamin)

对于成本型指标(越小越好):

对于成本型指标,按照下列公式进行规范化处理:
r i j = ( a m a x − a i j ) / ( a m a x − a m i n ) r_{ij}=(a_{max}-a_{ij})/(a_{max}-a_{min}) rij=(amaxaij)/(amaxamin)

matlab 实现

如下图所示,P1、P2、P3、P4表示四个不同的方案,Q1~Q8为8个不同的指标,假设8个指标均为效益性矩阵。
P1、P2、P3、P4为四个不同的方案,Q1~Q8为8个不同的指标
则决策矩阵可表示为:

A=[46.5 56.0 42.7 29.8 35.6 27.6 23.4 41.5;
   36.8 51.0 46.5 45.6 49.5 70.4 35.4 35.7;
   62.1 48.7 52.6 46.8 42.9 54.7 42.9 26.4;
   50.0 33.5 29.8 26.7 18.6 57.1 38.2 52.6];

对于属性 Q 1 Q_1 Q1,四个方案中的最大值 a m a x , 1 = 62.1 a_{max ,1}=62.1 amax,1=62.1,最小值为 a m i n , 1 = 36.8 a_{min,1}=36.8 amin,1=36.8,则对于规范化矩阵
r 11 = ( a 11 − a m i n , 1 ) / ( a m a x , 1 − a m i n , 1 ) = 0.3834 r_{11}=(a_{11}-a_{min,1})/(a_{max,1}-a_{min,1})=0.3834 r11=(a11amin,1)/(amax,1amin,1)=0.3834
以此类推。

matlab代码如下:

A=[46.5 56.0 42.7 29.8 35.6 27.6 23.4 41.5;
   36.8 51.0 46.5 45.6 49.5 70.4 35.4 35.7;
   62.1 48.7 52.6 46.8 42.9 54.7 42.9 26.4;
   50.0 33.5 29.8 26.7 18.6 57.1 38.2 52.6];
min_a=min(A);%求每一列的最小值
max_a=max(A);
deta_a=max_a-min_a;
for i=1:size(A,1)
    for j=1:size(A,2)
        B(i,j)=(A(i,j)-min_a(j))/deta_a(j);
    end
end

对于其他类型的指标如区间型等,可参考https://blog.csdn.net/weixin_40108753/article/details/81222072
https://www.cnblogs.com/Qling/p/9295414.html

  • 7
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值