摘要

不规则条带包装问题(ISPP)是一类切割与包装问题(C&P),其中任意格式的一组物品必须放置在可变长度的容器中。这项工作的目的是尽可能减少满足给定需求所需的面积。ISPP存在于从制造商到出口商的各种行业(例如造船、服装和玻璃)。本文提出了一种并行的有偏随机密钥遗传算法(µ-BRKGA)通过应用无碰撞区域(CFR)概念作为定位方法,为ISPP提供多个种群,以获得高效快速的布局解决方案。该算法的布局问题由容器中的放置顺序和相应的方向表示。为了评估提议(µ-BRKGA)算法,使用基准问题的计算测试进行了应用、分析,并与不同的方法进行了比较。

1.简介

制造业和出口商之间的巨大市场纠纷,再加上构成产品制造原材料的一些物品的稀缺,促使世界各地的研究寻找以低成本复制高效解决方案的答案。

切割和包装(C&P)问题属于NP-hard[1]. 项目数据集必须打包在二维阶段,可以通过放置工件所需的最小面积或当前布局中允许的最大项目数来分析目标函数。我们的研究重点是一个特殊的C&P问题,通常被称为不规则条形包装问题(ISPP)。

此外,根据[1]ISPP具有开放的任意维度分类。C&P的变体可以描述为容器()宽度恒定()和可变长度()以及不规则多边形的数据集,其目标是最小化并将整个需求(没有重叠)放入在某些情况下,可以接受旋转多边形的所有角度;在其他情况下,只允许一些角度旋转多边形。1说明了这个问题的一个经典例子,即裤子[2]。

各种研究致力于获得使表面积和计算时间最小化的解决方案(布局)。然而,尽管提出了许多建议,但对获得改进布局的进一步策略的分析仍然是相关的。以下是一些策略示例:(i)零件列表必须应用定位规则(ii)可以接受精确布局作为初始解决方案,项目重叠是有效的,但目标函数会受到惩罚(iii)在预处理阶段执行零件之间的一组聚类,以降低零件之间拟合的复杂性(iv)其他数学规划模型。

这里提出的方法是有偏随机密钥遗传算法(BRKGA)的并行计算实现[]使用应用于ISPP的多个总体。每个解决方案都会形成一个序列,在该序列中,工件被放置在容器中。当前角度和应用的放置方法基于无碰撞区域[4]. 对目标问题的数据集示例进行了计算测试,结果表明,本文提出的方法与其他一些重要研究兼容或优于其他研究。

本文结构如下。章节2介绍了一些关于ISPP及其不同解决方法的研究。章节介绍与建议方法相关的重要概念,如第节所示4第节中给出了有关对已知文献数据集进行计算测试的文件5最后,在第节6本文给出了有关所提方法的结论,并对进一步开展这项工作提出了一些建议。

2.处理不规则带材包装问题的方法

ISPP是一个挑战,因为它们为构建可行和优化的解决方案带来了障碍。其中包括多边形的几何方面和质量布局的组合特征。必须同时处理这两个障碍。此外,必须测量每种方法的计算复杂性的估计,以作为选择算法项目规划阶段方法的标准。

已经开发了各种数学规划模型,为ISPP提供可行的解决方案[56]. 尽管工业规模应用仍然存在限制,但由于组合特性优化等因素,由此类型策略产生的整个计算概念为该领域的研究提供了重要的理论基础。

例如,在[7]作者提出了一种适用于ISPP的基于约束逻辑编程(CLP)的模型。此外,该策略也应用于凸多边形和非凸多边形。使用NFP和IFP的概念来满足重叠的几何约束,并显示第一个项目的定位域。布局的组成使用拟合模式,采用有限域内变量的CLP模型。该模型的初始变量由宽度、舞台的上边界和数据集片段的几何结构组成。一旦定义了初始设置,该方法就有一个管理可变域中不断变化的层。此外,它处理过程的一致性。

另一方面,作者[8]基于ISPP的工作,提出了一种混合整数线性规划(MILP)方法[9]. 其目的是最大限度地提高效率,同时最小化布局所需的长度。目标函数的另一个目的是,所有碎片必须尽可能接近其原始位置,就像压实了一样。该过程通过最小化每个多边形参考点的坐标来执行。目标函数计算未考虑物品之间的损耗和孔洞。所有测试都是针对服装行业的案例进行的,模型运行时间仅为几秒钟。

同样,在[10]作者还提出了MILP;然而,在这种情况下,决策变量是二进制的,并且与船上存在的每个离散点相关联,这是容器的命名法。此模型的一个突出优点是它可以灵活地处理项目和容器的几何结构,因此可以扩展到更复杂的问题。例如,这种方法可以应用于非凸板和带孔的项目。另一方面,在可行的时间内运行的部件数量有限制。

基于CLP的另一个模型由[11]. 研究人员报告了旨在确保实现解决方案的所有可行性要求的限制。通过改变具有二进制域的变量的定义,这种方法偏离了[712]这可以应用于固定容器的问题。

然而,来自计算科学各个领域的方法,例如元启发式和动态规划的概念,已经被应用于为ISPP生成可行的解决方案并减少其计算时间。文献中的几种方法都考虑了这些概念,以便获得在实际情况中使用的估计值[1315]. 然而,这种策略导致我们对校准参数进行彻底调查。

在元启发式领域,雅各布斯[16]揭示了一种结合遗传算法和左下角(BL)策略的方法,作为项目定位的建设性启发式方法。染色体编码被映射为零件的有序序列,也由[1718]. 另一方面,在[19],作者使用了相同的想法,但对片段使用了光栅表示。

顺便说一句,在[20]作者提出了一种称为2-交换的概率启发式算法作为参数Δ来控制相邻项目之间的变化。此功能通过分配完整序列中项目之间的最大排列量来协调邻域之间的搜索大小。此外,作者还使用了基于NFP的机制,将碎片放置在解决方案留下的空白空间中。

此外,在[21]这些作者提出了一种新的基于BL的构造启发式方法,该方法具有填充布局中的空白空间的特性,创新了传统方法的最大局限性之一。项目的平移从左下方开始,水平滑动是从网格内的一个点离散地进行的,而垂直移动是在连续的空间中进行的。因此,它确定了有效位置;采用NFP算法。这项技术与爬山和禁忌搜索相结合。

另一项战略是由[4]. 本文将该方法分为两个步骤,旨在获得ISPP的有效解决方案。初始阶段包括模拟退火算法,将容器的尺寸视为固定的。初始解是随机生成的,定位项目的序列用整数值表示,以及每种情况下允许的旋转,定位点是区间内的一对有序实数.

在最后一级,对该方法的两个属性进行控制:容器尺寸的值和应用模拟退火(SA)的初始温度。一旦找到布局,在第一阶段结束时,此级别将缩小区域并重新启动SA过程。如果找不到解决方案,则增加容器长度并重新启动初始阶段。此外,还使用两个参数分别管理容器的压缩和扩展。的作者[2224]应用了与此方法相同的思想,但使用了放松定位方法,目的是最小化工件之间的重叠量。

将数学编程中的模型与人工智能策略相结合的技术也是可能的。这些方法被称为混合方法,类似地,一些研究已经调查了它们的结果和局限性。

例如,在[7]作者提出了一种不同于其他方法的方法,即不需要定位规则。采用离散容器和CLP模型,目标函数是找到当前固定解之外的最佳放置点。

在[25]将模拟退火(SA)与线性规划模型相结合。首先应用Bottom-Left方法获得初始布局,并根据基于长度的标准选择每一块。SA引导在解空间中搜索,其中每个邻域结构处理线性规划模型,该解空间由压缩和分离算法组成。

年提出了将局部搜索和引导搜索应用于二维和三维项目的另一种组合[24]. Bottom-Left方法查找初始布局长度。通过减小此值,会出现重叠情况,通过以下更改之一的本地搜索可以消除这些重叠情况:水平和垂直平移、旋转或翻转。采用有向导的局部搜索来尝试逃逸局部极小值中的解。另一个突出的方面是计算复杂性。给定一个简单多边形顶点和一组边缘,该算法可以在.

此外,还设计了一种基于非线性规划的扩展局部搜索算法[23]. 程序从可行的布局开始,其长度设置为最佳。然后,在当前解决方案中,通过两个多边形之间的随机交换获得新布局。通过时间限制,长度会缩短,并且本地搜索会管理重叠子问题。

本节中介绍的方法分为三个不同的类别:[26]数学规划、元启发式和混合策略。在我们的研究中,我们采用了带有多个并行种群的有偏随机密钥遗传算法(BRKGA)来处理ISPP。

3.支持性概念

在讨论所提出的算法之前,我们需要描述一些支持概念。这些概念是几何表示;非拟合多边形(NFP)和内部拟合多边形(IFP);无碰撞区;和有偏随机密钥遗传算法(BRKGA)。

3.1. 几何表示

嵌套问题的几何表示是获得可行解决方案的重要选择,并将直接影响可用于在布局中执行重叠检测的几何工具的可用性。问题方面取决于采用的表示法。选择的影响取决于重叠检测的准确性、所需的内存需求以及执行该方法的计算性能。多边形有两种基本表示类型:光栅或几何(图2).

光栅表示使用矩阵来描述项目的几何图形。此矩阵是从默认尺寸网格的定义中获得的。具有项目内部区域的网格位置用不同的值标记。栅格化表示的优点是能够表示通用几何项,并且有简单的几何工具来处理重叠。但是,如果栅格分辨率较低,则对象的形状可能会不同,从而更改解决方案。但如果网格的分辨率很高,则查找重叠的计算成本很高。

此外,多边形表示使用多边形来表示项目。将应用包含顶点坐标的二维向量列表来组成项目的形状。有时,这些项目无法以精确的形式表示;在这些情况下,将应用顶点的近似值。重叠检测的几何计算很复杂。由于其精确性,文献中的几种方法使用多边形表示。

还有其他表示。然而,对它们的研究很少。为了代表需要更好点精度的工件,可以应用线性或非线性函数(phi-functions)。这种表示策略是从两个对象之间的距离方程得到的数学表达式。它们首先由提交和应用[27]. 主要对象的组合用于组成复杂对象。

当一组工件需要连续旋转时,ISPP需要合适的几何表示。在这些情况下,零件可以用圆表示(圆覆盖)[28]. 由于碎片的不规则图案,在这种情况下,问题的圆形表示需要与多边形的近似值一致。

3.2. 无拟合多边形(NFP)和内拟合多边形(IFP)

该三角法于[29]作为形状封套,并由更改为NFP[30]. 这种三角法的思想如下:给定两个多边形,(固定件)和(轨道块)和上的参考点调用,的no-fit多边形关于表示为是由什么时候围绕外部轮廓滑动如图所示.

根据这个定义,可能会出现三种情况:(i)如果呆在里面(灰色区域)然后相交.(ii)如果越过…的边界然后触摸.(iii)如果呆在外面然后不相交或接触.

在我们的实现中,所有可能的NFP都是在应用Minkowski和的预处理级别中计算的[31]方法和多边形分解基于[32]. 给定两个任意点集,,Minkowski和表示为一个简单的向量代数可以用来表明被称为Minkowski差异,相当于因为规定多边形保持逆时针方向,,很简单顺时针方向。

所描述的NFP概念仅适用于凸多边形。然而,在非凸多边形中应用分解通常会构造几个子多边形,因此必须创建许多非凸多边形。在计算时间内,唯一的无边多边形相交很快,但必须考虑进行额外的计算以重新组合所有分解的部分。因此,如果需要大量零件或多边形中包含孔,则完成此操作的时间将非常昂贵。

在[33],作者分析了不同的分解,并应用重组运算来构造非凸多边形的Minkowski和。第一个推论是,找到最佳分解的计算时间并不能补偿重组过程中可能出现的益处。

在[34]作者提出了一种近似算法时间和空间,其中是输入多边形的顶点数,并输出一个分解,其大小保证不超过最优分解大小的四倍。

如中所述[32]提出了一种将多边形分解为凸子多边形的有效启发式算法。算法是这样工作的。最初,它尝试通过用边连接两个反射顶点来细分多边形。当这不再可行时,它通过将所有反射顶点连接到其他凸顶点来消除所有反射顶点,以便新边最接近反射顶点的角平分线。该算法在时间和花费最坏情况下的空间,其中是输入多边形的顶点数。

内部拟合多边形(IFP)[20]与NFP类似,不同的是,在本例中,环绕多边形在静止多边形内部滑动。IFP表示一组点,允许将多边形放置在另一个多边形(通常是容器)的孔中。应对NFP的方法可以调整以应对IFP。如果IFP的轮廓是一个矩形,则IFP称为Inner-Fit-rectangle(IFR)。从容器生成IFP时会发生这种情况,因为它在大多数情况下是一个矩形。IFR如图所示4.

3.3. 无碰撞区(CFR)

无碰撞区(CFR)是一个几何过程,它可以有效地找到带材内工件的可行位置点。该技术用于规划机器人的运动,以在不碰撞任何障碍物的情况下提供最短路径。在[4]CFR采用多边形布尔运算处理不规则条带包装问题。

考虑一个阶段和下一个序列. The由多边形差组成(图5)协议双方:(1)和(2)接下来描述:

在(1),中间的内拟合多边形和块计算以找到表示内部所有可用点的多边形在另一个等式中(2),生成的多边形由以下NFP之间的并集组成每一块都已经放好了.基本情况发生在后台为空时;然后

3.4. 有偏随机密钥遗传算法(BRKGA)

有偏随机密钥遗传算法(BRKGA)是一种用于离散和全局优化问题的进化元启发式算法,基于[35]. 每个解决方案都被视为间隔中的浮点数列表,称为随机密钥。

初始人口由随机密钥向量。该程序是BRKGA方法的起点[]. 在所有迭代中,创建两个子向量,该集合包含高值解(精英)和残差个体(非精英)。最好的元素(精英)也同样被转录给下一个群体。将少量随机密钥向量(突变)添加到下一次迭代的总体中。下一次迭代的剩余元素是通过结合参数化均匀交叉生成的[36]一对解决方案,其中一个是精英,另一个不是。

BRKGA和RKGA的主要区别在于选择和交叉算子的实现方式。在RKGA程序中,父母双方都是从整个群体中选择的,而在BRKGA中,父母一方总是从精英群体中选择,而另一方则是从非精英群体(或在某些情况下,从群体中的其他群体中选择)中选择的。这两种算法都将父代与基于[36]但在BRKGA中,父母一方属于精英,另一方属于非精英群体。6用发现个体的TOP、REST和BOT部分说明了每个新种群的进化过程。

在[37]作者提出了一种用于ISPP的RKGA,并将三种构造过程应用于工件的多边形表示。解决方案编码为矢量,其中表示实例的项数。所有染色体都有实数间隔中的随机密钥. The首先确定项目的定位顺序,然后显示了旋转角度,最后,代表配售规则BL,BL-fill[21],以及在[38]。

此外,ISPP的BRKGA由[39],但在这项工作中,研究人员将BL启发式应用于定位项目,并在由[10]. 每个个体都由一条带有等位基因,包含间隔中具有实值的键。工件的旋转通过其在初始矢量中的对应键进行验证。考虑到每个多边形都有允许的角度,将变量的域间隙划分为相同的子区间。

4.拟议方法

µ-BRKGA启发式,将染色体映射为列表,其中是要放置的代表初始解决方案的总件数。数据集工件编号和方向代表每个基因。任何染色体都包含基因,这是要包装的物品的总数。变量确定项目包装顺序(IPS)和对应物品包装角度(IPA)。所有等位基因均按升序排列。

应用于的定位规则µ-BRKGA基于无碰撞区域的概念[4]因此,评估考虑了为每个个体生成的布局长度的最小化以及利用率的最大化。例如,图7说明了在包含5项的数据集中应用的过程。

定位规则过程根据等位基因键以升序接收解码向量作为输入。计算IPS处所有工件的CFR多边形,并通过相应的IPA旋转。在图中7(a) 第一块,舞台()是空的,所以等于此外,在图中7(b) 剩下的项目放在最左边的坐标上,选择较小的(左)和小调(底部),来自CRF多边形。然后,对于过程的最后一步,可以指定布局长度,并评估相应的染色体(图7(c) )。

BRKGA程序适用于单个群体。然而,可以更改此算法以接受多个总体。这里的方法使用人口,其中依赖于目标测试计算机上的许多处理器内核。所有初始种群以独立的方式分配一些随机解。根据属性进行信息交换它定义了这个过程的周期性。如果=1,在每一个新的一代中,种群进化过程都会使用以下规则进行修改:(i)“TOP”解决方案针对每个人群在里面针对“REST”解决方案的最差布局进行了更改在里面,考虑到作为循环列表,其中最后一个元素将信息发送到; 参见图8.

该策略的主要目标是改善所有群体之间良好解决方案的可变性,让其负责交叉过程(REST)、变异解决方案(BOT)、精英主义(TOP),以及在CFR定位方法中,构建待评估的新解决方案并翻译到下一代,直到验证停止标准。9显示了所建议方法的流程图,讨论了所有级别:预处理、算法和最终解决方案。

在预处理阶段,定义了所有控制参数(见5)并分配。对于选定的每个实例,将为每对多边形类型计算无多边形。在下一级,我们考虑了我们改进的BRKGA(µ-BRKGA)与信息交换规则和人口。在最后一步中,最佳解决方案被选为所采用的每个种群的所有布局之间长度最短的解决方案。

5.计算实验

该算法是用Java语言编写的。在带有3.2带4个内核的GHz Intel i7-960 CPU()和8GB的RAM内存。要测量µ-BRKGA,针对从欧洲切割和包装特别利益小组(ESICUP)中提取的众所周知的问题进行了一系列测试[40]. 此外,还提供了拼图游戏(Dighe 1和Dighe 2)、衣服示例(Marques、Albano、Trousers和Swim)以及人工创建的数据集(Jakobs 1、Jakobs 2、Shapes 0和Shapes 1)。1提供了这些示例的一些信息。选择了多种群并行遗传算法的以下参数:个体总数(每人口200),最多200代,(Elite参数),(突变体参数),[36],(信息交换过程),停止标准由.如果最佳解决方案与代,算法结束。此参数的设置值为30。

对于每个实例µ-BRKGA算法执行了10次,最佳结果如表所示2重点关注最佳解决方案中的利用率百分比和测试平均值。此外,同一个表显示了SAHA算法之间最佳使用的比较分析[25]、BLF[21],2D嵌套[21],英国标准[31]、CFREFP[4]和GCSPC[41]. 所有这些方法在文献中对于定位不规则图形的问题都具有突出的重要性。

通过分析表2,的μ-BRKGA应用程序在多个数据集中显示了显著的结果。在[37]实施了ISPP的RKGA程序,并执行了相同的测试。证明了这一点µ-BRKGA具有比RKGA-NP更快、更好的解决方案µ-在RKGA-NP中未应用BRKGA。

在RKGA-NP中,应用了不同的编码过程来表示染色体,一组随机密钥负责选择相应的定位规则:底部向左、底部向左填充[21]以及在[38]. 这些特性导致表中所示结果所需的时间更长然而,定位方法应用于µ-BRKGA在某些情况下达成了更好的解决方案。10显示了Albano、FU、Jakobs_1和Trousers的最终最佳布局。

6.结论和未来工作

本文讨论了一类具有矩形级、固定宽度和无限长度的不规则条带装箱问题。为了解决这个问题,我们将无碰撞区域放置过程与带有多个种群的并行偏置随机密钥遗传算法相结合,这些种群还用于确定多边形在阶段内的放置顺序及其相应的方向,以便找到最有效的布局。

ISPP存在于工厂的许多生产过程中,克服这些问题的方法需要在相对较短的时间内找到好的解决方案。在这里提出的方法中,我们选择了一种有效的元启发式方法,并结合令人信服的布局算法来实现这一点。并行方面有助于在可用空间中找到最佳解决方案。

在ISPP数据集上的计算结果表明,该方法优于和/或匹配已知算法。作为未来的工作,我们的目标是修改和实施不同的安置程序;这些可以是TOPOS[2],底部-左侧填充[21]最适合的算法,以及一种更有效的改变所有种群之间信息的方法,将其与并行随机密钥遗传算法相结合。另一种可能性是研究二维块构建算法,将多边形成对放置,从而减少计算时间,因为该方法基本上基于元启发式过程。

利益冲突

作者声明,本文的出版不存在利益冲突。

致谢

作者通过第475239/2012-1号拨款感谢国家科技发展顾问(CNPq)高等教育人才培养协调会(CAPES)。