1、1露天矿生产的车辆安排(问题一的模型与求解)摘要本文针对 2003 年全国大学生数学建模赛题 B 的第一问建立了露天矿生产的总运量最优(目标一)和车辆安排最优(目标二)的数学模型。首先,依据题目中的原则一,以及铲位、卸点、产量、品位、卡车不等待等诸多因素,分析出主次约束,在探讨的过程中对影响程度小的因素作出了合理的假设,明确目标函数,并对部分变量进行了整数约束或 0-1 约束,建立了双目标函数的整数规划模型。其次,考虑到双目标函数同时求解的困难性,但又考虑到快速算法的实际需要,我们采用了“舍二求一法” ,分别对两个目标进行了取舍性探究,并借助于 LINGO 软件的快速辅助计算(程序见附录) ,
2、得出两种取舍法的相应结果,然后我们对两个结果进行了比较,并利用“递减决策法”对所得的结果合理性和最优性予以验证,经过回归实际探讨后给出了第一原则下的总运量和出动车辆的最优解,且根据计算所得的数据对出动的车辆具体安排情况列出表格(具体见表 5) ,以供明览。最后,我们综合评价了模型的优缺点,并阐述了模型在实际生产应用中的改进和推广,对于此类生产安排问题的决策者有一定的参考和指导意义。关键词:多目标规划 0-1 约束 舍二求一法 递减决策法 1问题重述与分析2(1)问题重述某露天矿内有若干个铲位,铲位中已按铁含量将石料分为矿石和岩石(平均铁含量不低于 25%的为矿石,否则为岩石) 。每个铲位至多能
3、安置一台电铲,电铲的平均装车时间为 5 分钟。卡车负责将铲位内的矿石和岩石运送到相应的卸货地点,卡车的平均卸车时间为 3 分钟。卸货地点有卸矿石的矿石漏和 2 个铁路倒装场,卸岩石的岩石漏和岩场,总共五个卸点。按要求,矿石卸点需要的铁含量品位限制都为 29.5% 1%(在一个班次 8 小时内满足品位限制即可) 。所用卡车载重量为 154 吨,平均时速 28 。原则上在安排时不应发生hkm卡车等待的情况,电铲和卸点都不能同时为两辆及两辆以上卡车服务。卡车每次都是满载运输,并且排除堵车现象。一个班次的生产计划包含以下内容:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上。一个合格的计
4、划要在卡车不等待条件下满足产量和质量(品位)要求。一个好的计划应该考虑下面两条原则之一: 1.总运量(吨*公里)最小,同时出动最少的卡车,从而运输成本最小;2.利用现有车辆运输,获得最大的产量(岩石产量优先;在产量相同的情况下,取总运量最小的解) 。问题一:就两条原则分别建立数学模型,并给出一个班次生产计划的快速算法。问题二:针对下面的实例,给出具体的生产计划、相应的总运量及岩石和矿石产量。某露天矿有铲位 10 个,卸点 5 个,现有铲车 7 台,卡车 20 辆。各卸点一个班次的产量要求:矿石漏 1.2 万吨、倒装场1.3 万吨、倒装场1.3 万吨、岩石漏 1.9 万吨、岩场 1.3 万吨。各
5、铲位和各卸点之间的距离(公里)如下表:(表 1)ijd 铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位103 矿石 漏 5.26 5.19 4.21 4.00 2.95 2.74 2.46 1.90 0.64 1.271 倒装场 1.90 0.99 1.90 1.13 1.27 2.25 1.48 2.04 3.09 3.514 岩场 5.89 5.61 5.61 4.56 3.51 3.65 2.46 2.46 1.06 0.575 岩石 漏 0.64 1.76 1.27 1.83 2.74 2.60 4.21 3.72 5.05 6.102 倒装场 4.42 3.86 3.72
6、 3.16 2.25 2.81 0.78 1.62 1.27 0.50各铲位矿石、岩石数量(万吨)和矿石的平均铁含量如下表:(表2)3铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10Ni 矿石 量 095 105 100 105 110 125 105 130 135 125Ri 岩石 量 125 110 135 105 115 135 105 115 135 125Pin 铁含 量 30% 28% 29% 32% 31% 33% 32% 31% 33% 31%我们认为上表中给出的各铲位矿石、岩石数量为每个班次所能提供的最大量,矿石的平均铁含量恒定。(2)问题分析首先,我们先考虑
7、“一个合格的计划”要求,一个合格的计划要在卡车不等待条件下满足产量限制和品位限制,同时每个铲位一个班次的铲量和每个卸点一个班次的卸量也是有限制的,这点根据卡车装货时间 5 分钟,卡车卸货时间 3 分钟能够求出最大铲(卸)量,而又因铲车总数少于铲位总数故一个班次一定存在部分铲位无铲车铲矿,我们可以用 0-1 变量来达到这一约束,对于安排的车辆和车辆运输次数均应为整数,即模型部分变量(本文指运输次数)需用约束为整数取值。其次,我们再分析“一个良好的计划”要求,一个好的计划应遵循原则一,即使总运量(吨*公里)最小,同时出动最少的卡车,以使投入的运输成本最低。总运量由运输次数和运输路程决定,而运输次数
8、又由卡车数量、铲(卸)量决定,运输路程由铲车位置、卸点最低产量决定,这样又回溯到“一个合格的计划”要求中的诸多限制中去。显然,我们应该选择总运量和出动卡车数为此规划的目标函数,整个从铲位到运输到卸点的诸多限制因素便是两个目标函数的约束条件。最后,通过合理的设出相应变量并用变量表示出约束条件和目标函数的表达式,我们便建立出该问题的数学模型。这是一个双目标的整数非线性规划问题,在求解时,我们选择“舍二求一”转化为单目标的线性规划问题求解,借助于 LINGO 的软件求出结果,随即对结果进行了比较和带回实际要求进行探讨验证。综合得出总运量的最优解和安排卡车的数量。2模型假设与符号说明4(1)模型假设(
9、1)题目提供的相关统计数据真实可信符合实际;(2)不同铲位到达同一卸点的卡车数量不会在 3 分钟时间内超过两辆和两辆以上; (3)每个电铲和和铲位在一个班次内固定且卡车工作的路线固定;(4)运输过程中不会出现卡车堵车情况,路况优良,加油和司机休息时间不计 ;(5)一个班次铲车和卡车同一时刻开始工作,工作八小时后在同一时刻结束工作;(2)符号说明i=1,2.0 j,.5ijX 代 表 安 排 在 第 i个 铲 位 到 第 j个 卸 点 的 卡 车 数 ; ( 个 )ijY代 表 每 辆 卡 车 在 第 i个 铲 位 和 第 j个 卸 点 一 个 班 次 运 输 次 数 ( 次 /辆 ) ;i,.
10、0 j,.5ijd 代 表 第 i个 铲 位 和 第 j个 卸 点 之 间 的 距 离 ( 公 里 ) ;10i i if f f代 表 第 个 铲 位 有 无 铲 车 情 况 , 表 示 第 个 铲 位 有 一 台 铲 车 , 反 之 ;Ri 代 表 第 i个 铲 位 的 岩 石 量 ;Ni代 表 第 i个 铲 位 的 矿 石 量 ;Pi 代 表 第 i个 铲 位 矿 石 的 平 均 铁 含 量 ;Mj代 表 第 j个 卸 点 产 量 的 要 求 量 ; ( 吨 )其他符号在模型中运用时再作说明。53模型建立与求解(1)模型建立首先,根据上面对问题的分析,我们可以列出如下两个目标函数的表达式
11、: 510121min54iijijjiijjiZXYd接着,我们逐个找出约束条件:1. 由于卡车装货 5 分钟,卸货 3 分钟,且电铲每次只能为一辆车提供服务,故每条线路对于卡车数和运输次数有限制,对于一辆卡车在一条线路上运输一个周期的时间为: ,因此在不等待条件下,每条线路最260/85()ijijTd分多可同时运行的卡车数 (此处对最大运行卡车数取整,但在后文中对具体路ijijA线卡车数并未取整) 。一个班次从开始装车到最后一俩车的时间差为 ,故一个(1)5ijA班次该条路线允许的最大运输次数为 ,这样可列出路线约束表860(1)5ijijBT达式: ;ijijijijijXAYB2.
12、一个班次每个卸点产量的最低要求: 410M105jijiXY3. 矿石品位限制要求: 10128.53.5ijiijiPXY4. 铲位每班次装货次数最大为: 故每铲位总运输次数限制有:609516ijijYf65. 卸点每个班次卸货次数最大为: 故每卸点的总运输次数限制有:860131ijiXY6. 每个铲位的矿石量和岩石量最大量限制, 25143(,2.10),.ijijijij NXYR和7. 铲车数量和卡车数量限制: 107if5102ijjiX这样我们便建立了如下的双目标整数规划模型: 510121min54iijijjiijjiZYdXs.t. 410101;M528.3.ijiji
13、jijijjiji ijiijiXAYBXYP510251431051096(1,2.0),.72ijijijiijijijijiijjiYfXYNRfX和(2)模型求解7这是一个双目标的非线性整数规划模型,为使模型转化为线性的我们深入分析了目标函数的两个变量 ,根据装卸时间的约束我们知道 有个最大的允YijijX和 ijY许值 ,于是可令 将其转化为定量,同时也符合题意的原则一(即在各道路实际ijB;ijijYB总运输次数一定情况下使每辆卡车运输次数达到最大,可使卡车的出动数最小) 。对于线性化后的双目标模型,我们采用“舍二求一法” ,分别将两个目标函数中的一个视为主目标函数,另一个转化为约
14、束条件,即简化成单目标的线性规划模型。因题目原则一要求优先考虑总运量最小,在此基础之上考虑调派最少卡车数,所以我们先以总运量: 为目标函数。借助 LINGO 软件计算结果如1minZ下: 8.562总 运 量 最 优 解 : ( 万 吨 公 里 )对 应 出 动 车 辆 数 : 9( 辆 )对 应 岩 石 产 量 : 3.1 ( 万 吨 )对 于 矿 石 产 量 : ( 万 吨 )然后将目标函数改为总出动卡车数: ,再利用 LINGO 计算,并5102minijjiZX输出此时的总运量,结果显示出动的车辆依然为 12.98666,总运量也是 8.56286,这说明上面得出的总运量最优解对应的卡
15、车数量即是出动数的最优解。对于双目标函数,采用上述逐个求解,得到的结果恰好一致,存在偶然性,对此我们用“递减决策法”对结果的合理性和最优性予以说明。即在 LINGO 程序中对限制(即卡车数量限制)的下限进行从 19 到 11 的逐一递减,得出一组递5102ijjiX减约束下的总运量最优解和对应所需出动卡车数的数据,见下表:(表 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.9866
16、6 13.00385 14.00053 15.00877 18.00002 19.00016 20.00029由上面的表格中数据,可知卡车数大于 13 时总运量随着出动卡车数的减少而减少,当出动卡车数低于 13 量时不再变化,而最少出动卡车数依然是 12.98666 辆,因此可以得出总运量最优解是 8.562862(万吨*公里)时,所需出动的最少卡车数的最优解就是 13 辆(在此只能进一取整)!其次,我们分析对 13 卡车的运输方案,由 LINGO 计算出的结果列出如下表格:(表 4 LINGO 结果对比表)8倒装场 倒装场 矿石漏 岩场 岩石漏铲位129 17 14 131.840909 (
17、81)44铲 位 21.1052632 (42)380.7222222 (13)180.86666667 (13) 1514 30铲 位 3 290.105263 (2) 1917 141.228571 (43) 35铲位41.19444 (43) 3621 18 16 29铲位828 311.862069 (54) 2925 19铲位921 35 441.891892 (70) 3715铲位10201.521739 (70) 460.3142857 (11) 350.3333333 (15) 4513()内代表这条路线上实际的运输次数 代表一辆卡车这条路线上的最大运输次数通过对上面表格中的所
18、需卡车数、实际运输次数、最大运输次数的比较,本着原则一,对得出的车次结果合理取舍、并权衡矿厂利益取整后得出具体的卡车运输方案如下表:(表 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(注:对于部分卡车运输次数不足或有剩余的异议,在实际中可以通过不同路线之间调动方法解决,在此不再追加论述。 )
19、至此,我们便求解完该问题模型,得出该矿厂一个班次的生产计划:1. 电铲分别安置在铲位 1、2、3、4、8、9、10 处2. 总运量为 8.56286 万吨*公里3. 岩石产量 3.1286 万吨4. 矿石产量 3.8192 万吨5. 共需出动 13 辆卡车完成运输任务(即表 5 )94模型评价及改进(1)模型优点:1. 本模型思路清晰,简化合理,深入考虑到了露天矿车辆安排的具体诸多因素,具有很强的实际性。2. 本模型在求解时先对双目标函数采用“舍二求一法”分别计算,再利用“递减决策法”验证结果的最优性。借助 LINGO 软件的计算,能在快速算出生产的具体计划,对于此类问题的决策者具有一定的参照
20、和指导意义。(2)模型缺点:1. 模型只是在“路线固定”的假设下建立的,实际生产中车辆可以在路线之间调遣的,这也导致最后有关车辆具体分配的安排方案与实际生产有部分不符(或有几躺运输次数存在异议) 。2. 由于实际路况、司机、加油、休息等因素,使装卸时间与运输时间不精确,车速不稳定,所以对于最终生产计划会有所影响,且在具体生产中不可忽略。(2)模型改进:1. 此问题只要求对一个班次的计划算法建模,对于长期生产可以不对“路线固定”作假设,便可对模型进一步完善,以使更符合实际应用需求。2. 本模型仅借助了 LINGO 软件的辅助计算,如果能够用其他软件(如 C+等)实现“递减决策”过程的遍历,并输出
21、结果,可以大大节省时间,为决策者提供了及时的计划参考。参考文献1 薛毅,数学建模基础,北京,北京工业大学出版社,2004,80(5).2 傅家良,运筹学方法与模型,上海,复旦大学出版社,2005,75(4).3 钱颂迪,运筹学,北京,清华大学出版社,2005.122(5).4 冯杰等,数学建模原理与案例,北京,科学出版社,2007.73(3)105附录计算模型的LINGO程序:SETS:chan/110/:f,r,n,pinwei;xie/15/:p;links(chan, xie):x,y,d,A,B,T,C,zongcc ;ENDSETSdata:!数据;n= 0.95 1.05 1.00
22、 1.05 1.10 1.25 1.05 1.30 1.35 1.25;!采点矿石总量;r= 1.25 1.10 1.35 1.05 1.15 1.35 1.05 1.15 1.35 1.25;!采点岩石总量;pinwei= 0.30 0.28 0.29 0.32 0.31 0.33 0.32 0.31 0.33 0.31;!采点矿石品位;p= 1.3 1.3 1.2 1.3 1.9;!任务总量要求;d= 1.90 4.42 5.26 5.89 0.64 !各;0.99 3.86 5.19 5.61 1.76 !采; 1.90 3.72 4.21 5.61 1.27 !点; 1.13 3.16
23、 4.00 4.56 1.83 !到;1.27 2.25 2.95 3.51 2.74 !各;2.25 2.81 2.74 3.65 2.60 !卸;1.48 0.78 2.46 2.46 4.21 !点;2.04 1.62 1.90 2.46 3.72 !的;3.09 1.27 0.64 1.06 5.05 !距;3.51 0.50 1.27 0.57 6.10; !离;enddatamin=sum(chan(i):sum(xie(j):zongcc(i,j)*d(i,j)*0.0154);!目标函数一;!min=sum(chan(i):sum(xie(j):x(i,j);!目标函数二;ch
24、eliangshu=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)=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;
25、!下;11!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)=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
26、)=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