DEA数据包络线法 matlab编程问题

2020-05-19 科技 98阅读

因不知你的具体方程,按我的经验,作了如下改动。

去掉:Aeq=[X(:,i)' zeros(1,s)]; beq=1;

改成:Aeq=[];beq=[];.

去掉:UB=[];

去掉:w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);

改成:w(:,i)=linprog(f,A,b,Aeq,beq,LB);

修改后的代码:

X=[0,29,21;0,30,18];    %用户输入多指标输入矩阵X

Y=[50,15,1;200,15,1];    %用户输入多指标输出矩阵Y

n=size(X',1); m=size(X,1); s=size(Y,1);

A=[-X'  Y'];

b=zeros(n, 1);

LB=zeros(m+s,1);

for i=1:n;

f= [zeros(1,m) -Y(:,i)'];

Aeq=[];beq=[];

w(:,i)=linprog(f,A,b,Aeq,beq,LB);    %解线性规划,得DMU;的最佳权向量w;

E(i, i)=Y(:,i)'*w(m+1:m+s,i);    %求出DMUi的相对效率值Eii

end

w    %输出最佳权向量

E    %输出相对效率值Eii

Omega=w(1:m,:)    %输出投入权向量。

mu=w(m+1:m+s,:)    %输出产出权向量。

运行结果

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com