第4章线性规划_第1页
第4章线性规划_第2页
第4章线性规划_第3页
第4章线性规划_第4页
第4章线性规划_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章第四章 线性规划模型线性规划模型4.1 两个引例两个引例4.2 线性规划基本理论线性规划基本理论4.3 用用MATLAB优化工具箱解线性规划优化工具箱解线性规划 4.4 加工奶制品的生产计划建模及加工奶制品的生产计划建模及 Lingo软件求解软件求解问题一问题一 : 任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低? 单位工件所需加工台时数 单位工件的

2、加工费用 车床类 型 工件1 工件2 工件3 工件1 工件2 工件3 可用台时数 甲 0.4 1.1 1.0 13 9 10 800 乙 0.5 1.2 1.3 11 12 8 900 4.1 两个引例两个引例解解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:6543218121110913minxxxxxxz 6 , 2 , 1, 09003 . 12 . 15 . 08001 . 14 . 0500600400 x . .654321635241ixxxxxxxxxxxxtsi 解答问题二:问

3、题二: 某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15小时/件,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解解 设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:212124323848xxxx因检验员错检而造成的损失为:21211282)%5158%2258(xxxx故目标函数为:故目标函数为:2121213640)128()2432(minxxxxxxz

4、约束条件为:0, 0180015818002581800158258212121xxxxxx线性规划模型:线性规划模型:213640minxxz0, 01594535 . .212121xxxxxxts 解答返 回1.1.线性规划的标准形式:线性规划的标准形式:xminz=)(xf. .ts )(xgi0 (), 2 , 1mi其中目标函数)(xf和约束条件中)(xgi都是线性函数min min f = = cxs.t. s.t. Ax = = b (1 1) x 0 0这里 A = (ija)m,n , x = T 21nxxx b= T 21nbbb, c= nccc21用单纯法求解时,常

5、将标准形式化为:2. 线性规划的基本算法线性规划的基本算法单纯形法单纯形法4.2 线性规划的基本理论线性规划的基本理论例例 min z = 10 x1 + 9x2st6x1 + 5x2 60 10 x1 + 20 x2 150 x1 8 x1, x2 0引入松弛变量x3, x4, x5, 将不等式化为等式, 即单纯形标准形: min z = 10 x1 + 9x2st6x1 + 5x2 + x3 = 60 10 x1 + 20 x2 - x4 = 150 x1 + x5 = 8 xi 0 (i = 1,2,3,4,5) 令非基变量 xN = 0, 解得基变量 xB = B1b, 称(xB, x

6、N)为基基解解.基解的所有变量的值都非负,则称为基基可可行行解解,此时的基称为可可行行基基. 若可行基进一步满足: cN cBB-1N0, 即: cBB-1N - cN0则对一切可行解x, 必有f(x) cBB-1b, 此时称基可行解x = (B-1b, 0) T为最优解最优解. 3. 最优解的存在性定理最优解的存在性定理将A的列向量重排次序成A = (B, N), 相应x = (xB, xN) T, c = (cB, cN)基对应的变量xB称为基变量基变量, 非基对应的变量xN称为非基变量非基变量.定理定理1 1 如果线性规划(1)有可行解,那么一定有基可行解.定理定理2 2 如果线性规划(

7、1)有最优解,那么一定存在一个基可行解 是最优解.4.3 用用MATLAB优化工具箱解线性规划优化工具箱解线性规划min z=cX bAXts. .1、模型:命令:x=linprog(c,A,b) 2、模型:min z=cX bAXts. .beqXAeq命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式: 存在,则令A= ,b= .bAX 3、模型:min z=cX bAXts. .beqXAeqVLBXVUB命令:1 x=linprog(c,A,b,Aeq,beq, VLB,VUB) 2 x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0) 注意

8、:1 若没有等式约束: , 则令Aeq= , beq= . 2其中X0表示初始点beqXAeq4、命令:x,fval=linprog()返回最优解及处的目标函数值fval.解解 编写编写M文件文件xxgh1.m如下:如下:c=-0.4 -0.28 -0.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=linpr

9、og(c,A,b,Aeq,beq,vlb,vub)例例1 max 6543216 . 064. 072. 032. 028. 04 . 0 xxxxxxz 85003. 003. 003. 001. 001. 001. 0. .654321xxxxxxt s 70005. 002. 041xx 10005. 002. 052xx 90008. 003. 063xx 6, 2 , 10jxj To Matlab (xxgh1)例例 2 321436minxxxz 120. .321xxxts 301x 5002 x 203x解解: 编写编写M文件文件xxgh2.m如下:如下: c=6 3 4;

10、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)To Matlab (xxgh2)321)436(minxxxz32120030 xxx50120010111 .321xxxtsS.t.Xz8121110913min 9008003 . 12 . 15 . 000000011 . 14 . 0X500600400100100010010001001X ,0654321xxxxxxX改写为:例例3 问题一的解答 问题问题编写编写M文件文件xxgh3.m如下如下:f

11、 = 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; 900;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)To Matlab (xxgh3)结果结果:x = 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000fval =1.3800e+004 即在甲机床上加工600个工件2,在乙机床上加

12、工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。例例2 问题二的解答 问题问题 213640minxxz s.t. )45(3521xx改写为:编写编写M文件文件xxgh4.m如下:如下:c = 40;36;A=-5 -3;b=-45;Aeq=;beq=;vlb = zeros(2,1);vub=9;15; %调用linprog函数:x,fval = linprog(c,A,b,Aeq,beq,vlb,vub)To Matlab (xxgh4)结果为:结果为:x = 9.0000 0.0000fval =360即只需聘用9个一级检验员。 注:注:本问题应还有一

13、个约束条件:x1、x2取整数。故它是一个整数线性规划整数线性规划问题。这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解。返 回企业生产计划企业生产计划 4.4 加工奶制品的生产计划建模及加工奶制品的生产计划建模及 Lingo软件求解软件求解工厂级:根据外部需求和内部设备、人力、原料等工厂级:根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;条件,以最大利润为目标制订产品生产计划;车间级:根据生产计划、工艺流

14、程、资源约束及费车间级:根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量计划用参数等,以最小成本为目标制订生产批量计划.时间层次时间层次若短时间内外部需求和内部资源等不随时间变化,可若短时间内外部需求和内部资源等不随时间变化,可制订制订单阶段生产计划单阶段生产计划,否则应制订多阶段生产计划,否则应制订多阶段生产计划. 加工奶制品的生产计划加工奶制品的生产计划1桶桶牛奶牛奶 3kgA1 12h 8h 4kgA2 或或获利获利24元元/kg 获利获利16元元/kg 50桶牛奶桶牛奶 时间时间480h 至多加工至多加工100kgA1 制订生产计划,使每天获利最大制订生产计划

15、,使每天获利最大 35元可买到元可买到1桶牛奶,买吗?若买,每天最多买多少桶牛奶,买吗?若买,每天最多买多少? 可聘用临时工人,付出的工资最多是每小时几元可聘用临时工人,付出的工资最多是每小时几元? A1的获利增加到的获利增加到 30元元/kg,应否改变生产计划?,应否改变生产计划? 每天:每天:问问题题1桶桶牛奶牛奶 3kgA1 12h 8h 4kgA2 或或获利获利24元元/kg 获利获利16元元/kg x1桶牛奶生产桶牛奶生产A1 x2桶牛奶生产桶牛奶生产A2 获利获利 243x1 获利获利 164 x2 原料供应原料供应 5021 xx劳动时间劳动时间 48081221 xx加工能力加

16、工能力 10031x决策变量决策变量 目标函数目标函数 216472maxxxz每天获利每天获利约束条件约束条件非负约束非负约束 0,21xx线性线性规划规划模型模型(LP)时间时间480h 至多加工至多加工100kgA1 50桶牛奶桶牛奶 每天每天基本基本模型模型模型分析与假设模型分析与假设 比比例例性性 可可加加性性 连续性连续性 xi对目标函数的对目标函数的“贡贡献献”与与xi取值成正比取值成正比 xi对约束条件的对约束条件的“贡贡献献”与与xi取值成正比取值成正比 xi对目标函数的对目标函数的“贡贡献献”与与xj取值无关取值无关 xi对约束条件的对约束条件的“贡贡献献”与与xj取值无关

17、取值无关 xi取值连续取值连续 A1,A2每千克的获利是与各自每千克的获利是与各自产量无关的常数产量无关的常数每桶牛奶加工每桶牛奶加工A1,A2的数量的数量, 时时间是与各自产量无关的常数间是与各自产量无关的常数A1,A2每千克的获利是与相互每千克的获利是与相互产量无关的常数产量无关的常数每桶牛奶加工每桶牛奶加工A1,A2的数量的数量,时时间是与相互产量无关的常数间是与相互产量无关的常数加工加工A1,A2的牛奶桶数是实数的牛奶桶数是实数 线性规划模型线性规划模型模型求解模型求解 图解法图解法 x1x2OABCDl1l2l3l4l55021 xx48081221 xx10031x0,21xx约约

18、束束条条件件50:211 xxl480812:212 xxl1003:13xl0:, 0:2514xlxl216472maxxxz目标目标函数函数 z=0z=2400z=3360z=c (常数常数) 等值线等值线c在在B(20,30)点得到最优解点得到最优解.目标函数和约束条件是线性函数目标函数和约束条件是线性函数 可行域为直线段围成的凸多边形可行域为直线段围成的凸多边形 目标函数的等值线为直线目标函数的等值线为直线 最优解一定在凸多边最优解一定在凸多边形的某个顶点取得形的某个顶点取得. . 模型求解模型求解 软件实现软件实现 LINGO model:max = 72*x1+64*x2;mil

19、k x1 + x250;time 12*x1+8*x2480;cpct 3*x1100;end Global optimal solution found. Objective value: 3360.000 Total solver iterations: 2 Variable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 MILK 0.000000 48.00000 TIME 0.000000 2.000000

20、CPCT 40.00000 0.000000 20桶牛奶生产桶牛奶生产A1, 30桶生产桶生产A2,利润,利润3360元元. 结果解释结果解释 Global optimal solution found. Objective value: 3360.000 Total solver iterations: 2 Variable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 MILK 0.000000 48.00000

21、 TIME 0.000000 2.000000 CPCT 40.00000 0.000000 model:max = 72*x1+64*x2;milk x1 + x250;time 12*x1+8*x2480;cpct 3*x1100;end三三种种资资源源“资源资源” 剩余为零的约束为紧约束(有效约束)剩余为零的约束为紧约束(有效约束) 原料无剩余原料无剩余时间无剩余时间无剩余加工能力剩余加工能力剩余40结果解释结果解释 Global optimal solution found. Objective value: 3360.000 Total solver iterations: 2 Va

22、riable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 MILK 0.000000 48.00000 TIME 0.000000 2.000000 CPCT 40.00000 0.000000最优解下最优解下“资源资源”增加增加1单位时单位时“效益效益”的增的增量量 影子价格影子价格 35元可买到元可买到1桶牛奶,要买吗桶牛奶,要买吗?35 48, 应该买!应该买! 聘用临时工人付出的工资最多每小时几元聘用临时工

23、人付出的工资最多每小时几元? 2元!元!原料增加原料增加1单位单位, 利润增长利润增长48 时间增加时间增加1单位单位, 利润增长利润增长2 加工能力增长不影响利润加工能力增长不影响利润Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable AllowableVariable Coefficient Increase Decrease X1 72.00000 24.00000 8.000000 X2 64.00000 8.000000 16.00000 Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease MILK 50.00000 10.00000 6.666667 TIME

温馨提示

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

评论

0/150

提交评论