1、模型(PC2R)的MATLAB程序clearX=; %用户输入多指标输入矩阵XY=; %用户输入多指标输出矩阵Yn=size(X,1); m=size(X,1); s=size(Y,1);A=-X Y;b=zeros(n, 1);LB=zeros(m+s,1); UB=;for i=1:n; f= zeros(1,m) -Y(:,i); Aeq=X(:,i) zeros(1,s); beq=1; w(:,i)=LINPROG(f,A,b,Aeq,beq,LB,UB); %解线性规划,得DMU;的最佳权向量w; E(i, i)=Y(:,i)*w(m+1:m+s,i); %求出DMUi的相对效率值
2、Eiiendw %输出最佳权向量E %输出相对效率值EiiOmega=w(1:m,:) %输出投入权向量。mu=w(m+1:m+s,:) %输出产出权向量。模型(DeC2R)的MATLAB程序clearX=; %用户输入多指标输入矩阵XY=; %用户输入多指标输出矩阵Yn=size(X,1); m=size(X,1); s=size(Y,1);epsilon=10-10; %定义非阿基米德无穷小e=10-10f=zeros(1,n) -epsilon*ones(1,m+s) 1; %目标函数的系数矩阵:l的系数为0,s-,s+的系数为-ee,q的系数为1;A=zeros(1,n+m+s+1);
3、 b=0; %=约束;LB=zeros(n+m+s+1,1); UB=; %变量约束;LB(n+m+s+1)= -Inf; %-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); %解线性规划,得DMU的最佳权向量w;end w %输出最佳权向量lambda=w(1:n,:) %输出ls_minus=w(n+1:n+m,:) %输出s-s_plus=w(n+m+1:n+m+s,:) %输出s+theta=w(n+m+s+1,:) %输出q