- 1、本文档共105页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 数学规划模型 Matlab能求解的优化模型 Matlab解法 linprog c=[-72 -64];A=[1 1;12 8;3 0];b=[50;480;100]; [x,f]=linprog(c,A,b,[],[],zeros(2,1)) Spreadsheet (Excel规划求解)能求解的优化模型 线性规划 整数规划 非线性规划 Excel解法 Lindo/Lingo能求解的优化模型 Lindo解法 max 72x1+64x2 st x1+x250 12x1+8x2480 3x1100 end Lingo解法 Model: Max=72*x1+64*x2; x1+x250; 12*x1+8*x2480; 3*x1100; end 4.1 奶制品的生产与销售 例1 加工奶制品的生产计划 例1的另一模型 设每天加工量 A1, A2 Max z=24A1+16A2 Subject to A1/3+A2/4=50 12A1/3+8A2/4=480 A1=100 A1, A2=0 习题 思考题:试计算原料增加10桶以后的影子价格,分析原料是否该继续增加。 提示:将牛奶改为60桶,重新计算看. 直接从例1修改的模型 设用y1千克A1生产B1, y2千克A2生产B2 Lingo程序(直接写,与课本略有不同) model: max = 24*x1+16*x2+44*x3+32*x4-3*x5-3*x6; [milk] (x1+x5)/3 + (x2+x6)/450; [time] 4*(x1+x5)+2*(x2+x6)+2*x5+2*x6480; [cpct] x1+x5100; x3=0.8*x5; x4=0.75*x6; end 一句话小结 线性规划是管理科学的利器; 敏感性分析赋予线性规划更丰富的意义,对模型参数变化时计算结果的有效性作了深入的分析。 习题 P130ex1 方法2程序 Max=2*x1+3*x2+4*x3; 1.5*x1+3*x2+5*x3600; 2.8*x1+2.5*x2+4*x3602; x11000*y1; x180*y1; x21000*y2; x280*y2; x31000*y3; x380*y3; @gin(x1);@gin(x2);@gin(x3); @bin(y1);@bin(y2);@bin(y3); end 方法3程序 Max=2*x1+3*x2+4*x3; 1.5*x1+3*x2+5*x3600; 2.8*x1+2.5*x2+4*x3602; x1*(x1-80)0; x2*(x2-80)0; x3*(x3-80)0; @gin(x1);@gin(x2);@gin(x3); end 一句话小结 很多变量只有取整数时才有实际意义; 整数规划可用线性规划近似求解,但往往得不到最优解; 通过引进0-1变量,可能化复杂的非线性规划为线性规划。 原油采购与加工 小结:引入0-1变量的技巧 设所有变量非负,已知x ?M,且若x0时, x ?m. 令z=0 or 1, 那么 若x0, 则z=1 (?若z= 0, 则x =0)表示为: x ?Mz 若x=0, 则z=0 (?若z= 1, 则x 0)表示为: x ?mz 条件约束 if, then (设x1+x2 -3 ?M且若x1+x2 -3 0, 则?m ) 若x1+x23, 则x3+x4 ?6表示为: x3+x4 ? 6z, x1+x2 -3?Mz 若x1+x2=3, 则x3+x4 ? 6表示为: x3+x4 ? 6(1-z), x1+x2 -3 ?mz 逻辑运算 or, and, 令z1,2=0 or 1, x1 ? 3或x2 ? 3表示为: x1 ? 3z1, x2 ? 3z2, z1+z2 ? 1 分段线性目标函数 如例2 原油采购与加工 习题 P130ex3 补充题:blending problem 4.4 接力队选拔和选课策略 4X100米混合泳接力破世界纪录摘金 意大利罗马 3’52’’19 ,2009年8月2日 Lingo编程 模型构成 主体 MODEL: --END 集合段 SETS -- ENDSETS 数据段DATA-- ENDDATA 初始段INIT--ENDINIT 计算段CALC--ENDCALC 集合 基本集合 派生集合 函数 @for(集合|条件:表达式)对集合中满足条件的元素循环执行表达式 @sum(集合|条件:表达式)对集合中满足条件的元素求表达式的和 关系运算符(“集合|条件”里使用) #LT# ( less then), #EQ#, #LE#, #GT#, #GE#类似 多目标规划 其他方法 在学分最多前提下,求课程最少; 在各种课程门数(6,7,8,9)
文档评论(0)