楼主: 20100610104
3492 3

[有偿编程] 用MATLAB编写DEA程序 [推广有奖]

  • 1关注
  • 0粉丝

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
672 点
帖子
45
精华
0
在线时间
108 小时
注册时间
2012-11-9
最后登录
2022-5-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人打算使用DEA的CCR模型和C²GS²模型进行效率计算,投入指标是2个,输入指标是2个,DMU是12个。
编写代码之后运行发现两个模型中theta都有出现大于1的值,还有一个0值。
把程序贴在下面,请大家帮忙修正,万分感谢!

1.CCR模型
clear
load('数据.mat')
n=size(x,2);m=size(x,1);s=size(y,1);
f=[zeros(1,n) zeros(1,m+s) 1];
lb=zeros(n+m+s+1,1);ub=[];
lb(n+m+s+1)=-Inf;
A=zeros(1,n+m+s+1);
b=0;
for i=1:n;
aeq=[x eye(m) zeros(m,s) -x(:,i)
y zeros(s,m) -eye(s) zeros(s,1)];
beq=[zeros(m,1)
    y(:,i)];
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,:)

2.C²GS²模型
clear
load('数据.mat')
n=size(x,2);m=size(x,1);s=size(y,1);
f=[zeros(1,n) zeros(1,m+s) 1];
lb=zeros(n+m+s+1,1);ub=[];
A=zeros(1,n+m+s+1);
b=0;
for i=1:n;
aeq=[x eye(m) zeros(m,s) -x(:,i)
y zeros(s,m) -eye(s) zeros(s,1)
ones(1,n) zeros(1,m) zeros(1,s) 0];
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,:)
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab Lab Atl

沙发
西门高 发表于 2017-10-25 20:52:47 |只看作者 |坛友微信交流群
谢谢分享

使用道具

藤椅
20100610104 发表于 2017-10-25 21:01:41 |只看作者 |坛友微信交流群
西门高 发表于 2017-10-25 20:52
谢谢分享
dear,这个程度还存在问题,需要大家帮忙修正,如果有修改建议可以提出~

使用道具

板凳
飞飞法师 学生认证  发表于 2017-10-25 21:34:21 |只看作者 |坛友微信交流群
20100610104 发表于 2017-10-25 21:01
dear,这个程度还存在问题,需要大家帮忙修正,如果有修改建议可以提出~
matlab不太了解,Maxdea感觉更简单一点

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 09:01