dodcx.m
来自「对偶单纯形法matlab的实现,是我的一个作业.看看好用不.」· M 代码 · 共 32 行
M
32 行
function [b,T]=dodcx(T,n,b)%n为所有变量的下标集,b为基变量的下标集
[hang,lie]=size(T);
l=min(T(2:hang,lie)) %求单纯形表中右端项的最小值
while l<0
[out,i]=min(T(2:hang,lie)); %确定出基变量的下标
i=i+1; %影射到单纯形表中
for w=1:lie-1
if (T(i,w)~=0 & T(1,w)~=0)
f(w)=T(1,w)./T(i,w);
f(w)=abs(f(w));
else
f(w)=Inf;
end
end
[in,j]=min(f);%确定入基变量的下标,这和单纯形法的正好相反
i=i-1;
b(i)=n(j);
i=i+1;
T(i,:)=T(i,:)./T(i,j);
for w=1:hang
if w~=i
T(w,:)=T(w,:)+(-T(w,j)).*T(i,:);
end
end
l=min(T(2:hang,lie)) %继续求单纯形表中右端项的最小值
if l>0
break;%停止跌代
end
end
b
T
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?