1.一种基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,在现有卡车调度路径优化的基础上,将卡车在某一卸载点或装载点所用时间视为约束条件,同时考虑不同型号卡车最大载重量的约束,建立以运输所用时间、所用卡车总数和运输总成本最小化为目标的露天矿卡车调度路径优化模型,然后采用基本蚁群算法进行模型的求解。
2.根据权利要求1所述基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,所述露天矿卡车调度路径优化模型的目标函数如下:该目标函数表示最小化配送总成本,其中, 表示车辆行驶距离成本,表示车辆启用数目成本, 表示时间延误的惩罚成本;
惩罚成本函数的定义如下:
假设每辆卡车都有一个指定的卸载时间窗口(ei,li),当卡车在该时间窗内卸载,则不须支付任何惩罚成本,车辆如果早到或晚到,随着早到或晚到时间长度的增加,惩罚成本呈直线增加;
惩罚成本函数的表达式如下:
式中参数定义如下:
ei:卡车到i卸载点的时间限制窗的始点;
li:卡车到i卸载点的时间限制窗的终点;
si:卡车到i卸载点的时间;
q:卡车晚于时间窗到达卸载点处的单位时间惩罚值,q的值根据现场实际情况来取值p:卡车提前到达卸载点处发生的等待单位时间的机会成本;
所述目标函数的约束条件如下:
xijk∈{0,1}i,j∈{1,2,…N},k∈{1,2,…,K} (7)Pi(si)=pmax(ei-si,0)+qmax(si-li,0) (8)以上约束条件中:
约束(1)表示运载卡车数量不超过总卡车数量K;
约束(2)表示每辆车均从装载点出发并最终返回此装载点;
约束(3)表示每辆卡车所装载的量不超过车量的载重量限制;
约束(4)表示流守恒条件,即运载卡车到达某卸载点后,必须离开该卸载点;
约束(5)表示卡车出发时间和返回时间均在规定的时间窗内;
约束(6)表示卡车从卸载点i到达卸载点j的时间约束;
约束(7)表示整数化约束,限制xijk只能取0或1,即表示运载或不运载;
约束(8)表示惩罚成本函数表达式;
各公式中变量和参数符号定义:
N:露天矿卸载点总数目;
i,j:单个卸载点,i,j∈{0,1,2,…N},i,j=0代表装载点;
k:各运载卡车编号,k∈{1,2,…,K};
cij:从卸载点i到卸载点j的运输成本,这里考虑距离,其中i≠j;
Q:卡车的最大载重量;
di:每辆卡车的装载量;
tij:卡车从卸载点i行驶到卸载点j的时间,其中i≠j;
fi:卡车在卸载点i卸载所需的时间,即停留时间;
wi:若车辆提前到达卸载点i则必须的等待时间,其中w0=0卡车k的出发时间;
卡车k的要求离开时间;
当xijk=1时,表示卡车从i点行驶到了j点,已经启用了一辆卡车,此时目标函数中的卡车启用成本会发生变化;当xijk=0时,表示卡车没有行驶,没有启用卡车,即无卡车启用成本。
3.根据权利要求2所述基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,利用基本蚁群算法求解所述露天矿卡车调度路径优化模型的目标函数,包括如下步骤:(1)计算蚂蚁状态转移概率
引入如下标记:其中n是城市个数,在这里表示卸载点个数,m表示蚂蚁数量,(dij)n×n表示城市i和城市j之间的距离;
为了使蚁群在寻优的过程中适应带时间窗的路径问题,将蚂蚁视为运载矿物的卡车,卡车从当前的节点出发,依据路径选择规则决定下个到达的节点;节点i处的蚂蚁k在t时刻以概率 转移至下一个节点j,蚂蚁的状态转移概率计算公式如下:公式中allowedk是蚂蚁尚未访问过的卸载点集合,公式中的每一项的含义为:
1)信息素浓度τij
初始信息素τ0设为0,当一轮算法迭代完成之后,所有蚂蚁都找到了一条合法路径,蚂蚁在走过的路径上留下信息素,每轮迭代结束后更新全局信息素;
2)启发式信息ηij
启发式信息与两点间的距离成反比,表达式为:
3)时间窗限制因素
时间窗限制因素反映了卡车到达某卸载点的允许时间范围,dj是卸载点j的最后允许到达时刻,即可接受时间窗下限时刻,时间窗限制因素的表达式为:
4)卡车容量因素限制
设Gi为卡车在节点i的累积载重量,Qi表示节点i的所能承载的量,Q为卡车总容量,则卡车容量因素的表达式为:α、β、γ、θ称为权衡因子,表示各影响因子的相对强弱,需要通过多次实验根据算法寻优结果的变化来确定具体数值,表示信息素浓度对蚂蚁进行路径选择的影响程度,β为启发信息重要程度,表示路径上的期望度对蚂蚁进行路径选择的影响程度,γ是时间窗限制因素在概率计算中的权重,γ值越大,蚂蚁选择时间窗下限最早到来的点可能性越大,θ是卡车容量因素的权衡因子,θ值越大,蚂蚁选择卸载点容许量大的的可能性越大,卡车最终满载率可能最高;
(2)信息素更新
所有蚂蚁完成一次寻优以后,仅对最优路径进行全局信息素更新,更新方式为:τij(t+
1)=(1-ρ)τij(t)+Δτij(t,t+1)其中Δτij(t,t+1)是本轮所有蚂蚁在边ij上所释放的信息素的总和,表达式为:当所有蚂蚁均完成了信息素的更新操作之后,记录当前的最短路径,并且对禁忌表以及信息素的增加值Δτij(t,t+1)进行初始化;
对蚂蚁所构建的路径进行局部搜索,蚁群算法信息素更新,所有卸载点都被访问完毕后一次迭代结束,清除蚁群算法禁忌表,进入下一轮算法的迭代,不断进行上述操作,直到迭代完成。
4.根据权利要求3所述基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,所述信息素更新不能超过[τmin,τmax],使蚁群算法避免因信息素值过小或信息素过高导致陷入局部最优值,使算法能够在整个解空间中寻找最优解,在初始信息素尚未更新之前,τmin和τmax分别用如下两个公式来确定:其中ρ为信息素挥发系数,信息素挥发系数的引入,使信息素随着时间的推移逐渐减少,避免过早的聚集到算法初期所寻找到的局部最优解上;Lbest为本轮循环结束后,全部的可行解当中的最优解所对应的路径长度。
5.根据权利要求3所述基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,采用基本蚁群算法求解带时间窗的露天矿路径优化,步骤如下:设置蚁群算法参数,状态转移概率影响因子的初始值;通过蚁群算法求解带时间窗限制的露天矿卡车路径问题,判断其路径是否满足载重约束和时间约束,接着更新全局信息素;上述整个过程完成为一次迭代,当算法迭代完成,则输出结果,结束运算过程,否则继续进行蚁群算法求解。
6.根据权利要求5所述基于时间窗限制的露天矿卡车调度路径优化方法,其特征在于,采用基本蚁群算法求解带时间窗的露天矿路径优化的具体操作步骤如下:Step1:初始化控制参数,基础数据,设置各边初始信息素,最大迭代步数NCmax;
Step2:进行蚂蚁搜索,设置蚂蚁起点,按照状态转移概率的计算公式来选择下一个访问的节点,更新蚁群路径;
Step3:判断是否所有蚂蚁都访问节点完毕,若完毕则蚁群算法完成,转Step4;若未访问完毕则转Step2继续搜寻蚂蚁路径;
Step4:考虑模型的载重约束、时间窗约束、蚂蚁游历完一周后计算路径和费用,统计所用车辆数;
Step5:根据全局更新规则更新信息素;
Step6:判断算法迭代次数是否完成,若迭代完成则输出结果,若迭代未完成则清空蚂蚁的禁忌表,重复Step2-Step5继续进行迭代计算,直到求得最优解或达到最大迭代次数。