一种基于深度优先搜索的纸卷分切方法及其应用与流程

文档序号:23056454发布日期:2020-11-25 17:35阅读:227来源:国知局
一种基于深度优先搜索的纸卷分切方法及其应用与流程

本发明属于纸卷分切研究领域,更具体地,涉及一种基于深度优先搜索的纸卷分切方法及其应用。



背景技术:

目前,在造纸和包装行业中,由于订单种类繁多,订单的规格和需求等差异大,且母卷规格较多,工人往往需要凭借自身经验反复测试才能得出一种可行的排产方案,这导致了企业在时间、原材料等方面的浪费。

此外,实际生产中可能无法得出一种由某一规格的母料来配切给定订单的可行方案,这使得部分企业在给某些订单求解配切方案时允许某些订单的配切数量为零,并且想要得到所有可行的配切方案以挑选出其中最好的方案用于实际生产。

传统的暴力枚举法虽然能够得出所有可行的配切方案供决策者选择,但其时间性能较差,尤其是在订单数量较多、母卷与订单宽度比值较大的情况下,暴力枚举法所需耗费的时间根本无法支持现实生产。



技术实现要素:

针对现有技术的上述缺点和/或改进需求,本发明提供了一种基于深度优先搜索的纸卷分切方法及其应用,其中该方法利用深度优先搜索获得所有满足成品率要求的可行配切方案,能够大大缩短搜索时间;同时将可行配切方案的挑选视为一个多目标优化问题,并引入非支配排序算法对所有可行配切方案进行分层,以前沿面上的方案作为最终推荐的可行配切方案集,更利于现场的实际应用。

为实现上述目的,本发明提出了一种基于深度优先搜索的纸卷分切方法,该方法包括如下步骤:

s1收集待分切纸卷的分切数据;

s2根据步骤s1收集的分切数据计算各个订单在分切机上的最大可切割数量;

s3采用深度优先搜索算法对订单的所有组合策略进行遍历,找到所有满足成品率要求的配切方案;

s4对于步骤s3获得的所有可行配切方案进行非支配排序;

s5输出前沿面对应的配切方案,将其作为实际生产的候选配切方案集。

作为进一步优选地,步骤s1中,所述分切数据包括母卷宽度、最大通道数量、订单数量以及订单宽度。

作为进一步优选地,步骤s2中,所述最大可切割数量的计算公式为:

其中,wm为母卷宽度,wo(i)为订单i的宽度,i为订单编号,取值为1~n,nc为最大通道数量,表示向下取整符号。

作为进一步优选地,步骤s3包括如下子步骤:

s31将各个订单按照其订单宽度从小到大排序,并将排序后的订单依次记为o1,o2,…,on,同时将各个订单的最大可切割数量nmax按以上订单排序结果进行重新排列;

s32分别用变量x1,x2,…,xn表示订单o1,o2,…,on的配切数量,其中,对于任一个订单oi,其配切数量xi的取值范围为0,1,2,…,nmax(i),nmax(i)为第i个订单的最大可切割数量;令xi=0,以此对[x1,x2,…,xn]构成的组合配切方案进行初始化;

s33根据当前的组合配切方案计算订单总切割宽度ws和订单总占用通道数量ns,并判断其是否满足回溯条件,若是,则转入步骤s34进行回溯,若否,则直接进入步骤s35;

s34判断xn是否等于0,若是,则向前回溯找到xj不为0的订单,并将其代入步骤s36中;若否,则令j=n–1,xn=0,然后转入步骤s36;

s35判断ws/wm是否小于成品率最低要求r,若是,则舍弃当前的组合配切方案[x1,x2,…,xn],并令j=n;若否,则保存当前组合配切方案[x1,x2,…,xn],并令j=n;

s36判断xj是否小于nmax(j),若是,则转入步骤s37;若否,则转入步骤s38;

s37判断j是否小于或等于0,若是,则转入步骤s39;若否,则令xj=xj+1,并转入步骤s33中,根据更新后的组合配切方案进行迭代;

s38令xj=0,j=j–1,然后转入步骤s36进行重新判断;

s39将保存的当前组合配切方案作为可行方案进行输出,以此找到所有满足成品率要求的配切方案。

作为进一步优选地,步骤s34中回溯条件为两条,一条为订单总切割宽度ws大于母卷宽度wm,另一条为订单总占用通道数量ns大于最大通道数量nc,若满足其中一条,则转入步骤s34进行回溯;若两条均不满足,则直接进入步骤s35。

作为进一步优选地,步骤s4中,采用最大化成品率和最大化实际配切订单数量作为排序的双目标。

按照本发明的另一方面,提供了上述基于深度优先搜索的纸卷分切方法在纸卷分切中的应用。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要具备以下的技术优点:

1.本发明提供了一种基于深度优先搜索的纸卷分切方法,该方法利用深度优先搜索获得所有满足成品率要求的配切方案,能够大大缩短搜索时间,明显优于现有的暴力枚举法,因而具有较强的实际应用价值;同时,为有效减轻现场工人的决策压力,本发明将可行配切方案的挑选视为一个多目标优化问题,引入非支配排序算法对所有可行配切方案进行分层,并以前沿面上的方案作为最终推荐的可行配切方案集,更利于现场的实际应用;

2.尤其是,本发明根据纸卷分切过程中的实际问题对深度优先搜索的流程进行优化,能够有效减少对不可行配切方案的无效计算,在保证枚举出所有可行配切方案的前提下大幅提升求解速度,从而满足实际生产需求。

附图说明

图1为本发明优选实施例提供的基于深度优先搜索的纸卷分切方法的总体流程图;

图2为本发明优选实施例提供的深度优先搜索的流程图;

图3(a)~图3(c)为本发明优选实施例中回溯条件1的处理示例;

图4(a)~图4(c)为本发明优选实施例中回溯条件2的处理示例。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明提供了一种基于深度优先搜索的纸卷分切方法,该方法包括如下步骤:

s1收集待分切纸卷的分切数据,包括母卷宽度wm、最大通道数量nc、订单数量n以及订单宽度wo;

s2根据步骤s1收集的分切数据计算各个订单在分切机上的最大可切割数量,具体采用如下公式进行计算:

其中,wo(i)为订单i的宽度,i为订单编号,取值为1~n,表示向下取整符号;

s3采用深度优先搜索算法对订单的所有组合策略进行遍历,找到所有满足成品率要求的配切方案;

s4对于步骤s3获得的所有可行配切方案,就最大化成品率和最大化实际配切订单数量两个目标进行非支配排序;

s5输出前沿面对应的配切方案,将其作为实际生产的候选配切方案集。

进一步,如图2所示,步骤s3具体包括如下子步骤:

s31将各个订单按照其订单宽度从小到大排序,并将排序后的订单依次记为o1,o2,…,on,同时将各个订单的最大可切割数量nmax按以上订单排序结果进行重新排列;

s32分别用变量x1,x2,…,xn表示订单o1,o2,…,on的配切数量,其中,对于任一个订单oi,其配切数量xi的取值范围为0,1,2,…,nmax(i),nmax(i)为第i个订单的最大可切割数量;令xi=0,以此对[x1,x2,…,xn]构成的组合配切方案进行初始化;

s33根据当前的组合配切方案计算订单总切割宽度ws和订单总占用通道数量ns,并判断其是否满足回溯条件,即订单总切割宽度ws大于母卷宽度wm,或者订单总占用通道数量ns大于最大通道数量nc;若至少满足其中一项,则转入步骤s34进行回溯,若均不满足,则直接进入步骤s35;其中图3(a)~(c),图4(a)~(c)为两种回溯条件的处理示例;

s34判断xn是否等于0,若是,则向前回溯找到xj不为0的订单,并将其代入步骤s36中;若否,则令j=n–1,xn=0,然后转入步骤s36;

s35判断ws/wm是否小于成品率最低要求r,若是,则舍弃当前的组合配切方案[x1,x2,…,xn],并令j=n;若否,则保存当前组合配切方案[x1,x2,…,xn],并令j=n;

s36判断xj是否小于nmax(j),若是,则转入步骤s37;若否,则转入步骤s38;

s37判断j是否小于或等于0,若是,则转入步骤s39;若否,则令xj=xj+1,并转入步骤s33中,根据更新后的组合配切方案进行迭代;

s38令xj=0,j=j–1,然后转入步骤s36进行重新判断;

s39将保存的当前组合配切方案作为可行方案进行输出,以此找到所有满足成品率要求的配切方案。

按照本发明的另一方面,提供了上述基于深度优先搜索的纸卷分切方法在纸卷分切中的应用。

下面根据具体实施例对本发明提供的基于深度优选搜索的纸卷分切方法进行具体说明。

s1收集待分切纸卷的分切数据,母卷宽度wm为1000mm,最大通道数量nc为13,订单数量n为7,订单宽度wo分别为91mm,63mm,93mm,75mm,83mm,64mm,92mm,成品率最低要求r为0.975;

s2据如下计算公式可计算得到各个订单的最大可切割数量nmax,分别为10,13,10,13,12,13,10;

s31将各个订单按照订单宽度wo从小到大排序,并将排序后的订单依次记为o1,o2,…,on,同时将各个订单的最大可切割数量nmax按以上订单排序结果进行重新排列,排序结果为13,13,13,12,10,10,10;

s32分别用变量x1,x2,…,x7表示订单o1,o2,…,o7的配切数量,其中,对于任一个订单oi,其配切数量xi的取值范围为0,1,2,…,nmax(i),nmax(i)为第i个订单的最大可切割数量;令xi=0,以此对[x1,x2,…,x7]构成的组合配切方案进行初始化;

s33根据当前的组合配切方案计算订单总切割宽度ws和订单总占用通道数量ns,并判断其是否满足回溯条件,即订单总切割宽度ws大于母卷宽度wm,或订单总占用通道数量ns大于最大通道数量nc;若满足其中一条,则转入步骤s34进行回溯,若两条均不满足,则直接进入步骤s35;

s34判断x7是否等于0,若是,则向前回溯找到xj不为0的订单,并将其代入步骤s36中;若否,则令j=6,x7=0,然后转入步骤s36;

s35判断ws/wm是否小于成品率最低要求r,若是,则舍弃当前的组合配切方案[x1,x2,…,x7],并令j=7;若否,则保存当前组合配切方案[x1,x2,…,x7],并令j=7;

s36判断xj是否小于nmax(j),若是,则转入步骤s37;若否,则转入步骤s38;

s37判断j是否小于或等于0,若是,则转入步骤s39;若否,则令xj=xj+1,并转入步骤s33中,根据更新后的组合配切方案进行迭代;

s38令xj=0,j=j–1,然后转入步骤s36进行重新判断;

s39将保存的当前组合配切方案作为可行方案进行输出,以此找到所有满足成品率要求的配切方案;

s4对于步骤s3获得的所有可行配切方案,就最大化成品率和最大化实际配切订单数量两个目标进行非支配排序;

s5输出前沿面对应的配切方案,将其作为实际生产的候选配切方案集。

采用c++编程实现本发明所设计的深度优先搜索算法和暴力枚举法,并在2.40ghzintel(r)core(tm)i7-5500ucpu、8gram、win10的运行环境下分别采用这两种算法对本实施例进行10次计算实验。实验结果为,两种算法均求解得到了所有的可行配切方案(共6049种),但深度优先搜索方法的运行时间约为13秒,暴力枚举法的运行时间约为17秒,优化比率约为23.5%。除此之外,从表1所示其它更大规模算例的性能测试实验结果来看,本发明所设计的深度优先搜索算法在求解大规模算例上明显优于暴力枚举法。综上所述,本发明所设计的深度优先搜索算法能够大大缩短寻找所有可行配切方案的搜索时间,具有很强的实际应用价值。

在得到6049种可行配切方案之后,为了有效减轻现场工人的决策压力,本发明将可行配切方案的挑选视为一个多目标优化问题,其中优化目标为最大化成品率和最大化实际配切订单个数,并引入非支配排序算法对所有可行配切方案进行分层,以前沿面上的方案作为最终推荐的可行配切方案集。本实施例最终推荐的可行配切方案集如表2所示。

表1深度优先搜索算法与暴力枚举算法的性能测试实验结果

注:算法1为本发明所设计的深度优先搜索算法,算法2为暴力枚举法

表2最终推荐的可行配切方案集

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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