18 R(5,5) R(5,2) R(7,2) R(10,5) 12 1 11 1 25 10 2 34 7 19 20 R(8,3) R(10,3) R(10,3) R(10,5) R(7,2)
至此 ,模型二的求解结束,选择1、2、3、5、7、8、10共7个铲点,出动20辆卡车,获得的最大产量为100716吨,其中矿石产量为55594吨,岩石产量为45122吨。
五.模型的评价
优点:
1.模型中假设车次都是往返于指定线路,简化了问题,便于找到合适的线性模型,同时也符合实际,便于工作人员对车辆进行调度。
2.在车次安排上面,充分考虑了线路问题,为尽可能减少空载运行距离,当线路变动时,并不是盲目变动,而是选择就近线路继续运输,这样一来有些车次完成任务后并不需要回到原来的铲点,直接从卸点开始另外的任务,节省了时间和路程。
缺点:
1.模型中后半部分的车辆安排,计算量太大,由于时间关系并未给出合理的计算程序或快捷的通用算法,不易于推广。
2.在分配变动车次时,有些变动卡车需要从一个铲位调到另一个铲位工作,其中定要再消耗一定时间和里程,本次计算中并未考虑,在实际中会引起矛盾。 3.对于模型一和模型二求出的最优解只是相对于选定的铲位而言,并不是对
710个铲位而言的最优解,由于对于每种模型铲位的选取都有C10=120种可能,穷
举运算量太大,所以只是选取了相对好的解。
参考文献
【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
11
(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.89 5.19 0.99 3.86 1.76 5.61 4.21 1.9 3.72 1.27 5.61 4 1.13 3.16 1.83 4.56 2.95 1.27 2.25 2.74 3.51 2.74 2.25 2.81 2.6 3.65 2.46 1.48 0.78 4.21 2.46 1.9 2.04 1.62 3.72 2.46 0.64 3.09 1.27 5.05 1.06 1.27 3.51 0.5 6.1 0.57; enddata
min=@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(chandian(i):154*checi(i,j)))>=0.285;);
@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chandian(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););
12
附录二
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.89 5.19 0.99 3.86 1.76 5.61 4.21 1.9 3.72 1.27 5.61 4 1.13 3.16 1.83 4.56 2.95 1.27 2.25 2.74 3.51 2.74 2.25 2.81 2.6 3.65 2.46 1.48 0.78 4.21 2.46 1.9 2.04 1.62 3.72 2.46 0.64 3.09 1.27 5.05 1.06 1.27 3.51 0.5 6.1 0.57; enddata
max=@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(chandian(i):154*checi(i,j)))>=0.285;);
@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chandian(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; endsets data:
kuangshi=9500,10500,10000,11000,10500,13000,12500;
13
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.89 5.19 0.99 3.86 1.76 5.61 4.21 1.9 3.72 1.27 5.61 2.95 1.27 2.25 2.74 3.51 2.46 1.48 0.78 4.21 2.46 1.9 2.04 1.62 3.72 2.46 1.27 3.51 0.5 6.1 0.57; enddata
max=@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(chandian(i):154*checi(i,j)))>=0.285;);
@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chandian(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; endsets data:
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.89 5.19 0.99 3.86 1.76 5.61 4.21 1.9 3.72 1.27 5.61
14
4 1.13 3.16 1.83 4.56 1.9 2.04 1.62 3.72 2.46 0.64 3.09 1.27 5.05 1.06 1.27 3.51 0.5 6.1 0.57; enddata
max=@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(chandian(i):154*checi(i,j)))>=0.285;);
@for(xiedian(j)|j#LT#4:(@sum(chandian(i):154*checi(i,j)*hantieliang(i)))/(@sum(chandian(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
15