网站大量收购闲置独家精品文档,联系QQ:2885784924

机工社数学建模:算法与编程实现教学课件第07讲_优化模型进阶.pptx

机工社数学建模:算法与编程实现教学课件第07讲_优化模型进阶.pptx

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;以“露天矿生产的车辆安排(03B题)”为例阐述:;一. 优化建模技术;?;对于“min min”: 类似处理,得到 ;?;?;(4) 处理二值变量的乘积项 决策变量 ,要线性化二次交叉项 令 ,同时添加如下约束: 注:该方法会增加决策变量数量量级。;2. 处理特殊约束 (1) 两个约束至少有一个成立 约束 或 至少有一个成立,经线性化处理可转化为: 注:类似地可推广到多个约束。;(2) 两个约束只有一个成立 约束 或 只有一个成立,经线性化处理可转化为: 进一步简化: 注:类似地可推广到多个约束。;?;3. 分段线性函数建模;?;二. 案例:露天矿生产车辆安排(03B);所用卡车载重量为154吨,平均时速28。卡车的耗油量很大,每个班次每台车消耗近1吨柴油。发动机点火时需要消耗相当多的电瓶能量,故一个班次中不熄火。卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。电铲和卸点都不能同时为两辆及两辆以上卡车服务。卡车每次都是满载运输。 每个铲位到每个卸点的道路都是专用的宽60的双向车道,不会出现堵车现象,每段道路的里程都已知。 制定一个班次的生产计划:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次(不用考虑排时计划)。一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求,而一个好的计划还应该考虑下面两条原则之一: 1)总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小; 2)利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。 ;请就两条原则分别建立数学模型,并给出一个班次生产计划的快速算法。针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。 某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。各卸点一个班次的产量要求:矿石漏1.2万吨、倒装场Ⅰ1.3万吨、岩场1.3万吨、岩石漏1.9万吨、倒装场Ⅱ1.3万吨。 ;2. 问题分析??假设;从目标角度来看,这是一个多目标规划问题。 问题一的主要目标: ① 总运量最小; ② 总路程最小; ③ 出动卡车最少。 仔细分析可知,① 与② 是第一层目标(优先级更高),且二者基本等价,于是只用 ① 作为第一层目标,根据其结果再优化③派车。 问题二的主要目标: ④ 岩石产量最大; ⑤ 矿石产量最大; ⑥ 总运量最小。 根据提意,优先级依次排列。 ;问题假设: 假设1 卡车在一个班次中不发生等待或熄火重启的情况; 假设2 在铲位或卸点处由两条线路造成的冲突问题,只要平均时间能完成任务,就认为不冲突,不进行具体排时计划; 假设3 空载和重载的速度都为28km/h,但油耗相差很大; 假设4 卡车可以提前退出系统。 ;3. 基于整数规划的最优调运方案;?;?;?;?;(3) 建立整数规划模型;(4) Lingo求解 集合段: sets: cai / 1..10 /: p, K, Y, z; xie / 1..5 /: q; link(cai, xie): a, b, c, t, x; endsets;数据段(与Excel交互数据,务必要保证所操作的Excel文件是打开状态!) data: v = 28; ! 卡车平均车速; q = 1.2 1.3 1.3 1.9 1.3 ; ! 各卸点任务需求; c = @ole(datas.xlsx, B2:F11); ! 距离矩阵; K = @ole(datas.xlsx, B15:K15); ! 各铲位矿石量; Y = @ole(datas.xlsx, B16:K16); ! 各铲位岩石量; p = @ole(datas.xlsx, B17:K17); ! 各铲位铁含量(%); ! 将结果写入results1.xlsx; @ole(results1_1.xlsx, B3:F12) = x; @ole(results1_1.xlsx, H3:L12) = t; @ole(results1_1.x

文档评论(0)

allen734901 + 关注
实名认证
内容提供者

副教授持证人

知识共享

领域认证该用户于2024年11月14日上传了副教授

1亿VIP精品文档

相关文档