1. Introduction
The three-dimensional irregular packing problem is a core optimization challenge in fields such as intelligent manufacturing, modern logistics, aerospace, and additive manufacturing (3D printing). The problem consists of rationally placing a set of three-dimensional objects with complex shapes and varying sizes into one or more fixed-volume containers. Under physical and process constraints—including collision-free placement and stability—it aims to optimize space utilization, the number of containers used, or the occupancy along a specific dimension (e.g., height). The difficulty of the problem stems from the deep coupling of geometric complexity, combinatorial explosion, and engineering constraints: (1) objects have arbitrary shapes (convex or concave, with holes), leading to high computational costs for geometric representation and precise collision detection [
1]; (2) the placement sequence, spatial position, and rotation orientation of objects form an exponentially sized search space; (3) practical applications must consider complex constraints such as gravitational stability, support area, and loading sequence. Researchers and industries worldwide have accordingly explored various nesting strategies and optimization approaches.
Despite extensive research, the three-dimensional irregular packing problem still faces a core challenge: it is difficult to simultaneously achieve computational efficiency, solution quality, and engineering applicability because of its extremely high geometric and combinatorial complexity. Especially for practical industrial scenarios involving large-scale instances and strong physical constraints (such as stability and strip packing), developing intelligent nesting systems with high space utilization, high solution efficiency, and strong engineering adaptability remains an important and urgent research direction.
In light of these challenges, this paper proposes an adaptive voxel-based packing algorithm integrated with a hybrid tabu search—variable neighborhood search (TS-VNS) framework. The algorithm iteratively improves greedy construction results through a high-level metaheuristic, balances efficiency and accuracy via an adaptive voxel precision mechanism, and enhances search diversity by means of multi-neighborhood perturbation operators.
To enhance the applicability of the proposed algorithm to real industrial scenarios, we adopt the following key modeling assumptions: (1) Part geometry. All parts are modeled as rigid, non-deformable bodies. Their input 3D mesh models are assumed to be closed, watertight manifolds (i.e., free of holes and self-intersections). Geometric defects are corrected via mesh-repair preprocessing prior to voxelization so that salient features (e.g., curved surfaces and sharp edges) are properly represented. The part size spans from a few millimeters to several hundred millimeters, covering typical industrial components such as thin-walled parts, slender rods, and freeform shapes with complex curvature. (2) Problem setting. We focus on the three-dimensional (strip packing) setting, where the container footprint is fixed and the height is unbounded. Parts are allowed to rotate about the vertical (z) axis by integer multiples of 90°. Only geometric interference (non-overlap) constraints are considered; assembly precedence, interlocking effects, and fasteners/connectors are not modeled. (3) Surface properties. Part surfaces are assumed to be ideal, frictionless, and non-adhesive; only volumetric occupancy is considered. Physical effects such as surface roughness and elastic deformation are neglected. Minimum clearance requirements are enforced uniformly via voxel-space dilation, without distinguishing contact behavior across different materials.
The main contributions are summarized as follows:
- (1)
A coarse-to-fine hierarchical solution paradigm enabled by voxel discretization and dynamic resolution control. Unlike existing voxel-based methods that rely on a fixed resolution, our framework adaptively switches voxel resolution according to part geometric complexity and the current placed-volume progress. This enables rapid convergence to high-quality regions at coarse resolutions and refined local adjustments at finer resolutions, substantially reducing computational cost without sacrificing final layout quality.
- (2)
A 3D packing optimization engine that synergistically combines variable neighborhood search and tabu search. We introduce three heterogeneous neighborhood moves—single-part reinsertion, block swap, and rotation perturbation—and integrate a performance-driven roulette-wheel mechanism for adaptive operator selection, which dynamically biases the search toward more productive operators. By combining tabu-based cycle avoidance with a simulated-annealing-style probabilistic acceptance criterion, the framework alleviates the tendency of conventional metaheuristics to stagnate in poor local optima.
2. Literature Review
Research on three-dimensional irregular packing can be traced back to the classical Three-Dimensional Bin Packing Problem (3D-BPP). George and Robinson [
1] first introduced the notions of “wall–corner” and “layer,” which established a foundational heuristic framework for packing rectilinear objects. To represent irregular geometries, Stoyan and co-workers [
2,
3] proposed ϕ-objects—a parametric, function-based description that transforms geometric constraints into analytical expressions. To mitigate the complexity of ϕ-objects, Romanova et al. [
4] developed quasi-ϕ functions, enabling many packing problems to be formulated as nonlinear programs and allowing accurate modeling under continuous rotations. Egeblad et al. [
5] subsequently investigated a range of heuristic strategies (e.g., local search and guided local search) for three-dimensional packing, substantially improving computational efficiency. Focusing on the three-dimensional strip packing setting, Allen et al. [
6] designed a hybrid placement strategy that combines a “lowest-position” principle with a “best-fit” criterion. Liu et al. [
7] further proposed the constructive algorithm HAPE3D, which incorporates rotations guided by a minimum potential-energy configuration and avoids the computational burden associated with no-fit polyhedron calculations.
With respect to voxel-based approximations, Hur et al. [
8] were among the first to employ voxel representations within a bottom-left placement framework for cylindrical containers, coupled with a genetic algorithm to optimize the packing sequence. Jia et al. [
9] proposed a particle-simulation-based packing approach in which particles are allowed to move and rotate stochastically, provided that overlap does not occur. In the context of sphere packing, de Korte et al. [
10] utilized voxelization to accelerate collision detection. More recently, Lamas-Fernandez et al. [
11] introduced a voxel-discretized mixed-integer programming framework, providing a milestone exact-optimization approach that balances solution quality with computational tractability and was published in Operations Research.
In recent years, deep reinforcement learning (DRL) has also been applied to three-dimensional packing. Zhu et al. [
12] proposed AC-HAPE3D, which models HAPE3D within a Markov decision process, adopts an Actor–Critic scheme to learn placement policies, and uses voxel grids to encode the state space. Hu et al. [
13] developed TAP-Net, combining graph neural networks and reinforcement learning for joint transport-and-pack optimization. Cui et al. [
14] proposed a voxel-based spectral packing method leveraging fast Fourier transforms, enabling dense, interlocking-free arrangements of thousands of 3D objects. Chehrazad et al. [
15] presented a semi-discrete deepest-left-bottom-fill algorithm that balances efficiency and accuracy through adaptive voxel refinement. Araújo et al. [
16] introduced machine learning for algorithm selection, dynamically switching among heuristics to significantly improve average space utilization.
Meanwhile, research addressing engineering constraints has continued to deepen. Bortfeldt and Wäscher [
17] provided a comprehensive review of constraints in container loading (e.g., stability, load bearing, and loading sequence). Romanova et al. [
4] investigated continuous-rotation packing of concave polyhedra via nonlinear optimization. Tollenaere et al. [
18] developed an exact MILP model tailored to strip packing of convex objects. Collectively, these studies indicate a clear trend toward higher fidelity, higher efficiency, and stronger constraint integration. Nevertheless, key challenges remain, including how to dynamically balance accuracy and runtime within voxel-based frameworks, how to effectively hybridize multiple metaheuristics, and how to handle strongly heterogeneous part sets (see
Table 1).
3. Problem Description
For the three-dimensional packing problem of irregular items, the core objective is to arrange a group of such 3D irregular items within a container, minimizing the waste of internal space under given constraints—in other words, maximizing the spatial utilization rate of the container as much as possible. In this paper, given n items and a 3D rectangular container ()), our goal is to find a set of placement positions such that all items can be fully placed inside the container without overlapping, while minimizing the height of the container.
In the research presented in this paper, the items to be packed vary in dimensions, and the containers used for different groups of items also differ in size. Therefore, a discrete voxelization method is adopted to represent the geometric characteristics of the items. During the actual packing process, the following constraints must be satisfied: boundary constraints, non-overlapping constraints between items, and height minimization constraint.
3.1. Voxel Representation
To characterize the geometric features of irregular objects, this paper employs a voxelization approach for analysis. The three-dimensional irregular objects and their bounding boxes within the container are divided into uniform tiny cubic units, referred to as voxels. A 3D Boolean matrix (with values of 0 or 1) is constructed for the objects or layout space according to the voxel resolution, so as to represent the shape of objects and the space occupancy state of the container. For object representation, voxels assigned a value of 1 in the matrix correspond to the space occupied by the object, while 0 denotes vacant space. For the container space, a value of 1 indicates that the voxel position is occupied by a placed object, and 0 indicates an unoccupied position. Each object takes its bottom-left voxel (with priority to the left) as the reference voxel; thus, the position of an object can be determined solely by defining the coordinates of this reference voxel.
Figure 1 gives an example of an irregular item (with the reference voxel marked in black) and its reference voxel definition. In this paper, the bottom-left corner of the container is set as the coordinate origin, so that all coordinates of points inside the container are positive.
Voxel resolution constitutes a core parameter that determines the equilibrium between geometric fidelity and computational efficiency in voxelized representations. Its selection is not arbitrary but grounded in a systematic trade-off framework, adhering primarily to the following two criteria: first, the geometric fidelity criterion, which requires the voxel grid to sufficiently resolve critical geometric features of objects (e.g., thin walls, slender structures) and avoid the loss of geometric accuracy during discretization, and generally stipulates that the voxel size should be less than half of the minimum feature dimension; second, the computational feasibility criterion, which requires that the overall scale of the generated voxel matrix must be controllable within the limits of available memory and acceptable computational time.
3.2. Irregular 3D Open-Dimensional Packing Problem
According to the classification proposed by Wäscher G et al. [
13], this problem belongs to the Irregular 3D Open-Dimensional Packing Problem (I3DODP), also known as the strip packing problem. The core objective of the strip packing problem is to sequentially place the i-th item from a given set of 3D irregular items
into a container with a fixed base area of
according to different packing sequences until all n items are placed, with the ultimate goal of minimizing the required packing height H of the container.
The strip packing problem is subject to the following two basic geometric constraints:
Since the container has a rectangular base and unlimited height, the boundary constraint is straightforward. For ease of processing, this paper sets a maximum height Hmax for the container to ensure accommodation of all items. Let the voxel resolution be v (unit: mm); then, the container C is discretized into a three-dimensional Boolean grid as follows:
The container state is represented by a three-dimensional Boolean matrix
, where
= 1 indicates that the voxel is occupied and 0 indicates it is vacant. Let the placement coordinate of the reference voxel of item i be
, and its bounding size after rotation
be
. The boundary constraint is then formulated as follows:
where the rotation attitude
is selected from the discrete set R = {0°, 90°, 180°, 270°} (around the z-axis).
The formulation of the non-overlapping constraint presents the core research challenge, owing to the sophisticated and irregular geometries of the target items. To overcome this difficulty, this study employs a voxel-based discretization scheme to transform the continuous geometric packing problem into a discrete spatial layout optimization problem. Specifically, item i is discretized into a 3D Boolean (0/1) matrix
, and the transformed matrix corresponding to rotation attitude
is denoted as
. For each candidate placement of item i, the conflict-free compatibility between its rotated voxel matrix
and the container occupancy matrix B is examined as follows:
where
denotes the logical ‘AND’ operation
Let
represent a feasible packing solution, where
denotes the item identifier. The corresponding packing height is then expressed as:
denotes the voxel height of item i under orientation
. The optimization objective is given by:
4. Algorithm Framework
To address the complex solution space characteristics of the irregular 3D open-dimensional packing problem, this paper proposes an Adaptive Voxel-based Variable Neighborhood Tabu Search (AV-VNTS) algorithm. The overall framework of the algorithm is illustrated in
Figure 2, which mainly consists of four core modules: an initial solution generation module, an adaptive voxel resolution adjustment module, a TS-VNS local search module, and an acceptance criterion and tabu list management module.
4.1. Initial Solution Generation Strategy
The quality of the initial solution directly affects the convergence speed of subsequent optimization and the quality of the final solution. In this paper, a greedy construction algorithm based on the ‘largest-volume-first’ rule is adopted. Items are packed in descending order of their discrete volume, and each item is placed successively according to the ‘lowest-point principle’.
Definition 1. (Discrete Volume)
. The discrete volume of an item is defined as the number of entries with value 1 in its voxel matrix
: The algorithm sorts all item instances in descending order according to their volume to generate the initial placement sequence .
- 2.
Lowest-Point First Placement Principle
For each item in the sequence, its specific placement position needs to be determined. This paper adopts the Lowest-Z-First (LZF) principle for spatial search, which aims to prioritize positions with lower heights in the container so as to reduce the overall packing height.
The search traverses all candidate positions in the priority order of z → x → y, and a dynamic upper bound for the search height is set, whose calculation formula is given by:
denotes the highest voxel height of already placed items in the current container, is the predefined maximum height of the container, and is the height of the item to be placed. This rule is designed to reduce invalid search operations.
- 3.
Collision Detection and Placement
The item matrix and the occupied space matrix are traversed. If the same position is occupied in both the item matrix and the occupied space, an overlap is determined, the detection is terminated immediately, and the overlap result is returned. If the traversal reaches without termination, it indicates no overlap, and the subsequent item placement can be performed.
After overlap detection, the algorithm selects several feasible positions for the current item . Among all feasible positions, the one with the minimum height coordinate z after placement is chosen.
4.2. Adaptive Voxel Resolution Adjustment Mechanism
Voxel resolution is a core parameter that determines the balance between geometric fidelity in discretized representation and computational efficiency. Traditional fixed-resolution strategies struggle to adapt to the complex nature of the 3D irregular packing problem: on the one hand, items with different geometric features exhibit significant differences in their sensitivity to resolution; on the other hand, the size of the remaining space in the container directly affects the necessity of high-resolution search. To this end, this paper proposes an adaptive voxel resolution adjustment mechanism that comprehensively considers the geometric characteristics of items and the progress of the placed volume.
4.2.1. Analysis of the Dual Effects of Voxel Resolution
Items with different geometric characteristics show significant differences in their sensitivity to voxel resolution. Thin-walled parts, complex curved surfaces, and other finely structured items suffer severe geometric distortion at low resolution, leading to failure in collision detection or missing optimal placement positions. In contrast, simple block-shaped items are relatively insensitive to resolution. To quantify this difference, this paper defines a geometric complexity index
to comprehensively reflect the fineness of an item’s shape.
is the surface area of the item and is its volume; denotes the specific surface area (indicating slenderness or flatness); is the ratio of curved surface area, reflecting curvature complexity; is the number of distinct geometric features in the item, and is the average number of distinct geometric features in the dataset; are weighting coefficients set to 0.4, 0.4, and 0.2, respectively. The weighting coefficients in the geometric complexity index were determined through a preliminary experiment using the grid search method. The specific steps are as follows: select a set of representative test parts (covering different shape complexities), set within the range [0,1] with a step size of 0.1 for combinations, and calculate the correlation between the complexity index and the actual nesting difficulty (using filling height and calculation time as comprehensive indicators) for each combination. The experimental results show that when = 0.4, = 0.4, and = 0.2, the complexity index has the highest Pearson correlation coefficient with nesting difficulty (filling height) (r = 0.87) and provides the best distinction among various parts. Therefore, this set of weights is adopted in this study. Additionally, this weight allocation reflects the dominant role of ‘surface area proportion’ and ‘curvature complexity’ in the demand for geometric accuracy, with the number of features as an auxiliary factor. Items are classified into three levels (low, medium, high) according to .
4.2.2. Volume Progress-Driven Adjustment Timing
Determining the adjustment timing is crucial to the adaptive mechanism. Since volume is the essential indicator for measuring space occupancy, this paper uses the ratio of the total volume of placed items to the total volume of all items as the basis for adjustment progress, rather than the number of items. The volume progress is defined as:
where
is the set of successfully placed items and
is the set of all items. The volume progress
ranges in [0,1].
Based on two critical values of , namely 0.3 and 0.7, the packing process is divided into three stages: initial stage ( < 0.3), middle stage (0.3 < < 0.7) and final stage ( > 0.7), with corresponding voxel resolution adjustments performed in each stage. The selection of volume progress thresholds 0.3 and 0.7 is based on statistical analysis of multiple test cases. We observed the distribution patterns of remaining void sizes under different fill rates: when < 0.3, the remaining space in the container is relatively large (average void diameter > 10 v), and using coarse resolution (2 v) is sufficient to accurately detect collisions; when 0.3 ≤ ≤ 0.7, the void sizes gradually decrease to between 2 v and 10 v, requiring standard resolution v; when p_v > 0.7, the remaining space mostly consists of small gaps (average diameter < 2 v), and fine resolution (0.5 v) must be used to avoid missed detections. We further verified the robustness of these thresholds through sensitivity analysis: adjusting the thresholds by ±0.1 within the ranges 0.2~0.4 and 0.6~0.8 resulted in a final fill height change of no more than 1.5% and a computation time change of less than 8%. Therefore, 0.3 and 0.7 are selected as stable and generalizable thresholds.
4.2.3. Dual-Driven Accuracy Requirement Modeling
Based on the above analysis, this paper establishes accuracy requirement models from two dimensions: item characteristics and space state. The item-level accuracy requirement is defined based on the geometric complexity index.
and represent the highest and lowest precisions corresponding to the minimum and maximum voxel sizes, respectively, and is the attenuation coefficient ranging from 0.5 to 2, serving as a key factor in balancing the aggregate features and precision decisions. This function determines whether high-precision voxels are required for the voxelization of an item.
For the current set of unplaced items
, its aggregated precision requirement is calculated as the volume-weighted average.
Among the remaining items, there exist some critical items that are highly sensitive to precision and have large volumes, whose successful placement directly affects the overall layout. A critical item identification index is defined; when > 1 additional weight is assigned to such items.
The space state-driven accuracy requirement comprehensively considers the global space tightness and local gap characteristics.
is the ratio of occupied space to the total container volume, is the minimum local gap size, and is the gap size threshold, which takes the value of the voxel size corresponding to the lowest precision.
4.2.4. Hybrid Adjustment Rules and Precision Update
The item feature-driven accuracy requirement
and the space state-driven accuracy requirement
are weighted and fused to obtain the comprehensive accuracy.
Among them, the weights are dynamically adjusted according to the volume progress.
This weight design conforms to the strategy of rapid placement in the early stage when space is sufficient, while high precision is required in the later stage to search for gaps and handle remaining items.
4.2.5. Spatial Matrix Mapping and Conflict Repair After Precision Variation
When the precision changes, the container grid size is altered, resulting in inconsistent spatial matrix dimensions. Let the new grid size be:
The coordinates of placed items are mapped proportionally to the new grid:
Mapping may introduce overlaps between items or interference with the container boundaries, so conflict resolution must be performed. During repair, items are processed in descending order of geometric complexity, with high-complexity items adjusted first. For low-complexity items, local fine-tuning is performed near their original positions (e.g., searching for feasible positions within a 3 × 3 × 3 neighborhood); for high-complexity items, full reinsertion is carried out if necessary, with relocation based on the lowest-point principle. If conflicts persist after repair, a global rescheduling is triggered: the container is cleared, and all items are re-placed at the current precision to ensure the feasibility of the solution.
4.3. Tabu-Based Variable Neighborhood Search
Among the many metaheuristics available, we selected Variable Neighborhood Search (VNS) and Tabu Search (TS) for the following reasons. VNS systematically switches among multiple neighborhood structures (single-item reinsertion, block swap, rotation perturbation), which allows the search to escape local optima by exploring different regions of the solution space—a critical property for the highly non-convex packing problem. TS complements VNS with a memory mechanism (tabu list) that prevents the search from revisiting recently explored configurations, thereby accelerating convergence and avoiding cycles. In preliminary experiments, we compared VNS-TS against Iterated Local Search (ILS) and Simulated Annealing (SA) as standalone local-search engines. VNS-TS consistently achieved lower packing heights and better convergence rates on the test instances. Notably, SA is not discarded; we incorporate it as the acceptance criterion within the TS-VNS framework (see
Section 4.4) to further enhance global exploration. Thus, the combination of VNS and TS offers a balanced trade-off between exploration and exploitation, making it well suited for the irregular strip packing problem.
4.3.1. Neighborhood Structure Definition
This paper designs three neighborhood operators with complementary properties to perturb the current solution from different dimensions.
Definition 2. (Single-item Reinsertion Neighborhood N1)
. The set of solutions obtained by removing any item i from the current solution S and reinserting it under all feasible rotation orientations and placement positions. denotes the set of all feasible placement positions for item i in orientation under the container occupancy state corresponding to the partial solution. This operator is used for fine-tuning placed items in the later stage of the search.
Definition 3. (Block Swap Neighborhood N2). The set of solutions obtained by randomly selecting two distinct items i and j and exchanging their placement information. Two swap modes are considered.
By exploring the synergistic relationships among items, this operator helps break local structures and is suitable for balancing exploration and exploitation in the middle stage of the search.
Definition 4. (Rotation Perturbation Neighborhood N3). Randomly select k items, forcibly change their rotation orientations, and relocate them to the lowest feasible positions under the new orientations.
This operator achieves a large-scale structural reorganization through batch rotation, providing global perturbation capability, and is suitable for jumping out of local optima in the early stage of the search.
4.3.2. Adaptive Operator Selection Mechanism
To dynamically adapt to the optimal operator combination at different search stages, this paper establishes an adaptive selection mechanism based on historical contribution. The core idea of this mechanism is to dynamically adjust the selection probability of each operator according to its performance in historical iterations, so that computing resources are biased towards operators with greater contributions.
Definition 5. (Operator Contribution). The contribution of operator k in its t-th application is defined as:
and
are the objective function values before and after applying the operator, respectively, and
is the time cost of the operation. This definition integrates both the objective improvement and computational efficiency. A positive contribution indicates that the operator has improved the solution, while a negative value means degraded solution quality.
Weight Update Rule: Each operator k maintains a weight
, with an initial weight set to
. After each iteration, the weights are updated based on historical contributions: In this weight calculation,
is the forgetting factor that controls the decay rate of historical information;
is an indicator function of whether operator
k
is used at the
-th iteration. This update rule assigns higher weights to operators with better recent performance while retaining certain historical information to maintain stability.
Selection Probability: At the beginning of each iteration, the operator is selected using the roulette wheel method based on current weights. This adaptive mechanism enables the algorithm to dynamically adjust the operator combination according to the search process, avoiding low search efficiency caused by fixed operator strategies.
4.3.3. Tabu List Design
To avoid search cycles, this paper establishes an independent tabu list for each operator, which records the characteristics of recently explored solutions and prohibits repeated visits within the tabu tenure.
Definition of Tabu Characteristics: Differentiated tabu characteristics are designed for different operators.
For the single-item reinsertion operator N1, the tabu characteristic is defined as the item-position pair , which prohibits reinserting item i back to its original position;
For the block swap operator N2, the tabu characteristic is defined as the item pair , which prohibits repeated swapping of the same pair of items;
For the rotation perturbation operator N3, the tabu characteristic is defined as the item-rotation pair , which prohibits applying the same rotation change to the same item.
Tabu Tenure: The tabu tenure
is dynamically adjusted and related to the problem scale:
Tabu List Management: Each time a new solution is accepted, its tabu characteristic is added to the tabu list of the corresponding operator with an expiration time set. At the beginning of each iteration, tabu records that have exceeded their expiration time are removed.
4.3.4. Computational Cost of Neighborhood Operators and Overall Efficiency
This section analyzes the computational complexity of the three neighborhood operators—single-part reinsertion (N1), block swap (N2), and rotation perturbation (N3)—and quantifies their impact on overall algorithmic efficiency.
- (1)
Single-Part Reinsertion (N1)
N1 first removes one part from the current solution at random, then evaluates all admissible orientations of that part (four rotations) and invokes the lowest-z-first (LZF) search to identify a feasible placement. LZF scans part of the container voxel space, yielding a nominal time complexity of , where denote the voxelized container footprint dimensions, and depends on the current packing height. In implementation, the dynamic search cap reduces the effective complexity to where c is a small constant. On a representative instance (ENGINE2, voxel grid 150 × 150 × variable height), one N1 move takes approximately 0.8 ms on average. N1 serves as a medium-cost operator for fine-grained local refinement and is effective at improving local layouts.
- (2)
Block Swap (N2)
N2 randomly selects two parts and swaps their positions and orientations. After swapping, only local overlap checks are required in the affected regions (via the collision-detection routine), without any global placement search. Consequently, N2 is substantially cheaper than N1, with an average runtime of about 0.1 ms per move. Its low computational burden makes it well suited for frequent use in the mid-search phase to explore spatial synergies among parts.
- (3)
Rotation Perturbation (N3)
N3 randomly selects k = parts (n: total number of parts), forcibly changes their orientations, and reinserts them. Since each reinsertion is equivalent to N1, the cost of N3 is approximately k times that of N1. For ENGINE2 (n = 97), k ≈ 15, and one N3 move takes around 12 ms on average, making it the most expensive operator. Despite its high cost, its strong perturbation capability is critical for escaping local minima, particularly in early search stages.
In a typical AV-VNTS run (ENGINE2, 500 iterations), the call-frequency ratio of the three operators is approximately N1:N2:N3 = 45%:30%:25%. In terms of total runtime contribution, N1 accounts for ~60%, N3 for ~30%, and N2 for only ~10%. The adaptive operator-selection mechanism adjusts these frequencies online according to historical contribution: N3 is invoked more often in early search (~40%) to promote global exploration, whereas N1 dominates in late search (~58%) for local intensification. Compared with a fixed-ratio policy (e.g., one-third each), the adaptive strategy reduces total computation time by roughly 25%, while maintaining statistically comparable solution quality (packing height). Therefore, by allocating operator usage dynamically, the algorithm achieves an effective exploration–exploitation trade-off and sustains strong overall efficiency.
4.4. Acceptance Criterion
The acceptance criterion determines how the algorithm selects new solutions during the iteration process and is a key mechanism for balancing exploration and exploitation. In this paper, an acceptance criterion is designed based on the idea of simulated annealing. The acceptance probability of inferior solutions is controlled by a temperature parameter, realizing the dynamic transition between extensive exploration in the early stage and intensive exploitation in the later stage of the algorithm.
Definition 6. (Acceptance Probability)
. Given the current solution S, candidate solution and current temperature
, the probability of accepting
as the new current solution is The temperature T gradually decreases with the iteration process, controlling the probability of accepting inferior solutions. An exponential cooling schedule is adopted in this paper: In this paper, the initial temperature
is determined using a method based on the initial acceptance probability:
N neighborhood solutions are randomly generated, and the average deterioration degree
(arithmetic mean of positive differences) is calculated.
Setting the initial acceptance probability
, we have: When the temperature drops below 0.01, the algorithm terminates the iteration. In addition to the temperature threshold, the algorithm also sets a maximum number of iterations of 10,000 and a termination condition of no improvement for 50 consecutive generations. The algorithm terminates and outputs the current optimal solution when any of the conditions is satisfied.
5. Results
The instances used in this study are derived from the cutting and packing problem dataset for academic research in the ESICUP community, with a total of three instances, denoted as CHESS, MERGED [
14] and ENGINE. These three instances correspond to three different scenario types of items. By varying the quantity of different types of items within the same instance, three groups of corresponding data are generated for each instance. In this section, these instances will be used to evaluate the performance of the proposed voxelization-based packing algorithm.
5.1. Test Instances
The instances us The key differences among the nine groups of instance data adopted in this algorithm are presented in
Table 2.
Among the data types of these three groups of instances, each group has distinct geometric characteristics, representing different practical scenarios in real applications. MERGED represents an extreme scenario with extremely small sizes, high precision requirements, and a large variety of parts. CHESS represents a scenario of small-sized precision parts with complex curved surfaces and medium to low quantities. ENGINE represents an industrial heavy-duty scenario with large sizes, sturdy structures, and a high number of parts. These three datasets enable a comprehensive test of the algorithm from three dimensions: extreme precision, geometric complexity, and efficiency & scale. They facilitate an in-depth investigation into the algorithm’s adaptability to different scenarios, leading to more comprehensive conclusions.
5.2. Impact of Different Voxel Resolutions
Voxel resolution is a core parameter of the proposed algorithm. It directly determines the fidelity of mapping continuous geometry into a discrete voxel space and therefore governs the fundamental trade-off between geometric accuracy and computational efficiency. To systematically quantify its impact, we conduct a controlled experiment in which the initial solution is generated using the same procedure as in the main algorithm. For three representative datasets, we evaluate a set of discrete voxel resolutions and analyze how the packing height H and the computational time T vary with resolution.
The effects of voxel resolution on packing performance across the datasets are summarized in
Figure 3,
Figure 4 and
Figure 5. Specifically, we test resolutions from 0.2 to 1.0 for MERGED1, from 0.5 to 1.5 for CHESS1, and from 1.5 to 3.0 for ENGINE1. These ranges are chosen to reflect the different geometric scales and runtime requirements of each scenario. By jointly considering the sensitivity of [o bj ec tO bj ec t] H and [o bj ec tO bj ec t] T to resolution, we determine an appropriate baseline voxel resolution for each dataset.
5.3. Sensitivity Analysis of Volume Progress Thresholds
In
Section 4.2.2, we set the volume-progress threshold
to 0.3 and 0.7 to partition the adaptive voxel resolution into three stages (coarse, standard, and fine). To examine the robustness of these two thresholds, we conducted a sensitivity analysis in this section. Three representative instances (Chess1, Engine2, and Merged3) were selected, and the thresholds were adjusted to (
= 0.2/0.6) and (
= 0.4/0.8), respectively. All other parameters were kept unchanged. For each configuration, we recorded the final packing height and the computational time. The results are reported in
Table 3.
From
Table 3, it can be seen that when the threshold fluctuates within the range of 0.2~0.4 and 0.6~0.8, the change in filling height does not exceed 1.5%, and the change in computation time does not exceed 8%. This indicates that the selected pv = 0.3 and pv = 0.7 in this study have good robustness and have little impact on the algorithm’s performance.
5.4. Experimental Setup
5.4.1. Comparison Algorithms
To verify the performance of the AV-VNTS algorithm, the original greedy algorithm (Base-Greedy) is selected as the benchmark for comparison. To ensure a fair comparison, all algorithms adopt the same voxelization representation and collision detection logic. Each algorithm runs independently 10 times, and the statistical results are taken for analysis.
5.4.2. Parameter Settings
The core parameters of the AV-VNTS algorithm are listed in
Table 4. The upper and lower bounds of voxel resolution are dynamically determined according to instance characteristics, while the other parameters adopt experimentally calibrated values.
5.5. Small Example Precise Solution and Comparison
To assess the exact solvability of the proposed constrained minimization model and to quantify the performance gap of AV-VNTS on a small-scale instance with a known optimum, we consider a benchmark instance comprising seven irregular parts from four distinct categories (denoted as ILP). The container footprint is fixed at 20 × 20 voxels (i.e., with an open height dimension), and the maximum height is capped at 50 voxels.
Following the problem definition in
Section 2, the three-dimensional irregular strip packing problem is formulated as an integer linear programming (ILP) model. We solve this ILP using a commercial solver (IBM ILOG CPLEX 12.10) with default settings, a single thread, and a time limit of 3600 s. The solver is invoked via the Python API (cplex package, version 12.10.0.0), and the global optimum is searched using a branch-and-bound procedure.
The results are shown in
Figure 6. The left panel corresponds to the solution obtained by AV-VNTS, which reaches a maximum voxel height of 16 with a runtime of 3.4 s. The right panel reports the optimal solution returned by CPLEX, achieving a maximum voxel height of 12 with a runtime of 128.4 s.
This performance discrepancy can be primarily attributed to the following factors: (1) AV-VNTS, being a heuristic algorithm, does not guarantee global optimality, yet it is capable of producing feasible solutions rapidly; (2) the exact solver performs a global search via branch-and-bound, which in the worst case incurs exponential-time computational complexity; and (3) in this small-scale instance, the parts exhibit strong geometric complementarity and allow multiple alternative nesting configurations, rendering greedy initialization and local search more susceptible to becoming trapped in locally optimal layouts.
In summary, the small-instance study validates the correctness of the proposed ILP formulation, and the optimal solution provides a reliable benchmark for assessing the performance of heuristic approaches. Under engineering-acceptable computational times, AV-VNTS is able to obtain high-quality feasible solutions that are close to the optimum, thereby confirming its practical value for large-scale real-world problems.
5.6. Comparison of Packing Results
5.6.1. Comparison with Greedy Algorithm
The experimental results (
Table 5) show that the proposed algorithm in this study is significantly superior to the comparison algorithm in packing height, with varying degrees of improvement across different cases. The packing height is reduced by 14.4% on average per case, especially by 21.6% on the ENGINE dataset. The minimum, mean and variance of the height are all smaller than those of the comparison algorithm, indicating that the AV-VNTS algorithm outperforms the comparison algorithm in result stability.
Figure 7,
Figure 8,
Figure 9 and
Figure 10 show the comparison packing diagrams of partial data (AV-VNTS represents the result of the proposed algorithm, and Base-Greedy represents the result of the comparison algorithm).
To assess whether the improvement of AV-VNTS over the Base-Greedy baseline is statistically significant, we conducted an independent two-sample
t-test (or Welch’s
t-test when the equal-variance assumption is not tenable) for each instance, using results from 30 independent runs. We employed a one-sided two-sample test with the null hypothesis that the mean packing height produced by AV-VNTS is not smaller than that of Base-Greedy. The significance level was set to α = 0.05.
Table 6 summarizes the test outcomes; in all cases the
p-values are far below 0.05, indicating that the performance gains of AV-VNTS are statistically significant across all test instances.
5.6.2. Comparison with Advanced Algorithms
To further verify the effectiveness of AV-VNTS, we compared it with two representative advanced algorithms: HAPE3D (a classical constructive algorithm) and AC-HAPE3D (a method based on reinforcement learning and voxels). Since the original codes of these algorithms were not publicly available, we reproduced them according to the descriptions in their respective papers and ran them on the same test instances (CHESS1, ENGINE2, MERGED3). All experiments were conducted on the same hardware environment, with each algorithm run independently 30 times, recording the average packing height, average computation time, and standard deviation. The comparison results are shown in
Table 7.
An independent samples
t-test (with Welch correction if variances are unequal) was used to compare the mean filling heights of AV-VNTS with HAPE3D, and AV-VNTS with AC-HAPE3D. The null hypothesis was that the mean of AV-VNTS is not lower than that of the comparison algorithms, and the alternative hypothesis was that the mean of AV-VNTS is lower (one-sided test). The significance level was set at α = 0.05. As seen in
Table 5, all
p-values are less than 0.001, far below 0.05, indicating that the filling height of AV-VNTS is significantly lower than that of HAPE3D and AC-HAPE3D.
As can be seen from
Table 7, AV-VNTS achieved the lowest packing height across all test cases, while the computation time was also significantly better than that of AC-HAPE3D. Compared with HAPE3D, AV-VNTS reduced the packing height by about 2–5%, and the computation time was approximately 40–80% of that of HAPE3D (significantly faster on CHESS1 and slightly faster on ENGINE2). This demonstrates the comprehensive advantages of the proposed algorithm in terms of both solution quality and efficiency.
5.7. Ablation Experiment
To quantify the individual contributions of the three key modules—adaptive resolution control, tabu search, and simulated annealing (SA) acceptance—we conducted an ablation study. Variant A disables adaptive resolution and uses a fixed baseline resolution throughout. Variant B removes tabu search (i.e., VNS only with greedy acceptance). Variant C disables the SA acceptance mechanism and adopts greedy acceptance. Variant D corresponds to the Base-Greedy algorithm. We consider three medium-sized instances (Chess_3, Engine_2, and Merged_3). Each variant is executed 10 times, and we report the average packing height and average runtime. The results are summarized in
Table 8.
As shown in the table, using a fixed resolution (i.e., without adaptivity) leads to a substantial increase in runtime across all instances, while yielding packing heights comparable to the full model. This indicates that adaptive resolution control can markedly reduce computational time without compromising solution quality, with particularly pronounced benefits in scenarios involving complex geometries (Chess) or stringent accuracy requirements (Merged). When tabu search is removed, the resulting packing heights are noticeably higher than those of the full algorithm, suggesting that the tabu-memory mechanism effectively prevents revisiting previously explored layouts and thereby improves solution quality. Disabling simulated annealing results in a slightly higher packing height than the full method. In practice, simulated annealing contributes an additional 1–2% improvement with only a marginal runtime overhead, demonstrating a favorable cost–benefit trade-off.
Overall, the complete AV-VNTS consistently attains the lowest packing height among all variants while maintaining a moderate runtime, confirming the effectiveness of the synergy among the proposed modules. The ablation study further shows that adaptive resolution, tabu search, and simulated annealing each provide non-substitutable contributions and collectively underpin the performance gains of the proposed algorithm.
6. Discussion
This paper addresses the long-standing engineering challenge of packing large-scale sets of three-dimensional irregular parts and proposes a hybrid heuristic framework built upon a voxelized representation. The central idea is to voxelize both the continuous 3D workspace and the complex part geometries, thereby transforming inherently difficult continuous-space interference checks into efficient Boolean operations on a discrete 3D grid. This reformulation substantially reduces the computational burden of collision detection. On the algorithmic side, we develop an adaptive voxel-resolution control mechanism that is simultaneously **packing-progress driven** and **geometry-aware**. Specifically, the switching schedule is triggered by the *placed-volume progress*, which constitutes an intrinsic measure of space consumption: placing a large part naturally induces timely resolution updates, while the cumulative effect of many small parts is captured in a principled manner.
On the search side, we design a tabu-enhanced variable neighborhood search engine (TS-VNS) with three complementary operators: single-part reinsertion, block swap, and rotation perturbation. An adaptive operator-selection mechanism updates operator weights based on historical contributions, allocating computational effort preferentially to more effective operators. Together with the memory component of the tabu list, this design mitigates cycling and improves search robustness.
For empirical validation, we consider three representative benchmark families (chess pieces, engine components, and mixed-shape datasets). The results demonstrate that, relative to the baseline strategy, the proposed method achieves a marked reduction in final packing height, i.e., a substantial improvement in space utilization. The advantage is particularly pronounced in instances featuring heterogeneous part types with large variations in size and geometry, which corroborates the efficiency and robustness of the proposed approach for industrially relevant heterogeneous part sets.
Despite its strong performance in static settings, the proposed approach has several limitations. First, voxelization itself can remain computationally expensive for extremely complex geometries, potentially leading to non-negligible preprocessing overhead. Second, as the core search strategy is heuristic in nature, global optimality is not guaranteed. Third, we currently restrict rotations to four discrete orientations about the z-axis. Allowing full 3D rotations (arbitrary rotations about the x-, y-, and z-axes) would: (i) cause a combinatorial explosion in the search space, increasing the number of candidate orientations from 4 to 64+; (ii) substantially increase computational cost, as it becomes impractical to precompute voxel templates for all orientations and instead requires on-the-fly rotation and resampling, multiplying collision-check time by an order of magnitude; and (iii) offer limited marginal gains in practice—our preliminary experiments indicate that introducing additional x-axis rotations reduces the packing height by only ~3–5% while increasing runtime by 40–60%.
Future work may further improve practical applicability along several directions. First, more powerful metaheuristics could be incorporated to replace or augment the current search engine, improving solution quality and generalization across different instance characteristics. Second, more efficient spatial indexing and state-management data structures could be developed to accelerate collision detection and free-space queries while reducing memory footprint, thereby enabling substantially larger problem scales. Third, richer rotation models could be explored; beyond rotations about the vertical axis, limited-angle tilting about horizontal axes may further improve utilization and enhance the practicality of the resulting layouts.
Author Contributions
Conceptualization, Y.H., S.C., S.Y. and L.W.; Methodology, Y.H., S.Y. and L.W.; Software, Y.H.; Validation, S.C., S.Y. and L.W.; Formal analysis, Y.H. and Z.X.; Investigation, Y.H. and Z.X.; Data curation, Y.H.; Writing—original draft, Y.H., S.C. and S.Y.; Writing—review & editing, Z.X., S.Y. and L.W.; Visualization, S.C.; Supervision, S.Y. and L.W.; Project administration, Y.H. and Z.X.; Funding acquisition, L.W. All authors have read and agreed to the published version of the manuscript.
Funding
Provincial Strategic Special Fund for Science and Technology Innovation in Guangdong Province (pdjh2025ac074).
Data Availability Statement
The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- George, J.A.; Robinson, D.F. A heuristic for packing boxes into a container. Comput. Oper. Res. 1980, 7, 147–156. [Google Scholar] [CrossRef]
- Stoyan, Y.G. Mathematical methods for geometric design. In Advances in CAD/CAM, Proceedings of PROLAMAT82, Leningrad, USSR, 16–18 May 1982; North-Holland: Amsterdam, The Netherlands, 1983; pp. 67–86. ISBN 0-444-86549-7. [Google Scholar]
- Stoyan, Y.G.; Gil, N.I.; Scheithauer, G.; Pankratov, A.; Magdalina, I. Packing of convex polytopes into a parallelepiped. Optimization 2005, 54, 215–235. [Google Scholar] [CrossRef]
- Romanova, T.; Bennell, J.; Stoyan, Y.; Pankratov, A. Packing of concave polyhedra with continuous rotations using nonlinear optimisation. Eur. J. Oper. Res. 2018, 268, 37–53. [Google Scholar] [CrossRef]
- Egeblad, J.; Pisinger, D. Heuristic approaches for the two- and three-dimensional knapsack packing problem. Comput. Oper. Res. 2009, 36, 1026–1049. [Google Scholar] [CrossRef]
- Allen, S.D.; Burke, E.K.; Kendall, G. A hybrid placement strategy for the three-dimensional strip packing problem. Eur. J. Oper. Res. 2011, 209, 219–227. [Google Scholar] [CrossRef]
- Liu, X.; Liu, J.-M.; Cao, A.-X.; Yao, Z.-L. HAPE3D—A new constructive algorithm for the 3D irregular packing problem. Front. Inf. Technol. Electron. Eng. 2015, 16, 380–390. [Google Scholar] [CrossRef]
- Hur, S.M.; Choi, K.H.; Lee, S.H.; Chang, P.K. Determination of fabricating orientation and packing in SLS process. J. Mater. Process. Technol. 2001, 112, 236–243. [Google Scholar] [CrossRef]
- Jia, X.; Williams, R.A. A packing algorithm for particles of arbitrary shapes. Powder Technol. 2001, 120, 175–186. [Google Scholar] [CrossRef]
- de Korte, A.C.J.; Brouwers, H.J.H. Random packing of digitized particles. Powder Technol. 2013, 233, 319–324. [Google Scholar] [CrossRef]
- Lamas-Fernandez, C.; Bennell, J.A.; Martinez-Sykora, A. Voxel-based solution approaches to the three-dimensional irregular packing problem. Oper. Res. 2023, 71, 1298–1317. [Google Scholar] [CrossRef]
- Zhu, P.-H.; Yuan, H.-T.; Nie, Y.-W.; Li, G.-Q. AC-HAPE3D: An algorithm for irregular packing based on reinforcement learning. J. Graph. 2022, 43, 1096–1103. [Google Scholar] [CrossRef]
- Hu, R.; Xu, J.; Chen, B.; Gong, M.; Zhang, H.; Huang, H. TAP-Net: Transport-and-pack using reinforcement learning. ACM Trans. Graph. 2020, 39, 232. [Google Scholar] [CrossRef]
- Cui, Q.; Rong, V.; Chen, D.; Matusik, W. Dense, interlocking-free and scalable spectral packing of generic 3D objects. ACM Trans. Graph. 2023, 42, 141. [Google Scholar] [CrossRef]
- Chehrazad, S.; Roose, D.; Wauters, T. A fast and scalable deepest-left-bottom-fill algorithm to solve irregular 3D cutting and packing problems using a semi-discrete representation. Int. J. Prod. Res. 2025, 63, 6606–6629. [Google Scholar] [CrossRef]
- de Araújo, L.J.P.; Özcan, E.; Atkin, J.A.D.; Baumers, M.; Drake, J.H. Machine learning-based algorithm selection for irregular three-dimensional packing in additive manufacturing. Expert. Syst. Appl. 2025, 287, 127661. [Google Scholar] [CrossRef]
- Bortfeldt, A.; Wäscher, G. Constraints in container loading—A state-of-the-art review. Eur. J. Oper. Res. 2013, 229, 1–20. [Google Scholar] [CrossRef]
- Tollenaere, J.; Martinez-Sykora, A.; Wauters, T. Mixed-integer linear programming models for 3D irregular strip packing problems. Eur. J. Oper. Res. 2026, 331, 365–380. [Google Scholar] [CrossRef]
| Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |