从零开始的数字模型 (XXIV) 数据包络分析
最编程
2024-04-19 19:52:25
...
一、概念
1.1背景
1.2特点
1.3基本理论
从上面的定义可以看出,所谓的DEA有效,就是指那些评价对象,它们的投入产出比达到最大。因此,可以用DEA模型对评价对象进行评价。
二、基于matlab的 数据包络分析
MATLAB求解代码如下所示,这个需要R2021b及以上版本的MATLAB才行
clear; clc
m = 2 ;
n = 6 ;
d = [89.39, 86.25, 108.13, 106.38, 62.4, 47.19;
64.3, 99, 99.6, 96, 96.2, 79.9;
25.2, 28.2, 29.4, 26.4, 27.2, 25.2;
223, 287, 317, 291, 295, 222] ;
a = d([1,2],:)' ;
b = d([3,4],:)' ;
prob = optimproblem("ObjectiveSense",'max') ;
u = optimvar('u',m,'LowerBound',0) ;
v = optimvar('v',m,'LowerBound',0) ;
prob.Constraints.con1 = a*u >= b*v ;
for j = 1 : n
fprintf('第%d个学校的计算结果如下:\n', j) ;
prob.Objective = b(j,:) * v ;
prob.Constraints.con2 = a(j,:) * u == 1 ;
[sol, fval] = solve(prob) ;
su = sol.u ;
sv = sol.v ;
disp(fval) ;
end
3-数据包络分析案例及MATLAB编程实现
数据包络分析用于评价决策单元的相对有效性,是根据多投入和多指标产出对相同类型的部分进行相对有效性进行评价的系统分析方法。DEA具有很强的客观性。
我们看一下下面的例子14.5,使用DEA方法对天津市的可持续发展进行评价。
我们定义前三个指标为输入,后两个指标为输出,如下:
采用数据包络分析计算的最优目标值如下:
对于上述评价问题,给出的MATLAB程序如下所示:
clear; clc
m = 3 ;
n = 10 ;
s = 2 ;
d = [14.4, 0.65, 31.3, 3621, 0.00;
16.9, 0.72, 32.2, 39.43, 0.09;
15.53, 0.72, 31.87, 4086.67, 0.07;
15.4, 0.67, 32.23, 4904.67, 0.13;
14.17, 0.76, 32.4, 6311.67, 0.37;
13.33, 0.69, 30.77, 8173.33, 0.59;
12.83, 0.61, 29.23, 10236, 0.51;
13, 0.63, 28.2, 12094.33, 0.44;
13.4, 0.75, 28.8, 13603.33, 0.58;
14, 0.84, 29.1, 14841, 1] ;
a = d(:,1:3) ;
b = d(:,[4,5]) ;
prob=optimproblem('ObjectiveSense','max');
u = optimvar('u',m,'LowerBound',0) ;
v = optimvar('v',s,'LowerBound',0) ;
prob.Constraints.con1 = a*u >= b*v ;
for j = 1 : n
fprintf('第%d年的计算结果如下:\n',j+1989) ;
prob.Objective = b(j,:) * v ;
prob.Constraints.con2 = a(j,:) * u == 1 ;
[sol, fval] = solve(prob) ;
su = sol.u ;
sv = sol.v ;
disp(fval) ;
end
推荐阅读