用matlab求解线性规划问题

上传人:ail****e2 文档编号:46455444 上传时间:2021-12-13 格式:DOC 页数:3 大小:54KB
返回 下载 相关 举报
用matlab求解线性规划问题_第1页
第1页 / 共3页
用matlab求解线性规划问题_第2页
第2页 / 共3页
用matlab求解线性规划问题_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
实验四用MATLAB解线性规划问题 、实验目的:了解Matlab的优化工具箱,能利用 Matlab求解线性规划问题。、实验内容:线性规划的数学模型有各种不同的形式,其一般形式可以写为:目标函数:mi nZ 二 fiXi f2X2 亠 亠 fnXna11x1 a12x2 亠 亠 a1nxn 三 b|约束条件:as1 X1as2X2asnXn EbsCiiXi-G2X2 亠亠 GnXn 皿CtiXi-G2X2CtnXds3 / 3Xi,X2, ,Xn 一 0这里z = f1 X1f2X2fnXn称为目标函数,j称为价值系数,f = ( f1, f2,,fn)称为价值向量,Xj为求解的变量,由系数 aan am组成的矩阵_am1amn称为不等式约束矩阵,由系数乙1CinCsicsn Cij组成的矩阵称为等式约束矩阵,列向量b =(b1,b2,,bn)和d十,2,,dn)为右端向量,条件Xj -0称为T非负约束。一个向量 X -(XX2,,Xn),满足约束条件,称为可行解或可行点,所有可行点的集合称为可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数 值,简称最优值。我们这里介绍利用Matlab来求解线性规划问题的求解。在Matlab中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求 的极大就是求 Z的极小,因此在 Matlab中以求极小为标准形式,函数linprog()的具体格式如下:A是-A, b是系数矩阵和右端向量。Aeq和BeqLB和UB是约束变量的下界和上界向量,X0返回值中fval是优化结束后得到的目标函数exitflag0表示优化过X=li nprog(f,A,b) X,fval,exitflag,ouyput,lam nda=li nprog(f,A,b,Aeq,Be q,L B,UB,XO,optio ns) 这里X是问题的解向量,f是由目标函数的系数构成的向量, 变量x=x1,x2,,xn 起,表示了线性规划中不等式约束条件, 表示了线性规划中等式约束条件中的系数矩阵和右端向量。 是给定的变量的初始值,options为控制规划过程的参数系列。值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数; 程中变量收敛于解 X, exitflag0表示不收敛。output有3个分量,iterations表示优化过程的迭代次数, cgiterations表示PCG迭代次数,algorithm表示优化所采用的运算规则。lambda有4个分量,ineqlin是线 性不等式约束条件,eqlin是线性等式约束条件,upper是变量的上界约束条件,lower是变量的下界约束条 件。它们的返回值分别表示相应的约束条件在约束条件在优化过程中是否有效。三、实验方法与步骤:例1:某工厂生产 A,B两种产品,所用原料均为甲、乙、丙三种:生产一件产品所需原料和所获利 润以及库存原料情况如下所示:原料甲(公斤)原料乙(公斤)原料丙(公斤)利润(元)产品A8447000产品B68610000库存原料量380300220在该厂只有表中所列库存原料的情况下,如何安排A, B两种产品的生产数量可以获得最大利润?设生产A产品xi件,生产B产品x2件,z为所获利润,我们将问题归结为如下的线性规划问题:min -(7000 x-i - 10000x2)(8x1 6x2 _ 3804x1 8x2 一 300st4x1+6x220接着写出Matlab程序如下:clearf=-7000,10000;A=8,6;4,8;4,6;b=380,300,220;X,fval=linprog(f,A,b)运行结果为:Optimization terminated.X =40.000010.0000fval =-3.8000e+005例2:求解下面的线性规划问题:min -5xi -4x2 -6x3s.t. X1 X2 +X3 生 203x-i2x24x3 _ 4 23x-i2x2 乞 300兰捲,0兰x2, 0兰x3解决上述问题的 Matlab程序为:Clearf=-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.X =0.000015.00003.0000fval =-78.0000exitflag =1output =iterations: 6algorithm: large-scale: interior pointcgiterations: 0message: Optimization terminated.lambda =ineqlin: 3x1 double eqlin: 0x1 double upper: 3x1 double lower: 3x1 double 四、实验总结在使用 linprog() 命令时,系统默认它的参数至少为 3个,但如果我们需要给定第 5 个参数,则第 4个 参数也必须给出,否则系统无法认定给出的是第 5 个参数。遇到无法给出时,则用空矩阵“”替代。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!