一种多深度储货区四向穿梭车多车调度方法与流程

文档序号:23183678发布日期:2020-12-04 14:12阅读:779来源:国知局
一种多深度储货区四向穿梭车多车调度方法与流程

本发明涉及仓储系统四向穿梭车调度领域,尤其是涉及一种多深度储货区四向穿梭车多车调度方法。



背景技术:

高密度仓储系统由提升机、四向穿梭车、多深度货架及仓储管理系统组成。四向穿梭车实现货物从单层出入口处的提升机处到目标货位的往返运输,提升机将货物在一层与多层之间转运并实现四向穿梭车的换层。多深度储货区则由多层货架构成,同一个多层货架中不同层的布局相同,由多条可以存放多个货物的多深度储货巷道构成。仓储管理系统能够监测仓储系统中四向穿梭车及货位状态,实现订单接收、任务分配及车辆调度等功能。

目前国内外已有一些文献资料对四向穿梭车的调度问题进行了研究,但是,现有的技术并没有解决高密度仓储系统中多深度储货区的多车调度中出现的问题。四向穿梭车多车调度方法是整个高密度仓储系统调度方案的核心。如果多深度储货区的车辆调度方案没有有效的方法指导,会导致多车无法同时运行、出入库订单延期和仓储货位利用率低等问题。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种多深度储货区四向穿梭车多车调度方法。

本发明的目的可以通过以下技术方案来实现:

一种多深度储货区四向穿梭车多车调度方法,该方法包括以下步骤:

步骤s1:基于多深度储货区基建信息,得到多深度储货区的交通网络规则;

步骤s2:基于交通网络规则,利用图论进行多深度储货区的交通网络定向;

步骤s3:基于交通网络定向结果,得到多深度储货区货位货物和储货巷道四向穿梭车信息;

步骤s4:基于多深度储货区货位货物和储货巷道四向穿梭车信息,四向穿梭车多车之间进行任务交换和借路通行,实现四向穿梭车多车调度。

所述多深度储货区基建信息包括货位位置信息和储货巷道位置信息。

所述的交通网络规则包括深度储货区储货巷道出入货规则和深度储货区交通运行规则,所述深度储货区储货巷道出入货规则包括:

储货巷道出入货规则1:同一条储货巷道上的所有货位存放同一类货物,储货巷道的货物需要在出库时优先考虑,储货巷道入货时,执行入库任务的载货四向穿梭车只能从储货巷道入口处进入,按照空闲货位顺序依次执行入库任务,储货巷道出货时,执行出库任务的空四向穿梭车只能从储货巷道入口进入,按照有货货位顺序依次执行出库任务,取到货物后从储货巷道出口离开,

储货巷道出入货规则2:当四向穿梭车处于空车状态时,四向穿梭车可以从放置有货物的货位下方穿过,当多深度储货巷道中的所有货位均没有放置货物时,四向穿梭车可以将该多深度储货巷道视为一条主干道,并在载货状态时通行;

所述深度储货区交通运行规则包括:

交通运行规则1:在多深度出货巷的交叉口处,采用路口使用权锁定策略,将等待通过路口的所有四向穿梭车记录在一个等待列表中,将路口使用权按照等待列表中的顺序依次赋予四向穿梭车,从而避免四向穿梭车的路口冲突问题,

交通运行规则2:将所有主干道和储货巷道设置为单向通行。

交通运行规则3:将入库口路段和出库口路段设置成双向运行,入库口路段和出库口路段使用权锁定策略,当有四向穿梭车需要使用该路段时进行申请,设置等待列表,依次赋予路段使用权。

所述进行多深度储货区的交通网络定向的过程包括:

步骤s21:基于交通网络规则,对多深度储货区的交通网络进行图建模;

步骤s22:设定交通网络定向的优先满足条件;

步骤s23:基于交通网络图模型和优先满足条件,利用hopcroft-tarjan定向算法进行多深度储货区的交通网络定向。

所述对多深度储货区的交通网络进行建模的过程为:

将交通网络建模为图g={v(g),e(g)},将主干道和储货巷道作为图中的边,将交叉路口作为图中的顶点,得到交通网络图模型。

所述优先满足条件包括:

优先满足条件1:将靠近入库口处的主干道的方向,设置为以入库口处为起点的方向;

优先满足条件2:将储货巷道的入货口设置为每层的入库口所在的一侧,以便实现储货巷道中货物的先进先出。

所述利用hopcroft-tarjan定向算法进行多深度储货区的交通网络定向的过程包括:

步骤s231:任取g中的一个顶点v,令l(v)=1,l={v},u=v-{v},

步骤s232:在l中取顶点u,使得l(u)最大并且满足在u中存在与u相邻的顶点,然后从u中取一个与u相邻的顶点w,使得边uw成为有向边u→w,同时令l(w)=l(u)+1,l=l∪{w},u=u-{w},a=a∪{u→w};

步骤s233:若l≠v,执行步骤s232,否则执行步骤s234;

步骤s234:对当前还未定向的边ab,按照一下方法进行定向:若l(a)>l(b),则指定方向后的边为a→b,否则边为b→a;

其中,r代表已经确定方向的边的集合,l为已经给出标号的顶点集合,u为还未给出标号的顶点集合,l(v)代表v顶点的路径值,v代表所有顶点的集合。

货位货物信息包括货位上货物的有无,储货巷道四向穿梭车信息包括是否已分配四向穿梭车执行入库或出库任务、四向穿梭车是否已进入储货巷道。

进行任务交换的过程包括:

当四向穿梭车执行出库任务时,在储货巷道入口处判断,选择第一个货位货物信息为货位上有货、储货巷道四向穿梭车信息为已分配四向穿梭车执行出库任务且四向穿梭车尚未进入储货巷道执行任务的货位;当四向穿梭车执行入库任务时,选择第一个货位货物信息为货位上无货、储货巷道四向穿梭车信息为已分配四向穿梭车执行入库任务且四向穿梭车尚未进入储货巷道的货位执行任务的货位。

进行借路通行的过程包括:

四向穿梭车来到储货巷道入口,发现该储货巷道已经不是空闲储货巷道,四向穿梭车会重新规划路径从其他储货巷道到达目的地货位。

与现有技术相比,本发明具有以下优点:

(1)基于以图论理论为基础的交通网络定向,解决了四向穿梭车的冲突问题,提高整个仓储系统工作效率。

(2)以货位货物和储货巷道四向穿梭车信息为基础进行任务交换和借路通行,解决了储货巷道和借路空闲巷道中产生的任务死锁问题,确保多车可以同时运行,提高整个仓储系统工作效率,具有较大的实际应用意义。

附图说明

图1为本发明的流程图;

图2为多深度储货区单层布局图;

图3为多深度储货区交通网络图;

图4为单层多深度储货区道路定向图;

图5为目的地储货巷道任务死锁示意图;

图6为借路空闲储货巷道任务死锁示意图;

图7为四向穿梭车入库任务执行流程图;

图8为四向穿梭车出库任务执行流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例

本实施例提供一种多深度储货区四向穿梭车多车调度方法,步骤如下:

步骤(1)、获取多深度储货区基建信息,得到交通网络规则,多深度储货区基建信息如图2,包括货位位置信息和储货巷道位置信息等:

交通运行规则1:在多深度出货巷的交叉口处,采用路口使用权锁定策略,以避免路口冲突的发生。当两辆四向穿梭车同时通过路口时,均需要申请路口节点的使用权,并且同时只有一辆四向穿梭车能够获得使用权,前一辆四向穿梭车通过路口后,后一辆车才能获得路口使用权,进而通过交叉路口。将等待通过路口的所有四向穿梭车记录在一个等待列表中,并将路口使用权按照等待列表中的顺序依次赋予四向穿梭车,从而避免四向穿梭车的路口冲突问题。

交通运行规则2:在主干道处,为避免四向穿梭车相向冲突情况的发生,需要将所有主干道设置为单向通行。同时为满足先进先出的原则,四向穿梭车只能从储货巷道的入口处进入,从储货巷道的出口处离开,所以对于储货巷道来说,同样也是单向通行的,也避免了四向穿梭车在储货巷道发生相向冲突的情况。

交通运行规则3:当四向穿梭车执行入库任务时,首先四向穿梭车需要从主干道进入入库口路段到达入库提升机,在装完货物后,再经过入库口路段进入主干道,最终到达指定货位。同理,对于出库口路段同样也存在双向通行的需求。所以将出入库口路段设置成双向运行,为避免四向穿梭车相向冲突,利用路段使用权锁定策略,当有四向穿梭车需要使用出入库口路段时进行申请,同样设置等待列表,依次赋予路段使用权。

储货巷道出入货规则1:同一条储货巷道上的所有货位存放同一类货物,储货巷道的货物需要在出库时优先考虑,储货巷道入货时,执行入库任务的载货四向穿梭车只能从储货巷道入口处进入,按照空闲货位顺序依次执行入库任务,储货巷道出货时,执行出库任务的空四向穿梭车只能从储货巷道入口进入,按照有货货位顺序依次执行出库任务,取到货物后从储货巷道出口离开。

储货巷道出入货规则2:当四向穿梭车处于空车状态时,四向穿梭车可以从放置有货物的货位下方穿过,当多深度储货巷道中的所有货位均没有放置货物时,四向穿梭车可以将该多深度储货巷道视为一条主干道,并在载货状态时通行。

步骤(2)、进行多深度储货区的交通网络定向:

步骤2.1、对如图2所示的多深度单层储货区进行建模,建模结果如图3所示;

步骤2.2、设定优先满足条件:

优先满足条件1:如图3所示,由于入库口位于左上角,应该将x方向上靠近入库口位置的1号主干道的方向设定为从左至右的方向。

优先满足条件2:如图3所示,由于入库口位于图的上方,应该将储货巷道的入口处放置在1号及2号主干道上,以便于实现储货巷道中货物的先进先出,所以储货巷道的方向应该由上至下。

步骤2.3、采用hopcroft-tarjan定向算法进行定向,定向后的结果如图4所示,定向算法步骤如下:

步骤2.3.1:任取g中的一个顶点v,令l(v)=1,l={v},u=v-{v},

步骤2.3.2:在l中取顶点u,使得l(u)最大并且满足在u中存在与u相邻的顶点,然后从u中取一个与u相邻的顶点w,使得边uw成为有向边u→w,同时令l(w)=l(u)+1,l=l∪{w},u=u-{w},a=a∪{u→w};

步骤2.3.3:若l≠v,转向步骤2.3.2,否则执行步骤2.3.4;

步骤2.3.4:对当前还未定向的边ab,按照一下方法进行定向:若l(a)>l(b),则指定方向后的边为a→b,否则边为b→a。

说明:算法中的r代表已经确定方向的边的集合,l为已经给出标号的顶点集合,u为还未给出标号的顶点集合,l(v)代表v顶点的路径值,v代表所有顶点的集合。

步骤(3)、设定货位及储货巷道状态(多深度储货区货位货物和储货巷道四向穿梭车信息),状态表如表1所示;

表1货位及巷道状态表

表中根据货位上是否有货,该货位上是否已经分配了任务,执行该任务的四向穿梭车是否已经进入了目的地巷道,将货位状态s分为六种,每一种都有对应标识取值;对于每条储货巷道来说,巷道状态t表明了对应储货巷道中存在货物的货位个数,如果巷道状态t=0,说明该巷道为空闲巷道,则可以借路通行,不会对其他任务造成影响。

步骤(4)、得到任务交换策略及借路巷道策略(从而进行任务交换和借路通行):

任务交换策略:

当出现图5-a所示的情况时,储货巷道中有a-f共6个货位,此时四向穿梭车a和四向穿梭车b均为空车,需要执行出货任务,a车的任务为将e货位上的货物取出,b车的任务为将d货位上的货物取出。但是由于b车先到达该出货巷道的巷道入口,b车在入库时会执行任务交换判断程序,b车在遍历货位时发现,f货位上无货,货位状态s为2,不满足执行条件,然后查看e货位,e货位上有货,并且已经被分配给其他四向穿梭车执行出库任务,但此时被分配的车辆并没有进入巷道,对应货位状态s为3,完全满足执行条件,所以此时b车就会将自己的执行任务目的地更改为e货位,并将e货位上的货物运送至出货口。然后紧接着a车到达该巷道入口,同样执行任务交换的判断程序,当a车遍历到e货位时发现,该货位上有货,分配给了其他车辆,但是该车辆已经进入了巷道,对应货位状态s为5,该货位不满足执行条件,继续遍历,查看d货位状态,d货位状态s为3,满足执行条件,所以此时a选择d货位执行出库任务。

当出现图5-b所示情况时,此时四向穿梭车a和四向穿梭车b均为载货车,需要执行入库任务,a车的任务为将货物放置在d货位,b车的任务为将货物放置在c货位。同样的,b车先到达巷道入库口执行判断程序,遍历货位,f货位上无货,但是该货位并没有被分配任务,不满足条件,然后查看e货位,e货位有货,货位状态s为1,同样不满足条件,然后查看d货位,d货位无货,并且已经产生入库任务并分配给四向穿梭车执行,且该四向穿梭车并未进入巷道,货位状态s为4,满足执行条件,选定d货位为最终任务执行货位。同理,a车最终选定c货位作为任务执行货位。

借路巷道策略:

对于如图6所示的借路空闲储货巷道任务死锁,由于b车需要将货物放置在f货位,所以当b车位于巷道入口时,会将该巷道的状态值t更改为1,紧接着,当a车来到巷道入口时,发现该巷道已经不是空闲储货巷道,a车会重新规划路径从其他巷道到达a货位。这样,使用巷道状态标志t就可以保证不会出现借路空闲储货巷道任务死锁的情况。

最终,四向穿梭车多车调度流程如下:

四向穿梭车入库任务执行流程图如图7所示:

步骤[1]:当入库任务产生时,任务对应货位状态s的取值由2更改为4,表示该货位将有货物入库,不应该再产生其他入库任务;

步骤[2]:接收到该入库任务的四向穿梭车从当前位置寻路至该层入库口,从提升机上取得待入库货物,四向穿梭车从空车状态转换为载货状态;

步骤[3]:以目标货位所在的储货巷道入口为目的地,为四向穿梭车规划行驶路径,并检查规划路径中是否有借路空闲储货巷道进行通行。当规划路径中没有借路通行时,可直接按照规划路径到达目的地巷道入口处,执行步骤[5],否则执行步骤[4];

步骤[4]:到达规划路径中的空闲巷道入口,判断该空闲巷道的货位状态标志t,如果货位状态标志t不为0,说明该巷道中有货位状态s取值为1或6的货位,其中,当货位状态s取值为1时,说明该货位上已经有货物,当货位状态为6时,说明已经有执行入库任务的四向穿梭车进入该巷道,出现这两种情况时,如果四向穿梭车仍然借路该储货巷道,会出现任务死锁,所以需要重新规划路径到达目的地巷道入口;

步骤[5]:按照从出货口至入货口方向依次查询各个货位的货位状态,为了避免产生任务死锁的情况,选择该方向上第一个货位状态为4的货位作为目标入库货位,将该货位的货位状态由4更改为6,表示该向该货位入库货物的四向穿梭车已经进入储货巷道,其他四向穿梭车则不会再次选择该货位执行入库任务。另外,将该储货巷道的状态标志t+1,表示该巷道中增加了一个货物,完成任务交换的过程;

步骤[6]:四向穿梭车进入巷道,到目标货位放置货物,将该货位的货位状态由6更改为1,完成入库任务。

四向穿梭车出库任务执行流程图如图7所示:

步骤[1]:当出库任务产生时,任务对应货位状态s的取值由1更改为3,表示该货位将由货物出库,不应该再产生其他出库任务。当接收到该出库任务的四向穿梭车恰巧位于目标货位所在储货巷道时,并且目标货位位于四向穿梭车当前位置到巷道出口之间,即当四向穿梭车位于d货位处时,同时接收到该储货巷道f货位处的出口任务时,此时四向穿梭车可以直接出库,将目标货位的状态由3更改为5,表示目标货位上的货物已经分配了出库任务,并且执行该任务的四向穿梭车已经进入巷道,并执行步骤[3],否则,执行步骤[2];

步骤[2]:当接收到出库任务的四向穿梭车不位于目标货位所在储货巷道时,四向穿梭车需要首先寻路至目标出库货位所在的巷道入口;

步骤[3]:按照从出货口至入货口的方向依次查询各个货位的货位状态,为了避免产生任务死锁的情况,选择该方向上第一个货位状态为3的货位作为目标出库货位,并将该货位状态由3更改为5,表示执行该货位出库任务的四向穿梭车已经进入储货巷道,其他四向穿梭车则不会再次选择该货位执行出库任务。另外,将该储货巷道的状态标志t-1,表示该巷道中减少了一个货物,完成任务交换过程;

步骤[4]:四向穿梭车进入巷道,到达目标货位取得货物,将该货位状态s由5更改为2,四向穿梭车从空车状态转换为载货状态;

步骤[5]:以该层出库口为目的地为载货状态的四向穿梭车规划行驶路径,并检查规划路径中是否有借路空闲储货巷道进行通行。当规划路径中没有借路通行时,可以直接按照规划路径到达出库口处,执行步骤[7],否则,执行步骤[6];

步骤[6]:到达规划路径中的空闲巷道入口处,判断该空闲巷道的状态标志t,如果巷道状态标志t不为0,说明该巷道中有货位状态s为1、6的货位,当货位状态s取值为1时,说明该货位上已经有货物,当货位状态为6时,说明已经有执行入库任务的四向穿梭车进入该巷道,出现这两种情况时,如果四向穿梭车仍然借路该储货巷道,会出现任务死锁,所以需要从该空闲巷道入口重新规划路径至出库口处;

步骤[7]:四向穿梭车到达出库口处,将货位放置在提升机上,完成出库任务。

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