全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
6332 21
2011-12-08
程序如下:
clear
X=[264806.95,3998,340244.15;
146823.04,4179,131544.52;
25401.48,929,7862.49;
215305.84,1674,279184.52;
417338.19,6656,240468.29;
475780.83,5210,164915.04;
163304.52,540,45263.70;
255716.76,1876,220412.48;
115885.38,869,108008.70;
232136.41,3325,158022.80;
161578.74,1392,127160.69;
];   
Y=[20818.89,406987.07;
14479.76,174703.22;
904.18,12587.72;
3328.15,313829.38;
31047.86,327888.54;
21627.37,253739.73;
2956.68,62213.18;
1964.39,249315.82;
2165.19,117318.03;
9586.89,191067.60;
584.47,140788.65;
];
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: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,:)
运行出现:
Error in ==> CCR_DEA at 36
Aeq=[X eye(m) zeros(m,s) -X(:,i)

二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-8 10:10:09
把XY转置下
二维码

扫码加我 拉你入群

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

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

2011-12-8 11:07:57
liuxin9023 发表于 2011-12-8 10:10
把XY转置下
谢谢了,还请问下哪个地方需把XY转置下?由于不是很懂,还麻烦详细指点一下
二维码

扫码加我 拉你入群

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

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

2011-12-8 11:25:48
liuxin9023 发表于 2011-12-8 10:10
把XY转置下
clear
X=[264806.95 146823.04 25401.48        215305.84        417338.19        475780.83 163304.52        255716.76  115885.38        232136.41        161578.74;
3998 4179        929         1674        6656        5210        540         1876        869         3325        1392;
340244.15        131544.52        7862.49        279184.52        240468.29        164915.04        45263.7 220412.48        108008.7        158022.8        127160.69;
];
Y=[20818.89  14479.76        904.18        3328.15        31047.86        21627.37        2956.68        1964.39        2165.19        9586.89         584.47;
406987.07        174703.22        12587.72        313829.38        327888.54        253739.73        62213.18        249315.82        117318.03 191067.6        140788.65;];

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: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,:)
是需要转置一下。不过还是出现了同样的错误?
二维码

扫码加我 拉你入群

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

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

2011-12-8 19:04:44
hmhn421001 发表于 2011-12-8 11:25
clear
X=[264806.95 146823.04 25401.48        215305.84        417338.19        475780.83 163304.52        255716.76  115885.3 ...
% Input matrix
X=[264806.95,3998,340244.15;
146823.04,4179,131544.52;
25401.48,929,7862.49;
215305.84,1674,279184.52;
417338.19,6656,240468.29;
475780.83,5210,164915.04;
163304.52,540,45263.70;
255716.76,1876,220412.48;
115885.38,869,108008.70;
232136.41,3325,158022.80;
161578.74,1392,127160.69];   
% Output matrix
Y=[20818.89,406987.07;
14479.76,174703.22;
904.18,12587.72;
3328.15,313829.38;
31047.86,327888.54;
21627.37,253739.73;
2956.68,62213.18;
1964.39,249315.82;
2165.19,117318.03;
9586.89,191067.60;
584.47,140788.65];
%extracts the number of inputs and outputs;
[n,m] = size(X);
[n,s] = size(Y);
epsilon=10^-3;
% Output oriented CCR model;
w = zeros(n,n+m+s+1);
f=-[zeros(1,n) epsilon*ones(1,m+s) 1];
lb=ones(n+s+m+1,1)*(-Inf);  
    for j=1:n
      Aeq = [-Y', eye(s,s), zeros(s,m), Y(j,:)'; ...
              X', zeros(m,s), eye(m,m), zeros(m,1)];
      beq = [zeros(s,1);X(j,:)'];
      w(j,:) = linprog(f,[],[],Aeq,beq,lb);
end
w


二维码

扫码加我 拉你入群

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

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

2011-12-9 15:07:11
clear
X=[264806.95,3998,340244.15;
146823.04,4179,131544.52;
25401.48,929,7862.49;
215305.84,1674,279184.52;
417338.19,6656,240468.29;
475780.83,5210,164915.04;
163304.52,540,45263.70;
255716.76,1876,220412.48;
115885.38,869,108008.70;
232136.41,3325,158022.80;
161578.74,1392,127160.69;
];   
Y=[20818.89,406987.07;
14479.76,174703.22;
904.18,12587.72;
3328.15,313829.38;
31047.86,327888.54;
21627.37,253739.73;
2956.68,62213.18;
1964.39,249315.82;
2165.19,117318.03;
9586.89,191067.60;
584.47,140788.65;
];
X=X';
Y=Y';
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: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,:)
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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