主题:求助修正matlab数据包络分析中的迭代程序
以下是我使用的一个数据包络分析的matlab程序,经过运行后发现并没有发现最优解,问过朋友后得知,可能是迭代程序有问题,苦于自身水平有限,恳请大虾们帮助解决,在此现行感谢!!!程序如下:
clear
X=[20376 253.08 6647.65 247 27389.89 7411 1308 285.35;70109 898 18318 642 51880 26256 1156 2292;9022.5 1508.15 3268.6 452 7468.36 6094 1455.5 1631.61]; %用户输入多指标输入矩阵X
Y=[25 125.37 970.02 16 2461.35 1662 216 187.33;39817 2405.03 11507.19 2362 41289.02 18573 749 2475.62]; %用户输入多指标输出矩阵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);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, :) %输出产出向量*
clear
X=[20376 253.08 6647.65 247 27389.89 7411 1308 285.35;70109 898 18318 642 51880 26256 1156 2292;9022.5 1508.15 3268.6 452 7468.36 6094 1455.5 1631.61]; %用户输入多指标输入矩阵X
Y=[25 125.37 970.02 16 2461.35 1662 216 187.33;39817 2405.03 11507.19 2362 41289.02 18573 749 2475.62]; %用户输入多指标输出矩阵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);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, :) %输出产出向量*