ImageVerifierCode 换一换
格式:PPT , 页数:160 ,大小:778KB ,
资源ID:1667886      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1667886.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(优化建模与LINGO第05章.ppt)为本站会员(谈谈)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

优化建模与LINGO第05章.ppt

1、 优化建模 生产与服务运作管理中的优化问题 优化建模与 LINDO/LINGO软件 第 5章 优化建模 内容提要 5.1 生产与销售计划问题 5.2 有瓶颈设备的多级生产计划问题 5.3 下料问题 5.4 面试顺序与消防车调度问题 5.5 飞机定位和飞行计划问题 优化建模 5.1 生产与销售计划问题 优化建模 5.1.1问题实例 例 5.1某公司用两种原油( A和 B)混合加工成两种汽油(甲和乙)。甲、乙两种汽油含原油 A的最低比例分别为 50%和 60%,每吨售价分别为 4800元和5600元。该公司现有原油 A和 B的库存量分别为 500吨和 1000吨,还可以从市场上买到不超过 1500

2、吨的原油 A。原油 A的市场价为:购买量不超过 500吨时的单价为 10000元 /吨;购买量超过 500吨但不超过 1000吨时,超过 500吨的部分 8000元 /吨;购买量超过 1000吨时,超过 1000吨的部分 6000元 /吨。该公司应如何安排原油的采购和加工。 优化建模 5.1.2建立模型 问题分析 安排原油采购、加工的目标是利润最大,题目中给出的是两种汽油的售价和原油 A的采购价,利润为销售汽油的收入与购买原油 A的支出之差。这里的难点在于原油 A的采购价与购买量的关系比较复杂,是分段函数关系,能否及如何用线性规划、整数规划模型加以处理是关键所在。 优化建模 模型建立设原油 A

3、的购买量为 x(吨),根据题目所给数据, 采购的支出 c(x)可表为如下的分段线性函数(以下价格以 千元 /吨为单位): 500)1( 1 0 0 0 630001000)( 5 0 0 81000500)(0 10)(xxxxxxxc(1) 设原油 A用于生产甲、乙两种汽油的数量分别为 x11和 x12(吨), 原油 B用于生产甲、乙两种汽油的数量分别为 x21和 x22(吨), 则总的收入为 4.8(x11+x21)+5.6(x12+x22)(千元)。 于是本例的目标函数(利润)为 )()(6.5)(8.4 22122111 xcxxxxzM a x (2) 优化建模 约束条件包括加工两种

4、汽油用的原油 A、原油 B库存量的限制, 和原油 A购买量的限制,以及两种汽油含原油 A的比例限制, 它们表示为 xxx 5 0 01211 ( 3) 1 0 0 02221 xx ( 4) 1500x ( 5) 5.0211111 xxx( 6) 6.0221212 xxx( 7) 0, 22211211 xxxxx ( 8) 由于( 1)式中的 c(x)不是线性函数,( 1) ( 8)给出的是 一个非线性规划。而且,对于这样用分段函数定义的 c(x), 一般的非线性规划软件也难以输入和求解。能不能想办法 将该模型化简,从而用现成的软件求解呢? 优化建模 5.1.3 求解模型 3种解法 第

5、1种解法 将原油 A的采购量 x分解为三个量,即用 x1,x2, x3分别表示以价格 10、 8、 6千元 /吨采购的原油 A的吨数,总支出为 c(x) = 10x1+8x2+6x3,且 321 xxxx (9) 这时目标函数( 2)变为线性函数: )6810()(6.5)(8.4 32122122111 xxxxxxxzM a x (10) 应该注意到,只有当以 10千元 /吨的价格购买x1=500(吨)时,才能以 8千元 /吨的价格购买 x2( 0),这个条件可以表示为 0)500( 21 xx (11) 优化建模 同理,只有当以 8千元 /吨的价格购买 x2=500(吨)时, 才能以 6

6、千元 /吨的价格购买 x3( 0),于是 0)5 0 0( 32 xx (12) 此外, x1, x2, x3的取值范围是 5 0 0,0 321 xxx (13) 优化建模 由于有非线性约束 (11),(12), (3)(13)构成非线性规划模型。 LINGO程序: Model: Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - 10*x1 - 8*x2 - 6*x3; x11+x12 0; 0.4*x12 - 0.6*x22 0; x=x1+x2+x3; (x1 - 500) * x2=0; (x2 - 500) * x3=0; bnd(0,x1,

7、500); bnd(0,x2, 500); bnd(0,x3,500); end 优化建模 将文件存储并命名为 exam0501a.lg4, 执行菜单命令“ LINGO|Solve” ,运行该程序得到: Local optimal solution found. Objective value: 4800.000 Total solver iterations: 26 Variable Value Reduced Cost X11 500.0000 0.000000 X21 500.0000 0.000000 X12 0.000000 0.000000 X22 0.000000 0.00000

8、0 X1 0.000000 0.000000 X2 0.000000 0.000000 X3 0.000000 0.000000 X 0.000000 0.000000 优化建模 最优解 : 用库存的 500吨原油 A、 500吨原油 B生产 1000吨汽油甲,不购买新的原油 A,利润为 4800(千元) 但是此时 LINGO得到的结果只是一个 局部最优解 可以用菜单命令“ LINGO|Options” 在“ Global Solver” 选项卡上启动全局优化( Use Global Solver)选项,然后重新执行菜单命令“ LINGO|Solve” , 得到: Global optimal

9、 solution found. Objective value: 5000.002 Extended solver steps: 3 Total solver iterations: 187 优化建模 Variable Value Reduced Cost X11 0.000000 0.000000 X21 0.000000 0.000000 X12 1500.000 0.000000 X22 1000.000 0.000000 X1 500.0000 0.000000 X2 499.9990 0.000000 X3 0.9536707E-03 0.000000 X 1000.000 0.0

10、00000 此时 LINGO得到的结果是一个 全局最优解( Global optimal solution):购买 1000吨原油 A,与库存的 500吨原油 A和 1000吨原油 B一起,共生产2500吨汽油乙,利润为 5000(千元),高于刚刚得到的局部最优解对应的利润 4800(千元)。 优化建模 第 2种解法 : 引入 0-1变量将( 11)和( 12)转化为线性约束 令 y1=1, y2=1, y3=1分别表示以 10千元 /吨、 8千元/吨、 6千元 /吨的价格采购原油 A,则约束( 11)和( 12)可以替换为 112 5 0 05 0 0 yxy 223 500500 yxy

11、33 500 yx (14) (15) (16) y1, y2, y3 =0或 1 (17) 优化建模 ( 3) ( 10),( 13) ( 17)构成混合整数线性规划模型,将它输入 LINDO软件: 优化建模 Max 4.8x11+4.8x21+5.6x12+5.6x22-10x1-8x2-6x3 st x-x1-x2-x3=0 x11+x12-x0 0.4x12-0.6x220 x1-500y10 x2-500y30 end int y1 int y2 int y3 优化建模 运行该程序得到 : OBJECTIVE FUNCTION VALUE 1) 5000.000 VARIABLE V

12、ALUE REDUCED COST Y1 1.000000 0.000000 Y2 1.000000 2200.000000 Y3 1.000000 1200.000000 X11 0.000000 0.800000 X21 0.000000 0.800000 X12 1500.000000 0.000000 X22 1000.000000 0.000000 X1 500.000000 0.000000 X2 500.000000 0.000000 X3 0.000000 0.400000 X 1000.000000 0.000000 这个结果与前面非线性规划模型用全局优化得到的结果相同。 优

13、化建模 第 3种解法 直接处理分段线性函数 c(x)。 ( 1)式表示的函数 c(x)如图 5-1。 c(x) x 12000 9000 5000 0 500 1000 1500 图 5-1 分段线性函数 c(x)图形 优化建模 记 x轴上的分点为 b1=0, b2=500, b3=1000, b4=1500。当 x在第 1个小区间 b1, b2时,记 x= z1b1+z2b2, z1+z2=1, z1, z20, 因为 c(x)在 b1, b2是线性的,所以 c(x)= z1c(b1)+z2c(b2)。同样,当 x在第 2个小区间 b2, b3时, x= z2b2+z3b3, z2+z3=1

14、, z2, z30, c(x)= z2c(b2)+z3c(b3)。当 x在第 3个小区间 b3, b4时, x= z3b3+z4b4,z3+z4=1, z3, z4 0, c(x)= z3c(b3)+z4c(b4)。为了表示 x在哪个小区间,引入 0-1变量 yk(k=1,2,3),当 x在第 k个小区间时, yk=1,否则,yk=0。这样 , z1, z2, z3, z4, y1, y2, y3应满足 3432321211 , yzyyzyyzyz )4,3,2,1(0,14321 kzzzzz k10,1 321321 或 yyyyyy(18) (19) (20) 优化建模 此时 x和 c

15、(x)可以统一地表示为 43244332211 15001000500 zzzbzbzbzbzx ( 2) ( 10),( 18) ( 22)也构成一个混合整数线性规划模型,可以用 LINDO求解。不过,我们还是将它输入LINGO软件,因为其扩展性更好(即当分段函数的分段数更多时,只需要对下面程序作很小的改动)。输入的LINGO模型如下: 43244332211 1200090005000)()()()()( zzzbczbczbczbczxc (22) 优化建模 输入的 LINGO模型如下: Model: SETS: Points/14/: b, c, y, z; ! 端点数为 4,即分段数

16、为 3; ENDSETS DATA: b=0 500 1000 1500; c=0 5000 9000 12000; y=,0; ! 增加的虚拟变量 y(4)=0; ENDDATA 优化建模 Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - sum(Points: c*z); x11+x12 0; 0.4*x12 - 0.6*x22 0; sum(Points: b*z)=x; for(Points(i)|i#eq#1: z(i) = y(i); for(Points(i)|i#ne#1: z(i) = y(i-1)+y(i); sum(Points:

17、y)=1; sum(Points: z)=1; for(Points: bin(y); end 优化建模 求解,得到的结果如下(略去已知参数 b和 c的显示结果): Global optimal solution found. Objective value: 5000.000 Extended solver steps: 0 Total solver iterations: 28 优化建模 Variable Value Reduced Cost X11 0.000000 0.000000 X21 0.000000 1.600000 X12 1500.000 0.000000 X22 1000

18、.000 0.000000 X 1000.000 0.000000 Y( 1) 0.000000 -4600.000 Y( 2) 0.000000 -1200.000 Y( 3) 1.000000 0.000000 Y( 4) 0.000000 0.000000 Z( 1) 0.000000 0.000000 Z( 2) 0.000000 0.000000 Z( 3) 1.000000 0.000000 Z( 4) 0.000000 200.0000 优化建模 可见,得到的最优解和最优值与第 2种解法相同。 备注 这个问题的关键是处理分段线性函数,我们推荐化为整数线性规划模型的第 2, 3种解

19、法,第 3种解法更具一般性,其做法如下。 设一个 n段线性函数 f(x)的分点为 11 nn bbb 引入 zk 将 x和 f(x)表示为 11nkkk bzx11)()(nkkk bfzxf(23) (24) 优化建模 zk 和 0-1变量 yk满足 nnnnn yzyyzyyzyz 1121211 , 10,121 或 kn yyyy )1,2,1(01121 nkzzzz kn ,(25) (26) (27) 优化建模 5.2 有瓶颈设备的多级生产计划问题 优化建模 5.2.1 问题实例 在给定的外部需求和生产能力等限制条件下,按照生产总费用最小编制未来若干个生产周期的最优生产计划,这种

20、问题在文献上一般称为批量问题( Lotsizing Problems)。 我们通过下面的具体例子来说明这种多级生产计划问题的优化模型。这里“多级”的意思是需要考虑产品是通过多个生产阶段(工艺过程)生产出来的。 优化建模 例 5.2 某工厂的主要任务是通过组装生产产品 A,用于满足外部市场需求。 A产品的产品构成与组装过程见图 5-2:即 D、 E、 F、 G是从外部采购的零件,先将零件 D、 E组装成部件 B,零件 F、 G组装成部件 C,然后将部件 B、 C组装成产品 A出售。 图中弧上的数字表示的是组装时部件(或产品)中包含的零件(或部件)的数量(可以称为消耗系数),例如 DB弧上的数字“ 9” 表示组装 1个部件 B需要用到 9个零件 D; BA弧上的数字“ 5” 表示组装 1件产品 A需要用到 5个部件 B; 依此类推。 优化建模 瓶颈设备加工 A B C D E F G 5 7 9 11 13 15 图 5-2 产品构成与组装过程图

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报