文档介绍: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—下界lbupper—上界ubineqlin—线性不等式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万立方米,从第一个化工厂排出的污水流到第二个