📄 mylx.m
字号:
function [A,flag]=mylx(A)
%输入A:线性规划标准型
% 最下面两行为目标行
% 最后一列为解
% 基本可行解指示向量flag=1:Ar-1,按“行”的顺序存可行解“列”号
% -----------------------
[Ar Ac]=size(A);
Arr=Ar-2; %等式约束数目=人工变量数目
flag=zeros(1,Arr);
%-------------------------------------
for i=1:Ac-1
p=min(A(Ar,1:Ac-1));
if p<0
c=find(A(Ar,1:Ac-1)==p); %列号,目标行负的最大的
%-----------------------------------
Ad=A(1:Arr,Ac)./A(1:Arr,c); %行号,最小正数
for ii=1:Arr
if Ad(ii)<=0
Ad(ii)=inf;
end
end
q=min(Ad);
r=find(Ad==q);
%-------------------------------------
flag(r)=c; %指示向量
A=mygaussx(A,r,c); %以A(r,c)为轴高斯消去
elseif p>=0
break
end
end
% 以上得到辅助优化最优解-阵A、flag
A=[A(1:Ar-1,1:Ac-1-Arr),A(1:Ar-1,Ac)]; %原始最优-阵A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -