发明内容
本发明实施例提供了一种AGV调度系统中的任务分配方法及装置,以至少解决相关技术中任务调度过程中没有考虑到执行任务设备的位置与状态对调度系统效率的影响的问题。
根据本发明的一个实施例,提供了一种AGV调度系统中的任务分配方法,包括:
按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
可选地,按照分配AGV设备和绑定货物的情况对所有任务进行分类包括:
按照分配AGV设备和绑定货物的情况将所有任务分类为:已分配并绑定任务、已分配未绑定任务、未分配任务,其中,所述已分配并绑定任务指的是已分配AGV设备且分配的AGV设备已绑定货物的任务,所述已分配未绑定任务指的是已分配AGV设备但分配的AGV设备未绑定货物的任务,所述未分配任务指的是未分配AGV设备的任务。
分别将分类后的任务保存到已分配并绑定列表、已分配未绑定列表、未分配列表中。
可选地,根据所述路径代价、所述站点占用容量确定分类后的所有任务对应站点的任务代价包括:
对于所述已分配并绑定任务,遍历所述已分配并绑定列表,在绑定的AGV设备未分配目标站点的情况下,确定所述已分配并绑定列表中任务对应站点的任务代价;
对于所述已分配未绑定任务,遍历所述已分配未绑定列表,若所述已分配未绑定列表中的任务分配的AGV设备异常或存在符合第一预定条件的空闲AGV设备与所述任务对应站点的距离小于所述分配的AGV设备与所述任务对应站点的距离,将所述任务放入待重分配列表中;确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价;
对于所述未分配任务,遍历所述未分配列表,确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价。
可选地,确定所述已分配并绑定列表中任务对应站点的任务代价包括:
通过以下方式确定所述已分配并绑定列表中任务对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数;
根据所述任务代价为分类后的所述所有任务确定对应的目标站点包括:
将所述已分配并绑定列表中任务对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价包括:
通过以下方式确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
根据所述任务代价为分类后的所述所有任务确定对应的目标站点包括:
将所述待重分配列表中任务与所有AGV设备对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价包括:
通过以下方式确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
根据所述任务代价为分类后的所述所有任务确定对应的目标站点包括:
根据所述未分配列表中任务对应站点的任务代价的平均值最小的原则为所述任务确定所述目标站点。
可选地,在将所述所有任务分配给对应的所述目标站点之后,所述方法还包括:
增加所述所有任务对应的目标站点的站点占用容量。
根据本发明的另一个实施例,还提供了一种AGV调度系统中的任务分配装置,包括:
分类模块,用于按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
第一确定模块,用于根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
第二确定模块,用于根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
分配模块,用于将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
可选地,所述分类模块包括:
分类子模块,用于按照分配AGV设备和绑定货物的情况将所有任务分类为:已分配并绑定任务、已分配未绑定任务、未分配任务,其中,所述已分配并绑定任务指的是已分配AGV设备且分配的AGV设备已绑定货物的任务,所述已分配未绑定任务指的是已分配AGV设备但分配的AGV设备未绑定货物的任务,所述未分配任务指的是未分配AGV设备的任务。
保存子模块,用于分别将分类后的任务保存到已分配并绑定列表、已分配未绑定列表、未分配列表中。
可选地,所述第一确定模块包括:
第一确定子模块,用于对于所述已分配并绑定任务,遍历所述已分配并绑定列表,在绑定的AGV设备未分配目标站点的情况下,确定所述已分配并绑定列表中任务对应站点的任务代价;
第二确定子模块,用于对于所述已分配未绑定任务,遍历所述已分配未绑定列表,若所述已分配未绑定列表中的任务分配的AGV设备异常或存在符合第一预定条件的空闲AGV设备与所述任务对应站点的距离小于所述分配的AGV设备与所述任务对应站点的距离,将所述任务放入待重分配列表中;确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价;
第三确定子模块,用于对于所述未分配任务,遍历所述未分配列表,确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价。
可选地,所述第一确定子模块,还用于通过以下方式确定所述已分配并绑定列表中任务对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数;
所述第二确定模块,还用于将所述已分配并绑定列表中任务对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,所述第二确定子模块,还用于通过以下方式确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
所述第二确定模块,还用于将所述待重分配列表中任务与所有AGV设备对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,所述第三确定子模块,还用于通过以下方式确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
所述第二确定模块,还用于根据所述未分配列表中任务对应站点的任务代价的平均值最小的原则为所述任务确定所述目标站点。
可选地,所述装置还包括:
增加模块,用于增加所述所有任务对应的目标站点的站点占用容量。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;根据所述任务代价为分类后的所述所有任务确定对应的目标站点;将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备,可以解决相关技术中任务调度过程中没有考虑到执行任务设备的位置与状态对调度系统效率的影响的问题,分类确定任务对应站点的任务代价,根据任务代价将任务分配给更适合的AGV设备处理,可以提高任务处理的效率。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种AGV调度系统中的任务分配方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的AGV调度系统中的任务分配方法,图2是根据本发明实施例的一种AGV调度系统中的任务分配方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
本发明实施例中,上述步骤S202具体可以包括:
按照分配AGV设备和绑定货物的情况将所有任务分类为:已分配并绑定任务、已分配未绑定任务、未分配任务,其中,所述已分配并绑定任务指的是已分配AGV设备且分配的AGV设备已绑定货物的任务,所述已分配未绑定任务指的是已分配AGV设备但分配的AGV设备未绑定货物的任务,所述未分配任务指的是未分配AGV设备的任务。
分别将分类后的任务保存到已分配并绑定列表、已分配未绑定列表、未分配列表中。
步骤S204,根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
步骤S206,根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
步骤S208,将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
通过上述步骤S202至S208,按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;根据所述任务代价为分类后的所述所有任务确定对应的目标站点;将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备,可以解决相关技术中任务调度过程中没有考虑到执行任务设备的位置与状态对调度系统效率的影响的问题,分类确定任务对应站点的任务代价,根据任务代价将任务分配给更适合的AGV设备处理,可以提高任务处理的效率。
本发明实施例中,上述步骤S204具体可以包括:
S2041,对于所述已分配并绑定任务,遍历所述已分配并绑定列表,在绑定的AGV设备未分配目标站点的情况下,确定所述已分配并绑定列表中任务对应站点的任务代价;
进一步的,可以通过以下方式确定所述已分配并绑定列表中任务对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数;
对应的,将所述已分配并绑定列表中任务对应站点中任务代价最小的站点确定为所述任务的目标站点。
S2042,对于所述已分配未绑定任务,遍历所述已分配未绑定列表,若所述已分配未绑定列表中的任务分配的AGV设备异常或存在符合第一预定条件的空闲AGV设备与所述任务对应站点的距离小于所述分配的AGV设备与所述任务对应站点的距离,将所述任务放入待重分配列表中;确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价;
进一步的,可以通过以下方式确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
对应的,将所述待重分配列表中任务与所有AGV设备对应站点中任务代价最小的站点确定为所述任务的目标站点。
S2043,对于所述未分配任务,遍历所述未分配列表,确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价。
进一步的,通过以下方式确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
对应的,根据所述未分配列表中任务对应站点的任务代价的平均值最小的原则为所述任务确定所述目标站点。
本发明实施例中,在将所述所有任务分配给对应的所述目标站点之后,还可以增加所述所有任务对应的目标站点的站点占用容量,从而使得在下一次计算该目标站点的任务代价时,得到的任务代价会比较大,选择到该目标站点的可能性将变小。
本发明实施例以移动AGV调度系统为平台,根据下发的任务信息和AGV状态进行任务分配,重点考虑执行路径,任务优先程度,任务等待时间,任务点繁忙程度对调度系统的影响,图3是根据本发明优选实施例的AGV调度系统中的任务分配方法的流程图,如图3所示,包括:
步骤S301,根据任务信息将所有任务分为:已分配并绑定、已分配未绑定、未分配分为三类,具体的,对所有任务按是否分配过设备,分配的设备是否和任务已经绑定(已绑定不可切换设备,反之可以切换设备)将所有任务分为:已分配并绑定、已分配未绑定、未分配分为三类,对三类任务分别做不同处理。依次处理已分配并绑定任务、已分配未绑定任务、未分配任务。
步骤S302,遍历已分配并绑定任务列表,判断绑定设备是否需要分配站点,若需要则计算各站点的任务代价,将任务代价最小的站点确定为目标站点,并作为任务最终分配的结果,分配任务后增加任务使用的站点和交接点的占用容量。
其中,可以按照以下方式计算各站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数;
路径代价为通过路径规划方法得到的设备到达站点的最佳路径执行所需要的时间,以ms为单位。容量代价系数则是在增加单位容量后所需要转化为增加多少执行时间的系数,以ms/单位容量为单位。
步骤S303,遍历已分配未绑定的任务列表,若已分配设备异常或存在符合条件的空闲设备距离站点比已分配的设备更近,则将任务放入待重分配列表,对重分配列表中的任务计算各符合条件的设备对待重分配列表中各任务站点的任务代价,根据计算结果按照全局最优原则,通过优化算法得到任务分配结果。
其中,可以对待重分配列表统一按照以下方式计算各符合条件的设备(包含重复分配队列中已分配并能够执行任务的设备和能够执行任务的距离已分配任务距离更近的空闲设备)对待重分配列表中各任务站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间;
任务收益为系统中和任务绑定的信息,运行时可以通过系统实时修改,如想要早点分配该任务则可以适当的提高任务收益来达到柔性控制任务分配顺序的效果。收益转化系数为设定的单位任务收益可以转换为减少多少任务时间,以ms/单位收益为单位。任务等待时间则为任务下发到目前已经等待的时间。
步骤S304,遍历未分配任务列表,计算各符合条件的设备对未分配任务列表中各任务站点的任务代价,最终将计算结果按照代价越小越优先分配的原则,得到任务分配结果。
其中,可以统一以下方式计算各符合条件的设备对未分配任务列表中各任务站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间。
步骤S305,将得到所有任务分配结果输出。
图4是根据本发明实施例的备料车间AGV路线的示意图,如图4所示,圆圈为任务点,E1、E2为交接点,容量转化系数为5000ms/单位容量,收益转化系数为1000ms/单位收益,系统中所有设备类型、能力一样都符合各个任务的条件。
场景1:系统中有一已分配并绑定的供料任务T1,T1任务目标点是2点或4点(此时两点都未被占用),设备v1刚刚在5点绑定货物,此时还未分配目标点,则按照式1计算得2点的任务代价为T1v1c1:从5点到2点的路径代价(26000ms)+2点占用容量:0*容量代价系数=26000ms;4点的任务代价为T1v1c2:从5点到4点的路径代价(38000ms)+2点占用容量:0*容量代价系数=38000ms。则对于T1的任务结果为分配点2进行供料。
系统中有一已分配未绑定的取料任务T2,T2的目标点包含8点,已分配在a点的设备v2去8点取料,任务收益为5,等待时长1000ms;还有一已分配未绑定的取料任务T3,T3的目标点包含4点,已分配在b点的设备v3去4点取料,任务收益1,等待时长2000ms。此时v2设备故障异常,则T2放入重分配列表;此时设备v4在3点刚完成任务变为空闲,此时v4距离T3的目标点4点距离比v3距离4号点更近,所以T3也放入重分配列表。
此时遍历重分配列表:
对于T2,要参与重分配任务代价计算的设备有所有符合该任务条件的已分配给其他待重分配任务T3的设备v3、符合该任务条件的空闲设备v4;
T2中v3对目标点8点的任务T2v3c1为:路径代价:61000ms+8点占用容量:0*容量代价系数–任务收益5*收益转化系数–等待时长:1000ms=55000ms。
T2中v4对目标点8点的任务T2v4c1为:路径代价:26000ms+8点占用容量:0*容量代价系数–任务收益5*收益转化系数–等待时长:2000ms=19000ms。
对于T3,要参与重分配任务代价计算的设备有已分配该任务并未异常的设备v3,距离该任务目标点更近且符合条件的空闲v4。
T3中v3对目标点4点的任务T3v3c1为:路径代价:51000ms+4点占用容量:0*容量代价系数–任务收益1*收益转化系数–等待时长:1000ms=49000ms。
T3中v4对目标点4点的任务T3v4c1为:路径代价:20000ms+4点占用容量:0*容量代价系数–任务收益1*收益转化系数–等待时长:1000ms=18000ms。
综合T2v3c1、T2v4c1、T3v3c1、T3v4c1,按照代价越小越优先分配的原则,则分配T3v4c1和T2v3c1,即T3任务由v4执行去4点取料,T2任务由v3执行去8点取料。
场景2:假设场景1中的已分配未绑定的取料任务T2任务收益为10,则T2v3c1=50000ms;T2v4c1=14000ms;T3v3c1=49000ms;T3v4c1=18000ms。综合T2v3c1、T2v4c1、T3v3c1、T3v4c1,按照代价越小越优先分配的原则,则分配T2v4c1和T3v3c1,即T2任务由v4执行去8点取料,T3任务由v3执行去4点取料。
场景3:假设场景1中的已分配未绑定的取料任务T2任务收益为10,T3的等待时长为10000ms,则T2v3c1=50000ms;T2v4c1=14000ms;T3v3c1=40000ms;T3v4c1=9000ms。综合T2v3c1、T2v4c1、T3v3c1、T3v4c1,按照代价越小越优先分配的原则,则分配T3v4c1和T2v3c1,即T3任务由v4执行去4点取料,T2任务由v3执行去8点取料。
场景4:系统中存在:取料任务T5,目标点为5点,未分配设备,任务收益0,等待时长0ms;取料任务T6,目标点为4点和8点,未分配设备,任务收益0,等待时长0ms。空闲设备v1在c点,空闲设备v2在d点。
各符合条件的设备对未分配任务列表中所有任务的所有目标点的任务代价为:T5v1c1=28000ms;T5v2c1=30000ms;T6v1c1=38000ms;T6v1c2=44000ms;T6v2c1=40000ms;T6v2c2=46000ms。
则综合T5v1c1、T5v2c1、T6v1c1、T6v1c2、T6v2c1、T6v2c2,按照代价越小越优先分配的原则,则分配T5v1c1,T6v2c1,即T5任务由v1去5点取料,T6任务由v2去点4点取料。
场景5:假设场景4中的T6任务收益为15,各符合条件的设备对未分配任务列表中所有任务的所有目标点的任务代价为:T5v1c1=28000ms;T5v2c1=30000ms;T6v1c1=23000ms;T6v1c2=29000ms;T6v2c1=25000ms;T6v2c2=31000ms。
则综合T5v1c1、T5v2c1、T6v1c1、T6v1c2、T6v2c1、T6v2c2,按照代价越小越优先分配的原则,则分配T6v1c1,T5v2c1,即T6任务由v1去4点取料,T5任务由v2去点5点取料。
结合场景1、2、3与4、5,可以看出提高任务收益可以柔性的让高收益任务更有可能分配距目标点更近的设备,且综合了路径代价、等待时间等因素,所以场景3下T3的等待时长更长且较近,所以虽然收益低于T2但优先分配T3任务由v4去4点取料。
本发明实施例在任务分配时对任务进行分类并进行分别处理,能够很好的处理任务执行过程中需要多站点选择和切换设备的情况,使得系统中出现已分配设备出现故障时可以切换设备执行避免阻塞,已经当任务执行中也可以切换到刚刚完成任务且代价更小的空闲设备。在任务分配结合了任务等待时间和支持修改的任务收益的任务相关信息来柔性的控制任务分配顺序,避免因为一些任务点距离空闲设备较远会较晚分配导致的等料、断料等现象,提高系统的效率和灵活性。。在任务分配以全局最优原则,通过优化算法得到任务分配结果,达到提高总体效率的效果。对于未分配的任务按照全局最优原则而不是顺序原则进行分配,可以提高任务较多时的总体运行效率。
实施例2
根据本发明的另一个实施例,还提供了一种AGV调度系统中的任务分配装置,图5是根据本发明实施例的AGV调度系统中的任务分配装置的框图,如图5所示,包括:
分类模块52,用于按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
第一确定模块54,用于根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
第二确定模块56,用于根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
分配模块58,用于将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
可选地,所述分类模块52包括:
分类子模块,用于按照分配AGV设备和绑定货物的情况将所有任务分类为:已分配并绑定任务、已分配未绑定任务、未分配任务,其中,所述已分配并绑定任务指的是已分配AGV设备且分配的AGV设备已绑定货物的任务,所述已分配未绑定任务指的是已分配AGV设备但分配的AGV设备未绑定货物的任务,所述未分配任务指的是未分配AGV设备的任务。
保存子模块,用于分别将分类后的任务保存到已分配并绑定列表、已分配未绑定列表、未分配列表中。
可选地,所述第一确定模块54包括:
第一确定子模块,用于对于所述已分配并绑定任务,遍历所述已分配并绑定列表,在绑定的AGV设备未分配目标站点的情况下,确定所述已分配并绑定列表中任务对应站点的任务代价;
第二确定子模块,用于对于所述已分配未绑定任务,遍历所述已分配未绑定列表,若所述已分配未绑定列表中的任务分配的AGV设备异常或存在符合第一预定条件的空闲AGV设备与所述任务对应站点的距离小于所述分配的AGV设备与所述任务对应站点的距离,将所述任务放入待重分配列表中;确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价;
第三确定子模块,用于对于所述未分配任务,遍历所述未分配列表,确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价。
可选地,所述第一确定子模块54,还用于通过以下方式确定所述已分配并绑定列表中任务对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数;
所述第二确定模块56,还用于将所述已分配并绑定列表中任务对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,所述第二确定子模块,还用于通过以下方式确定所述待重分配列表中任务与所有AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
所述第二确定模块56,还用于将所述待重分配列表中任务与所有AGV设备对应站点中任务代价最小的站点确定为所述任务的目标站点。
可选地,所述第三确定子模块,还用于通过以下方式确定所述未分配列表中任务与符合第二预定条件的AGV设备对应站点的任务代价:
任务代价=路径代价+站点占用容量*容量代价系数-任务收益*收益转化系数–任务等待时间,其中,所述容量代价系数是在增加单位容量后所需要转化为增加多少执行时间的系数,所述任务收益为系统中与任务绑定的信息,所述收益转化系数为设定的单位任务收益转换为减少多少任务时间,所述任务等待时间为任务下发到目前已经等待的时间;
所述第二确定模块56,还用于根据所述未分配列表中任务对应站点的任务代价的平均值最小的原则为所述任务确定所述目标站点。
可选地,所述装置还包括:
增加模块,用于增加所述所有任务对应的目标站点的站点占用容量。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
S2,根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
S3,根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
S4,将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,按照分配自动导引车辆AGV设备和绑定货物的情况对所有任务进行分类;
S2,根据路径代价、站点占用容量确定分类后的所有任务对应站点的任务代价,其中,所述路径代价为执行通过路径规划得到的AGV设备到达站点的最佳路径所需要的时间;
S3,根据所述任务代价为分类后的所述所有任务确定对应的目标站点;
S4,将所述所有任务分配给对应的所述目标站点和所述目标站点对应的AGV设备。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。