露天矿生产的车辆安排
- 格式:doc
- 大小:46.50 KB
- 文档页数:4
2003年B题《露天矿生产的车辆安排》题目、论文、点评露天矿生产的车辆安排丁余良胡海林...本文研究了露天矿生产的车辆安排最优化问题。
利用主要目标法将多目标最优化问题转化为单目标最优化问题,根据主要目标(总运量)列出最小费用函数,将次要目标最小卡车数转化为约束条件,然后逐步简化,将非线性规划转化为线性整数规划,并通过SAS软件编程遍历120个线性规划子问题,经过比较得出最优解,最后在最优解基础上运用贪心算法求出所用的最少卡车数并给出了一个班次的运输方案。
对于问题一,得到最小总运量为85628.62吨公里,此时7台电铲分别放在第1.2,3.4,8,9,10铲点,所需卡车最少为13辆。
对于问题二,利用类似于问题一的解法,在充分利用现有卡车和铲车的条件下,求得最大的产量为103334吨,20辆车完全利用,相应的铲点为:1,2,3.4,8,9,10。
最小运输量为147792.26吨公里,相应的岩石产量为49280吨,矿石产量为54054吨。
我们还讨论了一辆卡车在不同的路线运输所产生的转移时间差和两辆卡车发生等待的条件,为解决等待问题提供了一种很好的方法。
露天矿生产的车辆安排.pdf (207.99 KB)露天矿生产的车辆安排于浚泊肖川...如何利用最小的资源消耗取得理想的产量要求,是本文讨论的重点问题。
文章采用两种方法——贪心法和线性规划建立模型,针对两个目标进行安排。
第1阶段:采用贪心法按距离、产量、品位等要求依次取得最优、次优……等若干较优的铲位,获得一些铲位的组合方案。
第2阶段:对这些组合进行线性规划:以车次为变量,根据不同目标建立目标函数,根据产量等条件限制建立约束方程,然后求整数解,在这些解中取最优者。
第3阶段:根据每条路线上的车次数再次利用贪心法进行具体的车辆安排。
露天矿生产的车辆安排(1).pdf (156.6 KB)露天矿生产的车辆安排苏勇潘信峰...本文以总运量最小为目标建立整数规划模型,求解中用连续松弛把该问题转化为线性规划模型,使解题难度降低。
露天矿车队管理规章制度第一章总则第一条为了加强露天矿车队管理,提高运输效率,确保安全生产,制定本制度。
第二条本制度适用于露天矿车队的组织、管理、运营、维修和安全等方面的工作。
第三条车队管理应遵循科学、规范、制度化的原则,严格执行国家有关法律法规和行业标准,确保车队运营的安全、高效、经济。
第二章组织与管理第四条车队应建立健全组织机构,明确各级管理人员和员工的职责,实行岗位责任制。
第五条车队应根据运输任务和车辆数量,合理配置管理人员和员工,确保车队运营的需要。
第六条车队应制定详细的运营计划,包括运输任务分配、车辆调度、加油时间、维修保养等,并严格执行。
第七条车队应建立健全车辆维修保养制度,确保车辆技术状况良好,降低故障率。
第八条车队应加强员工培训,提高员工的安全意识、操作技能和服务水平。
第三章运营与安全第九条车队应按照运输计划和要求,合理安排车辆运行,确保运输任务的及时完成。
第十条车队应严格遵守交通法规和安全操作规程,确保行车安全。
第十一条车队应加强车辆监控,定期检查车辆技术状况和安全设施,发现问题及时处理。
第十二条车队应制定应急预案,明确应急处理程序和责任人,确保在突发事件发生时能够迅速有效地进行处理。
第四章维修与保养第十三条车队应建立车辆维修保养档案,记录车辆维修保养情况,便于跟踪和管理。
第十四条车队应按照车辆维修保养规程,定期对车辆进行维修保养,确保车辆技术状况良好。
第十五条车队应加强维修配件管理,建立配件采购、领用、更换记录,确保配件质量。
第五章人员与管理第十六条车队应加强对驾驶员的管理,严格执行驾驶员资格审核制度,定期进行安全培训。
第十七条车队应加强对员工的服务管理,提供良好的工作环境和生活条件,提高员工的工作积极性和满意度。
第六章考核与奖惩第十八条车队应建立完善的考核制度,对管理人员和员工的工作绩效进行定期评估,实施奖惩。
第十九条对违反规章制度、造成安全事故的,应严肃追究责任,实施处罚。
露天矿生产的车辆安排模型摘要本文成功引入了车次的概念。
在对时间进行合理假设之后,在约束条件下建立了对车次的全局最优的整数线性规划,利用lindo软件迅速解出全局最优的任务分配。
进一步,利用效率优先原则,对铲点进行优化,并根据物件可分的等容积装箱模型,最终得到了满足要求的计划安排。
根据原则一建立模型的解为:铲位:1、2、3、4、8、9、10,卡车数:13,总运量:8.56万吨·千米,车辆安排计划见表9;根据原则二建立模型的解为:铲位:1、2、3、4、8、9、10,卡车数:20,最大产量:10.35万吨,岩石量:4.93万吨,在最大产量下的最小运量:14.69万吨·千米车辆安排计划见表14。
一、问题的重述露天矿里有若干个爆破的铲位,已预先根据铁含量被分成矿石和岩石两种不同的石料。
每个铲位至多配备一台电动铲车进行装车,并由电动轮自卸卡车将矿石和岩石分别运送至各自的卸货地点,满足各卸点的产量和品位要求(29.5% 1%)。
卡车有其本身的平均速度,随机的装卸时间和载重。
根据所给定的条件,根据以下两条原则分别建立数学模型,并给出一个班次生产计划的快速算法,原则上在安排时不应发生卡车等待的情况。
1、总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;2、利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。
二、问题分析1、本题是一个有约束条件的组合优化问题,涉及到单车型多货种送货满载车辆的优化调度,因而属于NP难题(文献[1]),随着系统规模的扩大,问题的求解难度也大大增加,求解时间呈几何级数上升。
2、本问题最先应着重解决的是车辆的等待问题。
车辆在铲位和卸点的等待主要由三方面引起:(1) 随机因素造成运输和装卸时间不精确从而形成等待;(2) 由于车辆在不同道路上循环的周期不同所偶尔出现的在时间上的重叠。
这种交叉的可能性伴随着道路承载车辆数目的增加而增加,但也可以通过车辆自身的调整而加以避免,例如:改变路线、改变速度等;(3) 若车辆的密度超过了道路、铲点或卸点所能容纳的最大限,则在任意一个周期内都会出现的等待现象。
B题露天矿生产的车辆安排钢铁工业是国家工业的基础之一,铁矿是钢铁工业的主要原料基地。
许多现代化铁矿是露天开采的,它的生产主要是由电动铲车(以下简称电铲)装车、电动轮自卸卡车(以下简称卡车)运输来完成。
提高这些大型设备的利用率是增加露天矿经济效益的首要任务。
露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位已预先根据铁含量将石料分成矿石和岩石。
一般来说,平均铁含量不低于25%的为矿石,否则为岩石。
每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。
每个铲位至多能安置一台电铲,电铲的平均装车时间为5分钟。
卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。
从保护国家资源的角度及矿山的经济效益考虑,应该尽量把矿石按矿石卸点需要的铁含量(假设要求都为29.5% 1%,称为品位限制)搭配起来送到卸点,搭配的量在一个班次(8小时)内满足品位限制即可。
从长远看,卸点可以移动,但一个班次内不变。
卡车的平均卸车时间为3分钟。
所用卡车载重量为154吨,平均时速28hkm。
卡车的耗油量很大,每个班次每台车消耗近1吨柴油。
发动机点火时需要消耗相当多的电瓶能量,故一个班次中只在开始工作时点火一次。
卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。
电铲和卸点都不能同时为两辆及两辆以上卡车服务。
卡车每次都是满载运输。
每个铲位到每个卸点的道路都是专用的宽60m的双向车道,不会出现堵车现象,每段道路的里程都是已知的。
一个班次的生产计划应该包含以下内容:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次(因为随机因素影响,装卸时间与运输时间都不精确,所以排时计划无效,只求出各条路线上的卡车数及安排即可)。
一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求,而一个好的计划还应该考虑下面两条原则之一:1.总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。
露天矿生产的车辆安排摘要针对本问题的分析,我们按照“规划铲位到卸点的最优路线和次数→规划卸点回到铲位所需最优车辆资源数→根据以上两个规划寻求最优卡车调度方案”—三步走的方式,针对原则一和原则二分别建立数学模型如下:原则一:第一步:我们用整数规划的方法求取满足最优目标的由铲位到卸点的运输次数和路线,解决岩石和矿石的最优运输问题。
目标为总运量最小;第二步:根据第一步规划求得的运输路线及次数规划出卸点到铲位所需最优车辆资源数。
目标为空载时间最短,最小为吨公里;第三步:根据以上两个规划指导和求取相应调度问题。
目标为总发车次数最少。
对题目中的实际问题求得结果为:最少发车次数为13辆,铲车数为7。
原则二:目标1:最大的产量,并且满足产量、质量要求,同时优先考虑岩石产量并且总运量最小;由于问题已确定了车辆数,所以无需对车辆数范围的规划目标2:具体安排在解第二问时我们采用了一个快速算法,虽然不能保证每辆车都不等待,但避免了,大规模整数规划,所以我们认为这种简化是合理的。
最后,结合模型分析对模型进行了评价。
所用铲车数为7,卡车数为20,总运量:103488吨.一、问题的分析在满足对矿山采运资源的限制条件下,我们将该问题的两个目标转化为最优规化问题。
经分析后我们采用三步规划的方法,在可解的条件下,将问题划归为三个整数规划问题。
为达到问题的两个最优目标,我们采用目标到调度的逆向分析方法,以“规划铲位到卸点的最优路线和次数→规划卸点回到铲位所需最优车辆资源数→根据以上两个规划指导和求取相应调度问题”三步走的方式求解问题的最终目标。
首先我们用整数规划的方法求取满足最优目标的由铲位到卸点的运输次数和路线,解决岩石和矿石的最优运输问题。
其次,再根据第一步规划求得的运输路线及次数规划出卸点到铲位所需最优车辆资源数。
最后,根据前两步结果,指导和安排相应车辆的调度,达到第一步对最优目标的规划。
二、模型的假设及说明在已满足题目中所有假设条件的前提下,我们补充两点如下:1). 模型只考虑满足题目要求的调度计划本身,而不考虑如何保证一个计划的内容在现实过程中实现;2). 卡车在一个班次中始终保持正常运行,不出故障;3). 电铲和卸点都不能同时为两辆及两辆以上卡车服务。
数学建模案例精选知到章节测试答案智慧树2023年最新济南大学第一章测试1.在商人过河问题中,如果设彼岸的人数情况为案例中的变量,则状态转移函数变为()参考答案:s k+1=s k +(-1)k+1 d k2.下面哪一个不是商人过河允许的状态()参考答案:(2,1)3.关于商人过河问题,下面说法错误的是()参考答案:商人过河要保证每一岸的商人数和随从数一样多4.关于路障间距设计问题,说法不正确的()参考答案:不可以假设汽车做匀速运动5.关于机理分析说法不正确的是()参考答案:将研究对象看做一个黑箱第二章测试1.Lingo软件不可以直接求解哪一类优化模型().参考答案:多目标规划2.在露天矿生产的车辆安排问题中,已知铲位1到岩石漏距离为5.26km,车辆平均速度为28km/h,请问这条线路上运行一个周期平均所需时间Tij为()(请保留两位小数).参考答案:8.38;30.54;19.273.在露天矿生产的车辆安排问题中,基本假设不变,若某天线路上的T ij=19分钟,车辆开始工作的时间可以不同,工作后车辆不会发生等待,则该线路上最多可以安排()辆卡车?参考答案:44.在露天矿生产的车辆安排问题中,基本假设不变,若某天线路上的Tij=17分钟,安排3辆车在该线路上工作,开始工作的时间可以不同,开始工作后车辆不会发生等待,则三辆车在一个班次内的最大运算趟数是()?参考答案:28,27,275.在露天矿生产的车辆安排问题中,基本假设不变,车辆开始工作的时间可以不同,开始工作后车辆不会发生等待,若可以安排3辆车在同一条线路上工作,则三辆车在一个班次(8小时)内的工作时间(分钟)不可能是().参考答案:479,471,474第三章测试1.假设快速喝下1瓶啤酒,酒精从肠胃向体液的转移速度与胃肠中的酒精含量x成正比,比例系数为k,则得到的微分方程为?()。
参考答案:2.模型中有未知参数,给定了测试数据,确定参数的最佳方法为()。
一、生产计划问题的Matlab 求解某工厂拥有A 、B 、C 三种类型的设备,生产甲、乙、丙、丁四种产品。
每件产品在生产中需要占用的设备机时数,每件产品可以获得的利润以及三种设备可利用的时数如下表所示:如何安排生产使利润最大。
二、工厂-销售点配置问题生产厂 顾客需求销售点问题: 为使经营成本最低,应开设那些工厂及销售点?三、选址问题某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨)记(x j,y j),j=1,2, 日储量e j各有20吨。
目标:制定每天的供应计划,即从A, B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。
四、最短路问题求各点到T的最短路五、钢管下料问题问题1. 如何下料最节省 ?问题2. 客户增加需求:由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。
如何下料最节省?六、露天矿生产的车辆安排问题露天矿里铲位已分成矿石和岩石: 平均铁含量不低于25%的为矿石,否则为岩石。
每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。
每个铲位至多安置一台电铲,电铲平均装车时间5分钟。
矿石卸点需要的铁含量要求都为29.5% 1%(品位限制),搭配量在一个班次(8小时)内满足品位限制即可。
卸点在一个班次内不变。
卡车载重量为154吨,平均时速28km,平均卸车时间为3分钟。
卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。
问题:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次 ?原料钢管:每根19米 4米50根6米20根8米15根5米10根七、食谱问题的Lingo求解小李的食谱由四种食品组成:果仁巧克力,冰淇淋,可乐,奶酪,水果.一块果仁巧克力价格为30 美分,一杯冰淇淋价格为10美分, 一瓶可乐价格为20美分, 一块奶酪价格为50美分,一个水果12美分.我每天的营养最低需求: 600 卡路里,8八、用Matlab和Lingo求解生产问题。
基础题:1.目标规划问题最近,某节能灯具厂接到了订购16000套A 型和B 型节能灯具的订货合同,合同中没有对这两种灯具的各自数量做要求,但合同要求工厂在一周内完成生产任务并交货。
根据该厂的生产能力,一周内可以利用的生产时间为20000min ,可利用的包装时间为36000min 。
生产完成和包装一套A 型节能灯具各需要2min ;生产完成和包装完成一套B 型节能灯具各需要1min 和3min 。
每套A 型节能灯成本为7元,销售价为15元,即利润为8元;每套B 型节能灯成本为14元,销售价为20元,即利润为6元。
厂长首先要求必须按合同完成订货任务,并且即不要有足量,也不要有超量。
其次要求满意销售额达到或者尽量接近275000元。
最后要求在生产总时间和包装总时间上可以有所增加,但过量尽量地小。
同时注意到增加生产时间要比包装时间困难得多。
试为该节能灯具厂制定生产计划。
解:将题中数据列表如下:根据问题的实际情况,首先分析确定问题的目标级优先级。
第一优先级目标:恰好完成生产和包装完成节能灯具16000套,赋予优先因子p1;第二优先级目标:完成或者尽量接近销售额为275000元,赋予优先因子p2; 第三优先级目标:生产和包装时间的增加量尽量地小,赋予优先因子p3; 然后建立相应的目标约束。
在此,假设决策变量12,x x 分别表示A 型,B 型节能灯具的数量。
(1) 关于生产数量的目标约束。
用1d -和1d +分别表示未达到和超额完成订货指标16000套的偏差量,因此目标约束为1111211min ,..16000z d d s t x x d d -+-+=+++-=要求恰好达到目标值,即正、负偏差变量都要尽可能地小(2) 关于销售额的目标约束。
用2d -和2d +分别表示未达到和超额完成满意销售指标275000元的偏差值。
因此目标约束为221222min ,..1520-275000.z d s t x x d d --+=++=要求超过目标值,即超过量不限,但必须是负偏差变量要尽可能地小,(另外:d +要求不超过目标值,即允许达不到目标值,就是正偏差变量要尽可能地小) (3) 关于生产和包装时间的目标约束。
例 露天矿生产的车辆安排(CMCM2003B )
钢铁工业是国家工业的基础之一,铁矿是钢铁工业的主要原料基地。
许多现代化铁矿是露天开采的,它的生产主要是由电动铲车(以下简称电铲)装车、电动轮自卸卡车(以下简称卡车)运输来完成。
提高这些大型设备的利用率是增加露天矿经济效益的首要任务。
露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位已预先根据铁含量将石料分成矿石和岩石。
一般来说,平均铁含量不低于25%的为矿石,否则为岩石。
每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。
每个铲位至多能安置一台电铲,电铲的平均装车时间为5分钟。
卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。
从保护国家资源的角度及矿山的经济效益考虑,应该尽量把矿石按矿石卸点需要的铁含量(假设要求都为% 1%,称为品位限制)搭配起来送到卸点,搭配的量在一个班次(8小时)内满足品位限制即可。
从长远看,卸点可以移动,但一个班次内不变。
卡车的平均卸车时间为3分钟。
所用卡车载重量为154吨,平均时速28h km 。
卡车的耗油量很大,每个班次每台车消耗近1吨柴油。
发动机点火时需要消耗相当多的电瓶能量,故一个班次中只在开始工作时点火一次。
卡车在等待时所耗费的能量也是相当可观的,原则上在安排时不应发生卡车等待的情况。
电铲和卸点都不能同时为两辆及两辆以上卡车服务。
卡车每次都是满载运输。
每个铲位到每个卸点的道路都是专用的宽60m 的双向车道,不会出现堵车现象,每段道路的里程都是已知的。
一个班次的生产计划应该包含以下内容:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次(因为随机因素影响,装卸时间与运输时间都不精确,所以排时计划无效,只求出各条路线上的卡车数及安排即可)。
一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求,而一个好的计划还应该考虑下面两条原则之一:
1.总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;
2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。
请你就两条原则分别建立数学模型,并给出一个班次生产计划的快速算法。
针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。
某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。
各卸点一个班次的产量要求:矿石漏万吨、倒装场Ⅰ万吨、倒装场Ⅱ万吨、岩石漏万吨、岩场万吨。
model:
title CUMCM-2003B-01;
sets:
cai / 1..10 /:crate,cnum,cy,ck,flag;
xie / 1 .. 5 /:xsubject,xnum;
link( xie,cai ):distance,lsubject,number,che,b; endsets
data:
crate=30 28 29 32 31 33 32 31 33 31;
xsubject= ;
distance=
;
cy = ;
ck = ;
enddata
!目标函数;
min=@sum( cai (i):
@sum ( xie (j):
number (j,i)*154*distance (j,i)));
!max =@sum(link(i,j):number(i,j));
!max=xnum (3)+xnum (4)+xnum (1)+xnum (2)+xnum(5); !min=@sum( cai (i):
! @sum ( xie (j):
! number (j,i)*154*distance (j,i)));
!xnum (1)+xnum (2)+xnum(5)=340;
!xnum (1)+xnum (2)+xnum(5)=341;
!xnum (3)=160;
!xnum (4)=160;
!卡车每一条路线上最多可以运行的次数;
@for (link (i,j):
b(i,j)=@floor((8*60-(@floor((distance(i,j)/28*60*2+3+5)/5)-1)*5)/(distance(i,j)/28* 60*2+3+5)));
!b(i,j)=@floor(8*60/(distance(i,j)/28*60*2+3+5)));
!t(i,j)=@floor((distance(i,j)/28*60*2+3+5)/5);
!b(i,j)=@floor((8*60-(@floor((distance(i,j)/28*60*2+3+5)/5))*5)/(distance(i,j)/28*6 0*2+3+5)));
!每一条路线上的最大总车次的计算;
@for( link (i,j):
lsubject(i,j)=(@floor((distance(i,j)/28*60*2+3+5)/5))*b(i,j));
!计算各个铲位的总产量;
@for (cai(j):
cnum(j)=@sum(xie(i):number(i,j)));
!计算各个卸点的总产量;
@for (xie(i):
xnum(i)=@sum(cai(j):number(i,j)));
!道路能力约束;
@for (link (i,j):
number(i,j)<=lsubject(i,j));
!电铲能力约束;
@for (cai (j) :
cnum(j) <= flag(j)*8*60/5 );
!电铲数量约束 ---- added by Xie Jinxing, 2003-09-07;
@sum(cai(j): flag(j) ) <=7;
!卸点能力约束;
@for (xie (i):
xnum (i)<=8*20);
!铲位产量约束;
@for (cai (i): number(1,i)+number(2,i)+number(5,i)<=ck(i)*10000/154);
@for (cai (i): number(3,i)+number(4,i)<=cy(i)*10000/154);
!产量任务约束;
@for (xie (i):
xnum (i)>= xsubject (i)*10000/154);
!铁含量约束;
@sum(cai (j):
number(1,j)*(crate(j) )<=0;
@sum(cai (j):
number(2,j)*(crate(j) )<=0;
@sum(cai (j):
number(5,j)*(crate(j) )<=0;
@sum(cai (j):
number(1,j)*(crate(j) )>=0;
@sum(cai (j):
number(2,j)*(crate(j) )>=0;
@sum(cai (j):
number(5,j)*(crate(j) )>=0;
!关于车辆的具体分配;
@for (link (i,j):
che (i,j)=number (i,j)/b(i,j));
!各个路线所需卡车数简单加和;
hehe=@sum (link (i,j): che (i,j));
!整数约束;
@for (link (i,j): @gin(number (i,j))); @for (cai (j): @bin(flag (j)));
!车辆能力约束;
hehe<=20;
ccnum=@sum(cai (j): cnum(j) );
end。