全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
3780 3
2017-10-25
本人打算使用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,:)
二维码

扫码加我 拉你入群

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

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

全部回复
2017-10-25 20:52:47
谢谢分享
二维码

扫码加我 拉你入群

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

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

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感觉更简单一点
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群