订单拣选策略的确定方法、装置和电子设备
技术领域
本发明涉及数据处理的
技术领域
,尤其是涉及一种订单拣选策略的确定方法、装置和电子设备。背景技术
在现代自动化物流行业中,订单拣选是仓库生产中的重要一环,传统的自动化轻型叉车仓库中,仓库管理系统(warehouse management system,wms)使用某些算法对轻型叉车进行调度,控制轻型叉车可从不同地方取出托盘进行运载,并将货架上的托盘运输到输送线上进行生产,由此可见,订单所需托盘直接影响了仓库交付订单的效率。目前市场上对轻型叉车进行调度的方案会出现订单所需托盘位置集中,导致生产效率低下的情况。
综上所述,现有技术中的订单拣选方法存在生产效率低下的技术问题。
发明内容
本发明的目的在于提供一种订单拣选策略的确定方法、装置和电子设备,以缓解了现有技术中的订单拣选方法存在的生产效率低下的技术问题。
第一方面,实施例提供一种订单拣选策略的确定方法,包括:获取用于存放订单货品的多个托盘;基于所述多个托盘确定第一目标托盘集合;其中,所述第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且所述第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合;基于货道繁忙度对所述第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定所述目标订单的拣选策略,其中,所述货道繁忙度用于表征每个货道在所述第一目标托盘集合中所需托盘的数量。
进一步地,基于所述多个托盘确定第一目标托盘集合包括:计算每个托盘的托盘分数;所述托盘分数为基于托盘货品分数和/或托盘位置分数确定出的分数;基于所述托盘分数在所述多个托盘中确定目标托盘,并基于所述目标托盘确定所述第一目标托盘集合。
进一步地,计算每个托盘的托盘分数包括:计算所述多个托盘中每个托盘的托盘货品分数;计算所述多个托盘中每个托盘的托盘位置分数;按照目标求和计算方式对所述托盘货品分数和所述托盘位置分数进行计算,并将计算结果确定为托盘的托盘分数。
进一步地,计算所述多个托盘中每个托盘的托盘货品分数包括:确定当前托盘所存放的订单货品中满足所述目标订单的订单需求的订单货品数量;基于所述订单货品数量确定所述托盘货品分数。
进一步地,计算所述多个托盘中每个托盘的托盘位置分数包括:获取每个托盘到各个站点的平均距离;基于所述平均距离计算每个托盘的托盘位置分数。
进一步地,基于所述托盘分数在所述多个托盘中确定目标托盘包括:按照预设排列顺序和所述托盘分数对所述多个托盘进行排列,得到目标排序序列,其中,所述预设排列顺序包括降序排列或者升序排列;按照目标选择顺序在所述目标排序序列中选择能够满足所述目标订单的订单需求的至少一个托盘,并将选择出的至少一个托盘确定为所述目标托盘,其中,所述目标选择顺序为托盘分数由高到低的顺序。
进一步地,基于货道繁忙度对所述第一目标托盘集合进行优化包括:从所述第一目标托盘集合中随机选取第一托盘,从所述多个托盘中除所述第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘;如果将所述第一目标托盘集合中的所述第一托盘交换为所述第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度降低,则将所述第一托盘交换为所述第二托盘;重复执行上述步骤,直至满足目标条件,并将满足所述目标条件时的更新后的第一目标托盘集合作为所述优化之后的第一目标托盘集合;其中,所述目标条件包括以下至少一种第一目标条件:对所述第一目标托盘集合中的托盘进行交换的交换次数达到预设次数、在连续预设交换次数中所述第一目标托盘集合中的托盘未发生变化。
进一步地,基于货道繁忙度对所述第一目标托盘集合进行优化还包括:从所述第一目标托盘集合中随机选取第一托盘,从所述多个托盘中除所述第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘;如果将所述第一目标托盘集合中的所述第一托盘交换为所述第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度降低,则将所述第一托盘交换为所述第二托盘;在所述更新后的第一目标托盘集合中随机选择第三托盘;并判断所述更新后的第一目标托盘集合中除所述第三托盘之外的剩余托盘是否满足所述订单需求;若满足,则删除所述更新后的第一目标托盘集合中的第三托盘;否则保留所述更新后的第一目标托盘集合中的第三托盘;重复执行上述步骤,直至满足目标条件,并将满足所述目标条件时的更新后的第一目标托盘集合作为所述优化之后的第一目标托盘集合;其中,所述目标条件包括以下至少之一第一目标条件:对所述第一目标托盘集合中的托盘进行交换的次数达到预设迭代次数、在连续预设交换次数中所述第一目标托盘集合中的托盘未发生变化。
进一步地,所述目标条件还包括第二目标条件:将所述第一托盘交换为所述第二托盘的交换概率小于预设概率,其中,所述交换概率与所述第一目标托盘集合已完成的托盘交换次数有关。
进一步地,所述交换概率的计算公式为:exp(-step*b),其中,b为预设权重,step为所述第一目标托盘集合的托盘交换次数。
进一步地,在所述目标条件中,所述第二目标条件的优先级高于所述第一目标条件的优先级。
进一步地,从所述多个托盘中除所述第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘包括:按照托盘分数由高到低的顺序从所述多个托盘中除所述第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘。
第二方面,实施例提供一种订单拣选策略的确定装置,包括:获取模块,用于获取用于存放订单货品的多个托盘;确定模块,用于基于所述多个托盘确定第一目标托盘集合;其中,所述第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且所述第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合;优化模块,用于基于货道繁忙度对所述第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定所述目标订单的拣选策略,其中,所述货道繁忙度用于表征每个货道在所述第一目标托盘集合中所需托盘的数量。
第三方面,实施例提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式中任一项所述的方法的步骤。
第四方面,实施例提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行前述实施方式中任一项所述的方法。
本发明提供的订单拣选策略的确定方法,包括:获取用于存放订单货品的多个托盘;基于多个托盘确定第一目标托盘集合;其中,第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合;基于货道繁忙度对第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定目标订单的拣选策略,其中,货道繁忙度用于表征每个货道在第一目标托盘集合中所需托盘的数量。该方法在确定目标订单的拣选策略时,结合了实际生产情况以及实际需求,考虑到了货道繁忙度和托盘得分,从而有效的缓解了现有技术中的订单拣选方法存在的生产效率低下的技术问题。
附图说明
为了更清楚地说明本发明
具体实施方式
或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电子设备的示意图;
图2为本发明实施例提供的一种订单拣选策略的确定方法的流程图;
图3为本发明实施例提供的一种计算每个托盘的托盘分数的流程图;
图4为本发明实施例提供的一种基于货道繁忙度对第一目标托盘集合进行优化的流程图;
图5为本发明实施例提供的一种订单拣选策略的确定装置的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
实施例1:
首先,参照图1来描述用于实现本发明实施例的电子设备100,该电子设备可以用于运行本发明各实施例的订单拣选策略的确定方法。
如图1所示,电子设备100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108以及数据采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理设备102可以采用数字信号处理器(DSP,Digital Signal Processing)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、可编程逻辑阵列(PLA,Programmable Logic Array)和ASIC(Application Specific Integrated Circuit)中的至少一种硬件形式来实现,所述处理设备102可以是中央处理单元(CPU,CentralProcessing Unit)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述数据采集装置110用于进行获取用于存放订单货品的多个托盘,其中,数据采集装置所采集的数据经过所述订单拣选策略的确定方法得到目标订单的拣选策略。
实施例2:
现有技术中,仓库生产过程中对轻型叉车的调度,这种方法未考虑货道繁忙度因素,可能造成生产效率降低。有鉴于此,本申请提出了一种订单拣选策略的确定方法,通过考虑仓库中常见的货道繁忙度及托盘得分信息,并对选取生产的托盘集合进行优化,从而能够有效的提升订单效率。
根据本发明实施例,提供了一种订单拣选策略的确定方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种订单拣选策略的确定方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取用于存放订单货品的多个托盘。
步骤S204,基于多个托盘确定第一目标托盘集合。
具体的,本发明实施例提供的订单拣选策略的确定方法中,在确定目标订单的拣选策略时,首先需要获取到用于存放订单货品的多个托盘的相关信息,也就是说,将能够提供订单生产的托盘信息进行采集,然后,再根据每个托盘上所存放的订单货品,确定出第一目标托盘集合,其中,第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求,并且,第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合。其中,托盘货品分数用于表征托盘中可用于订单生产的货品中满足订单所需的货品数量,托盘位置分数用于表征托盘到各个站点的平均距离。
步骤S206,基于货道繁忙度对第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定目标订单的拣选策略。
上述在确定第一目标托盘集合时已经考虑到了目标订单的订单需求,以及,托盘货品分数和/或托盘位置分数,接下来,还要再根据货道繁忙度对第一目标托盘集合进行优化,货道繁忙度用于表征每个货道在第一目标托盘集合中所需托盘的数量。
在本申请中,首先获取用于存放订单货品的多个托盘;然后,基于多个托盘确定第一目标托盘集合;其中,第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合;接下来,基于货道繁忙度对第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定目标订单的拣选策略,其中,货道繁忙度用于表征每个货道在第一目标托盘集合中所需托盘的数量。该方法在确定目标订单的拣选策略时,结合了实际生产情况以及实际需求,考虑到了货道繁忙度和托盘得分,从而有效的缓解了现有技术中的订单拣选方法存在的生产效率低下的技术问题。
上文中对本发明提供的订单拣选策略的确定方法的执行流程进行了简要的描述,下面对如何确定第一目标托盘集合的过程进行详细的介绍。
在一个可选的实施方式中,上述步骤S204,基于多个托盘确定第一目标托盘集合具体包括如下步骤:
步骤S2041,计算每个托盘的托盘分数。
步骤S2042,基于托盘分数在多个托盘中确定目标托盘,并基于目标托盘确定第一目标托盘集合。
在获取到用于存放订单货品的多个托盘后,首先将每个托盘的托盘分数进行计算,在本发明实施例中,分数越高的托盘,被选入第一目标托盘集合的概率就越高。其中,托盘分数为基于托盘货品分数和/或托盘位置分数确定出的分数。在计算得到每个托盘的托盘分数后,再结合目标订单所需的货品,在多个托盘中确定目标托盘,最后,将目标托盘组成的集合作为第一目标托盘集合。
在一些实施例中,如图3所示,上述步骤S2041,计算每个托盘的托盘分数具体包括如下步骤:
步骤S20411,计算多个托盘中每个托盘的托盘货品分数。
步骤S20412,计算多个托盘中每个托盘的托盘位置分数。
步骤S20413,按照目标求和计算方式对托盘货品分数和托盘位置分数进行计算,并将计算结果确定为托盘的托盘分数。
具体的,在对每个存放货品的托盘进行评分时,可以按照目标求和计算方式对托盘货品分数和托盘位置分数进行综合考量,本发明实施例不对目标求和方式进行具体限制,用户可以根据实际情况进行适应性设置,可以选择将托盘货品分数和托盘位置分数直接求和,并将直接求和结果作为每个托盘的托盘分数;还可以将两个得分进行加权求和,进而求得托盘分数,例如,针对任意一个托盘,托盘分数算式可以采用:Stotal=a*Sp+(1-a)*Sl,其中,Stotal表示托盘分数,Sp表示托盘货品分数,Sl表示托盘位置分数,a表示权重,用于权衡托盘位置分数和托盘货品分数哪个更重要,本发明实施例不对权重的取值进行具体限定,用户可以根据仓库现场情况进行适应性调节。
在一个可选的实施方式中,上述步骤S20411,计算多个托盘中每个托盘的托盘货品分数具体包括如下步骤:
步骤S21,确定当前托盘所存放的订单货品中满足目标订单的订单需求的订单货品数量。
步骤S22,基于订单货品数量确定托盘货品分数。
具体的,在进行托盘货品得分计算时,针对任意一个托盘,首先要确定当前托盘中可用于目标订单生产的货品数量,也即,当前托盘所存放的订单货品中满足目标订单的订单需求的订单货品数量,然后,根据托盘中存放的订单货品数量确定每个托盘货品分数,本发明实施例不对托盘货品分数的确定方式进行具体限定,用户可以根据实际情况进行设置,可以选择将每个托盘中的订单货品数量直接作为托盘货品分数;还可以选择将每个托盘中的订单货品数量正则化后的结果作为托盘货品分数,在本发明实施例中,命中订单货品数量越多的托盘的托盘货品分数越高。
为了便于理解,下面举例说明:若上述多个托盘的数量为5个,第1个托盘中可用于目标订单生产的货品数量为100,第2个托盘中可用于目标订单生产的货品数量为400,第3个托盘中可用于目标订单生产的货品数量为200,第4个托盘中可用于目标订单生产的货品数量为50,第5个托盘中可用于目标订单生产的货品数量为100,若选择将每个托盘中的订单货品数量直接作为托盘货品分数;则上述5个托盘的托盘货品分数依次为{100,400,200,50,100};若选择将每个托盘中的订单货品数量正则化后的结果作为托盘货品分数,则将上述货品数量按照托盘顺序进行整理,得到{100,400,200,50,100},接下来,为了便于后续托盘分数的计算,可以将{100,400,200,50,100}正则化至[0,1]区间,进而得到每个托盘货品分数。
在一个可选的实施方式中,上述步骤S20412,计算多个托盘中每个托盘的托盘位置分数具体包括如下步骤:
步骤S31,获取每个托盘到各个站点的平均距离。
步骤S32,基于平均距离计算每个托盘的托盘位置分数。
在进行托盘位置分数计算时,本发明实施例将每个托盘到各个站点的平均距离作为影响托盘位置分数的关键因素,然后根据上述平均距离计算每个托盘的托盘位置分数。
为了便于理解,下面举例说明:若上述多个托盘的数量为5个,第1个托盘至第5个托盘到各个站点的平均距离分别为{50,120,90,150,200},接下来,为了能够确保距离越短的托盘得分越高,可采用算式计算每个托盘的初始位置分数,其中,Sli表示第i个托盘的初始位置分数,Di表示第i个托盘将订单货品运输到各个站点的平均距离,i取值1至I,I表示多个托盘的数量,接下来,为了便于后续托盘分数的计算。可选的,将正则化至[0,1]区间,进而得到每个托盘位置分数。
上文中已经对如何计算托盘分数的过程进行了详细的介绍,下面对如何基于托盘分数在多个托盘中确定目标托盘的过程进行具体描述。
在一个可选的实施方式中,上述步骤S2042中,基于托盘分数在多个托盘中确定目标托盘具体包括如下步骤:
步骤S20421,按照预设排列顺序和托盘分数对多个托盘进行排列,得到目标排序序列。
步骤S20422,按照目标选择顺序在目标排序序列中选择能够满足目标订单的订单需求的至少一个托盘,并将选择出的至少一个托盘确定为目标托盘。
在得到上述多个托盘的托盘分数后,基于托盘分数和预设排列顺序对所有托盘进行排列,其中,预设排列顺序包括降序排列或者升序排列,进而能够判断出具体哪个托盘的分数最高,哪个托盘的分数最低,然后,按照目标选择顺序选择出能够满足目标订单的订单需求的至少一个托盘,并将选择出的至少一个托盘确定为目标托盘。在本发明实施例中,目标选择顺序为托盘分数由高到低的顺序。在确定出目标托盘后,将目标托盘组成的集合作为第一目标托盘集合。
上文中对如何确定第一目标托盘集合的过程进行了详细的描述,下面对如何基于货道繁忙度对第一目标托盘集合进行优化的过程进行具体介绍。
方式一:
如图4所示,上述步骤S206中,基于货道繁忙度对第一目标托盘集合进行优化具体包括如下步骤:
步骤S206a,从第一目标托盘集合中随机选取第一托盘,从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘。
步骤S206b,如果将第一目标托盘集合中的第一托盘交换为第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足目标订单的订单需求,且更新后的第一目标托盘集合对应的货道繁忙度降低,则将第一托盘交换为第二托盘。
根据上述内容可知,第一目标托盘集合中所包含的托盘是多个托盘经过托盘得分计算后,在能够满足目标订单的订单需求的前提下,得分最高的多个托盘。在本申请中,在确定出第一目标托盘集合后,首先从第一目标托盘集合随机选取一个第一托盘;然后从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘;接下来,可以判断如果将第一托盘与第二托盘进行交换,交换后的第一目标托盘集合中的订单货品是否仍能够满足目标订单的订单需求,且更新后的第一目标托盘集合对应的货道繁忙度降低。
步骤S206c,重复执行上述步骤,直至满足目标条件,并将满足目标条件时的更新后的第一目标托盘集合作为优化之后的第一目标托盘集合。
在第一目标托盘集合中的托盘发生交换,得到更新后的第一目标托盘集合后,重复执行上述步骤S206a至步骤S206b,直到满足目标条件时,停止进行托盘交换,进而将满足目标条件时的更新后的第一目标托盘集合作为优化之后的第一目标托盘集合,其中,目标条件包括以下至少一种第一目标条件:对第一目标托盘集合中的托盘进行交换的交换次数达到预设次数、在连续预设交换次数中第一目标托盘集合中的托盘未发生变化。
为了便于理解,下面举例说明,假定预设交换次数为5,且连续5次交换操作得到的第一目标托盘集合中的托盘均未发生变化(尝试交换操作时,更新后的第一目标托盘集合中的货品不满足目标订单的订单需求,或者,更新后的第一目标托盘集合对应的货道繁忙度不低于未发生托盘交换的第一目标托盘集合对应的货道繁忙度),则停止托盘交换的步骤,或者,假定预设次数限定为30,且当前对第一目标托盘集合中的托盘进行交换的交换次数达到30次,则停止托盘交换的步骤。
下面举例说明上述步骤S206a至步骤S206c:
首先,从第一目标托盘集合中随机选择第一托盘A1,然后,按照托盘分数由高到低的顺序从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘B1。
其次,判断将第一托盘A1和第二托盘B1交换之后,更新后的第一目标托盘集合中的订单货品是否仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度是否降低。其中,如果是,则将第一托盘A1交换为第二托盘B1。如果不是,则不将第一托盘A1交换为第二托盘B1。
接下来,继续从第一目标托盘集合中随机选择第一托盘A2,然后,按照托盘分数由高到低的顺序从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘B2。
在接下来,判断将第一托盘A2和第二托盘B2交换之后,更新后的第一目标托盘集合中的订单货品是否仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度是否降低。其中,如果是,则将第一托盘A2交换为第二托盘B2。如果不是,则不将第一托盘A2交换为第二托盘B2。
在本申请中,反复执行上述步骤,直至满足目标条件,并将满足目标条件时的第一托盘集合作为优化之后的第一目标托盘集合。
方式二:
基于货道繁忙度对第一目标托盘集合进行优化具体还包括如下步骤:
步骤S2061,从第一目标托盘集合中随机选取第一托盘,从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘。
步骤S2062,如果将第一目标托盘集合中的第一托盘交换为第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足目标订单的订单需求,且更新后的第一目标托盘集合对应的货道繁忙度降低,则将第一托盘交换为第二托盘。
步骤S2061至步骤S2062与上述步骤S206a至步骤S206b是相同的操作流程,上文中已经对步骤S206a至步骤S206b进行了详细的说明,具体请参考相应的描述,此处不再赘述。
步骤S2063,在更新后的第一目标托盘集合中随机选择第三托盘;并判断更新后的第一目标托盘集合中除第三托盘之外的剩余托盘是否满足订单需求。
若满足,则执行步骤S2064,若不满足,则执行步骤S2065。
步骤S2064,删除更新后的第一目标托盘集合中的第三托盘。
步骤S2065,保留更新后的第一目标托盘集合中的第三托盘。
如果更新后的第一目标托盘集合仍然满足订单需求,且其货道繁忙度低于未进行托盘交换的第一目标托盘集合,那么需要进一步的对更新后的第一目标托盘集合进行简化,目的是让目标订单所需的托盘数量尽量少,托盘简化过程中,首先在更新后的第一目标托盘集合中随机选择第三托盘,并判断更新后的第一目标托盘集合中除第三托盘之外的剩余托盘是否满足订单需求,如果满足,则删除更新后的第一目标托盘集合中的第三托盘;如果不满足,则保留更新后的第一目标托盘集合中的第三托盘。
步骤S2066,重复执行上述步骤,直至满足目标条件,并将满足目标条件时的更新后的第一目标托盘集合作为优化之后的第一目标托盘集合;其中,目标条件包括以下至少之一第一目标条件:对第一目标托盘集合中的托盘进行交换的次数达到预设迭代次数、在连续预设交换次数中第一目标托盘集合中的托盘未发生变化。
下面举例说明上述步骤S2061至步骤S2066:
首先,从第一目标托盘集合中随机选择第一托盘A1,然后,按照托盘分数由高到低的顺序从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘B1。
其次,判断将第一托盘A1和第二托盘B1交换之后,更新后的第一目标托盘集合中的订单货品是否仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度是否降低。其中,如果是,则将第一托盘A1交换为第二托盘B1。如果不是,则不将第一托盘A1交换为第二托盘B1。
接下来,在更新之后的第一目标托盘集合中随机选择第三托盘C1,并判断所述更新后的第一目标托盘集合中除第三托盘C1之外的剩余托盘是否满足所述订单需求。其中,如果是,则删除第三托盘C1;否则保留第三托盘C1。
再接下来,继续从第一目标托盘集合中随机选择第一托盘A2,然后,按照托盘分数由高到低的顺序从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘B2。
继续,判断将第一托盘A2和第二托盘B2交换之后,更新后的第一目标托盘集合中的订单货品是否仍能够满足所述目标订单的订单需求,且所述更新后的第一目标托盘集合对应的货道繁忙度是否降低。其中,如果是,则将第一托盘A2交换为第二托盘B2。如果不是,则不将第一托盘A2交换为第二托盘B2。
再接下来,在更新之后的第一目标托盘集合中随机选择第三托盘C2,并判断所述更新后的第一目标托盘集合中除第三托盘C2之外的剩余托盘是否满足所述订单需求。其中,如果是,则删除第三托盘C2;否则保留第三托盘C2。
在本申请中,反复执行上述步骤,直至满足目标条件,并将满足目标条件时的第一托盘集合作为优化之后的第一目标托盘集合。
需要说明的是,在本申请中,在上述方式一和方式二的基础上,目标条件还包括第二目标条件:将第一托盘交换为第二托盘的交换概率小于预设概率,其中,交换概率与第一目标托盘集合已完成的托盘交换次数有关。
具体的,为了平衡目标订单的拣选策略的优劣以及确定优化之后的第一目标托盘集合的时间,本申请还提出了第二目标条件,第二目标条件引入了交换概率的概念,交换概率与第一目标托盘集合已完成的托盘交换次数有关,原则上第一目标托盘集合已完成的托盘交换次数越多,交换概率越小。当目标条件包括第二目标条件时,在尝试将第一托盘和第二托盘进行托盘交换之前,首先计算当前交换操作的交换概率是否不小于预设概率。如果不小于,则可以继续执行上述步骤S206a至步骤S206b(或者步骤S2061至步骤S2065),否则停止托盘交换的步骤。预设概率的选取需要用户根据实际需求进行设定,本申请不对其取值进行具体限定。
在一个可选的实施方式中,交换概率的计算公式为:exp(-step*b),其中,b为预设权重,step为第一目标托盘集合的托盘交换次数。根据上述算式可知,第一目标托盘集合的托盘交换次数越大,交换概率的取值越小,执行步骤S206a至步骤S206b(或者步骤S2061至步骤S2065)的可能性就低,由于解会随着迭代次数的增多而趋于稳定,进而得到一个较优的局部解,b的取值需要根据实际需求进行设定,本发明实施例不对其进行具体限制。
进一步的,在目标条件中,第二目标条件的优先级高于第一目标条件的优先级。也就是说,在判断是否继续重复执行步骤S206a至步骤S206b(或者步骤S2061至步骤S2065)时,首先判断交换概率是否小于预设概率,如果确定小于,则无需判断是否满足第一目标条件,可直接停止托盘交换的步骤;如果确定不小于,再对是否满足第一目标条件进行判定,从而能够节省方法运行的时间。
综上所述,本发明实施例提供的订单拣选策略的确定方法,在为目标订单确定拣选策略时,结合了实际生产情况以及实际需求,对托盘进行优化选择的过程中,考虑到了货道繁忙度和托盘得分,使得拣选策略中的托盘数量尽量少、被选中的托盘尽量分散在不同货道中、被选中托盘离站点尽量近,方便车辆拿托盘,从而有效的缓解了现有技术中的订单拣选方法存在的生产效率低下的技术问题。
实施例3:
本发明实施例还提供了一种订单拣选策略的确定装置,该订单拣选策略的确定装置主要用于执行上述实施例一所提供的订单拣选策略的确定方法,以下对本发明实施例提供的订单拣选策略的确定装置做具体介绍。
图5是本发明实施例提供的一种订单拣选策略的确定装置的功能模块图,如图5所示,该装置主要包括:获取模块10,确定模块20,优化模块30,其中:
获取模块10,用于获取用于存放订单货品的多个托盘。
确定模块20,用于基于多个托盘确定第一目标托盘集合;其中,第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合。
优化模块30,用于基于货道繁忙度对第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定目标订单的拣选策略,其中,货道繁忙度用于表征每个货道在第一目标托盘集合中所需托盘的数量。
本发明提供的订单拣选策略的确定装置,包括:获取用于存放订单货品的多个托盘;基于多个托盘确定第一目标托盘集合;其中,第一目标托盘集合中托盘所存放的订单货品能够满足目标订单的订单需求;且第一目标托盘集合为基于托盘货品分数和/或托盘位置分数确定出的集合;基于货道繁忙度对第一目标托盘集合进行优化,并基于优化之后的第一目标托盘集合确定目标订单的拣选策略,其中,货道繁忙度用于表征每个货道在第一目标托盘集合中所需托盘的数量。该装置在确定目标订单的拣选策略时,结合了实际生产情况以及实际需求,考虑到了货道繁忙度和托盘得分,从而有效的缓解了现有技术中的订单拣选方法存在的生产效率低下的技术问题。
可选的,确定模块20包括:第一计算单元,用于计算每个托盘的托盘分数;托盘分数为基于托盘货品分数和/或托盘位置分数确定出的分数;第一确定单元,用于基于托盘分数在多个托盘中确定目标托盘,并基于目标托盘确定第一目标托盘集合。
可选的,第一计算单元包括:第一子计算单元,用于计算多个托盘中每个托盘的托盘货品分数;第二子计算单元,用于计算多个托盘中每个托盘的托盘位置分数;求和单元,用于按照目标求和计算方式对托盘货品分数和托盘位置分数进行计算,并将计算结果确定为托盘的托盘分数。
可选的,第一子计算单元具体用于:确定当前托盘所存放的订单货品中满足目标订单的订单需求的订单货品数量;基于订单货品数量确定托盘货品分数。
可选的,第二子计算单元具体用于:获取每个托盘到各个站点的平均距离;基于平均距离计算每个托盘的托盘位置分数。
可选的,第一确定单元包括:排序子单元,用于按照预设排列顺序和托盘分数对多个托盘进行排列,得到目标排序序列,其中,预设排列顺序包括降序排列或者升序排列;选择子单元,用于按照目标选择顺序在目标排序序列中选择能够满足目标订单的订单需求的至少一个托盘,并将选择出的至少一个托盘确定为目标托盘,其中,目标选择顺序为托盘分数由高到低的顺序。
可选的,优化模块30包括:第一选择单元,用于从第一目标托盘集合中随机选取第一托盘,从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘;第一交换单元,如果将第一目标托盘集合中的第一托盘交换为第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足目标订单的订单需求,且更新后的第一目标托盘集合对应的货道繁忙度降低,则将第一托盘交换为第二托盘;第二确定单元,用于重复执行上述步骤,直至满足目标条件,并将满足目标条件时的更新后的第一目标托盘集合作为优化之后的第一目标托盘集合;其中,目标条件包括以下至少一种第一目标条件:对第一目标托盘集合中的托盘进行交换的交换次数达到预设次数、在连续预设交换次数中第一目标托盘集合中的托盘未发生变化。
可选的,优化模块30还包括:第二选择单元,用于从第一目标托盘集合中随机选取第一托盘,从多个托盘中除第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘;第二交换单元,如果将第一目标托盘集合中的第一托盘交换为第二托盘之后,更新后的第一目标托盘集合中的订单货品仍能够满足目标订单的订单需求,且更新后的第一目标托盘集合对应的货道繁忙度降低,则将第一托盘交换为第二托盘;第三选择单元,用于在更新后的第一目标托盘集合中随机选择第三托盘;并判断更新后的第一目标托盘集合中除第三托盘之外的剩余托盘是否满足订单需求;简化单元,若满足,则删除更新后的第一目标托盘集合中的第三托盘;否则保留更新后的第一目标托盘集合中的第三托盘;第三确定单元,用于重复执行上述步骤,直至满足目标条件,并将满足目标条件时的更新后的第一目标托盘集合作为优化之后的第一目标托盘集合;其中,目标条件包括以下至少之一第一目标条件:对第一目标托盘集合中的托盘进行交换的次数达到预设迭代次数、在连续预设交换次数中第一目标托盘集合中的托盘未发生变化。
可选的,目标条件还包括第二目标条件:将第一托盘交换为第二托盘的交换概率小于预设概率,其中,交换概率与第一目标托盘集合已完成的托盘交换次数有关。
可选的,交换概率的计算公式为:exp(-step*b),其中,b为预设权重,step为第一目标托盘集合的托盘交换次数。
可选的,在目标条件中,第二目标条件的优先级高于第一目标条件的优先级。
可选地,该装置还用于:按照托盘分数由高到低的顺序从所述多个托盘中除所述第一目标托盘集合中的托盘之外的其他托盘中选取第二托盘。
本发明实施例所提供的一种订单拣选策略的确定方法、装置和电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。