资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十一章,MATLAB,求解线性规划问题,数学实验,一、实验目的,了解,MATLAB,的优化工具箱,能利用,MATLAB,求解线性规划问题。,二、相关知识,线性规划是运筹学中研究得比较早,理论上已趋于成熟,在方法上非常有效,并且应用广泛的一个重要分支。,线性规划的数学模型有各种不同的形式,其一般形式可以写为:,目标函数为 ,约束条件为:,这里 称为目标函数,称为价值系数,称为价值向量,为求解的变量,由系数 组成的矩阵,称为不等式约束矩阵,由系数 组成的矩阵,称为等式约束矩阵,,列向量 和 为右端向量,条件 称为非负约束。,一个满足约束条件的向量 ,称为可行解或可行点,所有可行点的集合称为可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数值,简称最优值。,求解线性规划问题已有一些成熟的方法,我们这里介绍利用,MATLAB,来求解线性规划问题的求解。,求解线性规划问题已有一些成熟的方法,我们这里介绍利用,MATLAB,来求解线性规划问题的求解。,在,MATLAB,中有一个专门的函数,linprog(),来解决这类问题,我们知道,极值有最大和最小两种,但求,z,的极大就是求,-z,的极小,因此在,MATLAB,中以求极小为标准形式,函数,linprog(),的具体格式如下:,X=linprog(f,A,b),X,fval,exitflag,output,lamnda=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options),这里,X,是问题的解向量,,f,是由目标函数的系数构成的向量,,A,是一个矩阵,,b,是一个向量,,A,,,b,和变量,x=x1,x2,xn,一起,表示了线性规划中不等式约束条件,,A,,,b,是系数矩阵和右端向量。,Aeq,和,Beq,表示了线性规划中等式约束条件中的系数矩阵和右端向量。,LB,和,UB,是约束变量的下界和上界向量,,X0,是给定的变量的初始值,,options,为控制规划过程的参数系列。返回值中,fval,是优化结束后得到的目标函数值。,exitflag=0,表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;,exitflag0,表示优化过程中变量收敛于解,X,,,exitflag Optimization terminated successfully.,X=40.0000,10.0000,fval=-3.8000e+005,例,2,:求解下面的线性规划问题:,解决上述问题的,MATLAB,程序为:,clear,f=-5,4,6;,A=1,-2,1;3,2,4;3,2,0;,b=20,42,30;,LB=0;0;0;,X,fval,exitflag,output,lambda=linprog(f,A,b,LB),程序运行的结果为:,Optimization terminated successfully.,X=0.0000,15.0000,3.0000,fval=-78.0000,exitflag=1,output=iterations:6,cgiterations:0,algorithm:lipsol,lambda=ineqlin:3x1 double,eqlin:0 x1 double,upper:3x1 double,lower:3x1 double,在使用,linprog(),命令时,系统默认它的参数至少为,3,个,但如果我们需要给定第,5,个参数,则第,4,个参数也必须给出,否则系统无法认定给出的是第,5,个参数。遇到无法给出时,则用空矩阵,“,”,替代。,三、实验内容,1,求解线性规划问题,2,求解线性规划问题,3,完成实验报告。,
展开阅读全文