1.摘要
本文针对一种特殊不规则装箱问题提出解决方案,需要将可自由旋转的不规则零件排布在带有缺陷区域的大型不规则板材上,满足关键点位于容器内的边界约束,而非传统的整体位于板内。该问题在已有文献中尚属首次提出,现有方法难以适用。为实现自动化排布并提升空间利用率,本文设计了基于遗传算法与灰狼算法的双重求解策略。遗传算法引入精英保留机制,灰狼算法采用新型参数更新方法以增强搜索能力。两种算法均通过向量编码方式表示解,并借助创新的启发式解码算法将其转化为排布方案,分阶段优化以兼顾约束满足与空间效率。
2.问题定义
本文目标是在一张具有固定尺寸和缺陷区域的不规则板材上,排布一组可自由旋转的不规则、相同零件。问题需满足两个关键约束:其一为重叠约束,即所有零件之间不得重叠;其二为关键点约束,即只要零件内部的关键点落在容器内,零件本身可以部分超出板材边界,不需完全置于板材之上。
根据 Wäscher 等人的分类,该问题属于二维不规则相同物品装箱问题(2DIIIPP)的特殊类型。尽管零件形状一致,但其排布顺序对最终布局有显著影响,因为每个零件的放置会因其形状和旋转角度影响后续的可用空间,这是不规则装箱问题与规则问题的重要区别。零件的关键点数不受限制,可以超过三个。
优化目标是最大化可排布零件数量
N
N
N,考虑零件超出板材的部分面积占比,因其与板内利用率密切相关,有助于进一步提升解的判别力与空间利用效率。
f
i
t
n
e
s
s
=
N
+
a
1
+
a
2
+
⋯
+
a
m
A
m
fitness=N+\frac{a_1+a_2+\cdots+a_m}{Am}
fitness=N+Ama1+a2+⋯+am
不规则装箱问题中最核心问题在于几何关系的判断。研究者在求解此类问题时,首先需要确定两个零件在板材上的相对位置关系,即它们是重叠、接触还是分离。本文采用了两种经典且高效的几何处理方法:直接三角法(Direct Trigonometry)与无重叠多边形(No-Fit Polygon, NFP)。前者通过线段相交和点包含测试进行基本的几何判断;而后者更适用于不规则形状的复杂接触判定。NFP 是通过固定一个多边形 A,使另一个多边形 B 在其周围滑动生成的包络路径。根据 B 上参考点与 NFP 的关系(位于内部、边界或外部),可以快速判断两者的空间关系,从而大大简化了重叠检测过程。NFP 的构建可以在预处理阶段完成,有效降低整体计算成本。
在 NFP 的基础上,本文还引入了内适应多边形(Inner-Fit Polygon, IFP)概念,用于确定一个零件在容器内部的所有可行放置区域。通过判断参考点是否位于 IFP 的内部、边界或外部,可明确零件是否被完全容纳、是否接触边界,或是否放置无效。
3.提出算法
本文提出了两种用于求解不规则装箱问题的算法:遗传算法(GA)和灰狼算法(GWO)。尽管该问题属于 NP 完全问题,难以在合理时间内获得最优解,但这两种方法通过向量编码和统一解码机制,能够有效获得高质量可行解。
解向量编码包含:旋转角度序列和排布规模参数。
启发式布局算法(HPA)
HPA 负责将优化算法生成的向量解转化为具体的零件排布方案,并计算其适应度。在排布过程中,HPA 按顺序依次放置每个零件,同时严格满足重叠约束和关键点约束。HPA 采用了两阶段排布策略:优先沿板材边界进行排布;再向板材内部区域填充剩余零件。
旋转与初始放置:将零件按指定角度旋转,并尝试将其一个关键点放置在板材边界某条有向边的起点(StPo)上;随后判断其余关键点是否全部位于该边左侧(满足“左侧约束”),若不满足则逐步平移至满足为止。
关键点包含性检测:进一步判断所有关键点是否落在板材内部。若存在关键点越界,计算所需平移距离 d 并与当前边长度 D 进行比较。
重叠检测与处理:检查当前零件是否与已放置零件或缺陷区域重叠。若存在重叠,同样计算消除重叠所需的最小平移距离 d,并按上述逻辑处理。
在板材内部区域继续排布剩余零件,采用经典的左下角(Bottom-Left, BL)放置规则。
4.结果展示
5.参考文献
[1] Luo Q, Rao Y, Peng D. GA and GWO algorithm for the special bin packing problem encountered in field of aircraft arrangement[J]. Applied Soft Computing, 2022, 114: 108060.
6.代码获取
xx