PB13204065买热哈巴·买买提明《运筹学》实验报告 下载本文

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