- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
function Z=dcxf (c, A, N) %定义函数名称为dcxf。
l=length(N);CB=c(N(l) :N(1))
[m, n]=size (A);b=A (:, n);
A=A(:, 1 :n-l);%参数包括目标函数系数(C),约束条件的系数矩阵 (A),
%其中A的最后一列为约束条件的右端值b,初始基向量 的位置(N)。
s i gma= c-CB*A; % 计算检验数 s i gma。
display (,初始单纯形表为:‘);%输出初始的单纯形表 table=[nan, nan, nan, c;CB, N, b, A;nan, nan, nan, si gma.
opt=l;step=0;while opt
step=step+1;%定义循环,直到第“step”步找到最优 解(opt=0)oif sum(sigma0)==0 %利用检验数判断是否得到最 优解,并给出提示。
display(没有得到最优解,继续迭代, opt=0;else
inb=find (sigma==max (sigma)) ; %利用单纯形方法找 到入基变量的位置
num=length(inb);
Inb=inb(num)flag=O;
for i=l :m%利用单纯形方法找出出基变量的位置
if A(i, inb)0theta(i)=b(i)/A(i, inb);
elsetheta(i)=inf;
endend
outb=f ind(theta==min(theta));num=length(outb) ;%判断足否出现退化现
象,如出现退化,给il {语言提示,并取最后出现的符 合出基条件的变量为出基变量。
if num^=ldisplay (5出现退化情况.);
endoutb=outb(num);
for i=l:m%将单纯形表进行“转轴”运算,得到新的单纯形表。
for j=l:n-l if i==outbAnew(i, j)=A(outb, j) /A(outb, inb); bnew(i) =b (outb) /A (outb, inb);
elseAnew(i, j)=A(i, j)-A(outb, j)/A(outb, inb)*A(i, inb );
bnew (i) =b (i) -b (outb) /A (outb, inb)*A(i, inb); endend
end
display主元素为:),a= [A(outb, inb), outb, inb] %输出主元素,计 算新单纯形表的检验数。
A=Anew;b=bnew;
N (outb)=inb;
for i=l:1CB(i)=c(N(i));
endsigma=c-CB^A;
end
displayC迭代得到的单纯形表为:‘);%输出得到的 新单纯形表。并给出提示语句。
table=[nan, nan, nan, c;CB , N, b , A;nan, nan, nan, s igma_ enddisplay(得到最优解:);
Z=CB*b ; %计算检验数
文档评论(0)