基于跨层穿梭车系统的任务排序优化方法及系统与流程

文档序号:16212283发布日期:2018-12-08 07:54阅读:250来源:国知局
基于跨层穿梭车系统的任务排序优化方法及系统与流程

本发明涉及自动化立体仓库技术领域,尤其涉及一种基于跨层穿梭车系统的任务排序优化方法及系统。

背景技术

传统的物流仓储与拣选系统主要以人工拣选为主,由于电商的飞速发展,客户的在线订单结构逐渐呈现“小批量、多频次”的特点。传统的人工拣选十分耗时、耗力,因此,基于储分一体的跨层穿梭车系统,因其较高的灵活性和鲁棒性逐渐投入使用。

目前关于穿梭车系统的任务排序优化大多针对订单到达率较高的系统,研究者一般采用启发式算法优化系统的任务序列,通常只能求得次优解,并有可能陷入局部最优。对于跨层穿梭车系统应用的仓库,订单量相对较少,如何建立模型可以求得订单序列的最优解值得深入研究。

本发明对跨层穿梭车系统的任务排序优化进行研究,对单时间窗内所有订单任务建立以订单拣选总时间最小为目标函数的混合整数规划模型,通过分析订单与设备之间的相互关系加入多个约束条件,并利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间。本发明为跨层穿梭车系统的任务排序优化研究提供了新的思路,为提高系统效率提供决策支持。



技术实现要素:

本发明的目的就是为了解决上述问题,提供了一种基于跨层穿梭车系统的任务排序优化方法及系统,该方法及系统对单时间窗内所有订单任务建立以订单拣选总时间最小为目标函数的混合整数规划模型,通过分析订单与设备之间的相互关系加入多个约束条件,并利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间;为跨层穿梭车系统的任务排序优化研究提供了新的思路,为提高系统效率提供决策支持。

为实现上述目的,本发明的具体方案如下:

本发明的第一目的是公开一种基于跨层穿梭车系统的任务排序优化方法,包括:

确定提升机及穿梭车的运动规律以及提升机和穿梭车作业过程的各项服务时间;分别提取存储货架的层数、单个货位的高度、每排存储货架的列数、单个货位的宽度、穿梭车的最大水平速度和加速度、提升机的最大垂直速度和加速度、穿梭车的取货或者放货时间、提升机取穿梭车或放穿梭车的时间、穿梭车数量信息参数以及求解规模常量、出库任务订单、出库任务详细信息参数数据,建立多层穿梭车自动仓储系统的数学模型;

对单时间窗内所有订单任务,建立以订单拣选总时间最小为目标函数的混合整数规划模型;

利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间。

进一步地,所述的确定提升机及穿梭车的运动规律,具体为:

假设提升机目前在第i层,根据单层货架的高度,确定提升机垂直方向运行的距离;

考虑提升机的加速度和减速度,确定提升机的运行时间;

提升机从目前的位置第i层再次到出库货物所在层第j层取载有货物的穿梭车,求取提升机的垂直运行距离和运行时间;

穿梭车从出库货物所在层的第一列水平运行至出库货物所在列取货并返回第一列等待提升机,假设出库货物在第q列,根据单个货架的宽度,求取穿梭车的水平运行距离;

考虑穿梭车的加速度和减速度,确定穿梭车垂直方向的运行时间。

进一步地,所述的确定提升机和穿梭车作业过程的各项服务时间,具体为:

提升机从第i层取载货穿梭车运行至第一层卸载的时间;

提升机从第i层取载货穿梭车运行至第一层卸载,再运行至第j层的时间;

提升机从第一层取空穿梭车并将其运输到第i层卸载所用的时间

提升机从第一层取空穿梭车运输到第i层并卸载,再运行至第j层的时间;

提升机从第一层取空穿梭车到第i层卸载,再运行至第一层的时间;

穿梭车从第一列运行至货物所在列取货并运行至第一列的时间。

进一步地,所述的建立以订单拣选总时间最小为目标函数的混合整数规划模型,具体为:

其中,m表示提升机总任务数;tm表示提升机执行最后一个任务开始的时刻,即在第i层取载货穿梭车的时刻;表示提升机从第i层取载货穿梭车运行至第一层卸载;tshuttle表示穿梭车的卸货时间;表示第m个提升机任务是否为第i层的出库订单任务要求运输载货穿梭车,如果是,取值为1,否则为0。

进一步地,每个提升机任务之间需要满足如下约束条件:

同一个订单会请求两次提升机,假如第一次请求运输空载穿梭车为提升机的第m个任务,第二次请求运输载货穿梭车为提升机的第n个任务,提升机第n个任务开始的时间大于或等于第m个任务开始的时间加提升机将空穿梭车运送至货物所在层卸载再运行至第一层的时间;

如果提升机的第m个任务和第m-1个任务都为取载货穿梭车,提升机第m个任务响应的订单任务在第j层,第m-1个任务响应的订单任务在第i层,提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将载货穿梭车从第i层运送至第一层卸载后又返回第j层所需时间;

假如提升机的第m个任务为取载货穿梭车,出库订单任务在第j层,第m-1个任务为取空载穿梭车,出库订单任务在第i层,提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将空穿梭车从第一层运送至第i层卸载后又运行至第j层所需时间;

假如提升机的第m个任务为取空穿梭车,出库订单任务在第j层,第m-1个任务为取载货穿梭车,出库订单任务在第i层,那么提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将载货穿梭车从第i层运送至第一层卸载所需时间;

假如提升机的第m个任务和第m-1个任务都为取空穿梭车,第m个任务的订单任务在第j层,第m-1个任务的订单任务在第i层,提升机第m个任务开始的时间大于提升机第m-1个任务开始的时间加提升机将空载穿梭车从第一层运送至第i层卸载后再运行至第一层的时间。

进一步地,每层每个出库订单任务之间需满足如下约束条件:

第i层第s个订单任务开始的时间大于或等于提升机放下该层的第s-1个任务的载货穿梭车的时间;

第i层第s个订单任务结束的时间应该大于或等于穿梭车取完货在该层第一列等待提升机的时间加提升机将载货穿梭车从第i层运送至第一层并卸载的时间加穿梭车卸货的时间。

进一步地,提升机与订单出库任务之间需满足如下约束条件:

提升机第m个任务是取第i层第s个订单任务的载货穿梭车,提升机第m个任务开始时间大于或等于穿梭车在该层水平取完货物后等待提升机的时间;

提升机第m个任务是取第i层第s个订单任务的空穿梭车,那么该订单任务开始的时间等于提升机第m个任务开始时间。

进一步地,每个穿梭车任务之间以及穿梭车任务与出库订单之间需满足如下约束条件:

第一个穿梭车执行第一个出库订单任务,所以第一个穿梭车开始时间为0;第二个穿梭车第一个任务开始时间小于第一个穿梭车开始时间加提升机将第一个穿梭车运行至出库层卸载再返回第一层的时间和;

穿梭车h的第t个任务开始的时间大于或等于第t-1个任务开始的时间与提升机取空穿梭车运行时间以及取载货穿梭车运行时间和穿梭车的取放货的时间;

如果穿梭车h的第t个任务是第i层的第s个订单任务,那么该穿梭车开始的时间为该订单任务开始的时间,穿梭车取完货物等待提升机的时间大于穿梭车开始该任务的时间与提升机将该穿梭车从第一层运送到第i的时间与穿梭车取完货物时间的总和。

本发明的第二目的是公开一种基于跨层穿梭车系统的任务排序优化系统,包括:服务器,所述服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

确定提升机及穿梭车的运动规律以及提升机和穿梭车作业过程的各项服务时间;分别提取存储货架的层数、单个货位的高度、每排存储货架的列数、单个货位的宽度、穿梭车的最大水平速度和加速度、提升机的最大垂直速度和加速度、穿梭车的取货或者放货时间、提升机取穿梭车或放穿梭车的时间、穿梭车数量信息参数以及求解规模常量、出库任务订单、出库任务详细信息参数数据,建立多层穿梭车自动仓储系统的数学模型;

对单时间窗内所有订单任务,建立以订单拣选总时间最小为目标函数的混合整数规划模型;

利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间。

本发明的第三目的是公开一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:

确定提升机及穿梭车的运动规律以及提升机和穿梭车作业过程的各项服务时间;分别提取存储货架的层数、单个货位的高度、每排存储货架的列数、单个货位的宽度、穿梭车的最大水平速度和加速度、提升机的最大垂直速度和加速度、穿梭车的取货或者放货时间、提升机取穿梭车或放穿梭车的时间、穿梭车数量信息参数以及求解规模常量、出库任务订单、出库任务详细信息参数数据,建立多层穿梭车自动仓储系统的数学模型;

对单时间窗内所有订单任务,建立以订单拣选总时间最小为目标函数的混合整数规划模型;

利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间。

本发明的有益效果:

本发明的基于跨层穿梭车系统的任务排序优化方法,建立的任务排序优化模型能够准确地模拟该系统实际出库任务过程,精确的确定每一个出库任务的顺序,与随机取货顺序所需要的总取货时间相比,大大缩减了取货的总时长,为跨层穿梭车系统的任务排序优化研究提供了新的思路,为提高系统效率提供决策支持。

本发明将出库任务及设备之间的关系抽象为精确的数学个件,建立跨层穿梭车系统的出库任务顺序优化模型,克服了穿梭车系统任务排序优化建模无法精确求解的特点,可以快速有效的求出订单出库顺序以及穿梭车和提升机的任务序列,提高设备使用率和系统效率。

附图说明

图1为跨层穿梭车系统侧面示意图;

图2为跨层穿梭车系统作业流程图;

图3(a)-(e)分别为提升机运行模式示意图。

具体实施方式:

下面结合附图对本发明进行详细说明:

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

为了解决背景技术中指出的问题,本发明公开了一种基于跨层穿梭车系统的任务排序优化方法,包括以下步骤:

(1)建立多层穿梭车自动仓储系统的数学模型;模型的建立需要提取如下技术参数:

存储货架的层数n,单个货位的高度h,每排存储货架的列数c,单个货位的宽度μw,穿梭车的最大水平速度vs和加速度as,提升机的最大垂直速度vl和加速度al,穿梭车的取货或者放货时间tshuttle,提升机取穿梭车或放穿梭车的时间tlift;另外,还需要输入求解规模常量d、出库任务订单o,穿梭车数量h以及包含所有出库任务详细信息(任务所在层、所在深度位置)的字典q。

其中,分析提升机及穿梭车的运动规律,具体为:

在图3中提升机运行模式(a)、(b)、(d)、(e)中,假设提升机目前在第i层,提升机垂直方向运行的距离为:

h1(i)=(i-1)h

考虑提升机的加速度和减速度,提升机的运行时间为:

提升机从目前的位置第i层再次到出库货物所在层第j层取载有货物的穿梭车,如图3(c)中,提升机的垂直运行距离为h2(i,j)=|j-i|·h,提升机的运行时间为:

穿梭车从出库货物所在层的第一列水平运行至出库货物所在列取货并返回第一列等待提升机,假设出库货物在第q列,那么穿梭车的水平运行距离为d(q)=(q-1)·μw。同样考虑穿梭车的加速度和减速度,穿梭车垂直方向的运行时间为:

计算提升机和穿梭车作业过程的各项服务时间,具体为:

其中,为提升机从第i层取载货穿梭车运行至第一层卸载的时间;

为提升机从第i层取载货穿梭车运行至第一层卸载,再运行至第j层的时间;

为提升机从第一层取空穿梭车并将其运输到第i层卸载所用的时间

为提升机从第一层取空穿梭车运输到第i层并卸载,再运行至第j层的时间;

为提升机从第一层取空穿梭车到第i层卸载,再运行至第一层的时间;

为为穿梭车从第一列运行至货物所在列取货并运行至第一列的时间。

(2)对单时间窗内所有订单任务,建立以订单拣选总时间最小为目标函数的混合整数规划模型;

跨层穿梭车系统运作模式下,穿梭车的数量小于货架的层数。穿梭车可以在提升机的帮助下实现穿梭车的跨层运动,可以在货架的不同层工作,完成不同层的订单任务。如图1所示,第一层为穿梭车缓存区,所有的空闲穿梭车都会放置在第一层。图中的提升机为运输穿梭车的提升机,它的升降托盘上设有轨道,穿梭车可以通过轨道进入提升机。图中的提升机正在载着装有货物的穿梭车在垂直方向运动。

跨层穿梭车系统的作业流程主要有入库作业、出库作业以及拣货作业等。由于入库作业与出库作业的流程逻辑类似,本发明只针对出库作业进行研究,下面将介绍跨层穿梭车系统的出库作业流程和拣货作业流程。

当有出库订单任务到达时,上位机根据任务信息确定该出库货物所在的巷道、层数和列数。如果有空闲的穿梭车,该订单通过上位机分配给一个空闲穿梭车。如果穿梭车都在作业,那么该订单将会进入等待队列。当空闲穿梭车绑定订单后,会立即请求提升机服务,穿梭车的服务请求会加入提升机的任务序列,如果提升机当前没有正在执行其它任务,那么会响应穿梭车的服务请求。提升机从当前所在的位置运行到第一层,穿梭车进入提升机,提升机运载穿梭车到任务所在层,穿梭车离开提升机后,提升机释放可以去执行其他的任务。穿梭车从该层的第一列运行至货物所在列装载货物后,再次运行至第一列请求提升机服务。同第一次请求提升机一样,会再次加入提升机任务序列。提升机空闲时会将装有货物的穿梭车运载到第一层,穿梭车离开提升机后,提升机释放可以去执行下一个任务,穿梭车卸载货物后也被释放可以接受下一个订单任务。跨层穿梭车系统出库订单流程图如图2所示。

跨层穿梭车任务调度的主要目的是减少提升机与穿梭车之间相互等待时间,而对于每一个出库订单拣选任务,都需要提升机与一台穿梭车合作完成,并且提升机与空载穿梭车和载货穿梭车分别交互一次。因此,在对跨层穿梭车系统任务调度建模时,为充分考虑减少每一次任务请求造成的等待时间,对于单个出库订单拣选,将对应于该出库订单的提升机的任务划分为取空穿梭车和取载货穿梭车两个阶段。因此,提升机的基本运动可划分为五种,如图3所示。图3(a)与图3(b)分别表示提升机空载与负载由第i层至第一层,在假设提升机空载与负载运行速度不变的前提下,这两种运动可统一归结为提升机从第i层到1层。图3(c)表示提升机从i层到j层(根据实际情况分析只可能是空载)。图3(d)与图3(e)分别表示提升机空载与负载由第1层至第i层,在假设提升机空载与负载运行速度不变的前提下,这两种运动可统一归结为提升机从1层到第i层。

由于每个任务的完成都需要提升机的调度,所以一个时间窗内的订单完成总时间可以表述为最后一个提升机任务开始的时间加提升机运行时间加提升机卸载穿梭车的时间与穿梭车卸货的时间,其中根据实际情况分析,最后一个提升机任务为运输载货穿梭车,所以构建的订单排序优化模型的目标函数为:

其中,m表示提升机总任务数;tm表示提升机执行最后一个任务开始的时刻,即在第i层取载货穿梭车的时刻;表示提升机从第i层取载货穿梭车运行至第一层卸载;tshuttle表示穿梭车的卸货时间;表示第m个提升机任务是否为第i层的出库订单任务要求运输载货穿梭车,如果是,取值为1,否则为0。

为了求得一个时间窗内出库订单完成的最小总时间,需要满足六类约束,分别是:

1、每个出库订单任务对应的货位位置和取货次序都是唯一的,每个订单对应的穿梭车编号唯一,每个出库订单任务都会申请两次提升机的调度,一次是申请运输空载穿梭车,一次是申请运输载货穿梭车。具体为

其中,表示第m个提升机任务是否为第i层的出库订单任务要求运输载货穿梭车,如果是,取值为1,否则为0;表示第m个提升机任务是否为第i层的出库订单任务要求运输空穿梭车,如果是,取值为1,否则为0;c表示每排存储货架的列数;si表示第i层货架上的出库订单数量;xisq表示第i层的第s个出库订单任务是否在第q列上,如果是,取1,否则,取0;h表示穿梭车数量;th表示第h台穿梭车的任务数量;θht表示是否为穿梭车h的第t个任务,如果是,则取1,不是,取0;βtis表示某个穿梭车的第t个任务是否为i层的第s个订单任务,如果是,则取1,不是,取0;o表示出库订单数量。

2、每个提升机任务之间的约束应满足以下几点:

因为同一个订单会请求两次提升机,假如第一次请求运输空载穿梭车为提升机的第m个任务,第二次请求运输载货穿梭车为提升机的第n个任务,提升机第n个任务开始的时间大于或等于第m个任务开始的时间加提升机将空穿梭车运送至货物所在层卸载再运行至第一层的时间。

其中,tm表示提升机第m个任务的开始时间;表示提升机从第一层取空穿梭车并将其运输到第i层卸载所用的时间;lms表示第m个提升机任务是否为某一层的第s个出库订单任务,如果是,取值为1,如果不是,取值为0;d表示求解规模常量。

如果提升机的第m个任务和第m-1个任务都为取载货穿梭车,提升机第m个任务响应的订单任务在第j层,第m-1个任务响应的订单任务在第i层,提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将载货穿梭车从第i层运送至第一层卸载后又返回第j层所需时间。

其中,表示提升机从第i层取载货穿梭车运行至第一层卸载,再运行至第j层的时间。

假如提升机的第m个任务为取载货穿梭车,出库订单任务在第j层,第m-1个任务为取空载穿梭车,出库订单任务在第i层,提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将空穿梭车从第一层运送至第i层卸载后又运行至第j层所需时间。

其中,表示提升机从第一层取空穿梭车运输到第i层并卸载,再运行至第j层的时间。

假如提升机的第m个任务为取空穿梭车,出库订单任务在第j层,第m-1个任务为取载货穿梭车,出库订单任务在第i层,那么提升机第m个任务开始的时间大于或等于提升机第m-1个任务开始的时间加提升机将载货穿梭车从第i层运送至第一层卸载所需时间。

假如提升机的第m个任务和第m-1个任务都为取空穿梭车,第m个任务的订单任务在第j层,第m-1个任务的订单任务在第i层,提升机第m个任务开始的时间大于提升机第m-1个任务开始的时间加提升机将空载穿梭车从第一层运送至第i层卸载后再运行至第一层的时间。

其中,表示提升机从第一层取空穿梭车到第i层卸载,再运行至第一层的时间。

3、每层每个出库订单任务之间的约束条件应满足以下几点:

第i层第s个订单任务开始的时间大于或等于提升机放下该层的第s-1个任务的载货穿梭车的时间。

ssis≥fi,s-1-tshuttle,i∈2,3,...,n,s∈2,3,...,si

其中,ssis表示第i层第s个订单任务开始时间;fis表示第i层第s个订单任务的结束时间

第i层第s个订单任务结束的时间应该大于或等于穿梭车取完货在该层第一列等待提升机的时间加提升机将载货穿梭车从第i层运送至第一层并卸载的时间加穿梭车卸货的时间。

其中,ris表示穿梭车取完货在该层第一列等待提升机的时间。

4、提升机与订单出库任务之间约束条件应满足以下几点:

提升机第m个任务是取第i层第s个订单任务的载货穿梭车,提升机第m个任务开始时间大于或等于穿梭车在该层水平取完货物后等待提升机的时间。

提升机第m个任务是取第i层第s个订单任务的空穿梭车,那么该订单任务开始的时间等于提升机第m个任务开始时间。

5、每个穿梭车任务之间约束条件应满足以下几点:

第一个穿梭车执行第一个出库订单任务,所以第一个穿梭车开始时间为0。第二个穿梭车第一个任务开始时间小于第一个穿梭车开始时间加提升机将第一个穿梭车运行至出库层卸载再返回第一层的时间和。第h台穿梭车第一个任务开始时间与第h-1台穿梭车任务开始时间的关系同上。

其中,bht表示穿梭车h第t个任务开始时间;θht表示是否为穿梭车h的第t个任务,如果是,则取1,不是,取0;βtis表示某个穿梭车的第t个任务是否为i层的第s个订单任务,如果是,则取1,不是,取0。

穿梭车h的第t个任务开始的时间大于或等于第t-1个任务开始的时间与提升机取空穿梭车运行时间以及取载货穿梭车运行时间和穿梭车的取放货的时间。

6、分析穿梭车任务与出库订单之间的联系,建立约束条件如下:

如果穿梭车h的第t个任务是第i层的第s个订单任务,那么该穿梭车开始的时间为该订单任务开始的时间,穿梭车取完货物等待提升机的时间大于穿梭车开始该任务的时间与提升机将该穿梭车从第一层运送到第i的时间与穿梭车取完货物时间的总和。

为保证模型的非负性,添加其他必要的简单约束:t1=b11=0,tm,ssis,fis,ris,bht≥0

因为已经建立了穿梭车和每个出库订单任务之间的联系,提升机和每个出库订单任务之间的联系,那么穿梭车和提升机任务之间的联系就通过任务连接在一起,所有没有必要在建立两者之间的约束条件。

(3)利用gurobi线性规划求解器对该混合整数规划模型进行求解,获得该时间窗内订单任务的最优出库顺序与最短的订单任务完成时间。

实例分析

为了验证模型的有效性,设置6种跨层穿梭车系统的模拟场景如表1,利用上述的模型精确方法快速计算结果。在每组场景下,分别记录4种随机取货顺序下的总取货时间,与模型的计算结果进行比较,所获得的数据记录如表2所示。

表1场景设置表

表2模型计算结果分析

显然,利用模型计算出的总取货时间比随机取货顺序下的总取货时间大幅缩减,模型所计算出的取货顺序即为最佳的取货顺序。

表3是多层穿梭车自动仓储系统最常用的基本配置,上述结果均在该配置条件下计算得出。

表3多层穿梭车自动仓储系统基本配置

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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