📄 数据包络法.m
字号:
%程序1(模型(P)的程序)
%用户输入多指标输出矩阵Y
n=size(X',1);m=size(X,1);s=size(Y,1);%X输入矩阵,Y输出矩阵
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); %解线性规划,得DMUi的最佳权向量wi
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,:) %输出产出权向量
%程序2(模型(D)的程序)
n=size(X',1);m=size(X,1);s=size(Y,1);
epsilon=10^-10; %定义非阿基米德无穷小e=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);b=0;
LB(n+m+s+1)=-Inf;UB=[];
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); %解线性规划,得DMUi的最佳权向量wi
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,:) %输出
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -