B题露天矿生产的车辆安排.docx

上传人:b****6 文档编号:4452297 上传时间:2022-12-01 格式:DOCX 页数:14 大小:134.20KB
下载 相关 举报
B题露天矿生产的车辆安排.docx_第1页
第1页 / 共14页
B题露天矿生产的车辆安排.docx_第2页
第2页 / 共14页
B题露天矿生产的车辆安排.docx_第3页
第3页 / 共14页
B题露天矿生产的车辆安排.docx_第4页
第4页 / 共14页
B题露天矿生产的车辆安排.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

B题露天矿生产的车辆安排.docx

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

B题露天矿生产的车辆安排.docx

B题露天矿生产的车辆安排

露天矿生产的车辆安排

(问题一的模型与求解)

 

摘要

本文针对2003年全国大学生数学建模赛题B的第一问建立了露天矿生产的总运量最优(目标一)和车辆安排最优(目标二)的数学模型。

首先,依据题目中的原则一,以及铲位、卸点、产量、品位、卡车不等待等诸多因素,分析出主次约束,在探讨的过程中对影响程度小的因素作出了合理的假设,明确目标函数,并对部分变量进行了整数约束或0-1约束,建立了双目标函数的整数规划模型。

其次,考虑到双目标函数同时求解的困难性,但又考虑到快速算法的实际需要,我们采用了“舍二求一法”,分别对两个目标进行了取舍性探究,并借助于LINGO软件的快速辅助计算(程序见附录),得出两种取舍法的相应结果,然后我们对两个结果进行了比较,并利用“递减决策法”对所得的结果合理性和最优性予以验证,经过回归实际探讨后给出了第一原则下的总运量和出动车辆的最优解,且根据计算所得的数据对出动的车辆具体安排情况列出表格(具体见表5),以供明览。

最后,我们综合评价了模型的优缺点,并阐述了模型在实际生产应用中的改进和推广,对于此类生产安排问题的决策者有一定的参考和指导意义。

 

关键词:

多目标规划0-1约束舍二求一法递减决策法

 

1.问题重述与分析

(1)问题重述

某露天矿内有若干个铲位,铲位中已按铁含量将石料分为矿石和岩石(平均铁含量不低于25%的为矿石,否则为岩石)。

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

卡车负责将铲位内的矿石和岩石运送到相应的卸货地点,卡车的平均卸车时间为3分钟。

卸货地点有卸矿石的矿石漏和2个铁路倒装场,卸岩石的岩石漏和岩场,总共五个卸点。

按要求,矿石卸点需要的铁含量品位限制都为29.5%

1%(在一个班次8小时内满足品位限制即可)。

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

原则上在安排时不应发生卡车等待的情况,电铲和卸点都不能同时为两辆及两辆以上卡车服务。

卡车每次都是满载运输,并且排除堵车现象。

一个班次的生产计划包含以下内容:

出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上。

一个合格的计划要在卡车不等待条件下满足产量和质量(品位)要求。

一个好的计划应该考虑下面两条原则之一:

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

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

问题一:

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

问题二:

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

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

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

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

各铲位和各卸点之间的距离(公里)如下表:

(表1)

铲位1

铲位2

铲位3

铲位4

铲位5

铲位6

铲位7

铲位8

铲位9

铲位10

3

矿石漏

5.26

5.19

4.21

4.00

2.95

2.74

2.46

1.90

0.64

1.27

1

倒装场Ⅰ

1.90

0.99

1.90

1.13

1.27

2.25

1.48

2.04

3.09

3.51

4

岩场

5.89

5.61

5.61

4.56

3.51

3.65

2.46

2.46

1.06

0.57

5

岩石漏

0.64

1.76

1.27

1.83

2.74

2.60

4.21

3.72

5.05

6.10

2

倒装场Ⅱ

4.42

3.86

3.72

3.16

2.25

2.81

0.78

1.62

1.27

0.50

各铲位矿石、岩石数量(万吨)和矿石的平均铁含量如下表:

(表2)

铲位1

铲位2

铲位3

铲位4

铲位5

铲位6

铲位7

铲位8

铲位9

铲位10

Ni

矿石量

0.95

1.05

1.00

1.05

1.10

1.25

1.05

1.30

1.35

1.25

Ri

岩石量

1.25

1.10

1.35

1.05

1.15

1.35

1.05

1.15

1.35

1.25

Pin

铁含量

30%

28%

29%

32%

31%

33%

32%

31%

33%

31%

我们认为上表中给出的各铲位矿石、岩石数量为每个班次所能提供的最大量,矿石的平均铁含量恒定。

(2)问题分析

首先,我们先考虑“一个合格的计划”要求,一个合格的计划要在卡车不等待条件下满足产量限制和品位限制,同时每个铲位一个班次的铲量和每个卸点一个班次的卸量也是有限制的,这点根据卡车装货时间5分钟,卡车卸货时间3分钟能够求出最大铲(卸)量,而又因铲车总数少于铲位总数故一个班次一定存在部分铲位无铲车铲矿,我们可以用0-1变量来达到这一约束,对于安排的车辆和车辆运输次数均应为整数,即模型部分变量(本文指运输次数)需用约束为整数取值。

其次,我们再分析“一个良好的计划”要求,一个好的计划应遵循原则一,即使总运量(吨*公里)最小,同时出动最少的卡车,以使投入的运输成本最低。

总运量由运输次数和运输路程决定,而运输次数又由卡车数量、铲(卸)量决定,运输路程由铲车位置、卸点最低产量决定,这样又回溯到“一个合格的计划”要求中的诸多限制中去。

显然,我们应该选择总运量和出动卡车数为此规划的目标函数,整个从铲位到运输到卸点的诸多限制因素便是两个目标函数的约束条件。

最后,通过合理的设出相应变量并用变量表示出约束条件和目标函数的表达式,我们便建立出该问题的数学模型。

这是一个双目标的整数非线性规划问题,在求解时,我们选择“舍二求一”转化为单目标的线性规划问题求解,借助于LINGO的软件求出结果,随即对结果进行了比较和带回实际要求进行探讨验证。

综合得出总运量的最优解和安排卡车的数量。

 

2.模型假设与符号说明

(1)模型假设

(1)题目提供的相关统计数据真实可信符合实际;

(2)不同铲位到达同一卸点的卡车数量不会在3分钟时间内超过两辆和两辆以上;

(3)每个电铲和和铲位在一个班次内固定且卡车工作的路线固定;

(4)运输过程中不会出现卡车堵车情况,路况优良,加油和司机休息时间不计;

(5)一个班次铲车和卡车同一时刻开始工作,工作八小时后在同一时刻结束工作;

(2)符号说明

其他符号在模型中运用时再作说明。

 

3.模型建立与求解

(1)模型建立

首先,根据上面对问题的分析,我们可以列出如下两个目标函数的表达式:

接着,我们逐个找出约束条件:

1.由于卡车装货5分钟,卸货3分钟,且电铲每次只能为一辆车提供服务,故每条线路对于卡车数和运输次数有限制,对于一辆卡车在一条线路上运输一个周期的时间为:

,因此在不等待条件下,每条线路最多可同时运行的卡车数

(此处对最大运行卡车数取整,但在后文中对具体路线卡车数并未取整)。

一个班次从开始装车到最后一俩车的时间差为

,故一个班次该条路线允许的最大运输次数为

,这样可列出路线约束表达式:

2.一个班次每个卸点产量的最低要求:

3.矿石品位限制要求:

4.铲位每班次装货次数最大为:

故每铲位总运输次数限制有:

5.卸点每个班次卸货次数最大为:

故每卸点的总运输次数限制有:

6.每个铲位的矿石量和岩石量最大量限制,

7.铲车数量和卡车数量限制:

这样我们便建立了如下的双目标整数规划模型:

s.t.

     

(2)模型求解

这是一个双目标的非线性整数规划模型,为使模型转化为线性的我们深入分析了目标函数的两个变量

,根据装卸时间的约束我们知道

有个最大的允许值

,于是可令

将其转化为定量,同时也符合题意的原则一(即在各道路实际总运输次数一定情况下使每辆卡车运输次数达到最大,可使卡车的出动数最小)。

对于线性化后的双目标模型,我们采用“舍二求一法”,分别将两个目标函数中的一个视为主目标函数,另一个转化为约束条件,即简化成单目标的线性规划模型。

因题目原则一要求优先考虑总运量最小,在此基础之上考虑调派最少卡车数,所以我们先以总运量:

为目标函数。

借助LINGO软件计算结果如下:

然后将目标函数改为总出动卡车数:

,再利用LINGO计算,并输出此时的总运量,结果显示出动的车辆依然为12.98666,总运量也是8.56286,这说明上面得出的总运量最优解对应的卡车数量即是出动数的最优解。

对于双目标函数,采用上述逐个求解,得到的结果恰好一致,存在偶然性,对此我们用“递减决策法”对结果的合理性和最优性予以说明。

即在LINGO程序中对限制

(即卡车数量限制)的下限进行从19到11的逐一递减,得出一组递减约束下的总运量最优解和对应所需出动卡车数的数据,见下表:

(表3不同卡车限制时的最优结果对比表)

11

12

13

14

15

18

19

20

最优解

8.562862

8.562862

8.566096

9.184868

9.852304

12.35733

13.29057

14.26342

最少车数

12.98666

12.98666

13.00385

14.00053

15.00877

18.00002

19.00016

20.00029

由上面的表格中数据,可知卡车数大于13时总运量随着出动卡车数的减少而减少,当出动卡车数低于13量时不再变化,而最少出动卡车数依然是12.98666辆,因此可以得出总运量最优解是8.562862(万吨*公里)时,所需出动的最少卡车数的最优解就是13辆(在此只能进一取整)!

其次,我们分析对13卡车的运输方案,由LINGO计算出的结果列出如下表格:

(表4LINGO结果对比表)

倒装场Ⅰ

倒装场Ⅱ

矿石漏

岩场

岩石漏

铲位1

[29]

[17]

[14]

[13]

1.840909(81)

[44]

铲位2

1.1052632(42)

[38]

 

0.7222222(13)

[18]

0.86666667(13)[15]

[14]

[30]

铲位3

[29]

 

0.105263

(2)[19]

[17]

[14]

1.228571(43)[35]

铲位4

 

1.19444(43)[36]

[21]

[18]

[16]

[29]

铲位8

[28]

[31]

1.862069(54)[29]

[25]

[19]

铲位9

[21]

[35]

[44]

1.891892(70)[37]

[15]

铲位10

[20]

 

1.521739(70)[46]

0.3142857(11)[35]

0.3333333(15)[45]

[13]

()内代表这条路线上实际的运输次数[]代表一辆卡车这条路线上的最大运输次数

通过对上面表格中的所需卡车数、实际运输次数、最大运输次数的比较,本着原则一,对得出的车次结果合理取舍、并权衡矿厂利益取整后得出具体的卡车运输方案如下表:

(表5卡车安排及运输方案)

倒装场Ⅰ

倒装场Ⅱ

矿石漏

岩场

岩石漏

铲位1

0

0

0

0

2(81)

铲位2

1(42)

1(13)

1(13)

0

0

铲位3

0

0

(2)

0

0

1(43)

铲位4

1(43)

0

0

0

0

铲位8

0

0

2(54)

0

0

铲位9

0

0

0

2(70)

0

铲位10

0

2(70)

0(11)

0(15)

0

(注:

对于部分卡车运输次数不足或有剩余的异议,在实际中可以通过不同路线之间调动方法解决,在此不再追加论述。

至此,我们便求解完该问题模型,得出该矿厂一个班次的生产计划:

1.电铲分别安置在铲位1、2、3、4、8、9、10处

2.总运量为8.56286万吨*公里

3.岩石产量3.1286万吨

4.矿石产量3.8192万吨

5.共需出动13辆卡车完成运输任务(即表5)

 

4.模型评价及改进

(1)模型优点:

1.本模型思路清晰,简化合理,深入考虑到了露天矿车辆安排的具体诸多因素,具有很强的实际性。

2.本模型在求解时先对双目标函数采用“舍二求一法”分别计算,再利用“递减决策法”验证结果的最优性。

借助LINGO软件的计算,能在快速算出生产的具体计划,对于此类问题的决策者具有一定的参照和指导意义。

(2)模型缺点:

1.模型只是在“路线固定”的假设下建立的,实际生产中车辆可以在路线之间调遣的,这也导致最后有关车辆具体分配的安排方案与实际生产有部分不符(或有几躺运输次数存在异议)。

2.由于实际路况、司机、加油、休息等因素,使装卸时间与运输时间不精确,车速不稳定,所以对于最终生产计划会有所影响,且在具体生产中不可忽略。

(2)模型改进:

1.此问题只要求对一个班次的计划算法建模,对于长期生产可以不对“路线固定”作假设,便可对模型进一步完善,以使更符合实际应用需求。

2.本模型仅借助了LINGO软件的辅助计算,如果能够用其他软件(如C++等)实现“递减决策”过程的遍历,并输出结果,可以大大节省时间,为决策者

提供了及时的计划参考。

 

参考文献

[1]薛毅,数学建模基础,北京,北京工业大学出版社,2004,80(5).

[2]傅家良,运筹学方法与模型,上海,复旦大学出版社,2005,75(4).

[3]钱颂迪,运筹学,北京,清华大学出版社,2005.122(5).

[4]冯杰等,数学建模原理与案例,北京,科学出版社,2007.73(3)

 

5.附录

计算模型的LINGO程序:

SETS:

chan/1..10/:

f,r,n,pinwei;

xie/1..5/:

p;

links(chan,xie):

x,y,d,A,B,T,C,zongcc;

ENDSETS

data:

!

数据;

n=0.951.051.001.051.101.251.051.301.351.25;!

采点矿石总量;

r=1.251.101.351.051.151.351.051.151.351.25;!

采点岩石总量;

pinwei=0.300.280.290.320.310.330.320.310.330.31;!

采点矿石品位;

p=1.31.31.21.31.9;!

任务总量要求;

d=1.904.425.265.890.64!

各;

0.993.865.195.611.76!

采;

1.903.724.215.611.27!

点;

1.133.164.004.561.83!

到;

1.272.252.953.512.74!

各;

2.252.812.743.652.60!

卸;

1.480.782.462.464.21!

点;

2.041.621.902.463.72!

的;

3.091.270.641.065.05!

距;

3.510.501.270.576.10;!

离;

enddata

min=@sum(chan(i):

@sum(xie(j):

zongcc(i,j)*d(i,j)*0.0154));!

目标函数一;

!

min=@sum(chan(i):

@sum(xie(j):

x(i,j)));!

目标函数二;

cheliangshu=@sum(links(i,j):

x(i,j));!

总的车辆数;

@FOR(chan(i):

@bin(f(i)));!

0-1约束;

@FOR(links(i,j):

zongcc(i,j)=x(i,j)*y(i,j));!

各个路线总车次;

@FOR(links(i,j):

@GIN(zongcc(i,j)));!

车次整数要求;

@sum(chan(i):

f(i))<=7;!

铲车数量限制;

@sum(links(i,j):

x(i,j))<=20;

@sum(links(i,j):

x(i,j))>=0;!

卡;

!

@sum(links(i,j):

x(i,j))>=19;!

车;

!

@sum(links(i,j):

x(i,j))>=18;!

限;

!

@sum(links(i,j):

x(i,j))>=15;!

制;

!

@sum(links(i,j):

x(i,j))>=14;!

下;

!

@sum(links(i,j):

x(i,j))>=13;!

限;

!

@sum(links(i,j):

x(i,j))>=12;!

递;

!

@sum(links(i,j):

x(i,j))>=11;!

减;

@for(chan(i):

@sum(xie(j):

zongcc(i,j))<=96*f(i));!

铲车最大工作量限制;

@for(xie(j):

@sum(chan(i):

zongcc(i,j))<=160);!

卸点最大工作量限制;

@for(chan(i):

@sum(xie(j)|j#LE#3:

0.0154*zongcc(i,j))<=n(i));!

采点矿石量限制;

@for(chan(i):

@sum(xie(j)|j#GE#4#and#j#LE#5:

0.0154*zongcc(i,j))<=r(i));!

采点岩石量限制;

@for(xie(j):

@sum(chan(i):

0.0154*zongcc(i,j))>=p(j));!

这个班次任务要求;

@for(xie(j)|j#LE#3:

@sum(chan(i):

zongcc(i,j)*pinwei(i)-0.285*zongcc(i,j))>=0);!

卸点矿石品位要求;

@for(xie(j)|j#LE#3:

@sum(chan(i):

zongcc(i,j)*pinwei(i)-0.305*zongcc(i,j))<=0);!

卸点矿石品位要求;

@for(links(i,j):

T(i,j)=d(i,j)/14+2/15);!

运输周期;

@for(links(i,j):

A(i,j)=@floor(T(i,j)*60/5));!

路线上最多车辆数;

@for(links(i,j):

B(i,j)=@floor((8*60-((A(i,j)-1)*5))/(60*T(i,j))));!

每辆卡车每一条路线上最多可以运行的次数;

@for(links(i,j):

x(i,j)<=A(i,j));!

路线上车辆限制;

@for(links(i,j):

y(i,j)=B(i,j));!

路线上每辆车车次限制;

@for(links(i,j):

C(i,j)=(@floor((d(i,j)/28*60*2+3+5)/5))*B(i,j));!

每一条路线上的最大总车次的计算;

@for(links(i,j):

zongcc(i,j)<=C(i,j));!

路线上总车次限制;

yanshichanliang=@sum(xie(j)|j#le#3:

@sum(chan(i):

0.0154*zongcc(i,j)));

kuangshichanliang=@sum(xie(j)|j#gt#3:

@sum(chan(i):

0.0154*zongcc(i,j)));

END

 

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

当前位置:首页 > 高中教育 > 英语

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

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