- 1、本文档共394页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
*7.5.2单纯形法的算法步骤用单纯形法求解线性规划问题的步骤如下:(1)确定初始基变量矩阵B;求解方程;(2)令,计算,其中和分别代表基变量和非基变量的值,表示基变量在目标函数中的系数;(3)求解方程,对于所有非基变量计算判别数,其中为非基变量在约束系数矩阵中相对应的列,令,如果,则停止计算,输出无穷多最优解;否则转(4);(4)求解方程,若的每个分量均不大于0,则问题不存在最优解,为无界解,否则转(5);(5)令,其中,用替换,得到新的基变量矩阵B再转(2)计算。*7.5.3单纯形法的MATLAB程序根据单纯形法的计算步骤,编写的MATLAB程序如表7-4所示。程序功能描述functionstep=simpmethed(c,A,N)l=length(N);CB=c(N(1):N(l));[m,n]=size(A);b=A(:,n);A=A(:,1:n-1);定义函数名称为simpmethed,其中参数包括目标函数系数(C),约束条件的系数矩阵(A),其中A的最后一列为约束条件的右端值b,初始基向量的位置(N)。sigma=c-CB*A;display(初始单纯形表为:);table=[nan,nan,nan,c;CB,N,b,A;nan,nan,nan,sigma]pause;opt=1;step=0;计算检验数sigma。输出初始的单纯形表,(输出形式见后面图1)并使程序暂停(pause),将该结果向学生讲解完毕后,按任意键继续。whileoptstep=step+1;定义循环,直到第“step”步找到最优解(opt=0)。ifsum(sigma0)==0display(没有得到最优解,继续迭代.);opt=0;else利用检验数判断是否得到最优解,并给出提示。inb=find(sigma==max(sigma));num=length(inb)Inb=inb(num)利用单纯形方法找到入基变量的位置,注:符合入基条件的变量个数可能并不惟一,如出现多个,则取最后出现的符合入基条件的变量为“入基”变量。*flag=0;fori=1:mifA(i,inb)0theta(i)=b(i)/A(i,inb);elsetheta(i)=inf;endendoutb=find(theta==min(theta));利用单纯形方法找出出基变量的位置,注:符合“出基”条件的变量个数可能并不惟一,如有多个,则该情形称为退化。num=length(outb);ifnum~=1display(出现退化情况.);endoutb=outb(num);判断是否出现退化现象,如出现退化,给出语言提示,并取最后出现的符合出基条件的变量为出基变量。*Ll=-0.11111.000001.0000000.2222-0.60561.0000Ul=9.0000-1.00002.000007.8889-4.7778003.6620Al=-18-59-122-57*x=-0.01150.1192-0.04230.2269-0.01150.16540.1654-0.04230.2731xl=-0.00770.1367-0.04230.1635-0.10020.16540.0607-0.16540.2731d=-260dl=-260从上面的结果可以看出,方阵的LU分解满足下面的等式条件:*3)使用三个输出变量的命令形式。在上一步建立的m文件中键入如下内容:[L,U,P]=lu(A)Lp=P*LAp=L*UPa=P*A运行结果如下:L=1.000000-0.11111.000000.2222-0.60561.0000*
文档评论(0)