用Matlab软件求线性规划..ppt_第1页
用Matlab软件求线性规划..ppt_第2页
用Matlab软件求线性规划..ppt_第3页
用Matlab软件求线性规划..ppt_第4页
用Matlab软件求线性规划..ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、用Matlab软件求线性规划;,教学内容,引例生产计划问题,生产炊事用具需要两种资源-劳动力和原材料,某 公司制定生产计划,生产三种不同产品,生产管理部 门提供的数据如下:,每天供应原材料200kg,每天可供使用的劳动力为150h, 求各种产品的日产量为多少时,总收益最大?,问题的求解:,1、确定决策变量.设生产A产品xA,B产品xB, C产品xC 2、确定目标函数. max Z= 4xA+2xB +3xC 3、确定约束条件.劳动力: 7xA+3xB +6xC150 原材料: 4xA+4xB +5xC200 非负性约束: xA0,xB0 ,xC0,线性规划的一般形式:,目标函数:max(m

2、in)z=c1x1+c2x2+c3x3+cnxn 约束条件:a11x1+a12x2+a13x3+a1nxn (= )b1 a21x1+a22x2+a23x3+a2nxn (=)b2 am1x1+am2x2+am3x3+amnxn (= )bn 非负性约束:x1 0,x2 0,xn 0,注意:1 若没有等式约束: AeqX=beq, 则令Aeq= , beq= 2其中x0表示初始点 命令:x,f=linprog()返回最优解及处的目标函数值,二、线性规划模型的Matlab命令如下:,c=4 2 3; A=7 3 6;4 4 5; b=150;200; VUB= ;Aeq= ;beq= ; VLB

3、=0;0;0; x,f=linprog(c,A,b,Aeq,beq, VLB,VUB),解引例:,max Z= 4xA+2xB +3xC s.t. 7xA+3xB +6xC150 4xA+4xB +5xC200 xA0,xB0 ,xC0,Matlab命令如下:,结果输出如下:,Optimization terminated successfully. x = 0.0000 50.0000 0.0000 f = -100.0000,当A、B、C产品的日产量分别为0件,50件,0件时, 总收益为100元/件,例1 max,解 用Matlab求解过程如下: clear c=-0.4 -0.28 -0

4、.32 -0.72 -0.64 -0.6; A=0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0; 0 0.02 0 0 0.05 0 ;0 0 0.03 0 0 0.08; b=850;700;100;900; Aeq= ; beq= ; vlb=0;0;0;0;0;0; vub= ; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),Optimization terminated successfully. x = 1.0e+004 * 3.5000 0.5000 3.0000 0.0000 0.0000 0.0000

5、 fval = -2.5000e+004,即:最优解为x=104(3.5,0.5,3,0,0,0),最优值为z=2.5104,例2,解 用Matlab求解过程如下: clear c=6 3 4; A=0 1 0; b=50; Aeq=1 1 1; beq=120; vlb=30;0;20; vub= ; x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),Optimization terminated successfully. x = 30.0000 50.0000 40.0000 fval = 490.0000 即最优解为x=(30,50,40),最优值为z=490

6、.,某机加小组有甲、乙两台机床,可用于加工三种工件. 假定这两台车床的可用台时数分别为800和900,三种 工件的数量分别为400、600和500,且已知用三种不 同车床加工单位数量不同工件所需的台时数和加工费 用如下表.问怎样分配车床的加工任务,才能既满足 加工工件的要求,又使加工费用最低?,例3【任务分配问题】,解 设在甲车床上加工工件1、2、3的数量分别为,在乙车床上加工工件1、2、3的数量分别为,可建立以下线性规划模型:,用Matlab求解如下 f = 13 9 10 11 12 8; A = 0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3; b = 800; 90

7、0; Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1; beq=400; 600 ;500; vlb = zeros(6,1); vub= ; x,fval = linprog(f,A,b,Aeq,beq,vlb,vub),结果为: x = 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval =1.3800e+004 即在甲机床上加工600个工件2,在乙机床上加工400个 工件1、500个工件3,可在满足条件的情况下使总加 工费最小为13800.,某皮鞋公司每日8小时的皮鞋产量不低于1800双.为了进 行质量控制,计划聘请两种不同水平的检验员.一级 检验员的标准为速度25双/小时,正确率98%,计时工 资4元/小时;二级检验员的标准为速度15双/小时,正确 率95%,计时工资3元/小时.检验员每错检一次,企业要 损失2元.为使总检验费用最省,该公司应聘一级、二级 检验员各几名?,例4【人员聘任问题】,解 设需要一级和二级检验员的人数分别为,人,则应付检验员的工资为,因检验员错检而造成的损失为,故目标函数为,约束条件为,线性规划模型,用Matlab求解如下: c = 40;36; A=-5 -3; b=-45; Aeq= ; beq= ; vlb = zeros(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论