发明内容
本发明提供了一种中厚钢板翻堆出库优化方法、系统、存储介质及计算设备,解决了背景技术中披露的问题。
为了解决上述技术问题,本发明所采用的技术方案是:
中厚钢板翻堆出库优化方法,包括:
步骤1,根据货位信息,计算当前提货单中各中厚钢板的一次翻堆代价、最小K次翻堆代价和最小K次翻堆代价对应的翻堆方案;其中,中厚钢板的一次翻堆代价为中厚钢板优先提取时的翻堆代价;K等于后续提货单数量,后续提货单为排序在当前提货单后面的提货单;中厚钢板的K次翻堆代价为中厚钢板的上方钢板翻堆对K个后续提货单造成的最小额外翻堆代价;
步骤2,根据一次翻堆代价和最小K次翻堆代价,计算当前提货单中各中厚钢板提取的总代价;
步骤3,根据总代价和可接受总代价范围,选择优先提取的中厚钢板;
步骤4,将优先提取中厚钢板从当前提货单中删除,若当前提货单存在其他中厚钢板,确定实施优先提取中厚钢板对应的翻堆方案后的货位信息,转至步骤1,否则,将所有优先提取中厚钢板对应的翻堆方案合并为当前提货单的翻堆出库优化方案。
后续提货单和当前提货单的排序根据提货单的总一次提货代价确定,确定过程包括:
在不考虑翻堆的情况下,计算各提货单的中厚钢板对应货位的一次提货代价;
对同一提货单的货位一次提货代价进行累加,计算各提货单的总一次提货代价;
根据总一次提货代价的升序排序提货单。
货位一次提货代价为:
若货位中不存在提货单中的中厚钢板,货位一次提货代价为0;
若货位中存在提货单中的中厚钢板,货位一次提货代价为
;其中,
l为在货
位上提货单中的中厚钢板的最低层数,
为货位层数,
为货位第
i层钢板的重量。
计算一次翻堆代价的公式为:
其中,
为一次翻堆代价,
l1为当前提货单中的中厚钢板在当前货位上的层数,
为当前货位层数,
为当前货位第
i1层钢板的重量。
计算当前提货单中厚钢板B的最小K次翻堆代价和最小K次翻堆代价对应的翻堆方案,包括:
确定当前提货单中厚钢板B上方的钢板;
计算各上方钢板翻堆对K个后续提货单造成的额外翻堆代价,构建m×n的额外翻堆代价矩阵A;其中,m为上方钢板的数量,n为可放置上方钢板的其他货位数量;a mn 为额外翻堆代价矩阵A中的元素,表示第m号钢板移位至第n号其他货位,对K个后续提货单造成的额外翻堆代价;
将额外翻堆代价矩阵A中各行的最小额外翻堆代价累加,获得当前提货单中厚钢板B的最小K次翻堆代价;
将额外翻堆代价矩阵A中各行的最小额外翻堆代价对应的货位,作为上方钢板落位的货位,获得中厚钢板B的翻堆方案。
a mn 的计算公式为:
其中,
为衰减因子,
为当前提货单的编号,
j为后续提货单
的编号,
,
为翻堆后压住第
j个
后续提货单中厚钢板的钢板重量。
根据总代价和可接受总代价范围,选择优先提取的中厚钢板,包括:
筛选总代价位于可接受总代价范围内的中厚钢板,从筛选的中厚钢板中随机选择优先提取的中厚钢板。
可接受总代价范围为
,其中,
c
为当前提货单中各中厚钢板提取的总代价集合,
为约束因子。
中厚钢板翻堆出库优化系统,包括:
计算模块,根据货位信息,计算当前提货单中各中厚钢板的一次翻堆代价、最小K次翻堆代价和最小K次翻堆代价对应的翻堆方案,转至总代价模块;其中,中厚钢板的一次翻堆代价为中厚钢板优先提取时的翻堆代价;K等于后续提货单数量,后续提货单为排序在当前提货单后面的提货单;中厚钢板的K次翻堆代价为中厚钢板的上方钢板翻堆对K个后续提货单造成的最小额外翻堆代价;
总代价模块,根据一次翻堆代价和最小K次翻堆代价,计算当前提货单中各中厚钢板提取的总代价,转至选择模块;
选择模块,根据总代价和可接受总代价范围,选择优先提取的中厚钢板,转至确定模块;
确定模块,将优先提取中厚钢板从当前提货单中删除,若当前提货单存在其他中厚钢板,确定实施优先提取中厚钢板对应的翻堆方案后的货位信息,转至计算模块,否则,将所有优先提取中厚钢板对应的翻堆方案合并为当前提货单的翻堆出库优化方案。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行中厚钢板翻堆出库优化方法。
本发明所达到的有益效果:本发明计算一次翻堆代价和最小K次翻堆代价,在K次翻堆代价最小化的情况下,从当前提货单中获取每轮次的优先提取中厚钢板,将每轮次优先提取中厚钢板的翻堆方案合并,获得当前提货单的翻堆出库优化方案,可大大降低翻堆对后续提货单提货的影响,提高翻堆出库效率。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,中厚钢板翻堆出库优化方法,其特征在于,包括:
步骤1,根据货位信息,计算当前提货单中各中厚钢板的一次翻堆代价、最小K次翻堆代价和最小K次翻堆代价对应的翻堆方案;其中,中厚钢板的一次翻堆代价为中厚钢板优先提取时的翻堆代价;K等于后续提货单数量,后续提货单为排序在当前提货单后面的提货单;中厚钢板的K次翻堆代价为中厚钢板的上方钢板翻堆对K个后续提货单造成的最小额外翻堆代价;翻堆代价为移走上方钢板付出的代价;翻堆方案为上方钢板移位至其他货位的方案。
步骤2,根据一次翻堆代价和最小K次翻堆代价,计算当前提货单中各中厚钢板提取的总代价。
步骤3,根据总代价和可接受总代价范围,选择优先提取的中厚钢板。
步骤4,将优先提取中厚钢板从当前提货单中删除,若当前提货单存在其他中厚钢板,确定实施优先提取中厚钢板对应的翻堆方案后的货位信息,转至步骤1,否则,将所有优先提取中厚钢板对应的翻堆方案合并为当前提货单的翻堆出库优化方案。
上述方法计算一次翻堆代价和最小K次翻堆代价,在K次翻堆代价最小化的情况下,从当前提货单中获取每轮次的优先提取中厚钢板,将每轮次优先提取中厚钢板的翻堆方案合并,获得当前提货单的翻堆出库优化方案,在提取当前提货单的中厚钢板之前实施上述方法,按照翻堆出库优化方案进行翻堆,可大大降低翻堆对后续提货单提货的影响,提高翻堆出库效率。
实际的库区,每天会有多个提货单,这些提货单的初始排序是其生成的顺序,为了提高翻堆出库效率,需要对这些提货单进行事先排序,这个排序根据提货单的总一次提货代价确定,确定过程可以如下:
11)在不考虑翻堆的情况下,计算各提货单的中厚钢板对应货位的一次提货代价。
提货单中的中厚钢板数量一般为多个,这些中厚钢板放置在多个货位中,有的货位放置提货单中的一块中厚钢板,有的货位放置提货单中的多块中厚钢板。
以提货单S为例,提货单S中的中厚钢板集合为W,按照已知货位信息,逐个选择货位,作为当前货位;
若当前货位中不存在W中的中厚钢板,则当前货位一次提货代价为0;若当前货位
中存在W中的中厚钢板,当前货位一次提货代价为
;其中,
l为在当前货位上提货单
中的中厚钢板的最低层数,
为当前货位层数,
为当前货位第
i层钢板的重量。
按照上述方法,对于一个提货单,可获得各货位的一次提货代价。
12)对同一提货单的货位一次提货代价进行累加,计算各提货单的总一次提货代价。
13)根据总一次提货代价的升序排序提货单。
按照重新排序后的顺序,获取每个提货单的翻堆出库优化方案,假设当前提货单
的编号(顺序编号)为
,排在其后面的还有K个后续提货单,当前提货
单中厚钢板会有的一次翻堆代价和K次翻堆代价,其中,K次翻堆代价是评估当前提货单翻
堆对后续提货单有影响。
可根据货位信息,计算当前提货单中各中厚钢板的一次翻堆代价,假设机端中厚钢板B的一次翻堆代价,就是中厚钢板B优先提取(即第一个提取)时的翻堆代价,具体的计算公式可以为:
其中,
为一次翻堆代价,
l1为当前提货单中的中厚钢板在当前货位上的层数,
为当前货位层数,
为当前货位第
i1层钢板的重量。
因此根据上述公式可以计算出当前提货单中各中厚钢板的一次翻堆代价。
为了尽可能降低对后续提货单有影响,因此这里要将K次翻堆代价最小化,即计算当前提货单中厚钢板B的最小K次翻堆代价,具体过程可以为:
21)确定当前提货单中厚钢板B上方的钢板。
22)计算各上方钢板翻堆对K个后续提货单造成的额外翻堆代价,构建m×n的额外翻堆代价矩阵A;其中,m为上方钢板的数量,n为可放置上方钢板的其他货位数量;a mn 为额外翻堆代价矩阵A中的元素,表示第m号钢板移位至第n号其他货位,对K个后续提货单造成的额外翻堆代价,用公式可以表示为:
其中,
为衰减因子,建议取值0.2~0.9,
j为后续提货单的编号,
,
为翻堆后压住第
j个后续提
货单中厚钢板的钢板重量。
23)将额外翻堆代价矩阵A中各行的最小额外翻堆代价累加,获得当前提货单中厚钢板B的最小K次翻堆代价。
相应的也可获得最小K次翻堆代价对应的翻堆方案,即将额外翻堆代价矩阵A中各行的最小额外翻堆代价对应的货位作为上方钢板落位的货位,获得中厚钢板B的翻堆方案。
将中厚钢板的一次翻堆代价和最小K次翻堆代价相加,可以获得当前提货单中各中厚钢板提取的总代价,可按照总代价的升序排序当前提货单中的中厚钢板,并根据总代价,确定可接受总代价范围,具体公式可以表示为:
其中,
c为当前提货单中各中厚钢板提取的总代价集合,
为约束因子,建议取值0
~1。
筛选总代价位于可接受总代价范围内的中厚钢板,从筛选的中厚钢板中随机选择优先提取的中厚钢板,以这种随机策略筛选近似最优解,克服求解全局最优解的维度灾难和时间复杂度过大的困难,加快获得可行翻堆方案,适合大批量钢板翻堆作业。
将优先提取中厚钢板从当前提货单中删除,获取新的当前提货,若新的当前提货存在其他中厚钢板,确定实施优先提取中厚钢板对应的翻堆方案后的货位信息,按照上述的方法获取新的当前提货的优先提取中厚钢板和对应的翻堆方案,重复该步,直到当前提货单中不存在其他中厚钢板,将所有优先提取中厚钢板对应的翻堆方案合并为当前提货单的翻堆出库优化方案。
为了获得更优的翻堆出库优化方案,可以针对当前提货单重复步骤1~4多次,获得多个翻堆出库优化方案,最后选择所有中厚钢板总代价最小的方案,为最终的方案。
上述方法根据代价函数,逐级优化,逼近最优解,在优化同一提货单内中厚钢板的提取顺序时,以随机策略筛选代价满足最小范围边界的中厚钢板,获得局部近似最优解,进而多次重复优化获得全局近似最优解。实践数据显示,仅需1到3轮重复优化,由近似最优解获得的翻堆方案,足以满足仓库翻堆操作需要。
上述方法通过输出稳定高效的翻堆方案,可有效提高每日出库的钢板数量、出货速度,同等条件下也可提高整个仓储空间的利用率,实现仓储出库环节的降本增效。
为了验证上述方法,做以下比较:
算例1:仿真模拟某库区一个月内出入库情况,仿真参数设置参考了实际库区的信息,如表1。算例1中仿真参数设置为平均每天入库418块,平均每天出库420块,出入库数量基本持平符合实际情况。此外,平均每天提货单个数35个,每单钢板数为12块,仓储拥有库位71个,并且每个库位平均库存数为34块钢板。
算例2:选取实际库区6个月的出入库数据进行测试,共5805个出库单,实际出库73300块钢板,实际库区参数如表2。
针对算例1和2,采用人工策略、贪心随机规划、以及本发明的方法分别进行出库优化,可获得翻堆比(翻堆比=(翻堆操作的钢板数量-本身要出库钢板数量)/本身要出库钢板数量)如表3。
注:上述测试仅按照钢板数计算翻堆比,并且仿真测试中假设每块钢板重量相同。
从表3可以看出,基于贪心随机规划策略的翻堆比相较于人工策略有一定程度降低,而本发明方法在两个算例情况下,实施计算后的翻堆比是三种策略中最低的,且真实算例的翻堆比与人工策略相比,降低了20.9%。因此本发明的方法可以有效降低长期翻堆操作的翻堆比,实现降本增效。
基于相同的技术方案,本发明还公开了上述方法的软件系统,中厚钢板翻堆出库优化系统,包括:
计算模块,根据货位信息,计算当前提货单中各中厚钢板的一次翻堆代价、最小K次翻堆代价和最小K次翻堆代价对应的翻堆方案,转至总代价模块;其中,中厚钢板的一次翻堆代价为中厚钢板优先提取时的翻堆代价;K等于后续提货单数量,后续提货单为排序在当前提货单后面的提货单;中厚钢板的K次翻堆代价为中厚钢板的上方钢板翻堆对K个后续提货单造成的最小额外翻堆代价。
总代价模块,根据一次翻堆代价和最小K次翻堆代价,计算当前提货单中各中厚钢板提取的总代价,转至选择模块。
选择模块,根据总代价和可接受总代价范围,选择优先提取的中厚钢板,转至确定模块。
确定模块,将优先提取中厚钢板从当前提货单中删除,若当前提货单存在其他中厚钢板,确定实施优先提取中厚钢板对应的翻堆方案后的货位信息,转至计算模块,否则,将所有优先提取中厚钢板对应的翻堆方案合并为当前提货单的翻堆出库优化方案。
上述软件系统中各模块的数据处理流程与方法的一致,这里不重复描述了。
基于相同的技术方案,本发明还公开了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行中厚钢板翻堆出库优化方法。
基于相同的技术方案,本发明还公开了一种计算设备,包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行中厚钢板翻堆出库优化方法的指令。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。