满意答案
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(5,1);
LB=zeros(5,1);UB=[];
for i=1:5;
Aeq =[X(:,i)',zeros(1,2)];beq=1;
f=[zeros(1,3),-Y(:,i)'];
w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
Eii=Y(:,i)'*w(4:5,i);
for k=1:5;
f=[zeros(1,3),Y(:,k)'];
Aeq=[X(:,k)',zeros(1,2);Eii*X(:,i)',-Y(:,i)'];
beq=[1;0];
v=linprog(f,A,b,Aeq,beq,LB,UB);
E(i,k)=(Y(:,k)'*v(4:5))/(X(:,k)'*v(1:3));
end
end
E
mean(E)
[Y I]=sort(mean(E));
fliplr(I)
00分享举报