摘要本片论文通过建立线性约束模型,并用lingo进行求解,分别对所给的模型一和模型二求解。
我们首先确定模型一和模型二求解时所用的铲位,分别以模型一和模型二的要求为目标函数,题中各类要求为约束函数,在10个铲位的情况下,通过lingo 软件编程求解得到最优解,通过最优解分别剔除掉利用率最低的三个铲点,为下来模型的求解做铺垫。
针对模型一,我们确定了铲位1、2、3、4、8、9、10共7个铲位,以模型一的要求为目标函数,题中各类要求为约束函数,在确定铲位的情况下,求解得到需要出动7个电铲,13辆卡车,得到在满足各类条件的要求下最小运量为85628.6吨公里。
并得到了13辆卡车的最优运输路线,具体参见下文。
针对模型二,我们确定了1、2、3、5、7、8、10共7个铲位,类似于模型一的求解,通过lingo编程求得需要出动7辆铲车,20辆卡车,得到在满足各类条件的要求下最大产量为100716吨,其中矿石产量为55594吨,岩石产量为45122吨。
同时通过使卡车空载运行里程最短,也求出了20辆卡车在各条线路上的分配情况,具体参见下文。
论文最后我们也剖析了所选用模型的优点和需要改进的地方,也与实际联系比较。
关键词:露天矿车辆安排线性规划约束条件最优解 lingo露天矿生产的车辆安排一.问题重述铁矿是钢铁工业的主要原料基地,它的生产主要是由电铲装车、卡车运输来完成。
提高这些大型设备的利用率是增加露天矿经济效益的首要任务。
铲位情况:露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位将石料分成矿石和岩石。
每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。
每个铲位至多能安置一台电铲,电铲的平均装车时间为5分钟。
卸点情况:卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。
矿石卸点需要的铁含量假设要求都为29.5% 1%,称为品位限制,搭配的量在一个班次(8小时)内满足品位限制即可。
卸点一个班次内不变。
卡车的平均卸车时间为3分钟。
所用卡车情况:km。
卡车每个班次每台车消耗近所用卡车载重量为154吨,平均时速28h1吨柴油。
在安排时不应发生卡车等待的情况。
电铲和卸点都不能同时为两辆及两辆以上卡车服务。
卡车每次都是满载运输。
车道情况:每个铲位到每个卸点的道路都是专用的宽60m的双向车道,不会出现堵车现象,每段道路的里程都是已知的。
求解要求:卡车不等待条件下满足产量和品位要求,并分别满足下列条件;1.总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。
请你就两条原则分别建立数学模型,并给出一个班次生产计划的快速算法。
针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。
某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。
各卸点一个班次的产量要求:矿石漏1.2万吨、倒装场Ⅰ1.3万吨、倒装场Ⅱ1.3万吨、岩石漏1.9万吨、岩场1.3万吨。
二.问题的假设1)为了方便调度卡车,假设优先安排使卡车尽量往返于指定线路上。
2)假设一个班次内卡车中途不停歇。
3)电铲和卡车在一个班次的时间内都要正常工作,不需要维修。
4)题中所给的数据都是准确无误的。
5)只考虑一个班次的生产计划。
6)电铲和卸点都不能同时为两辆及两辆以上的卡车服务。
7)卡车的调头时间可以忽略不计。
8)假设一个班次内卸点不发生改变。
三.符号的说明N表示往返于第i个铲点和第j个卸点的车次数;ijL表示第i个铲点到第j个卸点的距离;ijK为第i个铲点可提供的矿石量;iY为第i个铲点可提供的岩石量;iQ为第j个卸点需要的石料量;jP为第i个铲点矿石的含铁量;iT一次往返所需时间;ijM所需固定卡车数;ijG所需固定车次;ijB所需变动车次。
ij四.基于线性规划的模型的建立4.1 7个铲位的确定有10个铲位,却只有7量铲车,题目中并没有要求尽量减少铲车的数目,为了在8小时内完成任务,我们假设7量铲车都工作,我们第一步需要做的就是确定铲车工作的7个铲位。
首先假设10个铲位都有铲车,根据线性约束条件求出最优解,然后选取解中装车次数最多的7个铲位为所用铲位。
4.1.1 针对目标一的铲位的确定针对原则一,目标函数为:min∑∑==10151154i j ij ijL N其中ij N 表示往返于第i 个铲点和第j 个卸点的车次数,ij L 表示第i 个铲点到第j 个卸点的距离。
约束条件有:(1)铲点所供石料量限制: i j ij K N ≤∑=31154i j ij Y N ≤∑=54154其中i K 为第i 个铲点可提供的矿石量,i Y 为第i 个铲点可提供的岩石量; (2)卸点所需石料量限制: j i ij Q N ≥∑=101154其中j Q 为第j 个卸点需要的石料量;(3)品位限制: 305.0154154285.0101101≤≤∑∑==i iji iijNP N(j=1、2、3;)其中i P 为第i 个铲点矿石的含铁量;(4)时间限制: 608551⨯≤⨯∑=j ij N6083101⨯≤⨯∑=i ij N在lingo 软件中求解(程序参见附录一)得:表1 模型一10个铲位到卸点的运输车次由上表可看出铲位5和6没有用到,从铲位的装车次数来看,铲位7的装车次数为2,是最少,故铲位5、6、7被淘汰,7个铲车分别安排在铲位1、铲位2、铲位3、铲位4、铲位8、铲位9、铲位10。
4.1.2 针对目标二的铲位的确定针对目标二,其约束条件不变,目标函数变为: max ∑∑==10151154i j ij N用lingo 求解(程序参见附录二)得:由上表中最后一行易知,铲位6、9、4的装车车次相对来说最少,故被淘汰,针对模型二,选用的铲位为1、2、3、5、7、8、10。
4.2 基于线性规划对模型一、二的求解 4.2.1 对模型一的求解7个铲位确定后对公式中无关变量进行剔除,并加上限制条件,使所用卡车不超过20辆:60820)2860253(51⨯⨯≤⨯⨯++⨯∑∑=ijij ij L N同样通过lingo 求解(程序参见附录三)可得:表3 模型一7个铲位到卸点的运输车次然后,对各条线路进行卡车车辆分配,其中,我们把卡车分为固定和变动两类,固定类的卡车一个班次内只在指定条线路上往返运输,变动类的卡车可中途变化运输路线。
我们首先求出每条线路上所需固定类的卡车数目,为了调度简便,我们假设优先最大量的安排固定类卡车,每条线路上的固定卡车数目计算方法如下:固定卡车数目=]]/480[[一次往返所需时间该条线路所需车次公式中[]表示取整其中, 一次往返所需时间:ij T = 3+5+28602ijL ⨯⨯继而,可算出每条线路固定车次:固定车次=]480[一次往返所需时间固定卡车数目⨯故可得下表:表4 模型一各线路上卡车数目表5 模型一各路线固定卡车数此时共用了7辆卡车,为计算各条线路变动卡车数,画出更直观的变动车次与线路关系如下图:图1 变动车次与线路关系当一辆卡车在R(1,4)上运输了37次后,有两种选择,要么从铲点1继续装载运往其他卸点,要么不再返回铲点1,直接从岩石漏出发去往其他需要的铲点,根据这种临近选择路线的方法,我们得到模型一的变动车辆安排如下:表6 模型一各线路上变动车次的安排卡车编号运行线路运行车次8R(1,4)37 R(3,4)59R(10,5)15R(9,5)25 10R(2,1)13R(8,1)5 11R(8,1)20R(10,1)11 12R(10,3)23R(3,3)2R(2,3)713R(2,3)6 R(2,2)3 R(4,2)6 R(9,5)7 R(3,4)3至此,对于模型一的求解结束,共需13辆卡车,7辆铲车,最小运量为85628.6吨公里,在实际中,变动车次安排中大部分车辆直接从卸点开始变动到另一线路,并未返回到原来铲点,节省了不少时间和路程,为了计算方便,运算过程中并未考虑这些,故可以轻松完成任务,并且总的运量更小。
4.2.2 模型二的求解选用的铲位为1、2、3、5、7、8、10,类似于模型一的求解,变换目标函数并剔除不必要的变量,并加上限制条件,使所用卡车不超过20辆:60820)2860253(51⨯⨯≤⨯⨯++⨯∑∑=ijij ij L N利用lingo 求解(程序参见附录四)得:由于时间原因,从铲点7运往倒装场I的矿石最多只能运19次,比计算出的少了6次,有计算可知,并不影响倒装场I的品位要求,故可舍弃。
得到的车次安排如下:表9 模型二的卡车分配至此,模型二的求解结束,选择1、2、3、5、7、8、10共7个铲点,出动20辆卡车,获得的最大产量为100716吨,其中矿石产量为55594吨,岩石产量为45122吨。
五.模型的评价优点:1.模型中假设车次都是往返于指定线路,简化了问题,便于找到合适的线性模型,同时也符合实际,便于工作人员对车辆进行调度。
2.在车次安排上面,充分考虑了线路问题,为尽可能减少空载运行距离,当线路变动时,并不是盲目变动,而是选择就近线路继续运输,这样一来有些车次完成任务后并不需要回到原来的铲点,直接从卸点开始另外的任务,节省了时间和路程。
缺点:1.模型中后半部分的车辆安排,计算量太大,由于时间关系并未给出合理的计算程序或快捷的通用算法,不易于推广。
2.在分配变动车次时,有些变动卡车需要从一个铲位调到另一个铲位工作,其中定要再消耗一定时间和里程,本次计算中并未考虑,在实际中会引起矛盾。
3.对于模型一和模型二求出的最优解只是相对于选定的铲位而言,并不是对10个铲位而言的最优解,由于对于每种模型铲位的选取都有7C=120种可能,穷10举运算量太大,所以只是选取了相对好的解。
参考文献【1】网络优化赫孝良【2】姜启源,谢金星,叶俊.数学模型.高等教育出版社.2011.1【3】露天矿生产的车辆安排赵航陈哲李辉【4】李继承.数学实验.高等教育出版社.2006.10【5】工程数学学报 2003年12月第20卷第7期文章编号:1005-3085(2003)07-0069-07【6】工程数学学报 2003年12月第20卷第7期文章编号:1005-3085 (2003)07-0083-07【7】四川理工学院学报(自然科学版)2004年12月第17卷第3•4期文章标号1008-438X(2004)03-04-0099-05附录一data:kuangshi=9500,10500,10000,10500,11000,12500,10500,13000,13500,12500;yanshi=12500,11000,13500,10500,11500,13500,10500,11500,13500,12500;hantieliang=0.3,0.28,0.29,0.32,0.31,0.33,0.32,0.31,0.33,0.31;shiliao=12000,13000,13000,19000,13000;juli=5.26 1.9 4.42 0.64 5.895.19 0.99 3.86 1.76 5.614.21 1.9 3.72 1.275.614 1.13 3.16 1.83 4.562.95 1.27 2.25 2.743.512.74 2.25 2.81 2.63.652.46 1.48 0.78 4.21 2.461.92.04 1.623.72 2.460.64 3.09 1.27 5.05 1.061.27 3.51 0.5 6.1 0.57;enddatamin=@sum(link:154*checi*juli);@for(chandian(i):@sum(xiedian(j)|j#LT#4:154*checi(i,j))<=kuangshi(i););@for(chandian(i):@sum(xiedian(j)|j#GT#3:154*checi(i,j))<=yanshi(i););@for(xiedian(j):@sum(chandian(i):154*checi(i,j))>=shiliao(j););@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))>=0.285;);@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))<=0.305;);@for(chandian(i):@sum(xiedian(j):5*checi(i,j))<=480;);@for(xiedian(j):@sum(chandian(i):3*checi(i,j))<=480;);@for(link:@gin(checi););附录二data:kuangshi=9500,10500,10000,10500,11000,12500,10500,13000,13500,12500;yanshi=12500,11000,13500,10500,11500,13500,10500,11500,13500,12500;hantieliang=0.3,0.28,0.29,0.32,0.31,0.33,0.32,0.31,0.33,0.31;shiliao=12000,13000,13000,19000,13000;juli=5.26 1.9 4.42 0.64 5.895.19 0.99 3.86 1.76 5.614.21 1.9 3.72 1.275.614 1.13 3.16 1.83 4.562.95 1.27 2.25 2.743.512.74 2.25 2.81 2.63.652.46 1.48 0.78 4.21 2.461.92.04 1.623.72 2.460.64 3.09 1.27 5.05 1.061.27 3.51 0.5 6.1 0.57;enddatamax=@sum(link:154*checi);@for(chandian(i):@sum(xiedian(j)|j#LT#4:154*checi(i,j))<=kuangshi(i););@for(chandian(i):@sum(xiedian(j)|j#GT#3:154*checi(i,j))<=yanshi(i););@for(xiedian(j):@sum(chandian(i):154*checi(i,j))>=shiliao(j););@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))>=0.285;);@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))<=0.305;);@for(chandian(i):@sum(xiedian(j):5*checi(i,j))<=480;);@for(xiedian(j):@sum(chandian(i):3*checi(i,j))<=480;);@for(link:@gin(checi););end附录三model:title:mine problem;sets:chandian/1..7/:kuangshi,yanshi,hantieliang;xiedian/1..5/:shiliao;link(chandian,xiedian):checi,juli;endsetsdata:kuangshi=9500,10500,10000,11000,10500,13000,12500;yanshi=12500,11000,13500,11500,10500,11500,12500;hantieliang=0.3,0.28,0.29,0.31,0.32,0.31,0.31;shiliao=12000,13000,13000,19000,13000;juli=5.26 1.9 4.42 0.64 5.895.19 0.99 3.86 1.76 5.614.21 1.9 3.72 1.275.612.95 1.27 2.25 2.743.512.46 1.48 0.78 4.21 2.461.92.04 1.623.72 2.461.27 3.51 0.5 6.1 0.57;enddatamax=@sum(link:154*checi);@for(chandian(i):@sum(xiedian(j)|j#LT#4:154*checi(i,j))<=kuangshi(i););@for(chandian(i):@sum(xiedian(j)|j#GT#3:154*checi(i,j))<=yanshi(i););@for(xiedian(j):@sum(chandian(i):154*checi(i,j))>=shiliao(j););@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))>=0.285;);@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))<=0.305;);@for(chandian(i):@sum(xiedian(j):5*checi(i,j))<=480;);@for(xiedian(j):@sum(chandian(i):3*checi(i,j))<=480;);@for(link:@sum(link:checi*(8+30*juli/7))<=9600;);@for(link:@gin(checi););end附录四model:title:mine problem;sets:chandian/1..7/:kuangshi,yanshi,hantieliang;xiedian/1..5/:shiliao;link(chandian,xiedian):checi,juli;endsetsdata:kuangshi=9500,10500,10000,10500,13000,13500,12500;yanshi=12500,11000,13500,10500,11500,13500,12500;hantieliang=0.3,0.28,0.29,0.32,0.31,0.33,0.31;shiliao=12000,13000,13000,19000,13000;juli=5.26 1.9 4.42 0.64 5.895.19 0.99 3.86 1.76 5.614.21 1.9 3.72 1.275.614 1.13 3.16 1.83 4.561.92.04 1.623.72 2.460.64 3.09 1.27 5.05 1.061.27 3.51 0.5 6.1 0.57;enddatamax=@sum(link:154*checi);@for(chandian(i):@sum(xiedian(j)|j#LT#4:154*checi(i,j))<=kuangshi(i););@for(chandian(i):@sum(xiedian(j)|j#GT#3:154*checi(i,j))<=yanshi(i););@for(xiedian(j):@sum(chandian(i):154*checi(i,j))>=shiliao(j););@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))>=0.285;);@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chan dian(i):154*checi(i,j)))<=0.305;);@for(chandian(i):@sum(xiedian(j):5*checi(i,j))<=480;);@for(xiedian(j):@sum(chandian(i):3*checi(i,j))<=480;);@for(link:@sum(link:checi*(8+30*juli/7))<=9600;);@for(link:@gin(checi););end(注:可编辑下载,若有不当之处,请指正,谢谢!)。