1 / 3
文档名称:

运用Matlab进行线性规划求解实例.doc

格式:doc   大小:52KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

运用Matlab进行线性规划求解实例.doc

上传人:wz_198613 2018/11/29 文件大小:52 KB

下载得到文件列表

运用Matlab进行线性规划求解实例.doc

文档介绍

文档介绍:线性规划
线性规划是处理线性目标函数和线性约束的一种较为成熟的方法,目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。
基本数学原理
线性规划问题的标准形式是:

写成矩阵形式为:
线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量非负。不符合这几个条件的线性模型可以转化成标准形式。
MATLAB采用投影法求解线性规划问题,该方法是单纯形法的变种。
有关函数介绍
在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
-2 没有找到可行点
-3 问题无解
-4 执行算法时遇到NaN
-5 原问题和对偶问题都不可行
-7 搜索方向太小,不能继续前进。
应用实例
例8-2 某河流边有两个化工厂,流经第一个化工厂的河水流量是每天500万立方米,在两个工厂之间有一条流量为200万立方米的支流(如图8-1所示)。第一个化工厂每天排放工业污水2万立方米,,从第一个化工厂排出的污水流到第二个化工厂之前,有20%可自然净化。