露天矿生产的车辆安排数学建模论文.docx

上传人:b****7 文档编号:10371362 上传时间:2023-02-10 格式:DOCX 页数:21 大小:83.09KB
下载 相关 举报
露天矿生产的车辆安排数学建模论文.docx_第1页
第1页 / 共21页
露天矿生产的车辆安排数学建模论文.docx_第2页
第2页 / 共21页
露天矿生产的车辆安排数学建模论文.docx_第3页
第3页 / 共21页
露天矿生产的车辆安排数学建模论文.docx_第4页
第4页 / 共21页
露天矿生产的车辆安排数学建模论文.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

露天矿生产的车辆安排数学建模论文.docx

《露天矿生产的车辆安排数学建模论文.docx》由会员分享,可在线阅读,更多相关《露天矿生产的车辆安排数学建模论文.docx(21页珍藏版)》请在冰豆网上搜索。

露天矿生产的车辆安排数学建模论文.docx

露天矿生产的车辆安排数学建模论文

Themanuscriptwasrevisedontheeveningof2021

 

露天矿生产的车辆安排数学建模论文

 

摘要

本片论文通过建立线性约束模型,并用lingo进行求解,分别对所给的模型一和模型二求解。

我们首先确定模型一和模型二求解时所用的铲位,分别以模型一和模型二的要求为目标函数,题中各类要求为约束函数,在10个铲位的情况下,通过lingo软件编程求解得到最优解,通过最优解分别剔除掉利用率最低的三个铲点,为下来模型的求解做铺垫。

针对模型一,我们确定了铲位1、2、3、4、8、9、10共7个铲位,以模型一的要求为目标函数,题中各类要求为约束函数,在确定铲位的情况下,求解得到需要出动7个电铲,13辆卡车,得到在满足各类条件的要求下最小运量为吨公里。

并得到了13辆卡车的最优运输路线,具体参见下文。

针对模型二,我们确定了1、2、3、5、7、8、10共7个铲位,类似于模型一的求解,通过lingo编程求得需要出动7辆铲车,20辆卡车,得到在满足各类条件的要求下最大产量为100716吨,其中矿石产量为55594吨,岩石产量为45122吨。

同时通过使卡车空载运行里程最短,也求出了20辆卡车在各条线路上的分配情况,具体参见下文。

论文最后我们也剖析了所选用模型的优点和需要改进的地方,也与实际联系比较。

关键词:

露天矿车辆安排线性规划约束条件最优解lingo

 

露天矿生产的车辆安排

一.问题重述

铁矿是钢铁工业的主要原料基地,它的生产主要是由电铲装车、卡车运输来完成。

提高这些大型设备的利用率是增加露天矿经济效益的首要任务。

铲位情况:

露天矿里有若干个爆破生成的石料堆,每堆称为一个铲位,每个铲位将石料分成矿石和岩石。

每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。

每个铲位至多能安置一台电铲,电铲的平均装车时间为5分钟。

卸点情况:

卸货地点(以下简称卸点)有卸矿石的矿石漏、2个铁路倒装场(以下简称倒装场)和卸岩石的岩石漏、岩场等,每个卸点都有各自的产量要求。

矿石卸点需要的铁含量假设要求都为%

1%,称为品位限制,搭配的量在一个班次(8小时)内满足品位限制即可。

卸点一个班次内不变。

卡车的平均卸车时间为3分钟。

所用卡车情况:

所用卡车载重量为154吨,平均时速28

卡车每个班次每台车消耗近1吨柴油。

在安排时不应发生卡车等待的情况。

电铲和卸点都不能同时为两辆及两辆以上卡车服务。

卡车每次都是满载运输。

车道情况:

每个铲位到每个卸点的道路都是专用的宽60

的双向车道,不会出现堵车现象,每段道路的里程都是已知的。

求解要求:

卡车不等待条件下满足产量和品位要求,并分别满足下列条件;

1.总运量(吨公里)最小,同时出动最少的卡车,从而运输成本最小;

2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解)。

请你就两条原则分别建立数学模型,并给出一个班次生产计划的快速算法。

针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。

某露天矿有铲位10个,卸点5个,现有铲车7台,卡车20辆。

各卸点一个班次的产量要求:

矿石漏万吨、倒装场Ⅰ万吨、倒装场Ⅱ万吨、岩石漏万吨、岩场万吨。

二.问题的假设

1)为了方便调度卡车,假设优先安排使卡车尽量往返于指定线路上。

2)假设一个班次内卡车中途不停歇。

3)电铲和卡车在一个班次的时间内都要正常工作,不需要维修。

4)题中所给的数据都是准确无误的。

5)只考虑一个班次的生产计划。

6)电铲和卸点都不能同时为两辆及两辆以上的卡车服务。

7)卡车的调头时间可以忽略不计。

8)假设一个班次内卸点不发生改变。

三.符号的说明

表示往返于第i个铲点和第j个卸点的车次数;

表示第i个铲点到第j个卸点的距离;

为第i个铲点可提供的矿石量;

为第i个铲点可提供的岩石量;

为第j个卸点需要的石料量;

为第i个铲点矿石的含铁量;

一次往返所需时间;

所需固定卡车数;

所需固定车次;

所需变动车次。

 

四.基于线性规划的模型的建立

7个铲位的确定

有10个铲位,却只有7量铲车,题目中并没有要求尽量减少铲车的数目,为了在8小时内完成任务,我们假设7量铲车都工作,我们第一步需要做的就是确定铲车工作的7个铲位。

首先假设10个铲位都有铲车,根据线性约束条件求出最优解,然后选取解中装车次数最多的7个铲位为所用铲位。

针对目标一的铲位的确定

针对原则一,目标函数为:

其中

表示往返于第i个铲点和第j个卸点的车次数,

表示第i个铲点到第j个卸点的距离。

约束条件有:

(1)铲点所供石料量限制:

其中

为第i个铲点可提供的矿石量,

为第i个铲点可提供的岩石量;

(2)卸点所需石料量限制:

其中

为第j个卸点需要的石料量;

(3)品位限制:

(j=1、2、3;)

其中

为第i个铲点矿石的含铁量;

(4)时间限制:

在lingo软件中求解(程序参见附录一)得:

表1模型一10个铲位到卸点的运输车次

注:

表中空白处表示为零

铲位1

铲位2

铲位3

铲位4

铲位5

铲位6

铲位7

铲位8

铲位9

铲位10

矿石漏

13

52

13

倒装场

40

45

倒装场

15

2

68

岩石漏

81

43

岩场

70

15

由上表可看出铲位5和6没有用到,从铲位的装车次数来看,铲位7的装车次数为2,是最少,故铲位5、6、7被淘汰,7个铲车分别安排在铲位1、铲位2、铲位3、铲位4、铲位8、铲位9、铲位10。

针对目标二的铲位的确定

针对目标二,其约束条件不变,目标函数变为:

用lingo求解(程序参见附录二)得:

表2模型二10个铲位到卸点的运输车次

铲位1

铲位2

铲位3

铲位4

铲位5

铲位6

铲位7

铲位8

铲位9

铲位10

矿石漏

1

63

47

11

20

18

倒装场

4

51

1

25

35

9

35

倒装场

56

17

10

27

50

岩石漏

6

18

14

8

33

41

40

岩场

29

7

32

6

38

22

9

17

铲位车次总和

97

93

96

67

92

35

91

96

49

85

由上表中最后一行易知,铲位6、9、4的装车车次相对来说最少,故被淘汰,针对模型二,选用的铲位为1、2、3、5、7、8、10。

 

基于线性规划对模型一、二的求解

对模型一的求解

7个铲位确定后对公式中无关变量进行剔除,并加上限制条件,使所用卡车不超过20辆:

同样通过lingo求解(程序参见附录三)可得:

表3模型一7个铲位到卸点的运输车次

铲位1

铲位2

铲位3

铲位4

铲位8

铲位9

铲位10

矿石漏

13

54

11

倒装场

42

43

倒装场

13

2

70

岩石漏

81

43

岩场

70

15

 

然后,对各条线路进行卡车车辆分配,其中,我们把卡车分为固定和变动两类,固定类的卡车一个班次内只在指定条线路上往返运输,变动类的卡车可中途变化运输路线。

我们首先求出每条线路上所需固定类的卡车数目,为了调度简便,我们假设优先最大量的安排固定类卡车,每条线路上的固定卡车数目计算方法如下:

固定卡车数目=

公式中[]表示取整

其中,一次往返所需时间:

=3+5+

继而,可算出每条线路固定车次:

固定车次=

故可得下表:

表4模型一各线路上卡车数目

总车次

一次往返所需时间

所需固定卡车数

所需固定车次

所需变动车次

R(1,4)

81

1

44

37

R(2,1)

13

0

0

13

R(2,2)

42

1

39

3

R(2,3)

13

0

0

13

R(3,3)

2

24

0

0

2

R(3,4)

43

1

35

8

R(4,2)

43

1

37

6

R(8,1)

54

1

29

25

R(9,5)

70

1

38

32

R(10,1)

11

0

0

11

R(10,3)

70

1

47

23

R(10,5)

15

0

0

15

优先安排各铲点固定卡车数目如下表:

 

表5模型一各路线固定卡车数

R(1,4)

R(2,2)

R(3,5)

R(4,2)

R(8,1)

R(9,5)

R(10,3)

固定卡车编号

1

2

3

4

5

6

7

此时共用了7辆卡车,为计算各条线路变动卡车数,画出更直观的变动车次与线路关系如下图:

图1变动车次与线路关系

当一辆卡车在R(1,4)上运输了37次后,有两种选择,要么从铲点1继续装载运往其他卸点,要么不再返回铲点1,直接从岩石漏出发去往其他需要的铲点,根据这种临近选择路线的方法,我们得到模型一的变动车辆安排如下:

表6模型一各线路上变动车次的安排

卡车编号

运行线路

运行车次

8

R(1,4)

37

R(3,4)

5

9

R(10,5)

15

R(9,5)

25

10

R(2,1)

13

R(8,1)

5

11

R(8,1)

20

R(10,1)

11

12

R(10,3)

23

R(3,3)

2

R(2,3)

7

 

13

R(2,3)

6

R(2,2)

3

R(4,2)

6

R(9,5)

7

R(3,4)

3

 

至此,对于模型一的求解结束,共需13辆卡车,7辆铲车,最小运量为吨公里,在实际中,变动车次安排中大部分车辆直接从卸点开始变动到另一线路,并未返回到原来铲点,节省了不少时间和路程,为了计算方便,运算过程中并未考虑这些,故可以轻松完成任务,并且总的运量更小。

模型二的求解

选用的铲位为1、2、3、5、7、8、10,类似于模型一的求解,变换目标函数并剔除不必要的变量,并加上限制条件,使所用卡车不超过20辆:

利用lingo求解(程序参见附录四)得:

表7模型二7个铲位到卸点的运输车次

铲位1

铲位2

铲位3

铲位4

铲位8

铲位9

铲位10

矿石漏

20

59

倒装场

15

49

71

25

倒装场

19

26

43

25

15

岩石漏

81

28

50

1

岩场

12

28

12

81

 

表8模型二各线路上卡车数目

总车次

一次往返所需时间

所需固定卡车数

所需固定车次

所需变动车次

R(1,2)

15

0

0

15

R(1,4)

81

1

44

37

R(2,2)

49

1

39

10

R(2,3)

19

1

19

0

R(2,4)

28

0

0

28

R(3,1)

20

1

18

2

R(3,3)

26

1

20

6

R(3,4)

50

1

35

15

R(5,2)

71

2

70

1

R(5,4)

1

0

0

1

R(5,5)

12

0

0

12

R(7,2)

25

0

0

25

R(7,3)

43

1

42

1

R(7,5)

28

1

25

3

R(8,1)

59

2

58

1

R(8,3)

25

0

0

1

R(8,5)

12

0

0

12

R(10,3)

15

0

0

1

R(10,5)

81

1

45

36

由于时间原因,从铲点7运往倒装场

的矿石最多只能运19次,比计算出的少了6次,有计算可知,并不影响倒装场

的品位要求,故可舍弃。

得到的车次安排如下:

卡车编号

运行线路

运行车次

1

R(1,4)

44

2

R(2,2)

39

3

R(2,3)

19

R(10,5)

1

4

R(3,1)

18

R(10,3)

1

5

R(3,3)

20

6

R(3,4)

35

7

R(5,2)

35

8

R(5,2)

35

9

R(7,3)

42

10

R(7,5)

25

R(7,2)

1

11

R(8,1)

29

R(10,3)

1

12

R(8,1)

29

R(10,3)

1

表9模型二的卡车分配

13

R(10,5)

45

14

R(1,4)

37

R

5

15

R(1,2)

15

R(2,2)

10

R(2,4)

7

16

R(2,4)

16

R(3,4)

15

R(3,1)

1

 

17

R(3,1)

1

R(3,3)

6

R(7,3)

1

R(7,5)

3

R(8,5)

12

R(8,1)

1

 

 

18

R(5,4)

1

R(5,5)

12

R(5,2)

1

R(7,2)

11

R(10,5)

1

19

R(8,3)

25

R(10,3)

10

20

R(10,3)

2

R(10,5)

34

R(7,2)

7

 

至此,模型二的求解结束,选择1、2、3、5、7、8、10共7个铲点,出动20辆卡车,获得的最大产量为100716吨,其中矿石产量为55594吨,岩石产量为45122吨。

五.模型的评价

优点:

1.模型中假设车次都是往返于指定线路,简化了问题,便于找到合适的线性模型,同时也符合实际,便于工作人员对车辆进行调度。

2.在车次安排上面,充分考虑了线路问题,为尽可能减少空载运行距离,当线路变动时,并不是盲目变动,而是选择就近线路继续运输,这样一来有些车次完成任务后并不需要回到原来的铲点,直接从卸点开始另外的任务,节省了时间和路程。

缺点:

1.模型中后半部分的车辆安排,计算量太大,由于时间关系并未给出合理的计算程序或快捷的通用算法,不易于推广。

2.在分配变动车次时,有些变动卡车需要从一个铲位调到另一个铲位工作,其中定要再消耗一定时间和里程,本次计算中并未考虑,在实际中会引起矛盾。

3.对于模型一和模型二求出的最优解只是相对于选定的铲位而言,并不是对10个铲位而言的最优解,由于对于每种模型铲位的选取都有

=120种可能,穷举运算量太大,所以只是选取了相对好的解。

参考文献

【1】网络优化赫孝良

【2】姜启源,谢金星,叶俊.数学模型.高等教育出版社.

【3】露天矿生产的车辆安排赵航陈哲李辉

【4】李继承.数学实验.高等教育出版社.

【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卷第34期文

章标号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=,,,,,,,,,;

shiliao=12000,13000,13000,19000,13000;

juli=

4

;

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)))>=;);

@for(xiedian(j)|j#LT#4:

(@sum(chandian(i):

154*checi(i,j)*hantieliang(i)))/(@sum(chandian(i):

154*checi(i,j)))<=;);

@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=,,,,,,,,,;

shiliao=12000,13000,13000,19000,13000;

juli=

4

;

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)))>=;);

@for(xiedian(j)|j#LT#4:

(@sum(chandian(i):

154*checi(i,j)*hantieliang(i)))/(@sum(chandian(i):

154*checi(i,j)))<=;);

@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:

mineproblem;

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;

yanshi=12500,11000,13500,11500,10500,11500,12500;

hantieliang=,,,,,,;

shiliao=12000,13000,13000,19000,13000;

juli=

;

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)))>=;);

@for(xiedian(j)|j#LT#4:

(@sum(chandian(i):

154*checi(i,j)*hantieliang(i)))/(@sum(chandian(i):

154*checi(i,j)))<=;);

@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:

mineproblem;

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1