Two-Dimensional Irregular Strip Packing Problem is a classical cutting/packing problem. The problem is to assign, a set of 2-D irregular-shaped items to a rectangular sheet. The width of the sheet is fixed, while its length is extendable and has to be minimized. A sequence-based approach is developed and tested. The approach involves two phases; optimization phase and placement phase. The optimization phase searches for the packing sequence that would lead to an optimal (or best) solution when translated to an actual pattern through the placement phase. A Particle Swarm Optimization algorithm is applied in this optimization phase. Regarding the placement phase, a combined algorithm based on traditional placement methods is developed. Competitive results are obtained, where the best solutions are found to be better than, or at least equal to, the best known solutions for 10 out of 31 benchmark data sets. A Statistical Design of Experiments and a random generator of test problems are also used to characterize the performance of the entire algorithm.
The problem of packing or cutting out shapes with minimal waste is a classical problem that exists in many industrial fields. Common applications are found in sheet metal, leather, furniture, shipbuilding, and textile Industries. Cutting stock, trim loss, bin packing, strip packing, pallet loading, nesting, and knapsack problems, are all related names for cutting and packing problems. The first general classification for cutting and packing problems is introduced in Dychkoff [
The scope of this research is the two-dimensional Irregular Strip Packing Problem which is classified as an Open Dimension Problem (ODP), according to Wäscher’s improved typology. The problem is to assign (cut or pack), a set of two-dimensional irregular-shaped items to a rectangular object (sheet for cutting or container for packing). The width of the object is fixed, while its length is extendable and has to be minimized. A typical application for this problem is found in the textile Industry under the name “Marker-Making”. Another popular name is “Nesting” which has been, and still, used by many authors for the Irregular Strip Packing Problems, and even for other irregular cutting and packing problems in general. The problem is schematically demonstrated in
The 2-D rectangular packing problem has been shown by Fowler et al. [
Other solution approaches are found in the literature that could not be categorized under any of the two main approaches mentioned above. These approaches involve; mathematical programming approach followed by Grinde
and Daniels [
Developing a geometrical technique for handling the graphical aspects of irregular shapes is used to be the main obstacle among extending the research in this problem, compared to the regular cutting and packing one. Three geometry handling techniques are widely used in the literature. Pixel or Raster Method is an approximate method that is employed by Jain and Gea [
Many authors used to incorporate meta-heuristic search techniques in their solution algorithms. Three main meta-heuristics are commonly used with irregular cutting and packing problems, they are; Genetic Algorithm (Jakobs [
From the above review, much interest could be noticed in the Irregular Strip Packing Problem for the last few years. This could be attributed to two main reasons; firstly, until now, no optimal solution could be found for a real-sized problem, a very small improvement in a given arrangement in a cutting or packing operation could save a considerably large amount of money. Secondly, is the significant increase in the capabilities of modern computational engines, which made it available to apply techniques that would be impractical to apply 15 years ago. Several heuristic and meta-heuristic optimization techniques have been applied and investigated with the problem. Particle Swarm Optimization (PSO) algorithm, originally introduced by Kennedy and Eberhart [
The solution approach proposed in this paper, which is given the name “SwarmNest”, is a sequence-based approach that consists of two phases; optimization phase and placement phase. SwarmNest assumes only hole-free polygons that are allowed to rotate by increments of 90˚.
For the optimization phase, a Particle Swarm Optimization (PSO) algorithm is employed to search for the optimal packing sequence. Up to our knowledge, this is the first time Particle Swarm is utilized in tackling an irregular packing problem. A proposed Local Search routine is also used to enhance the algorithm performance. As to the placement phase, a combined placement algorithm is developed and employs two different geometry handling techniques; pixel method and direct trigonometry. The algorithm involves two stages; the first is an initial placement stage that applies a pixelbased placement procedure, which alternatively could be a D-function-based one. The second is a refinement placement stage that incorporates a heuristic compaction routine. A general flowchart for the entire approach (SwarmNest) is shown in
The remaining of this paper is organized as follows. In the next Section, the combined placement algorithm along with the employed geometry handling techniques is explained. The proposed Particle Swarm Optimization algorithm is described in Section 4. Then, the experimental results of the entire approach (SwarmNest) are presented in Section 5. SwarmNest performance is then characterized in Section 5. Finally, the summary and main conclusions are presented in Section 6.
As mentioned in the previous section, the proposed solution approach is a sequence-based approach that employs a placement method for allocating items into an open ended sheet to translate a given sequence of items into a feasible pattern. A combined placement algorithm is developed that involves two stages; initial placement and refinement placement. The algorithm makes use of two common geometry handling techniques; the pixel (or
raster) method, and direct trigonometry. Pixel method is employed under a pixel-based placement procedure during the initial placement stage; while direct trigonometry is applied through a heuristic compaction routine during the refinement placement stage.
Pixel method is an approximate geometry handling technique. The geometry of an item through this method is first approximated by a set of square cells that form a rectilinear enclosure. Such an approximated form is then encoded by a 2-D array (item array). An item array involves two types of cells: interior and exterior cells. An interior cell is the one corresponding to one of the rectilinear enclosure cells, while other remaining cells within the item array are exterior cells.
In the same manner, the placement sheet is encoded by a 2-D array (sheet array). This array also involves two types of cells; occupied and unoccupied cells. Occupied cells are those cells utilized via former placement operations, while unoccupied cells are the remaining free cells. Assigning a certain location inside the sheet to a given item is done by adding the corresponding item array, to the sheet array at that place. Hence, for a feasible placement (overlap-free placement), any of the interior cells of the item array should not be added to an occupied cell
Original geometry
Rectilinear enclosure
Encoded item array
within the sheet array.
The strategy by which the algorithm works is a scanning strategy. Each time a new item is required to be placed or packed, the sheet is scanned through a predefined path for the first feasible available positioning for that item. The path by which the sheet array is scanned is exhibited in
Accordingly, the scanning is carried out along the sheet length direction from left to right, where each column is scanned from bottom to top; usually called bottom-left placement policy. The default starting position is the sheet origin, while in order to reduce the scanning time, an item starts its scanning path from the farthest position a smaller item, or even the same item, has reached. A smaller item is the one that has a smaller area, length, and width than the item being placed. In this way many potentially infeasible positions are neglected.
During the placement procedure, feasibility check, at each of the scanned position is carried out for each of the allowed orientations (0˚, 90˚, 180˚, and/or 270˚). The selected orientation is the one with the highest contacting condition; contact with other already placed items and with the sheet borders.
Through the heuristic compaction routine, to be described in the next subsection, the items are represented
by their actual geometries (hole-free polygons), where the direct trigonometry method described by Bennell and Oliveira [
Upon calculating the D-function value for a point P and an oriented edge AB, the relative position of P with respect to AB, as well the extension of AB in both directions (an infinite line), could be defined according to the sign of DABP. If, then P is on the left side of AB and its extensions. If, then P is on the right side of AB and its extension. While If, then P lies on AB or its extension.
The second stage of the combined placement algorithm applies a heuristic compaction routine on the pattern obtained from the first stage. A similar routine to the proposed one is found in Hopper [
Through the proposed routine, the compaction process is carried out on a number of successive identical passes. A compaction pass sequentially considers the items one by one. Each of the considered items is tried for compaction in eight directions; leftward firstly then upward, downward, up-left, and down-left. Compacting an item in a given direction is performed by incremental translational movements carried out in that direction.
After each movement, the item’s new position is checked for being a feasible one (no overlaps). If the new position is feasible, then it is being approved and the compaction process is continued in that direction, otherwise the item retrieves its last feasible position before continuing to the next compaction direction. The routine is performed via more than one pass so as to utilize the probable in between gaps, resulted after each pass.
Particle swarm optimization (PSO) is a population-based stochastic optimization technique devised to model the social behavior of animals, birds, or insects. It was originally developed by Kennedy and Eberhart [
In PSO, individual particles represent possible solutions, which spread through the problem search space looking for an optimal, or even a good enough solution, and each particle transmits its current state to other particles in the population. In an evolutionary manner, the position of each particle is updated according to its current position, the particle’s best position so far (personal best position), and the global best position ever found by the whole population. As the search continues, the whole swarm is supposed to be directed more and more towards the position corresponding to the global best solution for the whole population. The textbook of Blum and Merkle [
The algorithm is initialized by randomly generating a population of particles; where each particle is associated with a position vector and velocity vector (i.e. rate of change of a particle’s position per iteration). Elements of the position vector represent the set of continuous decision variables. Then the fitness (objective value) of each particle is evaluated as a function of its current position so as to find the particle of the highest fitness. The first iteration is then started by updating both the position and the velocity vectors of the entire population according to Equations (2) and (3).
where:
i: Refers to the ith particle of the swarm n, n + 1: Denote iterations, n being the current iteration.
: Pseudo-random numbers in the interval [0, 1], generated for each variable within each particle at each iteration
: Position vector whose elements are decision variables, where m is the number of decision variables.
: Velocity vector.
: Personal best position vector found by particle.
: Global best position vector through the whole swarm.
: Adjustable optimization parameters used to control the swarm’s behavior, both values are kept fixed for the entire algorithm.
New fitness values are evaluated at the updated particle’s positions, and the best position found so far by each particle, as well as the global best position, are updated. The procedure is then continued until a predefined termination criterion is met. An additional adjustment can be applied to Equation (3), whereby velocity is updated, by inserting what is known as inertia reduction weight, hence the velocity equation is to be written as shown in Equation (4):
The schematic vector diagram in
Based on the approach followed by Tasgetiren et al. [
each element in the position vector always imply an item number, thus it initially takes a positive integer number from 1 to total number of items. Thus, the initial position vectors represent a set of feasible packing sequences. Hence, the velocity value of a given particle is equivalent to a difference between some two items numbers. Velocity values are initially set to zero. The initial population is made up of two sets of sequences. The first set involves the result of applying 10 heuristic ordering rules (e.g. by area, by length, and by width), while the other set is completely randomly generated sequences.
The velocity vectors are updated using Equation (4) that incorporates inertia reduction parameter, but additionally a decrement factor is multiplied by during each iteration as in Tasgetiren et al. [
Moreover, the applied velocity limits are always set to be half the total number of items in both directions (positive and negative); this would force the velocity and position values to be always in magnitude of the initial position values that signify items numbers. A proposed criterion is applied for obtaining the actual discrete sequence from a given continuous position vector. Each element i in the position vector contains a real value (− or +). The order of the ith element, when all elements are ascendingly ordered, becomes the ith element in the actual sequence (see
In addition, an item number is originally assigned based on its area, relative to other larger or smaller items, that is, the number 1 is given to the item with the smallest area and so on. Thus, the value taken by each position element implies a physical meaning. A pseudocode for the proposed PSO is outlined below.
Input //parameters Set //initially set global best particle to be the first one
For i = 1 to Np //Np is the population size Initialize
//call the placement algorithm Set
If
g = i //global best particle
Next i While //Tmax is the maximum no. of iterations t = t +1 For i = 1 to Np
For j = 1 to Total no. of items
Update //Equation 4 (velocity equation)
If,
Else if,
Update //Equation 2 Next j
//proposed extraction criterion
If
Set //update personal best
If ,
//update global best
Next i
The performance of PSO algorithms are highly improved when local or neighborhood search is integrated to it. The proposed Local Search routine applies three Local Search operations; interchange between two randomly selected items (
An interchange operation is completed if only the items to be interchanged represent different items. Those
operations are applied during each PSO iteration. The Local Search routine is carried out for both; global best sequence (obtained from) as well as the personal best sequence of each particle (obtained from). The entire routine is repeated up to a predefined number of local search iterations.
In this section, SwarmNest is benchmarked and characterized. Firstly, the results obtained by SwarmNest for 31 benchmark data sets available in the literature are compared with the published results. Then, 25 factorial design of experiments is conducted to characterize SwarmNest performance. Experiments are conducted on a laptop of 1.5 GB RAM supported by an Intel® Core Duo processor of 1.66 GHz CPU speed and 2 MB cache size, operated with a Microsoft Windows XP Professional O/S, and algorithms are written in Visual Basic.
The work of Hopper [
In Burke et al. [
Seven sets of published results were available for our comparison; the first set is definitely the results obtained by Hopper [
SwarmNest allows Particle Swarm to be used with either a combined pixel-based, or alternatively, a combined D-function-based placement algorithm. The alternative placement algorithm applies a D-function-based placement procedure during its first stage, instead of the pixel-based one described in the second section. Both procedures are conceptually similar to a great extent, in which both adapt the same scanning strategy. The combined pixel-based algorithm is the main one, but some data sets would be better tackled with the combined D-function-based algorithm, especially those that are either jigsaw saw or randomly generated data sets. Hence, 14 data sets (Han, Dighe1, Dighe2, Profile7, Profile8, and Poly1a to Poly5b) were solved with the SwarmNest that employs a D-function-based algorithm.
For every data set, SwarmNest is allowed to run for 20 times and maximum time allowed for each run is set to 1 hour. The best results obtained by SwarmNest along with the best results reported by each of the 7 publications are shown in
SwarmNest produced better solutions, or at least equal to, the best known solutions for 10 out of the 31 benchmark data sets. Moreover, the overall average of SwarmNest best results over the 31 data sets (78.37%) is better than the average of all the published results (77.47%). A sample from the best solution patterns obtained by SwarmNest is shown in
In order to characterize the better performance of SwarmNest, a Statistical Design of Experiments approach is adapted. Accordingly, five key factors are defined, and two levels are set for each factor, and thus a (25) factorial design with 32 different experiments is used. The five factors are defined, provided that the value for each factor, excluding the fourth one, is given by the mean value among an entire data set:
Shapes1 (length = 56, util. = 71.25%)
Shirts (length = 62.6, util. = 86.26%)
aAll the items shall initially be rotated to their minimum bounding rectangle orientations; bAnother algorithm simpler but faster than SAHA is used, GLSHA.
1) No. of items (NI): Total no. of items;
2) Size ratio (SR): Length + width of the item, divided by twice the sheet width;
3) No. of lines (NL): No. of lines or vertices per item or shape;
4) Coeff. of var. (CV): Standard deviation of the items areas, divided by mean area;
5) Complexity (C): No. of interior angles which are greater than 180˚, divided by No. of lines.
The first factor (NI) reflects the dimensionality of a given problem, as the problem of finding the optimal packing sequence becomes more complicated with larger no. of items. The second factor (SR) expresses the relative size of an average item size with respect to the size of the placement sheet. The third factor (NL) represents an aspect of geometrical complexity of a given item. The fourth factor, Coefficient of Variation, (CV) signifies the extent of variability between different item sizes within the same data set. The last factor (C) is another aspect of item geometrical complexity; higher complexity factor means higher concavities in an item’s shape, while zero complexity means convex-shaped items.
Two levels, high and low, are selected for each factor. Since generating a data set of random shaped items with an exact value for each factor is very difficult, a range of values is used to specify each factor level. The benchmark data sets were a good guide for selecting those ranges. The applied range for each factor at each level is shown in
Thirty two (25) different experimental runs are conducted, where each run consisted of 10 replications, and each replication requires one data set of N Items. Hence, the 320 (32 × 10) data sets are randomly generated and solved by SwarmNest with the combined pixel-compaction placement algorithm, as being the main placement algorithm. The sheet width is always set to 60 units and all the items are allowed to rotate by increments of 90˚. Main and interaction effects of the five factors on the response are exhibited in
The response is the sheet utilization, or the algorithm efficiency. A positive sign associated with an effect value means that the response value increases with increasing the corresponding factor value, and vice versa, and the magnitude of the effect represents its relative weight. Statistical package of Minitab 15 is used for calculations and analysis of results.
Clearly, many of the calculated effects appear to be not significant enough, which indicates that SwarmNest performance is of a low sensitivity to a problem attributes. The best performance for SwarmNest is obtained with problems of large relative item sizes, low geometrical complexity or irregularity, and high variability between item sizes.
In this research, the common industrial problem “2-D Irregular Strip Packing Problem” is addressed, and a heuristic sequence-based approach is developed for solving it. A Particle Swarm Optimization algorithm (PSO) is applied during the optimization phase of the approach, where it is the first time a PSO algorithm is incorporated in solving this problem. The introduced solution approach is given the name “SwarmNest”.
Using 31 benchmark data sets, the best solutions of SwarmNest are compared with the best published results for seven different recent publications. Competitive results were obtained and the best solutions of SwarmNest are found to be better than, or at least equal to, the best known solutions for 10 out of the 31 benchmark data sets.
Furthermore, the performance of SwarmNest is characterized through a Statistical Design of Experiments that incorporates a specially designed random problem generator. The results showed that the best performance for SwarmNest is obtained at large item sizes (with respect to the sheet), low geometrical complexity, and high variability between item sizes.