一种跨层穿梭车仓储系统的任务调度方法与流程

文档序号:20689435发布日期:2020-05-08 19:13阅读:365来源:国知局
一种跨层穿梭车仓储系统的任务调度方法与流程

本发明涉及物流技术领域,尤其是涉及一种跨层穿梭车仓储系统的出入库作业任务调度方法。



背景技术:

跨层穿梭车仓储系统是近年来出现的一种新型智能立体仓库。与典型的多层穿梭车仓储系统,穿梭车通过提升机实现跨层运动,以达到货架的不同层工作,具有更高的柔性和鲁棒性。跨层穿梭车仓储系统主要由穿梭车、提升机、轨道和存储货架等组成。其中,穿梭车在货架轨道上运行,负责货物的水平搬运,提升机安装在巷道口,实现穿梭车的跨层运动。显然,典型的多层穿梭车仓储系统的建模方法未考虑穿梭车的选择,故不适合跨层穿梭车仓储系统这种复杂的模式。目前,针对跨层穿梭车仓储系统已有不少建模方法,但大都考虑单出库任务的调度,且对考虑设备的运动特性,与实际情况有较大误差,对于跨层穿梭车仓储系统的任务调度有一定的局限性。因此有必要针对跨层穿梭车仓储系统的出入库任务调度进行深入研究和改进。



技术实现要素:

本发明要克服现有技术的上述缺点,提供一种跨层穿梭车仓储系统的任务调度方法,该方法提高了跨层穿梭车仓储系统的作业效率。

一种跨层穿梭车仓储系统的任务调度方法,包括以下步骤:

s1.基于跨层穿梭车仓储系统的出入库复合作业流程表述其复合作业时间;

s2.构建以最小化订单完成时间为目标的混合整数规划模型;

s3.设计改进的人工鱼群算法进行模型求解,并得到最优任务调度方案和调度时间。

s1:基于跨层穿梭车仓储系统的出入库复合作业流程表述其复合作业时间,具体包括:

步骤1:依据跨层穿梭车仓储系统的出入库复合作业流程,提前其关键任务:取货任务、出库任务、入库任务。

步骤1.1:引入虚拟提升机的概念,即在某过程中选择虚拟提升机,则表示在该过程中无需进行跨层作业。则复合作业中的每个任务都可以表示为三阶段的作业:第一阶段的作业设备为穿梭车,第二阶段的作业设备为提升机,第三阶段的作业设备为穿梭车。

步骤2:设出库货物i和入库货物j坐标分别为(xi,yi)和(xj,yj),则穿梭车初始位置即上一入库作业结束位置为(xj-1,yj-1),根据出入库复合作业流程,按照穿梭车初始位置与待出库货物是否处于同一层,进行作业时间分析。

步骤2.1:当穿梭车初始位置与待出库货物位置不相同时,即yi-1≠yi,则其复合作业时间为

tij=t1+t2+t3+2t4+t5+t6+2t7+4t8+4t9(1)

步骤2.2:当穿梭车初始位置与待出库货物位置相同时,即yi-1=yi,则其复合作业时间为

tij=t10+t5+t6+2t7+2t8+4t9(2)

其中,t1为穿梭车从初始位置运行至提升机站台的时间,t2为穿梭车前往取出库货物过程中等待提升机的时间,t3为穿梭车从当前所在层搭载提升机运行至出库货物所在层的时间,t4为穿梭车从提升机站台运行至出库货物i所在位置的时间,t5为穿梭车前往取入库货物过程中等待提升机的时间,t6为穿梭搭载提升机从出库货物所在层到达i/o站台并返回入库货物所在层的时间,t7为穿梭车从提升机站台运行至入库货物所在位置的时间,t8为提升机装(卸)穿梭车的时间,t9为穿梭车装(卸)货物的时间。t10为穿梭车从当前位置运行至出库货物所在位置的时间。其中t2和t5为穿梭车等待提升机的时间,与设定的作业任务序列有关;t1、t3、t4、t6、t7和t10可根据设备运动距离及其速度、加速度计算;t8和t9为定值。

s2:所述构建以最小化订单完成时间为目标的混合整数规划模型,具体包括:

步骤1:跨层穿梭车仓储系统的复合作业通过迭代思想转化为混合流水线作业模式。

步骤2:通过任务与穿梭车的不同组合与排序,产生不同的订单处理时间,选择其中最短的作业时间,可以确定任务的拣选分配与排序,故跨层穿梭车仓储系统完成某订单的总时间目标函数为

mincmax(3)

其中cmax为所有任务的最大完成时间。

步骤3:为保证每个复合作业单元的各设备执行顺序和时间的合法性建立混合整数规划模型的约束条件。

步骤3.1:执行设备的约束,具体为:

(1)每个任务的每个阶段仅由一台设备执行,表达式如下:

(2)每个任务的第一阶段和第三阶段所执行设备为同一个,表达式如下:

(3)属于一个复合作业单元的每个任务的第一阶段所执行设备为同一个,表达式如下:

步骤3.2:任务作业开始时间的约束,具体为:

(1)所有任务的开始时间均在系统开始作业之后,表达式如下:

(2)同一复合作业单元下三个任务的开始时间的关系,只有前序任务完成后,才能进行后续任务的作业,表达式如下:

(3)每个任务各阶段的开始时间的关系,只有上阶段完成后,才能进行下一阶段的作业,表达式如下:

(4)同一设备连续两个作业任务开始时间的关系,只有前序任务完成后,才能进行后续任务的作业,表达式如下:

步骤3.3:任务与设备间的约束,具体为:

(1)在每台设备作业序列中,每个任务最多有一个前序任务与后续任务,表达式如下:

步骤3.4:总任务最大完成时间的约束,具体为:

(1)总任务最大完成时间大于等于每一个复合作业单元的完成时间,表达式如下:

其中,b为任务序号,b=1,2,3…,3n-2,3n-1,3n,…,3n-2,3n-1,3n,其中n为单元编号。s为阶段编号,s=1,2,3;k为作业设备编号,k=1,2,…,ms;ms为第s阶段的作业设备数,其中m1=m3=q,表示第一阶段和第三阶段的设备数量即为穿梭车的数量;m2=2,其中该阶段的第一个设备为实际运行的提升机,第二个为虚拟提升机,选择该提升机表示该阶段无需进行跨层运动。tbs为任务b在s阶段的开始时间;pbs为任务b在s阶段的作业时间;wbb'sk为s阶段机器k操作的两个连续任务b和b’之间的准备时间。xbsk为当任务b在s阶段由设备k作业时,xbsk=1,否则xbsk=0;ybb'sk为当s阶段b与b’是前后连续的作业任务,并且由同一设备k作业时,ybb'sk=1,否则ybb'sk=0。

s3:所述的改进人工鱼群算法求解跨层穿梭车复合作业模型,并得到最优任务调度方案和调度时间,具体包括:

步骤1:初始化算法参数。包括选择人工鱼数量n,人工鱼初始视野visual0,最小视野visualmin,拥挤度因子δ,最大试探次数try_number,最大无效迭代次数invalid_gen,人工鱼群最大迭代次数max_gen。

步骤2:初始化种群。人工鱼群个体的编码:基于ttmsws调度模型的特点,采用出入库混合整数编码方式,编码序号代表任务的编号。假设出入库复合作业任务为n对,即存在n个出库任务和n个入库任务,将n个出库任务随机编码为1~n,n个入库任务则随机编码为n+1~2n,每条人工鱼的编码第奇数个元素为出库任务,第偶数个元素为入库任务;即x=(x1,x2,...,x2k-1,x2k,...,x2n-1,x2n),其中x2k-1为出库任务,x2k为出库任务,即调度时按照顺序依次进行x1,x2,...,x2k-1,x2k,...,x2n-1,x2n对应的出库任务和入库任务。在解中的偶数位置插入标志位以区分不同穿梭车的任务执行序列。

步骤3:计算适应度函数。本文目标是完成所有任务的作业时间最短,即求解极小化问题,则适应度函数为

y=fitness=mint=mincmax(15)

式中cmax为所有任务完成的最大时间。y即是对应x编码方案的适应度。

步骤4:进入人工鱼群迭代过程,当迭代次数小于最大迭代次数max_gen,执行如下操作。

步骤4.1:试探人工鱼的追尾行为,设人工鱼当前状态为xi,探测其领域内的伙伴数目nf及最优的伙伴xmin,若yminnf<δyi,则执行追尾行为,该人工鱼向最优伙伴xmin的位置前进:xi|next=xmin。若追尾失败,则试探人工鱼的聚群行为。

步骤4.2:试探人工鱼的聚群行为,设人工鱼当前状态为xi,探测其邻域内的伙伴数目nf以及其中心位置xc,若ycnf<δyi,则执行聚群行为,该人工鱼向中心位置前进:xi|next=xc。若聚群失败,则进行人工鱼的觅食行为。

步骤4.3:进行人工鱼的觅食行为,设人工鱼当前状态为xi,在其视野范围内随机选择一个状态xj,而从公布板中获取全局最优位置xbest,人工鱼朝xj和xbest的组合方向前进。而其向xj和全局最优位置xbest的组合方向前进的实现方式为:比较xj和xbest的解序列相似性,保留两个序列中都同时出现的连续num个序列放入xi|next中,其余部分则按xi排列填充并去除其重复节点。

步骤4.4:公告板更新。设立公告板用来记录最优人工鱼个体的状态。各人工鱼每次执行完上述步骤之后,检验自身状态与公告板的状态,如果自身状态优于公告板状态,就将公告板的状态改写为自身状态,否则公告板不变。

步骤4.5:根据公布板的更新情况,进行人工鱼视野参数的更新,具体表达式如下:

式中visual0表示初始视野值,visualmin表示最小视野值。gen表示当前迭代代数,invalid表示人工鱼最优解连续不变化的次数,表示当前迭代次数下人工鱼的最优解序列,s控制视野缩小速度,为常数。

步骤4.6:进行增强局部搜索行为的条件判断:判断连续失效迭代次数是否已达到预先设置的连续失效迭代阈值。若满足局部搜索条件,则转步骤4.7;否则转步骤4.1。

步骤4.7:对当代最优个体进行变邻域搜索,得到新的当代最优个体x和最优状态值y。比较y与公布板所记录的ybest,记录适应度值大的个体作为当前最优个体,并更新公布板。

步骤5:当迭代次数已达到预置的最大迭代次数max_gen,算法终止,输出最优解,即公告板中人工鱼状态和函数值。人工鱼状态即是任务调度方案,函数值即是该方案下调度时间。

与现有技术相比,本发明具有以下有益的技术效果

本发明公开的跨层穿梭车仓储系统的任务调度方法,针对跨层穿梭车仓储系统中的出入库复合作业问题,将复合作业中的提升机与穿梭车配合完成的仓储作业方式作为对象,考虑提升机与穿梭车的加减速特性,以复合作业总时间最短为目标,采用了改进人工鱼群算法金对调度路径模型进行优化求解,寻求最优的调度路径规划方案,从而减少作业时间,提高仓储作业效率。

附图说明

图1为本发明的跨层穿梭车仓储系统示意图;

图2为本发明的跨层穿梭车仓储系统货架立面图;

图3为本发明的出入库作业示意图;

图4为本发明的出入库复合作业的作业流程图;

图5为本发明的设计的改进人工鱼群算法的流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步说明。所述是对本发明的解释而不是限定。

发明技术方案包含如下所述方法:

s1.由穿梭车和提升机在复合作业中的运行流程,分析其复合作业时间;

s2.构建以最小化订单完成时间为目标的混合整数规划模型;

s3.设计改进的人工鱼群算法进行模型求解,并得到最优任务调度方案。

所述s1中跨层穿梭车仓储系统复合作业的流程与时间,具体包括:

步骤1:参见图2、图3和图4,将跨层穿梭车仓储系统转化为oxy坐标下的模型,跨层穿梭车仓储系统的复合作业即为出入库交叉作业,过程中规划优先完成一个出库任务,然后再完成后一个入库任务,构成一个完整的双命令周期作业。设出库货物i和入库货物j坐标分别为(xi,yi)和(xj,yj),设穿梭车初始位置即上一入库作业结束位置为(xj-1,yj-1),当某次双倍命令周期作业中入库作业或出库作业缺失时,补充坐标为(0,0)的货物,作为虚拟的出(入)库作业,形成完整的双命令周期作业。

步骤1.1:引入虚拟提升机的概念,即在某过程中选择虚拟提升机,则表示在该过程中无需进行跨层作业。则复合作业中的每个任务都可以表示为三阶段的作业:第一阶段的作业设备为穿梭车,第二阶段的作业设备为提升机,第三阶段的作业设备为穿梭车。

步骤2:按照穿梭车初始位置与待出库货物是否处于同一层,进行分情况讨论。

步骤2.1:当穿梭车初始位置与待出库货物不处于同一层,则具体流程为:首先由穿梭车从初始位置(xj-1,yj-1)水平运动至当前穿梭车同层提升机站台处(0,yj-1),等待提升机到达该层。而后穿梭车搭乘提升机垂直运动至其出库货物所在层(0,yi),穿梭车从该层提升机站台处水平运动至出库货物位置(xi,yi)进行取货,完成后返回提升机站台处,等待提升机,穿梭车搭乘提升机垂直运动至i/o站台(0,0)完成出库并取需入库的货物,而后搭乘提升机垂直运动至其入库货物所在层(0,yj),穿梭车从该层提升机站台处水平运动至入库货物位置(xj,yj)进行存储。根据以上流程,确定其复合作业时间为

tij=t1+t2+t3+2t4+t5+t6+2t7+4t8+4t9(1)

步骤2.2:当穿梭车初始位置与待出库货物处于同一层,则具体流程为:首先由穿梭车从初始位置(xj-1,yj-1)水平运动至出库货物位置(xi,yi)进行取货,完成后返回提升机站台处,等待提升机,穿梭车搭乘提升机垂直运动至i/o站台(0,0)完成出库并取需入库的货物,而后搭乘提升机垂直运动至其入库货物所在层(0,yj),穿梭车从该层提升机站台处水平运动至入库货物位置(xj,yj)进行存储。根据以上流程,确定其复合作业时间为

tij=t10+t5+t6+2t7+2t8+4t9(2)

其中,t1为穿梭车从初始位置运行至提升机站台的时间,t2为穿梭车前往取出库货物过程中等待提升机的时间,t3为穿梭车从当前所在层搭载提升机运行至出库货物所在层的时间,t4为穿梭车从提升机站台运行至出库货物i所在位置的时间,t5为穿梭车前往取入库货物过程中等待提升机的时间,t6为穿梭搭载提升机从出库货物所在层到达i/o站台并返回入库货物所在层的时间,t7为穿梭车从提升机站台运行至入库货物所在位置的时间,t8为提升机装(卸)穿梭车的时间,t9为穿梭车装(卸)货物的时间。t10为穿梭车从当前位置运行至出库货物所在位置的时间。其中t2和t5为穿梭车等待提升机的时间,与设定的作业任务序列有关;t1、t3、t4、t6、t7和t10可根据设备运动距离及其速度、加速度计算;t8和t9为定值。

所述s2中构建以最小化订单完成时间为目标的混合整数规划模型,具体包括:

步骤1:跨层穿梭车仓储系统的复合作业通过迭代思想转化为混合流水线作业模式。

步骤2:仓储系统的任务调度可以看作对某时间窗口内的批量任务,以总作业完成时长最短为目标,重新对任务进行排序组合后再下发到设备执行层面完成;故任务调度模型目标为最小化总任务完成时间,表达式如下:

mincmax(3)

其中cmax为所有任务的最大完成时间。

步骤3:为保证每个复合作业单元的各设备执行顺序和时间的合法性建立混合整数规划模型的约束条件。

步骤3.1:执行设备的约束,具体为:

(4)每个任务的每个阶段仅由一台设备执行,表达式如下:

(5)每个任务的第一阶段和第三阶段所执行设备为同一个,表达式如下:

(6)属于一个复合作业单元的每个任务的第一阶段所执行设备为同一个,表达式如下:

步骤3.2:任务作业开始时间的约束,具体为:

(5)所有任务的开始时间均在系统开始作业之后,表达式如下:

(6)同一复合作业单元下三个任务的开始时间的关系,只有前序任务完成后,才能进行后续任务的作业,表达式如下:

(7)每个任务各阶段的开始时间的关系,只有上阶段完成后,才能进行下一阶段的作业,表达式如下:

(8)同一设备连续两个作业任务开始时间的关系,只有前序任务完成后,才能进行后续任务的作业,表达式如下:

步骤3.3:任务与设备间的约束,具体为:

(2)在每台设备作业序列中,每个任务最多有一个前序任务与后续任务,表达式如下:

步骤3.4:总任务最大完成时间的约束,具体为:

(2)总任务最大完成时间大于等于每一个复合作业单元的完成时间,表达式如下:

其中,本实施例中的任务对数为20,穿梭车数量为3。b为任务序号,b=1,2,3…,3n-2,3n-1,3n,…,3n-2,3n-1,3n,其中n为单元编号,n=20。s为阶段编号,s=1,2,3;k为作业设备编号,k=1,2,…,ms;ms为第s阶段的作业设备数,其中m1=m3=q=3,表示第一阶段和第三阶段的设备数量即为穿梭车的数量;m2=2,其中该阶段的第一个设备为实际运行的提升机,第二个为虚拟提升机,选择该提升机表示该阶段无需进行跨层运动。tbs为任务b在s阶段的开始时间;pbs为任务b在s阶段的作业时间;wbb'sk为s阶段机器k操作的两个连续任务b和b’之间的准备时间。xbsk为当任务b在s阶段由设备k作业时,xbsk=1,否则xbsk=0;ybb'sk为当s阶段b与b’是前后连续的作业任务,并且由同一设备k作业时,ybb'sk=1,否则ybb'sk=0。

所述s3中设计改进的人工鱼群算法进行模型求解,并得到最优任务调度方案,具体包括:

步骤1:初始化算法参数。人工鱼数量n=20,人工鱼初始视野visual0=10,最小视野visualmin=1,拥挤度因子δ=8,最大试探次数try_number=20,最大无效迭代次数invalid_gen=5,人工鱼群最大迭代次数max_gen=100。

步骤2:初始化种群。以小批量作业(20任务对)进行数值实验仿真,复合作业任务列表见表1。对人工鱼群个体进行编码:基于ttmsws调度模型的特点,采用出入库混合整数编码方式,编码序号代表任务的编号。此时出入库复合作业任务为20对,即存在20个出库任务和20个入库任务,将20个出库任务随机编码为1~20,20个入库任务则随机编码为21~40,每条人工鱼的编码第奇数个元素为出库任务,第偶数个元素为入库货位;即x=(x1,x2,...,x2k-1,x2k,...,x2n-1,x2n),其中x2k-1为出库任务,x2k为出库任务,即调度时按照顺序依次进行x1,x2,...,x2k-1,x2k,...,x2n-1,x2n对应的出库任务和入库任务。在解中的偶数位置插入标志位以区分不同穿梭车的任务执行序列。

步骤3:计算适应度函数。本文目标是完成所有任务的作业时间最短,即求解极小化问题,则适应度函数为

y=fitness=mint=mincmax(15)

式中cmax为所有任务完成的最大时间。适应度函数计算需满足s2所述的约束。其余具体跨层穿梭车仓储系统的参数设置如表2所示。y即是对应x编码方案的适应度。

步骤4:进入人工鱼群迭代过程,当迭代次数小于次数max_gen,执行如下操作:

步骤4.1:试探人工鱼的追尾行为,设人工鱼当前状态为xi,探测其领域内的伙伴数目nf及最优伙伴xmin,若yminnf<δyi,则执行追尾行为,该人工鱼向最优伙伴xmin的位置前进:xi|next=xmin。若追尾失败,则试探人工鱼的聚群行为。

步骤4.2:试探人工鱼的聚群行为,设人工鱼当前状态为xi,探测其邻域内的伙伴数目nf以及其中心位置xc,若ycnf<δyi,则执行聚群行为,该人工鱼向中心位置前进:xi|next=xc。若聚群失败,则进行人工鱼的觅食行为。

步骤4.3:进行人工鱼的觅食行为,设人工鱼当前状态为xi,在其视野范围内随机选择一个状态xj,而从公布板中获取全局最优位置xbest,人工鱼朝xj和xbest的组合方向前进。而其向xj和全局最优位置xbest的组合方向前进的实现方式为:比较xj和xbest的解序列相似性,保留两个序列中都同时出现的连续num个序列放入xi|next中,其余部分则按xi排列填充并去除其重复节点。num=6。

步骤4.4:公告板更新。设立公告板用来记录最优人工鱼个体的状态。各人工鱼每次执行完上述步骤之后,检验自身状态与公告板的状态,如果自身状态优于公告板状态,就将公告板的状态改写为自身状态,否则公告板不变。

步骤4.5:根据公布板的更新情况,进行人工鱼视野参数的更新。

式中visual0表示初始视野值,visualmin表示最小视野值。gen表示当前迭代代数,invalid表示人工鱼最优解连续不变化的次数,表示当前迭代次数下人工鱼的最优解序列,s控制视野缩小速度,为常数。

步骤4.6:进行增强局部搜索行为的条件判断:判断连续失效迭代次数是否已达到预先定义的连续失效迭代阈值。若满足局部搜索条件,则转步骤4.7;否则转步骤4.1。

步骤4.7:对当代最优个体进行变邻域搜索,得到新的当代最优个体x和最优状态值y。比较y与公布板所记录的ybest,记录适应度值大的个体作为当前最优个体,并更新公布板。

步骤5:当迭代次数已达到预置的最大迭代次数max_gen,算法终止,输出最优解,即公告板中人工鱼状态和函数值。所求得的最优人工鱼状态对应的20任务对复合作业路径顺序为:穿梭车1:12→29→20→26→18→33→4→30→11→35→13→21→7→32;穿梭车2:17→22→19→24→1→38→16→27→5→36→8→31→2→28;穿梭车3:6→34→15→23→14→40→10→37→9→39→3→25。其作业时间总和为349.1s。而采用随机生成30组复合作业序列,得到其作业平均值为482.3s。则本文提出的调度方法可以实现优化效率约为21%。

表1出入库任务表

表2跨层穿梭车仓储系统参数表

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

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