temp=inf; for i=1:mA-1
if sita(i)>0&sita(i) outb=i; % 出基变量下标 end end % 下面更新N for i=1:mA-1 if i==outb N(i)=inb; end end % 下面是转轴运算 A(outb,:)=A(outb,:)/A(outb,inb); 21 for i=1:mA if i~=outb A(i,:)=A(i,:)-A(outb,:)*A(i,inb); end end end end End % A=[1 2 1 0 0 8; % 4 0 0 1 0 16; % 0 4 0 0 1 12; % 2 3 0 0 0 0]; % N=[3 4 5]; % [sol,val,kk]=ssimplex(A,N) 22 % A是单纯初始表,最后一行是初始的检验数,最后一列是资源向量b % N是初始的基变量的下标 % 输出变量sol是最优解, 其中松弛变量(或剩余变量)可能不为0 % 输出变量val是最优目标值,kk是迭代次数 clc;clear disp('实验三结果') disp('原始解') A=[-1 1 3 1 0 20; 12 4 10 0 1 90; -5 5 12 0 0 0]; N=[4 5]; [sol,val,kk]=ssimplex(A,N); fprintf('参数:\\n%d %d %d ',sol(1,1:3)) fprintf('\\n') fprintf('最大值:\\n%d\\n',val) 23 clear disp('小问题(1)解') A=[-1 1 3 1 0 30; 12 4 10 0 1 90; -5 5 13 0 0 0]; N=[4 5]; [sol,val,kk]=ssimplex(A,N); fprintf('参数:\\n%d %d %d ',sol(1,1:3)) fprintf('\\n') fprintf('最大值:\\n%d\\n',val) clear disp('小问题(2)解') A=[-1 1 3 1 0 20; 12 4 10 0 1 70; -5 5 13 0 0 0]; 24