运用matlab进行线性规划求解实例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.2 线性规划   线性规划是处理线性目标函数和线性约束的一种较为成熟的方法,目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。 8.2.1 基本数学原理 线性规划问题的标准形式是: 或 写成矩阵形式为: 线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量非负。不符合这几个条件的线性模型可以转化成标准形式。 MATLAB采用投影法求解线性规划问题,该方法是单纯形法的变种。 8.2.2 有关函数介绍 在MATLAB工具箱中,可用linprog函数求解线性规划问题。 linprog函数的调用格式如下: ●x=linprog(f,A,b):求解问题minf*x,约束条件为A*x=b。 ●x=linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即Aeq*x=beq。若没有不等式约束,则令A=[ ],b=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub):定义设计x的下界lb和上界ub,使得x始终在该范围内。若没有等式约束,令Aeq=[ ],beq=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0):设置初值为x0。该选项只适用于中型问题,默认时大型算法将忽略初值。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options):用options指定的优化参数进行最小化。 ●[x,fval]=linprog(…):返回解x处的目标函数值fval。 ●[x,lambda,exitflag]=linprog(…):返回exitflag值,描述函数计算的退出条件。 ●[x,lambda,exitflag,output]=linprog(…):返回包含优化信息的输出参数output。 ●[x,fval,exitflag,output,lambda]=linprog(…):将解x处的拉格朗日乘子返回到lambda参数中。 调用格式中,lambda参数为解x处包含拉格朗日乘子的结构。它有以下一些字段: lower—下界lb upper—上界ub ineqlin—线性不等式 eqlin—线性等式 exitflag参数表示算法终止的原因,下面列出不同值对应的退出原因: 1 函数在解x处有解 0 迭代次数超过options.MaxIter -2 没有找到可行点 -3 问题无解 -4 执行算法时遇到NaN -5 原问题和对偶问题都不可行 -7 搜索方向太小,不能继续前进。 8.2.3 应用实例 例8-2 某河流边有两个化工厂,流经第一个化工厂的河水流量是每天500万立方米,在两个工厂之间有一条流量为200万立方米的支流(如图8-1所示)。第一个化工厂每天排放工业污水2万立方米,第二个化工厂每天排放工业污水1.4万立方米,从第一个化工厂排出的污水流到第二个化工厂之前,有20%可自然净化。根据环保要求,河流中工业污水的含量应不大于0.2%,因此两个化工厂都必须各自处理净化一部分污水,第一个化工厂处理污水的成本是0.1元∕立方米,第二个化工厂处理污水的成本是0.08元∕立方米。问在满足环保要求的条件下,各化工厂每天应处理多少污水,才能使两厂总的处理污水费用最少? 第一化工厂            第二化工厂 图8-1   解:设,分别表示第一个化工厂和第二个化工厂每天处理的污水量(万立方米∕天)。   则目标函数:(元∕天) 约束条件1:,即; 约束条件2:,即; 约束条件3:。 因此,该问题的线性规划模型归结为:    求解程序: %线性规划问题 f=[1000 800]; A=[-1 0;-0.8 -1;1 0;0 1]; b=[-1;-1.6;2;1.4]; lb=zeros(2,1); [x,fval,exitflag]=linprog(f,A,b,[],[],lb) 运行结果: x = 1.0000 0.8000 fval =1.6400e+003 exitflag =1 由上可知,第一个化工厂每天处理的污水量为1万立方米∕天,第二个化工厂每天处理的污水量为0.8万立方米∕天,才能使两厂总的处理污水费用最少。

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档