全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2531 0
2021-01-05
二阶段网络DEA的本质是线性规划,相关约束如下:
二阶段网络DEA.png
代码如下:
Z=Num(:,11:11)';    %设置了一个1*40的矩阵 为Z
n=size(X',1);     %返回X的转置的行数,即为40,n指的是n个决策单元
m=size(X,1);       %返回X的转置的行数,即为8,n指的是有m个投入
s=size(Y,1);     %返回X的转置的行数,即为2,n指的是有m个投入
p=size(Z,1);      %2个Y产出
A=[-X(1:2,:)' zeros(n,4) Z';zeros(n,2) -X(3:4,:)' Y' -Z'];      %转置再转置其实就是没有转置,后面就是一些约束性的内容啦,可以查看matlab非线性规划中的内容就可以进行设定
b=zeros(2*n,1);
LB=zeros(p+m+s,1); UB=[];
w=zeros(m+s+p,n);E=zeros(3,n);
for i=1:n
  f= [X(:,i)' zeros(1,4)];
  Aeq=[zeros(1,4) Y(:,i)' zeros(1,2)]; beq=1;
  w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);   
    E(1,i)=(X(3:4,i)'*w(3:4,i)+Z(:,i)'*w(7:8,i))/(X(:,i)'*w(1:4,i));
    E(2,i)=(Y(:,i)'*w(5:6,i))/(X(3:4,i)'*w(3:4,i)+Z(:,i)'*w(7:8,i));
    E(3,i)=E(1,i)*E(2,i);
end
w;   
E;   
v=w(1:m,:);   
u=w(m+1:m+s,:);   
omiga=w(m+s+1:m+s+p,:);
E=E';

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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