一种带硬时间窗的刀具准时配送路径规划算法的制作方法

文档序号:14910333发布日期:2018-07-10 23:13阅读:297来源:国知局

本发明属物流路径规划控制技术领域,具体涉及生产车间一种带硬时间窗的刀具准时配送路径规划算法。



背景技术:

随着目前国内、外物流配送行业的兴起与发展,车间的物流配送相关技术的应用和发展受到越来越多地重视。刀具作为数控车间中一种极为重要的生产资源,其配送也是车间生产物流系统的重要组成部分,它和生产工艺过程是伴随企业内部生产过程的物流活动,刀具的准时、高效配送是生产稳定、高效运行的重要保障。

目前大多数离散制造企业,其生产车间的刀具配送路径技术比较原始、信息化程度还不高,绝大多企业的生产车间还未采用先进的智能化配送系统。在车间的刀具配送过程中,通常是配送人员根据生产作业排程将生产车间所需要的所有刀具在工位开工前配送到每个工位,这就导致了刀具在工位旁的积压。随着准时生产方式的提出,企业为了降低生产过程中刀具在工位旁积压造成的浪费,企业要求工序只在需要的时候,按需要的量,生产出所需要的产品。因此车间的刀具配送也应当是在工序加工需要的时候,才将工位需要的刀具配送到该工位。

车辆路径问题(Vehicle Routing Problem,VRP)是由Dantzig和Ramser于1959年首次提出的,通常的物流配送的车辆路径问题(VRP)的一般描述为:一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下达到诸如路程最短、成本最小、耗费时间最小的等目的。

但是车间刀具配送路径问题与大多数的社会物流VRP问题不一样,目前在车间刀具配送路径问题的研究中,多数都是直接套用属于社会物流VRP的数学模型,仅对算法进行改进,而忽略了实际的车间刀具配送过程。



技术实现要素:

为了克服现有技术的不足,本发明提供一种带硬时间窗的刀具准时配送路径规划算法。通过对车间刀具配送过程进行梳理,对比车间刀具配送问题与一般VRP问题的不同点,考虑工位的刀具需求可拆分,为工位的每个工序添加服务硬时间窗,建立带硬时间窗的刀具准时配送路径规划的模型,该模型以工序平均满意度最高和配送车辆数量最小为优化目标,在约束条件中,考虑了时间窗,一次任务中每个工序只能由一个小车服务,每个工序所需的刀具类型、数量已知等,然后运用遗传算法对建立的模型进行求解。

一种带硬时间窗的刀具准时配送路径规划算法,其特征在于包括以下步骤:

步骤1:已知刀具仓库中心中工位每个工序的开工时间和需求、每个工序的硬时间窗、闭合式车辆路径,且每个工序只有一辆车配送,按以下公式确定决策变量:

其中,xijk为表示工序之间的行驶顺序以及配送小车的变量,yik为表示工序由哪辆车配送的变量,i、j表示工序编号,i=1,2,…,N,j=1,2,…,N,N为工序总数,k表示车辆的编号,k=1,2,…,K,K为车辆总数;

步骤2:分别按以下公式建立不等式约束:

tid<ti<tiu (3)

其中,tid表示工序i的时间窗下限,tiu表示工序i的时间窗上限,ti表示配送车辆到达工序i所对应工位的时间;

步骤3:按照建立优化目标函数,其中,μi为工序i的满意度,按照计算,tie表示工序i的期望小车服务时间;

步骤4:随机产生popsize个个体作为初始种群,每个个体为所有工序编号的自然数全排列,即工序编号编码,popsize为遗传算法初始化参数,取值范围为10~200;

步骤5:根据各工序的时间窗要求,分别对每个个体进行解码,即将工序编号编码转化为工位编码,具体为:

步骤a:将小车的发车时间初始化为最早开工的工序的开工时间的前11min,针对一个个体,首先在工位编码的第一个编码位置插入0,然后从左到右遍历个体的工序编号编码,根据配送中心与工序编号所对应工位之间的行驶时间,找出能够在时间窗内到达工序的所在工位,如果可以找到,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,此时,小车的行驶时间为小车的发车时间加上配送中心到达工序编号所对应工位的行驶时间,转入步骤b;否则,改变小车的发车时间为工序编号编码第一个编码位置所对应工序的开工时间减去11min,然后从左到右遍历工序编号编码,根据配送中心与工序编号所对应工位之间的行驶时间,找到可以在时间窗内到达工序的所在工位,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,此时,小车的行驶时间为小车的发车时间加上配送中心到达工序编号所对应工位的行驶时间,转入步骤b;

步骤b:以小车的行驶时间基础,从左到右遍历工序编号编码,根据工序编号所对应工位之间的行驶时间,寻找可以在时间窗内到达的工序所在的工位,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,小车的行驶时间更新为上一小车行驶时间加上工序编号所对应工位之间的行驶时间。重复此步骤,直到找不到满足条件的工序,转入步骤c;

步骤c:在工位编码的最后位置加入0,并判断此时工序编号编码的长度是否为0,如果为0,则解码结束;否则,返回到步骤a;

步骤6:按照fitness(i)=value(i),i=1,2...,popsize计算得到每个个体的适应度值,其中value(i)为第i个体的工序平均满意度值与车辆数量值的倒数之和,工序平均满意度是指工位编码中所有非0的编码对应的工序的满意度的平均值;车辆数量值是指工位编码中0的数量减1;

步骤7:根据步骤6计算出来的适应度值,采用比例选择方法对初始种群进行选择,得到适应度高的个体组成父代种群;

步骤8:以一定的交叉概率Pc,采用部分匹配法对步骤7选择出的个体进行交叉,得到子代种群,Pc的取值范围为0.4~0.99;

步骤9:以一定的变异概率Pm,采用逆转变异算法对步骤8得到的子代种群进行变异,得到下一代临时种群,Pm的取值范围为0.0001~0.1;

步骤10:记录临时种群中适应度值最高的个体,并判断是否达到最大迭代次数Nd,若是,则结束,从记录的每一代适应度最大的个体所组成的集合中,找出适应度值最大的个体,则这个适应度值最大的个体解码所得的路径即为最优刀具配送路径;否则,以步骤9得到的临时种群为初始种群,返回步骤5,迭代次数加1,所述的迭代次数初始值为1,最大迭代次数Nd的取值范围为100~500。

本发明的有益效果是:由于考虑了工位的刀具需求可拆分,并且为工位每个工序安排配送时间窗,建立以工序平均满意度和配送车辆数为目标的优化函数,更准确的反映了车间刀具准时配送车辆路径中的实际情况,使基于此制定的配送方案更加可靠;以工序的平均满意度最大和配送车辆数最少为适应度函数,可以更好的满足对于硬时间窗的适应;由于采用遗传算法进行模型求解,对搜索空间中的多个解进行评估,减少了传统优化算法容易陷入局部最优解的风险,采用概率的变迁规则来指导搜索方向,使得算法具有自学习性和自适应性。

附图说明

图1是本发明的一种带硬时间窗的刀具准时配送路径规划算法流程图

具体实施方式

下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。

如图1所示,本发明提供了一种带硬时间窗的刀具准时配送路径规划算法,主要包括建立路径规划数学模型和利用遗传算法对模型进行求解两大部分。具体过程如下:

1、建立具有硬时间窗约束的刀具准时配送路径规划的数学模型。

刀具配送路径规划问题可描述为:生产车间的一个刀具仓库中心拥有若干辆小车,按照企业生产作业排程对每个工位的每个工序准时配送刀具。工序i的配送时间窗[tid,tie,tiu],tid代表时间窗下限,tiu代表时间窗上限,tie代表期望到达的时间,且在模糊预约时间窗[tid,tie,tiu]内要考虑工序的满意度μi。配送刀具车辆从刀具仓库中心出发,为工位服务,完成配送任务后返回配送中心。要求合理安排车辆和行驶路径,保证满足约束的条件下,要求工序的平均满意度最大和配送车辆数量最少。本发明研究基于以下假设:一个刀具仓库中心,工位的每个工序开工时间已知,且每个工序需求已知;闭合式车辆路径;每个工序只能有一辆车配送并保证每个工序都能被满足;每个工序的时间窗已知,且为硬时间窗。

(1)按下式确定决策变量:

其中,xijk为表示工序之间的行驶顺序以及配送小车的变量,yik为表示工序由哪辆车配送的变量,i、j表示工序编号,i=1,2,…,N,j=1,2,…,N,N为工序总数,k表示车辆的编号,k=1,2,…,K,K为车辆总数;

(2)按以下公式建立不等式约束:

tid<ti<tiu (11)

其中,ti表示配送车辆到达工序i所对应工位的时间。式(11)表示配送车辆对所开工的工序的开始服务时间必须在时间窗之内;式(12)表示在一次配送任务中每个工序只能由一个配送小车服务;式(13)-(14)表示配送小车从配送中心出发,最后又回到配送中心;式(15)-(16)表示变量xijk与yik的关系约束。

(3)确定优化目标和建立目标函数

工序的平均满意度最大,即:

配送小车数量最小化,即:

从优化角度来看这是一个多目标优化问题,可以采用加权组合的方法将多目标问题转化成为单目标问题,以实现对两个目标函数的优化。将以上两个目标函数转化成单目标函数为:

其中,α,β为权重系数,且α+β=1。根据实际经验知,工序的平均满意度与配送小车数量相比强烈重要,根据序关系分析法知,α>β,设ω1=α,ω2=β,由知,ω2=(1+γ2)-1=0.38,则ω1=0.61,然后四舍五入得,α=0.6,β=0.4。

综上,优化目标函数为:

2、利用遗传算法对建立的模型进行求解。

(1)构造个体产生初始种群

采用自然数编码,即每个个体为所有工序编号的自然数的一个全排列,其中,各自然数对应于配送系统中的工序编号。随机产生popsize个个体作为初始种群,各个个体中自然数的顺序即为算法的对工序的访问顺序。popsize为遗传算法初始化参数,取值范围为10~200。

(2)对每个个体进行解码

根据各工序的时间窗要求,分别对每个个体进行解码,即将工序编号编码转化为工位编码,并向工位编码中插入0(0代表配送中心),形成具体的车辆配送路线,运输车辆的运行起点和终点均为配送中心,即每次从配送中心出发,完成配送任务后返回配送中心。

具体过程如下:

步骤a:将小车的发车时间初始化为最早开工的工序的开工时间的前11min,针对一个个体,首先在工位编码的第一个编码位置插入0,然后从左到右遍历个体的工序编号编码,根据配送中心与工序编号所对应工位之间的行驶时间,找出能够在时间窗内到达工序的所在工位,如果可以找到,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,此时,小车的行驶时间为小车的发车时间加上配送中心到达工序编号所对应工位的行驶时间,转入步骤b;否则,改变小车的发车时间为工序编号编码第一个编码位置所对应工序的开工时间减去11min,然后从左到右遍历工序编号编码,根据配送中心与工序编号所对应工位之间的行驶时间,找到可以在时间窗内到达工序的所在工位,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,此时,小车的行驶时间为小车的发车时间加上配送中心到达工序编号所对应工位的行驶时间,转入步骤b;

步骤b:以小车的行驶时间基础,从左到右遍历工序编号编码,根据工序编号所对应工位之间的行驶时间,寻找可以在时间窗内到达的工序所在的工位,将工位编号放入工位编码里,并将其工序编号从工序编号编码中去掉,小车的行驶时间更新为上一小车行驶时间加上工序编号所对应工位之间的行驶时间。重复此步骤,直到找不到满足条件的工序,转入步骤c;

步骤c:在工位编码的最后位置加入0,并判断此时工序编号编码的长度是否为0,如果为0,则解码结束;否则,返回到步骤a;

(3)计算适应度值

本发明采用适应度函数fitness(i)=value(i)来计算每个个体i的适应度值,i=1,2...,popsize。

value(i)为第i个体的工序平均满意度值与车辆数量值的倒数之和,其计算过程为:第一步,将个体的基因,从左到右,计算除配送中心外的车辆到达工位的满意度,然后再求平均满意度;第二步,遍历个体的编码,求出配送中心的数量,然后减掉1就是配送车辆的数量;第三步,将第一步所求值和第二部所求值的倒数相加即为value(i)的值。

(4)选择

根据以上步骤计算出来的适应度值,对初始种群进行选择算子操作,选出适应度值高的个体作为父代,在这里我们采用轮盘赌选择方法,又称比例选择方法,其基本思想是各个个体被选中的概率与适应度大小成正比。具体操作如下:

首先,根据每个个体的适应度值,计算出每个个体被遗传到下一代群体中的概率:

然后,计算每个个体的累计概率:

接着,在[0,1]区间内产生一个均匀分布的随机数r,若r<q(1),则选择个体1,否则,若q(k-1)<r<q(k),选择个体k,重复此过程popsize次,完成选择。

(5)交叉

以一定的交叉概率Pc,采用部分匹配法对以上选择出的个体进行交叉,得到子代种群,Pc的取值范围为0.4~0.99。

首先对种群中的个体,两两随机互相结合,然后对相互结合的组合体随机产生[0,1]的随机数,再判断组合体的随机数是否小于交叉概率Pc,如果小于Pc,则进行交叉操作;以两个父代个体(1 2 3 4 5 6 7 8)和(2 4 6 8 5 3 1)为例,部分匹配法的具体过程为:随机选择两个交叉的点,加入第一个点为位置为4,第二个交叉位置为6,那么两个点之间的位置将进行交叉,其他的位置进行复制或者用相匹配的数进行替换。在本实施例中,第一个父代个体中4 5 6被选中,第二个父代个体中,8 7 5被选中。那么4与8,5与7,6与5相匹配。首先,将4 5 6与8 7 5分别加入到子代2和子代1中相应的位置,然后,将其他位置上的数字直接复制到相应的后代中,如果该数字已经在该子代中已经存在,则用相应的匹配法则进行替换,例如子代1中将7复制进去的时候,发现7已经存在于子代中,通过查找相应的匹配法则,发现,7与5匹配,然后复制5,又发现5也已经存在于该子代中,在此查找匹配法则,发现5与6匹配,将6复制,6不存在于该子代中,所以可以将6复制进去,如此反复,直到子代中工位的数目达到定义的长度,该子代创建完成。

(6)变异

以一定的变异概率Pm,采用逆转变异算法对上面得到的子代种群进行变异,得到下一代临时种群,Pm的取值范围为0.0001~0.1。

逆转变异法的具体过程为:每个个体随机产生[0,1]之间的随机数,判断随机数是否小于变异概率Pm,如果小于Pm,对个体进行变异操作;假设种群中任意一个个体的编码为“1,2,3,4,5,6,7,8,9”,随机生成两个变异点2和6,即“1,2,3,4,5,6,7,8,9”将变异段进行逆转得新个体“1,6,3,4,5,2,7,8,9”。

(7)进化条件停止的判断

记录临时种群中适应度值最高的个体,并判断是否达到最大迭代次数Nd,若是,则结束,从记录的每一代适应度最大的个体所组成的集合中,找出适应度值最大的个体,则这个适应度值最大的个体解码所得的路径即为最优刀具配送路径;否则,以步骤9得到的临时种群为初始种群,返回步骤5,迭代次数加1,所述的迭代次数初始值为1,最大迭代次数Nd的取值范围为100~500。

本实施例的具体仿真数据和结果如下:

表1为各工位的信息,其中生产的实际开工时间最早从8:00开始,为计算方便,将其变为最早从0min开始,其它工序开工时间以此往后推。表2为各工位之间的行驶时间。工序排序经过遗传算法的200次迭代,输出最优解。初始种群的个数为50,交叉概率为0.6,变异概率为0.001。表3是利用本发明算法计算得到的结果。可以看出,相比于对每个工位的刀具需求一次性全部配送,本发明这种对工位的每个工序添加硬时间窗,然后对每个工序逐个进行配送,更能体现准时生产下“只在工序加工需要的时候,才将工位需要的刀具配送到该工位”,提高了配送的准时性。

表1

表2

表3

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1