Literature DB >> 32251428

Positions and covering: A two-stage methodology to obtain optimal solutions for the 2d-bin packing problem.

Nestor M Cid-Garcia1, Yasmin A Rios-Solis2,3.   

Abstract

We present a two-stage methodology called Positions and Covering (pan class="Chemical">P&C) to solve the two-dimensional bin packing problem (2D-BPP). The objective of this classical combinatorial NP-hard problem is to pack a set of items (small rectangles) in the minimum number of bins (larger rectangles). The first stage is the key-point of the Positions and Covering, where for each item, it is generated in a pseudo-polynomial way a set of valid positions that indicate the possible ways of packing the item into the bin. In the second stage, a new set-covering formulation, strengthen with three sets of valid inequalities, is used to select the optimal non-overlapping configuration of items for each bin. Experimental results for the P&C method are presented and compared with some of the best algorithms in the literature for small and medium size instances. Furthermore, we are considering both cases of the 2D-BPP, with and without rotations of the items by 90°. To the best of our knowledge, this is one of the first exact approaches to obtain optimal solutions for the rotation case.

Entities:  

Mesh:

Year:  2020        PMID: 32251428      PMCID: PMC7135247          DOI: 10.1371/journal.pone.0229358

Source DB:  PubMed          Journal:  PLoS One        ISSN: 1932-6203            Impact factor:   3.240


Introduction

The two-dimensional bin packing problem (pan class="Chemical">2D-BPP) consists of packing without overlap, a set I of two-dimensional rectangular items into the minimum number of two-dimensional rectangular bins [1-3]. All the bins are identical with width W and height H, and each item i ∈ I has a specific width w and height h. In several works of the literature, the authors consider the demand of each item independently, i.e., items with the same size are seen as different elements. In this study, we group the items with the same size and compute the demand for each one, represented by d for i = 1, …, n. We assume that all input data are positive integers and that w ≤ W and h ≤ H, for i = 1, …, n. Fig 1 shows the optimal solution for an instance from [4], which has more than 50 items to be packed. The white spaces are left-overs.
Fig 1

Example for 2D-BPP.

Optimal configuration for an instance from [4] with two bins and more than 50 items.

Example for 2D-BPP.

Optimal configuration for an instance from [4] with two bins and more than 50 items. The 2D-BPP is strongly Npan class="Chemical">P-hard since it generalizes the one-dimensional bin packing problem [3, 4], and according to the typology for cutting and packing problems proposed by [5], it belongs to the class of 2D-Single Bin-Size Bin Packing Problems. This problem has great significance for many industrial applications where it is required to cut small rectangular items from larger rectangular sheets of raw material such as textiles, glass, steel, wood, or paper [3, 6]. Bin-packing problems are at the heart of many interesting applications. In [7], an energy management problem in multi-core partitioned architectures requires bin-packing algorithms. In [8], a bioinformatic problem where the sequencing alignment processes is computationally challenging, a distributed and parallel indexing and alignment framework requires a greedy approximation algorithm for solving the bin-packing problem. Another application is cloud computing, which is considered one of the most promising technologies to meet customer demand flexibly. In [9], the authors mention that researchers have focused mainly on energy consumption and that the virtual machine placement problem is usually solved by using bin-packing algorithms. Recent applications in the delineation of rectangular management zones in agricultural fields have led to some of the preliminary ideas of the methodology presented here [10-12]. Bin packing problems are similar to cutting stock problems [13]. Indeed, in the bin packing problems, the item set is strongly heterogeneous, that is, there are many types of elements with small demand for each one. In the worst case, all the items have different sizes and demands equal to one. For cutting stock problems, the item set is weakly heterogeneous, thus there are a few types of items with high demand for each one [5, 14]. Excellent surveys of packing and cutting problems are presented in [3, 13, 15, 16], where most of the literature works refer to the case where the items have an orientation constraint (rotations by 90° are not allowed). However, the more general case, where 90° rotations are allowed, has not been broadly stupan class="Disease">died [2, 17]. In this article, we consider both cases with and without rotations. In [18] For the case when the items can be rotated by 90° the development of exact methods has been almost null [19] In this work, we propose an exact methodology that takes into account a set of valid positions for each item inside of the bin instead of a pattern configuration. To the best of our knowledge, this one of the first methodologies that solve the rotation case of the 2D-BPP for small and medium size instances. Our two-stage methodology implemented for the 2D-BPP is called pan class="Chemical">Positions and Covering (P&C). Given an instance of 2D-BPP, we compute a set of valid positions that indicate the possible ways of packing an item into the bin. This preprocessing is the key-point for the P&C. Then, the total number of bins K is fixed to a lower bound, and the P&C uses a set-covering model to solve the decision version of the 2D-BPP: is there a non-overlapping packing of the n items into the K bins? If there is a feasible solution, then K is the optimal value for the 2D-BPP instance. Otherwise, K is increased by one, and the set-covering model is solved again. The P&C iterates with the different K values until finding the optimal solution. Some studies seek optimal solutions as we do. The authors in [20] propose a Lagrangian relaxation to solve an integer linear programming (ILpan class="Chemical">P) model based on a discrete representation of the geometric space. In [4] are introduced combinatorial lower bounds and present an exact branch-and-bound approach. The works of [21-23], define a graph describing the overlaps of the items in the container from their projection on each orthogonal axis. Another paper that is close to ours is [24], where the author develops a Lagrangian relaxation of a binary integer programming formulation to obtain an exact solution for the two-dimensional non-pan class="Chemical">guillotine cutting problem. A guillotine cut splits a block into two smaller ones, where the slice plane is parallel to one side of the initial block. In this paper, we do not consider the guillotine cut constraint. In [25], the author presents different algorithms based on dynamic programming for unconstrained two-dimensional guillotine cutting. Some of the best algorithms in the literature to solve the 2D-BPP are heuristics. In [26], the authors present a two-stage heuristic method using column generation and Lagrangian methods for a set-covering model. A Guided Local Search (GLS) is proposed by [27]. It starts with a greedy heuristic to obtain an upper bound on the number of bins. Then, the algorithm iteratively decreases this number searching for a feasible packing of the boxes using GLS. The authors in [17, 28] propose a heuristic procedure to obtain new lower and upper bounds for the 2D-BPP. In [29], the authors implemented a Tabu Search proposed by [30-32] for general multi-pan class="Disease">dimensional bin packing problems. A Greedy Randomized Adaptive Search Procedure was developed by [33]. The authors in [1, 2] present genetic algorithms for the 2D-BPP. To the best of our knowledge, these algorithms yield the best results so far in terms of quality. With the P&C methodology we are able to prove that many of the heuristic solutions obtained by these methods are optimal. The rest of this paper is organized as follows. In Section Materials and methods, we present our two-stage methodology to give optimal solutions for the 2D-BPP. In particular, three families of valid inequalities are introduced to enhance the set-covering integer formulation of the pan class="Chemical">P&C methodology. Also, we extend the P&C methodology for the case when rotations by 90° are allowed. In Section Results, we experimentally validate the P&C methodology on a set of instances of small and medium size that have been broadly used in the literature so we can compare P&C with the best algorithms known so far. Finally, in Section Conclusions, we make some final remarks.

Materials and methods

The positions and covering methodology for the 2D-BPP

In Fig 2, we describe the Positions and Covering methodology. Given an instance of the pan class="Chemical">2D-BPP, the P&C methodology establishes a set of valid positions where each item could be placed into the bin (we prove that the total number of positions is of pseudo-polynomial size). Then the total number of bins K is fixed with (1) that corresponds to the total area of the items divided by the area of the bin, that is, we assume that the items are perfectly packed (although the P&C methodology can use the best lower bound for each instance). The P&C considers the decision version of the 2D-BPP that we name as D-2D-BPP(K): is there a non-overlapping packing of the n items into K bins? The P&C exactly solves a covering ILP for the D-2D-BPP(K). If the D-2D-BPP(K) is feasible, then K is the optimal value for 2D-BPP. Otherwise, K is increased by one, and the covering model is solved again. Notice that K ≤ n, since in the worst case, we need n bins to pack all the items.
Fig 2

Scheme of the P&C.

The two-step methodology to solve the 2D-BPP.

Scheme of the P&C.

The two-step methodology to solve the 2D-BPP. Naturally, better bounds and other alternatives to explore the feasible set of the number of bins could improve the number of iterations of the P&C. Some papers related to this task are [17, 28, 30]. In the rest of this section, we describe in detail the pan class="Disease">different stages of the P&C methodology for the 2D-BPP.

The positions stage of the P&C

The main idea of the Positions stage is to generate the dominant set of valid positions where the pan class="Chemical">P&C can place an item into the bin. Indeed, from the infinite set of all the positions that an item can take in the bin, we only construct a finite set that guarantees the optimality of the solution. Notice that we are not enumerating or forming different patterns of items inside of the bin. Moreover, the Position stage must be only computed once in the P&C methodology. Let us consider a single bin with dimensions H × W. The first step in pan class="Chemical">P&C is to delineate a Cartesian grid, that is, a regular tessellation of the 2-dimensional Euclidean space by congruent unit squares where each one represents a specific point that is enumerated and labeled. Fig 3 shows a bin with a size of 3 × 3 units.
Fig 3

Grid inside of the bin.

First step of the P&C methodology.

Grid inside of the bin.

First step of the P&C methodology. Then, the P&C determines the number of points for each item considering its pan class="Disease">dimensions h × w. Fig 4 shows the configuration for three items with sizes of 2 × 2 (yellow), 3 × 2 (green), and 1×2 (blue). The number inside of each item represents its demand.
Fig 4

Points by item.

The P&C methodology computes the points required for each item considering the grid inside of the bin.

Points by item.

The P&C methodology computes the points required for each item considering the grid inside of the bin. With the pseudo-polynomial Algorithm 1 adapted to the 2D-BPP from [12], the pan class="Chemical">P&C determines the set of valid positions for each item inside of the bin. The algorithm starts creating the positions of item i considering the width of the bin. After, it checks the height. The procedure is executed once for each item i = 1, …, n. The computational time required by Algorithm 1 depends on the size of the instance: the size of the bin and the total of items (see Theorem 1). Algorithm 1 Positions(i) 1: INPUT: W, H, w, h 2: for j = w to W do 3:  for l = 0 to (W − 1) do 4:   if (j + l) ≤ W then 5:    for i = h to H do 6:     for k = 0 to (H − 1) do 7:      if (k + i) ≤ H then 8:       creation and labeling of a new position for item i 9:      end if 10:     end for 11:    end for 12:   end if 13:  end for 14: end for Fig 5 presents the set of valid positions for the bin and items of Figs 3 and 4. Notice that the rotation by 90 is not allowed for this instance, and each position has a specific label. Thus, positions 1-4 correspond to the first item, 5-6 to the second one, and 7-12 to the third one. By the integrality of the data, the set of valid positions is sufficient to obtain the optimal solution.
Fig 5

P&C without rotation.

Set of valid positions when the 90° rotations are not allowed.

P&C without rotation.

Set of valid positions when the 90° rotations are not allowed. The results of Algorithm 1 can be mapped into a correspondence matrix C = {c} where rows represent the valid positions J of all the items and columns are the points P in the bin. Matrix C is composed of 1’s and 0’s, where c = 1 if position j ∈ J includes point ppan class="Chemical">P, and c = 0 otherwise. Also, we obtain the subset of valid positions for each item i ∈ I called T(i) = {j|γ(j) = i} where function γ(j) indicates if position j is a valid position for item i, T(i) ⊂ J. The correspondence matrix of Fig 5 appears in Table 1.
Table 1

Correspondence matrix C for items of Fig 5.

Position (j)Point (p)
123456789
Set of Valid Positions1110110000
2011011000
3000110110
4000011011
5110110110
6011011011
7110000000
8011000000
9000110000
10000011000
11000000110
12000000011
Each row represents the respective position of Fig 5, e.g., row 1 has ones in points 1, 2, 4, and 5, that correspond to the same values as its label in the figure. The total number of valid positions for a set of items is pseudo-polynomial, as stated by Theorem 1. Theorem 1. The number of different valid positions that all the items in I can take in the Cartesian grid of a bin with size H × W is bounded by pan class="Chemical">Proof. Recall that all input data are integers. Since there are n different items, we have that the number of different positions in a bin is In the worst case, we have all possible different sizes of widths and heights, that is, Note that we use the partial sum of the first integers given by the triangular number.

The covering stage of the P&C

Now that we have the correspondence matrix C obtained by the Positions stage, we aim to find a feasible covering of the pan class="Disease">different positions of the items in the K bins, that is, we aim to solve the decision problem D-2D-BPP(K). The Set-Covering formulation for the 2D-BPP has the following features. As mentioned, I is the set of items, and J is the set of valid positions of these items. Let K be the set of available bins, and pan class="Chemical">P be the set of points into the bins. The parameters of the model are the correspondence matrix C = {c}, the subset of valid positions j for each item i represented by T(i), and the demand for each item d. The decision variables for the mathematical formulation are: The following covering model solves the decision problem D-2D-BPP(K): Notice, we do not force any objective function. Indeed in (2) any feasible solution that places all the items in the K bins is desirable. The restrictions (3) ensure that each point is covered by only one item for each bin. With this, pan class="Chemical">P&C avoids the overlapping. The constraints (4) ensure that the demand for each item i is satisfied. Finally, in (5), the binary nature of the variables is presented. If there is no a feasible solution for the previous covering model, then the P&C increases K by one and solves the model again until finpan class="Disease">ding a feasible one, which will be the optimal solution, that is, there will exist enough bins to pack all the items in I.

Valid inequalities for the covering stage of the P&C

A valid inequality is a linear restriction that can be added to an ILP to make the polyhedron of the solution space to be closer to the convex hull of the pan class="Disease">discrete feasible solutions of the problem. This manner, fractional solutions may be avoided, and the computational time of solution methods based on the branch-and-bound algorithm can be reduced [34]. In the following, we present three families of valid inequalities for our set-covering mathematical formulation. Packing at least once each item In the pan class="Chemical">D-2D-BPP(K) model, we impose that the demand for the items must be satisfied (restrictions (4)). Let us now add a less restrictive condition, that is, each item must be at least once in the available bins: Inequalities (6) are clearly valid by definition, and even if they are dominated by (4), the integer linear solvers are benefited from them (see Section Results). Packing at most M times each item into the bin For each item i, it is possible to compute the maximum number of times, , that can be packed into the bin k. Then the following inequality can be stated: These inequalities are also valid by definition since they impose an upper bound for each item in each bin. Do not exceed the area of the bin The total area of all the selected positions must not exceed the area of the bin. With this consideration, we obtain: The mathematical formulation and the valid inequalities we propose are different from other approaches presented in the literature. Although these inequalities are simple to deduce, the experimental results show that they reduce, in a significant way, the computational time for some instances of the initial set-covering model.

Rotation of the items

In the 2D-BPP, the rotation of the items by 90° is not allowed, that is, an item of size 3 × 2 is pan class="Disease">different from one of 2 × 3. However, in many applications, these two items represent the same one. In this section, we show that the P&C methodology can be adapted to the case when rotations are allowed. First, the Positions stage must be extended to generate new rotated positions. Recall T(i) = {j|γ(j) = i} is a subset which inpan class="Disease">dicates the valid positions j of item i. In this way, Algorithm 1 can be easily adapted. Notice that the incidence matrix C can almost double the number of its columns. Let correspond to the new columns of matrix C where is the subset of new valid positions j for item i with 90 rotations. Fig 6 shows the new set of valid positions for the bin of size 3 × 3 and the set of items with sizes 2 × 2, 3 × 2, and 1 × 2. The new positions are labeled from 13 to 20. Notice that for the 2 × 2 item, Algorithm 1 has not created new valid positions.
Fig 6

P&C with rotations.

The new set of valid positions when rotations by 90° are allowed.

P&C with rotations.

The new set of valid positions when rotations by 90° are allowed. The Set-Covering formulation must also be adapted using the following variables: The following covering ILP solves the decision problem pan class="Chemical">D-2D-BPP(K) with rotations: As in the non-rotation case, P&C only seeks for feasibility with objective function (9). The restrictions (10) ensure that each point of each bin is covered by no more than one item, whether rotated or not. Constraints (11) ensure that the demand for each item i is satisfied by the rotated and non-rotated positions. Constraints (12)–(14) correspond to the valid inequalities (6)–(8). Finally, the binary nature of variables is represented by (15) and (16). If there is no feasible solution for the covering model, then P&C increases the number of bins K by one and solves the model again until finpan class="Disease">ding a feasible one, which corresponds to the optimal solution.

Results

In this section, we present the experimental results to validate the P&C efficiency, considering the classical benchmark instances for the pan class="Chemical">2D-BPP. First, we show experimental results of the set-covering ILP together with different combinations of the valid inequalities we have proposed. Then, we make a comparison with the metaheuristic results presented in [2] and with two exact methodologies presented by [4] and [35]. Table 2 summarizes the instance benchmark we used to solve the 2D-BPP with the pan class="Chemical">P&C methodology together with a short description for each class. The bwmv instances and their corresponding averages of the best-known values, are available at http://or.dei.unibo.it/library/two-dimensional-bin-packing-problem. The beng instances are available in the PackLib2 library, which can be downloaded from http://www.ibr.cs.tu-bs.de/alg/packlib/index.shtml. These two sets of instances are specially conceived for the 2D-BPP. The cgcut and the ngcut instances were initially conceived for two-dimensional cutting problems and were transformed into 2D-BPP instances accordingly to [4]. This set of instances can be downloaded from the OR-library available at http://people.brunel.ac.uk/~mastjjb/jeb/info.html.
Table 2

Benchmark instances for the 2D-BPP.

Instance ClassDescription
bwmv:500 instances proposed by [4] and [36] for the 2D-BPP, divided into ten classes: each class comprises 50 instances, 10 for each number of items n ∈ {20, 40, 60, 80, 100}.
cgcut:3 instances proposed by [20].
ngcut:12 instances proposed by [24].
beng:10 instances proposed by [37] for the 2D-BPP.
For the P&C algorithm, the pan class="Chemical">Positions stage was coded in C++ and executed on a MAC Pro equipped with an Intel Core i7 processor of 2 GHz and 8 GB of RAM. To solve the set-covering model, coded in C++ using Concert Technology, we used the integer linear solver (B&B) of CPLEX 12.7 fixing the gap at 0% and the time limit to 5 hours. The B&B was executed on a computer equipped with 64 GB of RAM, and a processor 8-Core Intel Xeon E5-2609 @1.70 GHz.

The positions stage of the P&C methodology

The execution time required to obtain the set of valid positions for each class of instances by using Algorithm 1 at the Positions stage of the pan class="Chemical">P&C methodology is presented in Tables 3 and 4. Table 3 presents the instances for Classes 1–3 of the bwmv instances with and without 90° rotations, showing the class in the first column, the size of the bin in the second one, the number of items in the third, the time in seconds for the non-rotation case in the fifth, and the time in seconds for the rotation case in the last column. The resulting time is the average of ten instances.
Table 3

Execution time for the Positions stage of P&C, Algorithm 1, for the instances in Classes 1–3 of bwmv with and without rotations.

ClassW ×nNon-rotation time (sec)Rotation time (sec)
110×10200.0080.017
400.0150.034
600.0210.044
800.0250.050
1000.0300.059
230×30201.5372.829
402.4984.953
603.3296.727
804.2908.191
1005.2079.222
340×40202.3694.359
404.5919.513
606.92313.920
808.86917.588
10010.51222.516
Table 4

Execution time for the Positions stage of P&C, Algorithm 1, for the cgcut, ngcut, and beng instances with and without rotations.

ClassW × HnNon-rotation time (sec)Rotation time (sec)
cgcut115×10160.0140.024
240×70235.37210.920
3625.61710.700
ngcut110×10100.0020.004
2170.0030.007
3210.0060.013
415×1070.0050.008
5140.0060.008
6150.0130.031
720×2080.0420.089
8130.0590.120
9180.0820.166
1030×30130.0600.115
11150.2620.528
12220.3110.701
beng125×30200.8881.824
225×10400.1360.215
3600.2020.316
4800.2500.506
51000.2860.477
640×25403.1645.554
7805.84410.465
81206.99912.241
91607.72013.872
102008.68715.383
From Table 3, we point out that for the instances in Classes 1–3, the time consumed at the Positions stage is not relevant as it does not reach more than 11 seconds for the non-rotation case and 23 seconds for the rotation case considering the harder instances. Nevertheless, this stage is pseudo-polynomial, so it grows with the size of the bin and the number of items. Indeed, we tested Algorithm 1 for the non-rotation case with the instances in the Classes 4–5 and 7–10 that consider bins with a size of 100 × 100. The minimum computational time required to obtain the set of valid positions was 112 seconds and the maximum was 884. For Class 6, where bins with a size of 300 × 300 are considered, it was not possible to obtain the set of valid positions in less than two hours (see [4] and [36] for more details about these instance classes). Table 4 is similar to the previous one. It shows the execution time required at the Positions stage of the pan class="Chemical">P&C methodology, by using Algorithm 1, for the cgcut, ngcut, and beng instances with and without rotations by 90°. The first column presents the class, the number of instance is in the second column, the size of the bin is in the third one, the number of items in the fourth one, the time in seconds for the non-rotation case in the fifth column, and finally, the time in seconds for the rotation case is in the last column. For this table, the resulting time is for each instance. From Table 4 we can again observe that the time required by Algorithm 1 to generate the possible positions that the items can take into the bin is not time-consuming as no more than 9 seconds are needed for the non-rotation case and 16 seconds for the rotation case. Nevertheless, the time will increase as the instances get larger. Notice that for the rotation case the times can almost double the original time, but it remains reasonable.

P&C: Experimental results

The P&C methodology starts with the determination of all the possible positions where an item can be placed, and then, in the Covering stage, a set-covering ILpan class="Chemical">P is executed to validate if the items can be placed in K bins. In this section, we validate the efficiency of the proposed sets of valid inequalities to strengthen the initial set-covering ILP of the Covering stage of the P&C methodology. Tables 5–7 show the results for the bwmv instances (Classes 1, 2, and 3, respectively), without rotation of the items. Class 1 considers bins with a size of 10 × 10, Class 2 bins of 30 × 30, and Class 3 bins of 40 × 40. For each table, the first column indicates the number of the instance, and the second one is the optimal solution obtained by pan class="Chemical">P&C, which corresponds to the number of bins required to pack all the items. Columns 3 to 10 show the execution time (seconds) required by the initial set-covering ILP model (Original Model, without valid inequalities) and the ILP model with different incorporations of valid inequalities. This manner, the fourth column considers the set-covering ILP with the addition of valid inequality (6), and the last column considers the incorporation of the three families (6), (7), and (8). “T.O.” means the execution time limit was reached, and it was not enough to find a solution (Time Over). Recall that the set-covering ILP is a decision problem; thus, we cannot obtain information about the proximity with the optimal solution, only a feasible or unfeasible answer. Numbers in bold represent the best times.
Table 5

Experimental results for Class 1 of the bwmv instances without rotations, applying the different families of valid inequalities to the set-covering ILP.

InstanceSolutionExecution time (seconds)
Original ModelValid(s) Inequality(s)
(6)(7)(8)(6) & (7)(6) & (8)(7) & (8)(6)–(8)
180.50.50.50.50.50.60.50.5
250.60.60.70.50.50.50.50.5
390.00.70.00.00.70.80.00.8
460.50.50.50.50.50.60.50.6
560.10.10.20.50.10.60.50.6
691.70.71.76.40.71.06.41.1
760.60.60.60.60.50.60.70.6
860.70.60.70.70.80.90.70.9
980.00.70.00.00.80.70.00.7
1080.70.80.70.70.61.90.70.6
111032.521.132.71.941.51.52.01.6
12122.21.92.32.31.92.22.32.2
13172.32.32.43.52.42.53.52.5
14144.716.14.913.02.35.713.013.0
15153.743.14.124.34.239.524.412.5
16142.21.92.72.12.02.32.22.1
171159.766.160.035.965.757.135.957.1
18190.02.30.00.02.32.40.02.5
19114.22.14.43.52.235.43.535.3
201131.139.631.69.639.728.09.628.0
21238.19.28.48.09.447.38.247.3
221950.742.751.145.243.329.445.229.4
232121.445.121.641.345.623.241.423.3
24228.128.08.429.327.830.629.430.6
25196.64.76.97.04.73.37.33.4
26171300.4257.31294.4723.7255.6269.8725.9271.4
271652.979.753.15.379.96.35.36.3
282127.974.128.364.435.835.465.051.8
2918239.4145.9240.8126.1184.3185.8126.4162.7
302416.17.116.428.37.237.528.337.6
3125139.998.5127.594.1173.151.464.278.6
322666.4232.8222.6148.675.860.776.072.8
332780.447.244.873.0149.6106.1121.252.3
342779.462.769.0113.475.671.185.545.2
3526119.2198.6119.365.0198.344.265.344.4
3628107.8152.0108.788.3153.1118.388.7118.3
373144.652.744.948.052.949.547.949.5
3829114.059.5121.064.081.0111.058.3129.1
393076.8358.473.6260.8107.766.5965.8332.1
4026183.7133.9270.871.453.0311.6119.688.6
4128363.7660.3364.51334.3875.9982.4306.0445.0
42311181.81504.71177.31069.21503.51183.5646.81956.0
4329110.688.5137.480.1145.163.3133.8174.9
44301702.7866.21704.0614.4864.2748.6447.1288.5
4532457.0531.8454.6233.3531.190.8230.9603.6
4637169.4261.9252.2127.891.3142.1101.7575.1
4728709.4836.1712.2766.21012.4819.2290.8642.7
48331230.01943.7736.51090.3932.5301.91014.51108.1
4931829.2439.1833.41285.2438.8628.6572.6639.0
5038611.7829.9608.3227.0829.9268.696.2130.6
Total Time10257.010254.210062.39039.39207.97072.56721.98401.5
Table 7

Experimental results for Class 3 of the bwmv instances without rotations with n = 20 and n = 40, applying the different families of valid inequalities to the set-covering ILP.

InstanceSolutionExecution time (seconds)
Original ModelValid(s) Inequality(s)
(6)(7)(8)(6) & (7)(6) & (8)(7) & (8)(6)–(8)
16124.6116.6124.9127.1117.8122.1127.0122.9
2310325.310323.1T.O.86.3T.O.86.7188.8188.4
360.4119.20.40.4119.8120.90.4121.7
4471.369.571.074.469.9219.173.869.9
541409.21424.811093.390.911155.992.61357.71359.2
670.40.60.40.40.60.60.40.6
750.267.80.20.268.169.60.269.1
84151.8136.7129.4108.9147.5133.4105.3103.0
95201.0202.8222.8529.4223.9527.71431.01432.6
1070.40.40.40.40.40.40.40.4
11T.O.T.O.T.O.T.O.T.O.T.OT.O.T.O.
12T.O.T.O.T.O.T.O.T.O.T.O.T.O.T.O.
13113219.7782.7T.O.3329.53561.72464.94596.83721.2
14101208.8620.92752.01980.9822.27623.1942.3717.9
15121.31.31.31.31.31.31.31.2
1610516.3519.2480.9493.8342.3505.1525.5503.1
17T.O.T.O.T.O.T.O.T.O.T.O.T.O.T.O.
1813428.8764.6441.0689.91235.4733.2793.8734.1
198449.4450.4451.8442.82724.4598.7450.5453.3
208489.11094.2872.3533.9932.11304.9551.1551.6
Total Time72598.270694.8106642.262490.793523.361604.365146.464150.3
Table 5 clearly shows that there is no better model than another to solve a specific class of instances. Even the original model without valid inequalities is, for some instances, advantageous in terms of time since it has fewer restrictions to handle by the branch-and-bound algorithm of CPLEX. The ILpan class="Chemical">P model with the three valid inequalities has a most significant number of constraints, but they strengthen the convex hull of the solution polyhedra, since for some instances, this combination is better than the others. In terms of the total time required to solve all the instances of Class 1, we point out that the ILP enhanced with valid inequalities (7) & (8) is the less time-consuming. Table 6 shows another aspect of our experimental results. Class 2 of the bwmv instances have bins of size 30 × 30. The instances seem more straightforward than the ones of Class 1 since the largest execution time is around six minutes. The original model without valid inequalities is, for most of the instances, advantageous in terms of time. Indeed, having fewer restrictions to handle along the branch-and-bound algorithm of CPLEX seems to be advantageous for these instances. Nevertheless, the ILpan class="Chemical">P enhanced with valid inequalities (7) & (8) is still competitive.
Table 6

Experimental results for Class 2 of the bwmv instances without rotations, applying the different families of valid inequalities to the set-covering ILP.

InstanceSolutionExecution time (seconds)
Original ModelValid(s) Inequality(s)
(6)(7)(8)(6) & (7)(6) & (8)(7) & (8)(6)–(8)
110.09.90.00.010.110.20.010.3
210.03.70.00.03.84.90.04.9
310.012.70.00.012.813.10.013.1
410.06.10.00.06.16.40.06.4
510.05.30.00.05.36.90.07.0
610.00.20.00.00.20.20.00.2
710.06.80.00.07.07.10.07.2
810.06.70.00.06.86.90.07.0
910.010.40.00.010.510.70.010.8
1010.012.10.00.012.112.20.012.3
1110.113.10.00.113.515.90.116.1
1220.125.30.10.125.526.10.126.3
1320.137.80.10.138.138.90.139.1
1420.135.30.10.135.436.00.136.4
1520.137.30.10.137.638.20.138.5
1620.128.10.10.128.028.80.129.0
1720.118.80.10.119.019.10.119.2
1820.148.60.10.149.350.40.150.3
1920.120.30.10.120.721.10.121.4
2020.115.60.10.115.818.70.118.9
2130.265.50.20.266.267.00.267.6
2220.152.30.20.252.953.90.254.4
2330.258.50.20.259.259.80.260.2
2430.272.00.20.272.774.00.274.9
2520.151.80.20.152.353.20.153.8
2620.144.90.10.145.646.40.147.0
2720.134.20.10.135.142.70.143.1
2830.268.80.20.269.470.80.271.5
2920.250.50.20.151.251.90.252.8
3030.284.70.20.285.687.50.287.7
3130.385.00.30.386.487.70.388.8
3230.3100.10.30.3101.2100.80.3102.7
3330.3102.00.30.3103.2104.70.3106.1
3430.3102.20.30.3103.4105.00.3107.3
3530.276.90.30.277.993.80.395.7
3630.3101.00.30.3102.1104.80.3105.1
3730.3119.40.30.3121.6232.40.3234.0
3830.3108.80.30.3110.3209.40.3210.4
3940.3235.50.30.3235.4255.40.3258.9
4030.3102.80.30.3104.7105.20.3106.3
4130.392.90.30.394.7210.10.3212.2
4240.4236.30.40.4237.9259.10.4274.0
4330.3110.10.30.3111.5218.60.3219.4
4440.4230.20.40.4232.4252.60.4261.7
4540.4238.80.40.4240.8268.40.4287.7
4640.4297.70.40.5323.9355.80.5361.7
4740.392.00.30.393.6208.50.3210.5
4840.4282.00.40.4288.0338.40.4350.3
4940.4239.60.40.4241.3263.80.4272.0
5040.4291.40.40.5373.1360.00.5362.3
Total Time8.84181.89.29.24330.95113.49.25214.1
Experimental results of Table 7 show that Class 3 has instances that are more time-consuming and more challenging than Class 2. Indeed, the bin size is 40 × 40, and our approach could solve only the instances with 20 and 40 items. As for Class 1, there is not a clear ILP that overruns all other models, but we can point out the set-covering ILpan class="Chemical">P with inequalities (6) & (8) since it has the lowest total time to solve all the instances if we consider T.O. with a value of 18000 seconds (execution time). The experimental results of the P&C methodology for the cgcut, ngcut, and beng instances are shown in Table 8. This table is similar to previous ones, but in this case, we add a new column (the first column) to inpan class="Disease">dicate the class of the instance. The valid inequality with the best performance is (8) since it has the lowest total time and considering that it solved all the instances within the time-limit. For these instances, the original model is not competitive, so the importance of valid inequalities is again validated.
Table 8

Experimental results for cgcut, ngcut, and beng instances without rotations.

ClassInstanceSolutionExecution time (seconds)
Original ModelValid(s) Inequality(s)
(6)(7)(8)(6) & (7)(6) & (8)(7) & (8)(6)–(8)
cgcut120.00.20.00.00.20.10.00.1
220.128.60.10.128.729.50.129.3
3232334.82367.42386.12340.52385.82375.82380.12391.0
ngcut130.00.00.00.00.00.00.00.0
240.00.20.00.00.20.20.00.2
331.41.31.31.11.40.31.21.2
420.00.00.00.00.00.00.00.0
530.00.10.00.00.10.10.00.1
630.00.30.00.00.30.30.00.3
710.00.10.00.00.00.10.00.1
820.20.20.20.20.20.20.20.2
931.71.61.81.71.61.71.81.7
1030.01.90.00.01.92.00.01.9
1123.27.63.23.37.53.73.33.7
1235.95.65.96.05.65.76.05.7
beng1-8140.04.40.00.04.44.50.04.5
26255.6338.5254.8222.9339.6273.3223.2274.4
39571.5629.3609.7728.41033.4576.2494.7769.4
4115292.54588.56377.21571.22252.0630.02615.62320.4
5144343.46806.43336.01118.74650.33430.12010.52333.6
620.04.00.00.04.19.40.09.4
739467.6T.O.T.O.111.29134.493.4111.693.2
850.24211.80.20.2T.O.49.50.250.0
beng9-10160.3T.O.0.30.3T.O.63.30.364.1
270.4T.O.0.40.4T.O.82.00.482.5
Total Time22278.772998.030977.16106.373851.47630.97849.18436.9
We compare the P&C methodology with the approaches that have proved to be the most effective in the literature. Table 9 gives a short description of each one. The first nine approaches correspond to metaheuristic methods, while the last two are exact ones. As it is mentioned in [19], many mathematical models and solution methods have been proposed for the bin packing problem. However, no exact mathematical models have been presented for the pan class="Chemical">2D-BPP with rotations of the items by 90°.
Table 9

Comparative approaches for the 2D-BPP.

ApproachDescription
TS3:Tabu search based on the constructive procedures of [30].
HBP:Constructive heuristic that assigns a score to each item by [17].
GLS:Guided local search heuristic based on the iterative solution of constraint satisfaction problems proposed by [27].
SCH:Set-covering-based heuristic approach presented by [26].
GVND:Hybrid GRASP/VND algorithm by [33].
BRKGA:Biased random key genetic algorithm by [2]. This algorithm allows 90° rotation of the items.
HHA-NO(r):Hyper-heuristic algorithm based on rotation mutation operators proposed by [38]. This algorithm allows rotation of the items.
HHA-NO(sr):Hyper-heuristic algorithm based on swap-rotation mutation operators proposed by [38]. This algorithm allows rotation of the items.
SVC2BPRF:A sequential value correction heuristic proposed by [39] allows rotation of the items.
BBMV:Branch-and-bound algorithm presented by [4]
DCSP:Decomposition technique with constraint programming by [35]
Tables 10 and 11 present a comparison of the results obtained by P&C against the approaches from Table 9. Table 10 shows the results for the bwmv instances. The first column indicates the class of the bwmv group, the second column the bin size W × H, and the third column the number of items to be packed into the bins. The fourth column is the lower bound reported by [26], computed by applying all the lower-bounding procedures from the literature and an exact algorithm for long computing time. The fifth column indicates the optimal number of bins obtained by the P&C methodology with valid inequalities (7) and (8). The rest of the columns indicate the solutions (number of bins) for the other approaches: BRKGA, GVND, SCH, GLS, TS3, HBP, BBMV, and DCSP, respectively. Each row corresponds to the average values of the number of bins for ten instances of each class-size. Entries with “T.O.” mean that the approach could not find a feasible solution within the time limit. Entries with u/v mean that only u instances out of v from this class are solved within the time limits of each approach. Notice that the experimental results of the approaches we are comparing with were done on different computers, so this table is more informative than comparative.
Table 10

Comparison of the solutions obtained by the different approaches for the bwmv instances without rotations.

ClassW × HnLB*P&CBRKGAGVNDSCHGLSTS3HBPBBMVDCSP
110×10207.17.17.17.17.17.17.17.17.17.1
4013.413.413.413.413.413.413.513.413.413.4
6019.72020202020.120.120.17/1020
8027.427.527.527.527.527.528.227.53/1027.5
10031.731.731.731.731.732.132.631.81/1031.7
230×30201.01.01.01.01.01.01.01.01.01.0
401.91.91.91.91.91.92.01.91.91.9
602.52.52.52.52.52.52.72.54/102.5
803.13.13.13.13.13.13.33.13.19/10
1003.93.93.93.93.93.94.03.93.93.9
340×40205.15.15.15.15.15.15.55.19/105.1
409.27/109.49.49.49.49.79.59/109.4
6013.6T.O.13.913.913.914.014.014.05/1013.9
8018.7T.O.18.918.918.919.119.819.1T.O.18.9
10022.1T.O.22.322.322.322.623.622.6T.O.9/10
Table 11

Comparison of the solutions obtained by the different approaches for the cgcut, ngcut, and beng instances without rotations.

Classn# instLB*P&CBRKGAGVNDSCHGLSTS3BBMV
cgcut16-62399999999
ngcut7-22122.672.672.672.672.672.6732.67
beng 1-820-12086.756.756.756.756.887/8
beng 9-10160-20026.56.56.56.5
Table 10 shows that the P&C methodology is efficient since it validates the optimality of the solutions obtained by the metaheuristic methods, and for several instances, it finds the optimal solutions for all the instances of the class while the other exact methods were not able to. For Class 3 with 40 items, the pan class="Chemical">P&C is only able to obtain optimal solutions for 7 out of 10 instances. Indeed, the number of variables and constraints for the P&C methodology is too large for these instances. Nevertheless, the P&C approach solves all the instances of Classes 1 and 2 while the BBMV approach or even the DCSP one do not. The experimental comparison for the cgcut, ngcut, and beng instances is shown in Table 11. The first column indicates the class of the instance, the second column is the number of items to be packed into the bins, and the third column is the total of instances. The fourth column is the best-known lower-bound (average of all instances of the class). The rest of the columns inpan class="Disease">dicate the results obtained by the P&C, BRKGA, GVND, SCH, GLS, TS3, and the BBMV, respectively. No experimental results are provided for these instances for the DCSP methodology. Since the P&C is an exact method, it finds optimal solutions for instances where the SCH, GLS, TS3, and pan class="Chemical">BBMV could not (beng 1-8 and/or beng 9-10). Therefore, we have demonstrated the performance of the P&C method. The BRKGA and the GVND already were at the optimum value since they matched the lower bound. Recall that the P&C starts with a fixed number of K bins, if there is no solution (there is no possible packing all the items in these bins), then K is increased, and the covering model is solved again. The process iterates increasing K until finding a solution that corresponds to the optimal one. We now present experimental results for the instances that allow a 90° rotation of the items. The efficiency of the valid inequalities for the ILP model of the set-covering stage of the pan class="Chemical">P&C methodology is similar to the previous section, where no rotations are allowed. Thus, we only present the comparisons of the P&C methodology (enhanced by Eqs (7) and (8)) with the other ones. Table 12 shows the results for the bwmv instances when 90° rotation of the items is allowed. The structure of this table is similar to Table 10, but we only compare ourselves against the BRKGA, HHA-NO(r), HHA-NO(sr), and SVC2BPRF approaches, since they are the only ones that present solutions with rotations by 90° of the items. The lower bounds (LB) for this table were obtained from [40]
Table 12

Comparison of the solutions obtained by the different approaches for the bwmv instances when 90° rotation of the items is allowed.

ClassW × HnLB*P&CBRKGAHHA-NO(r)HHA-NO(sr)SVC2BPRF
110×10206.66.66.66.66.66.6
4012.812.812.813.112.912.8
6019.519.519.519.619.519.5
8027.027.027.027.027.027.0
10031.331.331.331.431.331.3
230×30201.01.01.01.01.01.0
401.91.91.921.92.0
602.52.52.52.52.52.5
803.13.13.13.13.13.2
1003.93.93.93.93.94.0
340×40204.74.74.74.84.84.7
409.19/109.29.59.59.2
6013.2T.O.13.413.713.713.4
8018.2T.O.18.218.618.718.4
10021.5T.O.22.022.522.522.0
We can observe a reduction in the number of bins in contrast with the results of Table 10 (without rotations) and with the lower bound obtained in the literature for the non-rotation case. Also, the P&C could solve the instances up to Class 3 with 20 items. For 40 items, our methodology only solved 9 out of 10. With these results, we have validated that the heuristical solutions of [2] are indeed the optimal ones. Recall that the number of valid positions, and therefore the number of variables in the pan class="Chemical">P&C set-covering formulation can almost double when rotation is allowed. Thus, these instances are harder to solve by our exact methodology. Table 13, similar to Table 11, shows the comparison results of the P&C methodology for the cgcut, ngcut, and beng instances against the BRKGA (the only approach from Table 9. The rotation of the items decreases the number of bins needed to pack all of them by improving the lower bounds obtained for the non-rotation case. We have again validated that the solutions obtained by the genetic algorithm are indeed the optimal ones for the instances that the pan class="Chemical">P&C could solve.
Table 13

Comparison of the solutions obtained by the different approaches for the cgcut, ngcut, and beng instances when 90° rotation of the items is allowed.

Classn# instLB*P&CBRKGA
cgcut16-62397.677.67
ngcut7-22122.672.52.5
beng 1-820-12086.756.756.75
beng 9-10160-20026.56.56.5
Usually, one does not have the LB* value at hand (as in the non-rotation case) since it is the best lower bound of many procedures from the literature and an exact algorithm that usually take long computing time. So the P&C methodology is valuable for guaranteeing optimality for small-mepan class="Disease">dium size instances.

Conclusion

In this study, we present a new two-stage methodology, called Positions and Covering (pan class="Chemical">P&C), to obtain exact solutions for the two-dimensional bin packing problem (2D-BPP). The first stage is the key-point of the methodology in which, for each item, a set of possible positions that this item can take into the bin is generated in a pseudo-polynomial way. In the second stage, a new set-covering model is solved to select the optimal packing for each bin. By considering the decision version of 2D-BPP and a lower bound on the number of bins for each instance, the P&C methodology verifies if there exists a feasible solution of the instance. If true, then this solution corresponds to the optimal one. Otherwise, the number of bins is increased by one, and the model is solved again until finding a feasible solution. We propose three sets of valid inequalities and make a comparison between the performance of the new mathematical formulation and the incorporation of each valid inequality. The P&C methodology was tested using the literature benchmark for the pan class="Chemical">2D-BPP. Due to the combinatorial complexity of the problem, the method could not solve large instances. Nevertheless, for small and medium sizes, P&C was able to verify that the solutions proposed by other approaches were indeed optimal. We generalize the P&C to consider the case with rotations of the items by 90°. The set-covering ILpan class="Chemical">P related to this case can have almost the double of variables. In the experimental section, we observed the difficulty for solving these instances. Nevertheless, to the best of our knowledge, the generalized P&C is one of the few exact algorithms to solve the 2D-bin packing with rotations. Therefore, with this approach, we can verify the efficiency of other approximation methodologies at less for small and medium size instances. Due to the novelty of P&C and its efficiency to solve small and mepan class="Disease">dium instances, a natural research line is to develop a decomposition method like a column generation or branch and price, to solve large instances and reduce the computational times. An interesting research line is to improve the lower bounds of the set-covering model or to generate new cuts to strengthener the model. Finally, it will be interesting to consider the 2D-strip packing and the 3D-bin packing problems with this approach.
  3 in total

1.  DIDA: Distributed Indexing Dispatched Alignment.

Authors:  Hamid Mohamadi; Benjamin P Vandervalk; Anthony Raymond; Shaun D Jackman; Justin Chu; Clay P Breshears; Inanc Birol
Journal:  PLoS One       Date:  2015-04-29       Impact factor: 3.240

2.  A multiobjective migration algorithm as a resource consolidation strategy in cloud computing.

Authors:  Danqing Feng; Zhibo Wu; DeCheng Zuo; Zhan Zhang
Journal:  PLoS One       Date:  2019-02-06       Impact factor: 3.240

3.  Energy efficient partition allocation in mixed-criticality systems.

Authors:  Ana Guasque; Patricia Balbastre; Alfons Crespo; Salva Peiró
Journal:  PLoS One       Date:  2019-03-18       Impact factor: 3.240

  3 in total
  2 in total

1.  Covering, corner-searching and occupying: A three-stage intelligent algorithm for the 2d multishape part packing problem.

Authors:  He Ren; Rui Zhong
Journal:  PLoS One       Date:  2022-05-31       Impact factor: 3.752

2.  Exact solutions for the 2d-strip packing problem using the positions-and-covering methodology.

Authors:  Nestor M Cid-Garcia; Yasmin A Rios-Solis
Journal:  PLoS One       Date:  2021-01-14       Impact factor: 3.240

  2 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.