点卸车时间为3分钟,所以一个卸点在8小时内不间断的接收卡车的卸车,只能接受
一个班次总运量(吨公里)的定义为总运量的定义应该是运量与路程的乘积,也就是
,
。
(车次)。卡车在卸
(车次)。
下面针对总运量的定义给出一个结论,并给予证明:
结论:汽车在一个班次内的总运量应该近似的等于每辆汽车的满载量与总路程的1/2的乘积。 证明:
其中
,
,
,
而一个班次内所有汽车的总路程
等于
每台车转换铲点的路程,
,
,实际上这段路程全部加起来不会超过10,对于我们的总路程是不会产生太大影响的,而且车
在转换铲点的时候是空载,所以这部分实际上是没有运量的。所以
证明完毕。
所以要求一个班次内的总运量最小的问题,就可以转化为求一个班次内所有卡车的总路程最小的问题。
模型的建立:
是
根据题意,得出以下关于问题一的[1]多目标函数的最优化问题的原始数学模型::
,
模型的转化:
在问题分析中我们已经给出证明
,除此之外,
理论上所需要的卡车总数和在一个班次内卡车在每个铲位和每个卸点之间所走
的路程
,以及卡车在每个铲位和每个卸点之间所走的次数
有关。从时间的角度考虑,为了使车辆数最小,
,
其中
,
, 再由问题的分析,一个铲点在8小时内不间断的装车,只能
,
,
,
假定每辆车都工作了8小时,则这时的
装96车次。一个卸点在8小时内不间断的接收卡车的卸车,只能接受160车次。也就是说,
这个约束条件可以转化为以下两个约束条件:
,
;
。各矿石卸点的实际品位
,
,
这个条件可以转化为矩阵
是
的非零列向量的个数小于等于7,又因为矩阵
中的每一个元素
(车次)都是大于等于0的,所以该条
件可以转化为[2]矩阵
的列元素的和大于0的列数小于等于7。这样模型的目标函数和约束条件都可以化成以
为自变量的函数。则原始模型可以转化为以下形式:
,
然后,再通过[3]线性加权和方法,对于目标函数
把这个多目标函数的最优化问题就转化成了关于单变量
模型的求解及计算机实现:
分别引入权系数
的单目标函数
,
的最优化问题。
是
铲位和卸点位置的二位示意图如下:
因为题目并没有要求我们考虑铲车的成本问题,所以在计算时我们先按照7台铲车全部被使用的时候开始计算的。
1. 铲车位置的确定:
因为一共有10个矿点,铲车只有7台,显然做不到每个铲位都安排一辆铲车。所以铲车位置的确定就是很重要的,他们的确定很可能会影响最终的结果。从最简单的角度来看,在运输的时候,铲位如果距离卸点的距离越近那么所需的成本则最小。在选取铲位的时候,我们应该优先考虑那些距离卸点较近的铲位。这样我们就把距离5个卸点最近的点先确定,这样,共有1,2,9,10四个点。(其中铲位10距离岩场和倒装场2的距离在10个铲位中都是最小的)。另外,运矿石的时候,因为品位限制铁的最高含量为30.5%,而大部分铲位的铁含量基本都比30.5%大,只有1,2,3铲位的铁矿石的铁含量是低于这30.5%的,所以为了达到铁矿石的品位要求,应该尽可能的把这3个铲位都考虑进去。而且3铲位距离卸点的距离也比较近,所以我们认为有必要把这3这个铲位作为首选进入7个铲位之中。
这样我们就在7个铲位中率先确定了1,2,3,9,10这五个点,剩下的两个铲位由于距离各个卸点的距离都比较远,在选定的时候无法确定,所以应该在剩下的4,5,6,7,8这五个点中每次选择2个点,计算其总运量和需要的总车数,这样共会得到10组不同的数据,在进行比较以后,再选取最优的一组作为我们最终确定的铲位方案。
2.权系数的确定:[4]权系数由试探和修正确定,我们发现当
得到的结果最优,而且满足题里所给出的各种条件。当
20或者品位不满足
的时候
,所
取别的权值的时候,要么理论上的卡车数大于
的要求,要不就是达不到最优解。
是
对权的说明:两个权值
反映了对万吨公里数和卡车数的对总成本重要程度。也就是说我们在搜索
的时候
,
和
的比值
的时候,卡车数是优先于万吨公里数的。当
约为1:10较符合实际。从实际的角度来讲,让较少的卡车多跑一些路程要比让较多的卡车少跑一些路程所需要的成本要少。
3.搜索算法初值的确定:通过计算机模拟试验得出一个符合要求的初始值。
4.铲位的搜索算法:每个铲位确定的时候,搜索每个铲位的在满足各个卸点的产量和品位的要求情况下,总运量最小的同时,总车数最小的方案。因为矿石的品位要求铁含量最高为30.5%,所以为了满足卸点的品位要求,从一个铲位向卸点运输显然是无法满足品位要求的。所以这就有必要从1,2,3这三个铲位也向矿石卸点运输,从而达到题目所要求的品位要求。在运矿石的时候,我们应该尽可能的从邻近的铲位向卸点运输,当达到一个品位所能允许的最大吨位的时候再靠1,2,3铲位的矿石来补足。所以为了能够找到最优解,我们尽可能的把满足每个矿石卸点所有的分配方案都计算出来。最后我们用[5]
优化函数 搜索了10组方案。如表一所示:
表一:以总运量和卡车数为目标函数搜索得到的结果
在选定最优解的时候,我们发现,如果总路程和总车数稍微放大一点的话,那么就会剩下一辆铲车,因为题目并没有给我们铲车的成本数值,所以铲车的数目并不是选取最优解的决定因素。而且从实际的角度考虑,车的耗油量很大,每个班次每台车消耗近1吨柴油。发动机点火时需要消耗相当多的电瓶能量,故一个班次中只在开始工作时点火一次,所以卡车运行的成本应该比铲车运行的成本要高,所以我们应该选择总运量和总车