楼主: edithpr
2173 7

[学习分享] 投入导向超效率DEA的matlab程序总是运行出错 [推广有奖]

  • 0关注
  • 0粉丝

已卖:30份资源

大专生

5%

还不是VIP/贵宾

-

威望
0
论坛币
432 个
通用积分
27.0050
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
234 点
帖子
11
精华
0
在线时间
69 小时
注册时间
2015-10-18
最后登录
2025-11-26

楼主
edithpr 发表于 2017-9-12 19:37:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
投入导向超效率DEA程序总是运行出错。但是对程序检查了很多遍,也不知道究竟是什么错误。求各位大神指导!谢谢!
Warning: Input arguments must be scalar.
??? Error using ==> vertcat
All rows in the bracketed expression must have the same
number of columns.


程序如下,其中data1为33*11的矩阵,前四列为输出量,后七列为投入量。
a=data1(:,5:11);
b=data1(:,1:4);
x=a';
y=b';
n=size(x',1);
m=size(x,1);
s=size(y,1);
epsilon=10^-10;
f=[zeros(1,n) -epsilon*ones(1,m+s) 1];
A=zeros(1,n+m+s+1);
b=0;
LB=zeros(n+m+s+1,1);
UB=[];
LB(n+m+s+1)=-Inf;
for i=1;
    Aeq=[zeros(m,1) x(:,(i+1):n) eye(m) zeros(m,s) -x(:,i);zeros(s,1) y(:,(i+1):n) zeros(s,m) -eye(s) zeros(s,1);zeros(1,1) ones(1,(i+1):n) zeros(1,m) zeros(1,s) zeros(1,1)];
    beq=[zeros(m,1);y(:,i);ones(1)];
    w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB);
end
for i=2:n-1;
    Aeq=[x(:,1:(i-1)) zeros(m,1) x(:,(i+1):n) eye(m) zeros(m,s) -x(:,i);y(:,1:(i-1)) zeros(s,1) y(:,(i+1):n) zeros(s,m) -eye(s) zeros(s,1);ones(1,1:(i-1)) zeros(1,1) ones(1,(i+1):n) zeros(1,m) zeros(1,s) zeros(1,1)];
    beq=[zeros(m,1);y(:,i);1];
    w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB);
end
for i=n;
    Aeq=[x(:,1:i-1) zeros(m,1) eye(m) zeros(m,s) -x(:,i);y(:,1:i-1) zeros(s,1) zeros(s,m) -eye(s) zeros(s,1);ones(1,1:i-1) zeros(1,1) zeros(1,m) zeros(1,s) zeros(1,1)];
    beq=[zeros(m,1);y(:,i);1];
    w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB);
end
w
lambda=w(1:n,:)
s_minus=w(n+1:n+m,:)
s_plus=w(n+m+1:n+m+s,:)
theta=w(n+m+s+1,:)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:DEA的MATLAB程序 MATLAB程序 MATLAB 超效率DEA 效率DEA

沙发
PX0706 发表于 2017-9-15 19:19:40
感觉MATLAB算DEA很不方便

藤椅
hildegardvon 发表于 2017-9-17 07:51:07
PX0706 发表于 2017-9-15 19:19
感觉MATLAB算DEA很不方便
不是很方便,需要编程序的地方比较直观。

板凳
PX0706 发表于 2017-9-17 09:06:37
hildegardvon 发表于 2017-9-17 07:51
不是很方便,需要编程序的地方比较直观。
用MAXDEA做吧,很快就出结果了

报纸
认真的哥 发表于 2017-12-8 20:17:34
楼主解决了吗?

地板
认真的哥 发表于 2017-12-8 20:18:50
PX0706 发表于 2017-9-17 09:06
用MAXDEA做吧,很快就出结果了
请问MAXDEA对DMU数量有限制吗?

7
蓝翼星海 发表于 2017-12-8 20:28:43
是不是你参数的问题,因为模型里有Ax<=b,所以你的两个b可能有冲突。

8
PX0706 发表于 2017-12-8 21:05:39
认真的哥 发表于 2017-12-8 20:18
请问MAXDEA对DMU数量有限制吗?
一般最好是DMU多点,不能太少

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-28 14:52