matlab评价模型、数据包络分析法DEA模型

该篇文章详细介绍了如何在MATLAB中运用数据包络分析法(DEA)模型,通过标准化数据、求解权重向量来计算输入和输出指标下的决策单元效率得分,展示了两个实例以确定最有效单位或学校。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matlab

by lqx

评价模型

数据包络分析法DEA模型

在这里插入图片描述

在这里插入图片描述

% 定义输入和输出矩阵
X = [10 5; 8 3; 6 2; 9 4; 12 6]; % 输入指标矩阵
Y = [50 100; 40 80; 30 60; 45 90; 55 110]; % 输出指标矩阵

% 标准化数据
X_norm = zscore(X);
Y_norm = zscore(Y);

% 求解权重向量
[m, n] = size(X_norm); % 决策单元个数和输入指标个数
lb = zeros(n, 1); % 下界设置为0
options = optimset('Display', 'off'); % 关闭显示迭代过程
[w, ~] = fmincon(@(w) -sum(w), ones(n,1), [], [], [], [], lb, [], [], options); % 最大化加权和等价于最小化其相反数

% 计算各决策单元的效率得分
efficiency = zeros(m, 1);
for i = 1:m
    efficiency(i) = sum(w' * X_norm(i,:)') / sum(Y_norm(i,:));
end

% 显示效率得分和最有效的单位
disp('效率得分:')
disp(efficiency)

[~, maxIndex] = max(efficiency);
disp(['最有效的单位是第', num2str(maxIndex), '家单位。'])
%结果展示
效率得分:
   1.0e+19 *

    4.3341
    6.5011
    4.4843
         0
    5.7073

最有效的单位是第2家单位。

在这里插入图片描述

% 定义输入和输出矩阵
X = [100 50 200; 80 40 180; 70 35 160; 90 45 190; 120 60 220]; % 输入指标矩阵
Y = [85 80; 75 70; 70 65; 80 75; 90 85]; % 输出指标矩阵

% 标准化数据
X_norm = zscore(X);
Y_norm = zscore(Y);

% 求解权重向量
[m, n] = size(X_norm); % 决策单元个数和输入指标个数
lb = zeros(n, 1); % 下界设置为0
options = optimset('Display', 'off'); % 关闭显示迭代过程
[w, ~] = fmincon(@(w) -sum(w), ones(n,1), [], [], [], [], lb, [], [], options); % 最大化加权和等价于最小化其相反数

% 计算各决策单元的效率得分
efficiency = zeros(m, 1);
for i = 1:m
    efficiency(i) = sum(w' * X_norm(i,:)') / sum(Y_norm(i,:));
end

% 显示效率得分和最有效的学校
disp('效率得分:')
disp(efficiency)

[~, maxIndex] = max(efficiency);
disp(['最有效的学校是第', num2str(maxIndex), '所学校。'])
%结果展示
效率得分:
   1.0e+19 *

    3.5385
    4.6891
    5.0201
      -Inf
    5.8831

最有效的学校是第5所学校。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值