阅读权限 255 威望 3 级论坛币 12142 个 通用积分 313.4212 学术水平 3212 点 热心指数 3231 点 信用等级 3124 点 经验 8908 点 帖子 1637 精华 0 在线时间 8 小时 注册时间 2006-11-26 最后登录 2018-10-13
9 楼
epoh
发表于 2011-7-3 14:41:57
先声明我不会用 LINGO,
也没做过 DEA-DA
不过顾名思义
应该是分两阶段
Stage-One: Classification and Overlap Identification (COI).
Stage-Two: Handling Overlap (HO).
个人觉得在matlab运行应该不难
底下提供一些信息供参考
matlab 有个function DEA.m可用
是利用 function linprog() 求解
linprog(): solves linear programming problems
x = linprog(f,A,b,Aeq,beq,lb,ub)
%%%%%% 底下是 DEA 简单例子的重点描述
model='BCC'; % model = 'add' for additive, 'BCC' or 'CCR' ;
orientation='io'; % orientation = 'io' or 'oo' (for input or output oriented)
% Input matrix (one row per DMU);
X = [2 3 4;
3 2 6;
6 6 3;
9 1 2;
5 9 5;
4 3 3;
5 2 6;
7 6 1;
9 2 4;
6 9 9;
8 3 2;
10 3 3]
% Output matrix (one row per DMU);
Y = [3 2;
6 6;
9 1;
5 9;
4 3;
2 2;
5 1;
7 3;
8 2;
3 2;
1 1;
7 4]
% BCC model;
case ('BCC')
switch orientation;
% Input oriented;
case ('io')
Z = zeros(n,n+m+s+1);
% Objective function of the BCC model: min(0*lambda - epsilon*(s+ + s-) + theta);
f = [zeros(1,n) -epsilon*ones(1,s+m) 1];
lblambda = zeros(n,1); % Lower bounds for (n) lambdas;
lboutput = zeros(s,1); % Lower bounds for (s) outputs;
lbinput = zeros(m,1); % Lower bounds for (m) inputs ;
lb = [lblambda; lboutput; lbinput]; % Lower bounds for lambdas, outputs (s+) and inputs (s-);
for j=1:n
Aeq = [Y', -eye(s,s), zeros(s,m+1);
-X', zeros(m,s), -eye(m,m) X(j,:)';
ones(1,n), zeros(1,s), zeros(1,m+1)];
beq = [Y(j,:)';zeros(m,1);1];
z = linprog(f,[],[],Aeq,beq,lb);
Z(j,:) = z;
end
Z
%%%%%%
DEAresults.table.txt
DEAresults.table.txt
(3.62 KB)
总评分: 学术水平 + 8
热心指数 + 8
信用等级 + 7
查看全部评分