1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| clear X=[30 60 55 40 70 ; 25 40 70 30 90; 130 150 120 70 180];%用户键入输入矩阵 Y=[35 43 76 52 63;60 80 53 42 71];%用户键入输出矩阵; 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 Aeq=[X(:,i)' zeros(1,s)];beq=1; f=[zeros(1,m) -Y(:,i)']; w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);%解线性规划,得出DMUi的最佳权重向量wi Eii=Y(:,i)'*w(m+1:m+s,i); for k=1: n f=[zeros(1,m) Y(:,k)']; Aeq=[X(:,k)' zeros(1,s) Eii*X(:,i)' -Y(:,i)']; beq=[1 0]; v=linprog(f,A,b,Aeq,beq,LB,UB); E(i,k)=(Y(:,k)'*v(m+1:m+s))/(X(:,k)'*v(1:m)); %得到交叉评价值Eik end end E %输出交叉评价矩阵E ei=mean(E) %计算E的各列平均值ei(1<=ei<=n) [Y1]=sort(mean(E)) %按e1的大小,对诸决策单元从小到大进行排列 [Y2]=fliplr(Y1) %按照ei的大小,对诸决策单从大到小排序
|