Next Article in Journal
On System of Variable Order Nonlinear p-Laplacian Fractional Differential Equations with Biological Application
Next Article in Special Issue
Compact Integer Programs for Depot-Free Multiple Traveling Salesperson Problems
Previous Article in Journal
NSGA-II/SDR-OLS: A Novel Large-Scale Many-Objective Optimization Method Using Opposition-Based Learning and Local Search
Previous Article in Special Issue
Machine Downtime Effect on the Warm-Up Period in an Economic Production Quantity Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Space Splitting and Merging Technique for Online 3-D Bin Packing

by
Thanh-Hung Nguyen
* and
Xuan-Thuan Nguyen
School of Mechanical Engineering, Hanoi University of Science and Technology, No. 1, Dai Co Viet Road, Hanoi 112400, Vietnam
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(8), 1912; https://doi.org/10.3390/math11081912
Submission received: 23 March 2023 / Revised: 13 April 2023 / Accepted: 16 April 2023 / Published: 18 April 2023
(This article belongs to the Special Issue Mathematical Programming, Optimization and Operations Research)

Abstract

:
This paper introduces a novel method for online 3-D bin packing, which is a strongly NP-hard problem, based on a space splitting and merging technique. In this scenario, the incoming box is unknown and must be immediately packed. The problem has many applications in industries that use manipulators to automate the packing process. The main idea of the approach is to divide the bin into spaces. These spaces are then categorized into one of two types of data structures: main and secondary data structures. Each node in the main data structure holds the information of a space that can be used to fit a new box. Each node in the secondary data structure holds the information of a space that cannot be used to place a box. The search algorithm based on these two data structures reduces the required search effort and simplifies the organizing and editing of the data structure. The experimental results demonstrate that the proposed method can achieve a packed volume ratio of up to 83% in the case of multiple bins being used. The position of a placed box can be found within milliseconds.

1. Introduction

In an automated warehouse system, one of the most critical tasks is to efficiently place products into containers. The product placement must be optimal to reduce the number of containers used. A bin packing algorithm is typically used to solve this task by arranging items of different sizes into containers to achieve the minimum number of containers used. This problem is known as strongly NP-hard [1], indicating it is a challenging problem to solve.
The logistics and e-commerce industries are rapidly growing and require efficient and reliable packing solutions. Although the possibility of fully autonomous packing manipulators is on the horizon, robotic packing has not received the necessary attention. Packing algorithms can assist robot packers in finding optimal methods to fill containers and boxes, and it is essential to research this area to improve the efficiency of these industries. This paper introduces an online 3-D bin packing algorithm that can enhance the accuracy and speed of the packing process and address the rising demand for automated logistics and e-commerce.
Bin packing can be classified as one-dimensional, two-dimensional, or three-dimensional. One-dimensional bin packing [2,3,4] divides a set of values such as mass, length, etc., into subgroups such that the number of subgroups is minimal and the total value in a subgroup does not exceed the predefined values. Two-dimensional bin packing [5,6,7,8] arranges items on the two-dimensional regions so that the number of regions is minimal. Three-dimensional bin packing packs all the boxes into the smallest number of bins.
Traditional three-dimensional bin packing assumes that the information of all items is known in advance and the items can be placed into the bin in an arbitrary order. This bin packing problem is called offline bin packing. Three-dimensional offline bin packing can be classified into two groups: heuristic- and learning-based methods. The heuristic-based methods solve the 3-D bin packing problem by dividing the bin into layers or slices [9,10,11], selecting the box with maximum bottom area [12], applying the hybrid genetic algorithm [13,14,15] and search framework [16,17], or using a mathematical model [18]. These methods are easy to implement and can be applied to many different types of boxes and bins with very high efficiency. However, they have difficulty handling complex practical constraints such as optimization of box-to-bin space or packing stability. In contrast, the learning-based methods can better meet the various complicated constraints than the heuristic-based methods [19]. These methods apply deep reinforcement learning to optimize the sequence and orientations of items to be packed into the bin [20,21,22,23]. However, the learning-based methods do not easily converge [24] and need to be retrained when applied to new data.
In many real-world applications, the collection of items to be packed is unknown, and the current item must be put into the bin immediately before the upcoming item appears. These applications are referred to as 3-D online bin packing. Karabulut and Inceoglu [25] proposed the deepest-bottom-left (DBL) with fill method for regular 3-D strip packing. Ha et al. [26] employed the DBL order of empty spaces to place the incoming item. Zhao et al. [24] proposed an effective constrained deep reinforcement learning strategy to solve the 3-D online bin packing problems that are defined as a constrained Markov decision process. Verma et al. [27] applied a search heuristic and deep reinforcement learning to create PackMan, which is a two-step approach. Zhao et al. [19] developed a packing configuration tree and employed a deep reinforcement learning approach to enhance the practical applicability of online 3-D bin packing.
The objective of this study was to develop an innovative online 3-D bin packing approach for robot packing applications, building upon our prior conference proceedings paper [28]. The proposed approach involves dividing the bin into spaces, which are then categorized as either main or secondary data structures. The main data structures are composed of nodes that contain information about spaces suitable for accommodating new boxes, while the secondary data structures hold information about spaces that cannot be used for placing boxes. By leveraging a search algorithm based on these data structures, the approach significantly reduces search effort and streamlines data structure organization and editing.
In this paper, we provide further details on how to locate fitted spaces for incoming boxes, achieve main and secondary spaces, and split and merge spaces for 3-D online bin packing tasks. We also introduce two additional steps to optimize empty spaces and minimize spatial fragmentation. Specifically, one step involves merging two consecutive spaces if no space in the main data structure can accommodate the incoming box, while the other step involves reorganizing the main data structure immediately after splitting the fitted space.
The previous method was thoroughly evaluated and tested using small and large bins with our own dataset. In this study, we evaluated and benchmarked the proposed method using the existing dataset by Zhao et al. [24] to compare it with other methods and verify its strengths and weaknesses. Our experiments demonstrated that our proposed method delivers high utilization and low time consumption, making it a competitive option for packing boxes.
The paper is organized as follows: Section 2 presents the proposed approach for online 3-D bin packing problem. Section 3 describes the experimental results and analysis. Finally, the conclusions are summarized in Section 4.

2. Online 3-D Bin Packing Algorithm

In order to determine the position of a box in the bin, the Cartesian coordinate system is attached to the bin at the bottom-left-front corner. The x, y, and z axes correspond to the length L, width W, and height H of the bin, respectively. During the packing time, the container is divided into many spaces. The position of each space in the coordinate system is CK(xK, yK, zK). The dimensions of the space in the x, y- and z directions are the length LK, width WK, and height HK of the space, respectively. Each space K is represented by a set of 7 parameters including xK, yK, zK, LK, WK, HK, and SK, where SK = LK × WK, and HK = HzK. Depending on the LK, WK, and SK parameters, the space can be classified into main or secondary data structures. Figure 1 represents the coordinate system attached to the bin and position of a space K in it.

2.1. Main Data Structure

A space K is defined as the main space if its dimensions satisfy all three following conditions:
L K L m i n ,
W K W m i n ,
S K S m i n ,
where Lmin, Wmin, and Smin are the smallest length, width, and bottom area of the incoming box, respectively.
The main data structure is divided into layers. Each layer is a linked list of the main spaces that have the same coordinates in the z direction (zK). The elements in this structure are linked using pointers as shown in Figure 2. The first node in each layer has four pointers that point to the previous, next, up, and down nodes. The other node in the layer has two pointers that point to the previous and next nodes. The layers are arranged in ascending order of parameter zK. The data in each layer are arranged in ascending order of parameter SK.

2.2. Secondary Data Structure

The space that fails to satisfy one of the Equations (1), (2) or (3) is classified as secondary space. This space is then added into the secondary data structure. This data structure is a linked list in which each node has two pointers that point to the previous and next nodes, as shown in Figure 3. The elements in the structure are sorted in chronological order.

2.3. Algorithm

Whenever a box is coming, the algorithm finds a space K with the smallest zK in the main data structure that fits the box. After that, this space is divided into 4 new subspaces. Each subspace is classified into main or secondary spaces according to its dimensions. The space K is removed from the main data structure. This structure is rearranged. The main spaces that satisfy the merging conditions are united into a new main space. In order to minimize the empty space in the bin, the secondary spaces are united with the main spaces. The main data structure is rearranged again. The flowchart of the algorithm is shown in Figure 4. The pseudo-code of the proposed method is described by Algorithm 1.
Algorithm 1: The 3-D online bin packing algorithm.
Input: incoming box l, w, h
Output: the position of the box in the bin
1: function PlaceBox(l, w, h)
2:   sp = FindSpace(l, w, h) //To find the fitted space in the main data structure
3:   if sp == NULL then
4:    sp = FindConsecutiveSpaces(); //To find the fitted space by merging the consecutive main spaces
5:    if sp == NULL then
6:      return false
7:     end if
8:    end if
9:    obtain the position of the box in the bin x, y, z, l, w, h
10:   SplitSpace(sp); //To split the space sp
11:   ArrangeSpaces(); //To arrange main data structure
12:   UniteSpaces(); //To unite the main spaces
13:   OptimizeSpaces(); //To merge subspaces into main spaces
14:   ArrangeSpaces(); //To arrange main data structure
15:   return true
16: end function

2.3.1. Finding a Fitted Space K

The space K can be used to place the incoming box if its dimensions satisfy Equations (4) or (5):
L K l ,   W K w ,   H K h ,
L K w ,   W K l ,   H K h ,
where l, w, and h are the length, width, and height of the incoming box, respectively.
These conditions allow the box to rotate 90° about the z axis when it is placed in the bin. If these conditions are not satisfied, the algorithm merges the consecutive main spaces to form a new main space that fits the incoming box. The conditions for merging are presented in Table 1. It is noted that the conditions HiH and HjH are applied for all these cases.

2.3.2. Splitting the Space K

Assuming that the incoming box is placed into the space K in the bin, the bottom-left-front corner of the box is set to coincide with the bottom-left-front corner of that space, as shown in Figure 5. After that, the space K can be divided into 4 new spaces: K1, K2, K3, and K4. Depending on the dimensions of the incoming box and space K, the results of the splitting process are as presented in Table 2.

2.3.3. Rearranging the Main Data Structure

After adding data from the splitting process, the main data structure no longer retains its original organization. Therefore, this structure needs to be reorganized in a predetermined order. The sorting algorithm performs the task of traversing each layer of the main data structure. In a layer, the elements are sorted in ascending order of their areas, as shown in Figure 2.

2.3.4. Merging the Main Spaces

When the main spaces are added to the main data structure, they can be combined with other existing spaces to form new, larger spaces. The merging of these spaces helps to limit spatial fragmentation. The algorithm traverses each element in a layer until there are no more elements in the same layer that can be merged. Elements that satisfy the merging condition are united to form a new element. Elements used during the merging process are removed from the main data structure. The algorithm prioritizes merging data in the x direction, corresponding to the length of the bin first. After that, the data in the y direction corresponding to the width of bin are merged. Table 3 shows two cases that can be used to unite adjacent spaces.

2.3.5. Merging the Secondary Spaces into Main Spaces

The secondary data structure contains elements describing small spaces, which cannot accommodate incoming boxes. These spaces cause the bin to fragment, reducing its capacity. Therefore, an algorithm was built to merge the subspace into the main space. The conditions for merging are presented in the Table 4.

3. Experimental Results and Analysis

To test the performance of the developed algorithm, the dataset proposed by Zhao et al. [24] was used without special declarations. There are 64 items in this dataset. The dimensions of the items range from two to five on each side. The bin sizes were set to 10 × 10 × 10. The item sequences were created using random sampling (RS). Two thousand independent datasets were generated for this test. All methods were implemented in C++/Python and tested on a system with the following specifications: Intel® Core™ i7-7700HQ CPU @ 2.80 GHz (8 CPUs, ~2.8 GHz) with 8.00 GB RAM, NVIDIA GeForce GTX 1050, Windows 10 Pro 64-bit. The result of the proposed algorithm was compared with those of different methods, as shown in Table 5.
The performance of the developed algorithm was also verified with different bin sizes. In this experiment, the dimensions of the bins were increased from 10 × 10 × 10 to 20 × 20 × 20 and 30 × 30 × 30. The packing results are presented in Figure 6 and Table 6. As shown in Table 6, the performance slightly improved when the size of the bin was larger, especially when the size of the bin was 30 × 30 × 30. In comparison with the method proposed by Zhao et al. [24], the developed algorithm can achieve higher average space utilization when the bin size is 30 × 30 × 30.
The algorithm was also tested with multiple bins in order to optimize the average space utilization of the bin. In this experiment, if an incoming item could not be placed into the current bin, the fit in the next bin was checked. The process was finished if it could not put the items into any of the existing bins. Table 7 and Table 8 show the packing results for different bins when a multibin packing algorithm was applied. It can be seen that the space utilization of each bin greatly increased when the number of bins increased. However, the average computation time for each item also increased. This means that it took more time to place an item into the bin.
The time performance of the developed algorithm is shown in Figure 7. It can be seen that the average time required to determine the location of incoming items in the bin linearly grows with the number of bins and size of the bin. In the case of a bin size of 10 × 10 × 10, the average time per item is less than 0.18 milliseconds when the number of bins is 5, as shown in Figure 7a. If the bin can carry many items, it will take more time to calculate the position of the incoming item. Figure 7b presents the relationship between the number of items that can be put into a bin and the time to estimate the position of an item. The average time is less than 1.4 milliseconds while the average number of items is about 382.5. In comparison with the method proposed by Zhao et al. [24], where the time required was about 100 milliseconds for a bin size of 10 × 10 × 10, the proposed method is faster.
The feasibility of the proposed algorithm was also tested on real data. The dimensions of the items and bins are presented in Table 9. The same items were packed into the bin. The number of items ranged from 2 to 12. In these experiments, all the bins were filled with the items, as expected.
The above experimental results show that the developed method can pack boxes with a high utilization rate and low time consumption. However, the proposed algorithm has a limitation when the number of boxes is very large. The container is divided into too many subspaces, which increases the memory consumption of the two data structures. This affects the performance and memory requirements of the packing process.

4. Conclusions

This paper proposed an online 3-D bin packing algorithm employing a space splitting and merging technique. This technique involves categorizing the split spaces into two types of data structures. Furthermore, the merging of empty spaces helps to reduce spatial fragmentation. The search algorithm only operates on the main data structures to save computation time. The proposed method was evaluated and benchmarked with other methods on the same dataset. The experimental results showed that the proposed method could achieve better results. The developed technique was also applied to real data to verify its feasibility. The algorithm is well suited for robot bin-packing applications. Future work will focus on optimizing the empty space in each layer to increase the average percentage filled.

Author Contributions

Conceptualization, T.-H.N. and X.-T.N.; methodology, T.-H.N.; software, T.-H.N.; validation, T.-H.N. and X.-T.N.; formal analysis, T.-H.N. and X.-T.N.; investigation, T.-H.N.; resources, T.-H.N.; data curation, T.-H.N.; writing—original draft preparation, T.-H.N.; writing—review and editing, T.-H.N. and X.-T.N.; visualization, T.-H.N.; supervision, T.-H.N.; project administration, T.-H.N.; funding acquisition, T.-H.N. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by the Vietnam Ministry of Education and Training (project number B2020-BKA-16).

Data Availability Statement

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. De Castro Silva, J.L.; Soma, N.Y.; Maculan, N. A greedy search for the three-dimensional bin packing problem: The packing static stability case. Int. Trans. Oper. Res. 2003, 10, 141–153. [Google Scholar] [CrossRef]
  2. Johnson, D.S.; Demers, A.; Ullman, J.D.; Garey, M.R.; Graham, R.L. Worst-case performance bounds for simple one-dimensional packing algorithms. SIAM J. Comput. 1974, 3, 299–325. [Google Scholar] [CrossRef]
  3. Martello, S.; Toth, P. Lower bounds and reduction procedures for the bin packing problem. Discret. Appl. Math. 1990, 28, 59–70. [Google Scholar] [CrossRef]
  4. Delorme, M.; Iori, M.; Martello, S. Bin packing and cutting stock problems: Mathematical models and exact algorithms. Eur. J. Oper. Res. 2016, 255, 1–20. [Google Scholar] [CrossRef]
  5. Martello, S.; Vigo, D. Exact solution of the two-dimensional finite bin packing problem. Manag. Sci. 1998, 44, 388–399. [Google Scholar] [CrossRef]
  6. Lodi, A.; Martello, S.; Monaci, M. Two-dimensional packing problems: A survey. Eur. J. Oper. Res. 2002, 141, 241–252. [Google Scholar] [CrossRef]
  7. Zhang, D.; Kang, Y.; Deng, A. A new heuristic recursive algorithm for the strip rectangular packing problem. Comput. Oper. Res. 2006, 33, 2209–2217. [Google Scholar] [CrossRef]
  8. Cid-Garcia, N.M.; Rios-Solis, Y.A. Positions and covering: A two-stage methodology to obtain optimal solutions for the 2d-bin packing problem. PLoS ONE 2020, 15, e0229358. [Google Scholar] [CrossRef]
  9. Martello, S.; Pisinger, D.; Vigo, D. The three-dimensional bin packing problem. Oper. Res. 2000, 48, 256–267. [Google Scholar] [CrossRef]
  10. Baltacioglu, E. The Distributer’s Three-Dimensional Pallet-Packing Problem: A Human Intelligence Based Heuristic Approach. Ph.D. Thesis, Air Force Institute of Technology, Dayton, OH, USA, 2001. [Google Scholar]
  11. Maarouf, W.F.; Barbar, A.M.; Owayjan, M.J. A new heuristic algorithm for the 3D bin packing problem. In Innovations and Advanced Techniques in Systems, Computing Sciences and Software Engineering; Elleithy, K., Ed.; Springer: Dordrecht, The Netherlands, 2008; pp. 342–345. [Google Scholar]
  12. Liu, Y.; Vo, T.V. Bin packing solution for automated packaging application. Appl. Mech. Mater. 2012, 143–144, 279–283. [Google Scholar] [CrossRef]
  13. Wu, Y.; Li, W.; Goh, M.; de Souza, R. Three-dimensional bin packing problem with variable bin height. Eur. J. Oper. Res. 2010, 202, 347–355. [Google Scholar] [CrossRef]
  14. Feng, X.; Moon, I.; Shin, J. Hybrid genetic algorithms for the three-dimensional multiple container packing problem. Flex. Serv. Manuf. J. 2015, 27, 451–477. [Google Scholar] [CrossRef]
  15. Linkosaari, T.; Urponen, T.; Juvonen, H.; Mäkelä, M.M.; Nikulin, Y. Three-dimensional bin packing problem with a stability rejection criterion. In Proceedings of the VII European Congress on Computational Methods in Applied Sciences and Engineering, ECCOMAS Congress, Crete Island, Greece, 5–10 June 2016. [Google Scholar]
  16. Faroe, O.; Pisinger, D.; Zachariasen, M. Guided local search for the three-dimensional bin-packing problem. INFORMS J. Comput. 2003, 15, 267–283. [Google Scholar] [CrossRef]
  17. Crainic, T.G.; Perboli, G.; Tadei, R. TS2PACK: A two-level tabu search for the three-dimensional bin packing problem. Eur. J. Oper. Res. 2009, 195, 744–760. [Google Scholar] [CrossRef]
  18. Pedruzzi, S.; Nunes LP, A.; Rosa RD, A.; Arpini, B.P. A mathematical model to optimize the volumetric capacity of trucks utilized in the transport of food products. Gestão Produção 2016, 23, 350–364. [Google Scholar] [CrossRef]
  19. Zhao, H.; Yu, Y.; Xu, K. Learning Efficient Online 3D Bin Packing on Packing Configuration Trees. Int. Conf. Learn. Represent. 2022. [Google Scholar]
  20. Hu, H.; Zhang, X.; Yan, X.; Wang, L.; Xu, Y. Solving a new 3D bin packing problem with deep reinforcement learning method. arXiv 2017, arXiv:1708.05930. [Google Scholar]
  21. Duan, L.; Hu, H.; Qian, Y.; Gong, Y.; Zhang, X.; Wei, J.; Xu, Y. A multi-task selected learning approach for solving 3D flexible bin packing problem. arXiv 2019, arXiv:1804.06896. [Google Scholar]
  22. 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:1–232:15. [Google Scholar] [CrossRef]
  23. Zhang, J.; Zi, B.; Ge, X. Attend2Pack: Bin packing through deep reinforcement learning with attention. arXiv 2021, arXiv:2107.04333. [Google Scholar]
  24. Zhao, H.; She, Q.; Zhu, C.; Yang, Y.; Xu, K. Online 3D bin packing with constrained deep reinforcement learning. arXiv 2020, arXiv:2006.14978. [Google Scholar] [CrossRef]
  25. Karabulut, K.; İnceoğlu, M.M. A hybrid genetic algorithm for packing in 3d with deepest bottom left with fill method. In International Conference on Advances in Information Systems; Yakhno, T., Ed.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 441–450. [Google Scholar]
  26. Ha, C.T.; Nguyen, T.T.; Bui, L.T.; Wang, R. An online packing heuristic for the three-dimensional container loading problem in dynamic environments and the Physical Internet. In European Conference on the Applications of Evolutionary Computation; Squillero, G., Sim, K., Eds.; Springer: Cham, Switzerland, 2017; pp. 110–127. [Google Scholar]
  27. Verma, R.; Singhal, A.; Khadilkar, H.; Basumatary, A.; Nayak, S.; Singh, H.V.; Kumar, S.; Sinha, R. A generalized reinforcement learning algorithm for online 3D bin-packing. arXiv 2020, arXiv:2007.00463. [Google Scholar]
  28. Nguyen, T.-H.; Tran, V.-T.; Doan, P.-Q.; Mac, T.-T. A Novel Heuristic Algorithm for Online 3D Bin Packing. In Proceedings of the 2021 21st International Conference on Control, Automation and Systems (ICCAS), Jeju, Republic of Korea, 12–15 October 2021; pp. 1993–1997. [Google Scholar]
Figure 1. The position of the space K in the bin.
Figure 1. The position of the space K in the bin.
Mathematics 11 01912 g001
Figure 2. Main data structure diagram.
Figure 2. Main data structure diagram.
Mathematics 11 01912 g002
Figure 3. Secondary data structure diagram.
Figure 3. Secondary data structure diagram.
Mathematics 11 01912 g003
Figure 4. Flowchart of the developed online 3-D bin packing.
Figure 4. Flowchart of the developed online 3-D bin packing.
Mathematics 11 01912 g004
Figure 5. Splitting the space K.
Figure 5. Splitting the space K.
Mathematics 11 01912 g005
Figure 6. The packing results with different bin sizes: (a) bin size of 10 × 10 × 10; (b) bin size of 20 × 20 × 20; (c) bin size of 30 × 30 × 30.
Figure 6. The packing results with different bin sizes: (a) bin size of 10 × 10 × 10; (b) bin size of 20 × 20 × 20; (c) bin size of 30 × 30 × 30.
Mathematics 11 01912 g006
Figure 7. The time performance of the proposed algorithm: (a) the average time vs. number of bins; (b) the average time vs. the average number of items that can be put into a bin.
Figure 7. The time performance of the proposed algorithm: (a) the average time vs. number of bins; (b) the average time vs. the average number of items that can be put into a bin.
Mathematics 11 01912 g007
Table 1. Merging the main spaces to find the fitted space.
Table 1. Merging the main spaces to find the fitted space.
ConditionsMerging Results
Main Spaces to MergeNew Spaces
L i l , L j l , W i + W j w .
or
L i w , L j w , W i + W j l .
Mathematics 11 01912 i001Mathematics 11 01912 i002
Mathematics 11 01912 i003Mathematics 11 01912 i004
x j + L j x i l , W i + W j w .
or
x j + L j x i w , W i + W j l .
Mathematics 11 01912 i005Mathematics 11 01912 i006
x i + L i x j l , W i + W j w .
or
x i + L i x j w , W i + W j l .
Mathematics 11 01912 i007Mathematics 11 01912 i008
W i l , W j l , L i + L j w .
or
W i w , W j w , L i + L j l .
Mathematics 11 01912 i009Mathematics 11 01912 i010
Mathematics 11 01912 i011Mathematics 11 01912 i012
y j + W j y i l , L i + L j w .
or
y j + W j y i w , L i + L j l .
Mathematics 11 01912 i013Mathematics 11 01912 i014
y i + W i y j l , L i + L j w .
or
y i + W i y j w , L i + L j l .
Mathematics 11 01912 i015Mathematics 11 01912 i016
Table 2. The splitting results.
Table 2. The splitting results.
ConditionsSplitting Results
Case 1: LK = l or WK = w
L K = l , W K = w . Mathematics 11 01912 i0171 main space K1
W K = w , L K > l . Mathematics 11 01912 i0181 main space K1 and 1 main/subspace K4
L K = l , W K w . Mathematics 11 01912 i0191 main space K1 and 1 main/subspace K2
Case 2: LKl < Lmin or WKw < Wmin
L K l < L m i n , W K w < W m i n . Mathematics 11 01912 i0201 main space K1 and 2 subspaces K2 and K4
L K l L m i n , W K w < W m i n . Mathematics 11 01912 i0212 main spaces K1 and K4 and 1 subspace K2
L K l < L m i n , W K w W m i n . Mathematics 11 01912 i0222 main spaces K1 and K2 and 1 subspace K4
Case 3: LKlLmin and WKwWmin
S 2 S m i n , S 4 S m i n . Mathematics 11 01912 i0233 main spaces K1, K2, K4 and 1 main/subspace K3
S 2 S m i n , S 4 < S m i n . Mathematics 11 01912 i0242 main spaces K1, K2 and 1 main/subspace K4
S 2 < S m i n , S 4 S m i n . Mathematics 11 01912 i0252 main spaces K1, K4 and 1 main/subspace K2
S 2 < S m i n , S 4 < S m i n , S 2 > S 4 , S 2 + S 3 > S m i n . Mathematics 11 01912 i0262 main spaces K1, K2 and 1 subspace K4
S 2 < S m i n , S 4 < S m i n , S 2 < S 4 , S 3 + S 4 > S m i n . Mathematics 11 01912 i0272 main spaces K1, K4 and 1 subspace K2
S 2 < S m i n , S 4 < S m i n , S 2 + S 3 < S m i n , S 3 + S 4 < S m i n . Mathematics 11 01912 i0281 main space K1 and 2 subspaces K2, K4
Table 3. Merging the main spaces to limit spatial fragmentation.
Table 3. Merging the main spaces to limit spatial fragmentation.
ConditionsMerging Results
Spaces to MergeNew Spaces
W i = W j , y i = y j , x j = x i + L i . Mathematics 11 01912 i029 L K = L i + L j , W K = W i = W j , H K = H i = H j , x K = x i , y K = y i , z K = z i .
L i = L j , x i = x j , y j = y i + W i . Mathematics 11 01912 i030 L K = L i = L j , W K = W i + W j , H K = H i = H j , x K = x i , y K = y i , z K = z i .
Table 4. Merging the secondary spaces into main spaces.
Table 4. Merging the secondary spaces into main spaces.
ConditionsMerging Results
Spaces to MergeNew Spaces
L i L j , x i x j , y j = y i + W i . Mathematics 11 01912 i031Mathematics 11 01912 i032
L i L j , x i x j , y i = y j + W j . Mathematics 11 01912 i033Mathematics 11 01912 i034
W i W j , y i y j , x j = x i + L i . Mathematics 11 01912 i035Mathematics 11 01912 i036
W i W j , y i y j , x i = x j + L j . Mathematics 11 01912 i037Mathematics 11 01912 i038
Table 5. The packing results of different methods on the Zhao et al. [24] dataset.
Table 5. The packing results of different methods on the Zhao et al. [24] dataset.
MethodSpace Utilization (%)No. of Items
Proposed method51.712.7
Zhao et al. (trained on RS) [24]50.512.2
Zhao et al. (boundary rule) [24]34.98.7
Karabulut and İnceoğlu [25]43.110.6
Ha et al. [26]37.19.1
Table 6. The packing results with different bin sizes.
Table 6. The packing results with different bin sizes.
Bin Size
(L × W × H)
Space Utilization (%)No. of ItemsTime per Item
(ms)
Proposed MethodZhao et al. [24]
10 × 10 × 1051.750.512.70.04
20 × 20 × 2051.958.198.10.23
30 × 30 × 3060.549.0382.51.40
Table 7. The average percentage filled (%) of each bin in case of multibin packing.
Table 7. The average percentage filled (%) of each bin in case of multibin packing.
No. of Bins1st Bin2nd Bin3rd Bin4th Bin5th BinAverage
151.7 51.7
270.361.0 65.7
377.575.960.3 71.2
480.581.675.160.4 74.4
581.783.881.575.361.076.7
Table 8. The average number of items in each bin in case of multibin packing.
Table 8. The average number of items in each bin in case of multibin packing.
No. of Bins1st Bin2nd Bin3rd Bin4th Bin5th BinAverage
112.7 12.7
220.510.8 15.7
324.215.910.4 16.8
426.118.415.310.3 17.5
527.219.418.015.110.318.0
Table 9. The packing results for different bin sizes.
Table 9. The packing results for different bin sizes.
Case StudyItem Size
(l × w × h)
Bin Size
(L × W × H)
No. of ItemsPacking Results
195 × 75 × 20225 × 95 × 8012Mathematics 11 01912 i039
295 × 75 × 55150 × 95 × 1104Mathematics 11 01912 i040
395 × 60 × 75300 × 95 × 755Mathematics 11 01912 i041
4100 × 70 × 60100 × 70 × 3005Mathematics 11 01912 i042
590 × 75 × 7075 × 270 × 703Mathematics 11 01912 i043
6115 × 90 × 75230 × 90 × 752Mathematics 11 01912 i044
750 × 40 × 50250 × 80 × 5010Mathematics 11 01912 i045
885 × 55 × 7585 × 220 × 754Mathematics 11 01912 i046
925 × 70 × 80125 × 70 × 805Mathematics 11 01912 i047
1085 × 75 × 20300 × 85 × 6012Mathematics 11 01912 i048
1185 × 35 × 75210 × 85 × 756Mathematics 11 01912 i049
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.

Share and Cite

MDPI and ACS Style

Nguyen, T.-H.; Nguyen, X.-T. Space Splitting and Merging Technique for Online 3-D Bin Packing. Mathematics 2023, 11, 1912. https://doi.org/10.3390/math11081912

AMA Style

Nguyen T-H, Nguyen X-T. Space Splitting and Merging Technique for Online 3-D Bin Packing. Mathematics. 2023; 11(8):1912. https://doi.org/10.3390/math11081912

Chicago/Turabian Style

Nguyen, Thanh-Hung, and Xuan-Thuan Nguyen. 2023. "Space Splitting and Merging Technique for Online 3-D Bin Packing" Mathematics 11, no. 8: 1912. https://doi.org/10.3390/math11081912

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop