=Paper=
{{Paper
|id=Vol-2744/paper50
|storemode=property
|title=Solving the Problem of Packing Objects of Complex Geometric Shape into a Container of Arbitrary Dimension
|pdfUrl=https://ceur-ws.org/Vol-2744/paper50.pdf
|volume=Vol-2744
|authors=Vladislav Chekanin
}}
==Solving the Problem of Packing Objects of Complex Geometric Shape into a Container of Arbitrary Dimension==
Solving the Problem of Packing Objects of Complex Geometric Shape into a Container of Arbitrary Dimension* Vladislav Chekanin1[0000-0001-9448-0583] 1 Moscow State University of Technology «STANKIN», Moscow, Russia vladchekanin@rambler.ru Abstract. The article is devoted to algorithms developed for solving the prob- lem of placement orthogonal polyhedrons of arbitrary dimension into a contain- er. To describe all free areas of a container of complex geometric shape is ap- plied the developed model of potential containers. Algorithms for constructing orthogonal polyhedrons and their subsequent placement are presented. The de- composition algorithm intended to reduce the number of orthogonal objects forming an orthogonal polyhedron is described in detail. The proposed place- ment algorithm is based on the application of intersection operations to obtain the areas of permissible placement of each considered object of complex geo- metric shape. Examples of packing sets of orthogonal polyhedrons and voxelized objects into containers of various geometric shapes are given. The ef- fectiveness of application of all proposed algorithms is presented on an example of solving practical problems of rational placement of objects produced by 3D printing technology. The achieved layouts exceed the results obtained by the Sinter module of the software Materialise Magics both in speed and density. Keywords: Orthogonal Polyhedron, Voxelized Object, Packing Problem, 3D Printing. 1 Introduction The problem of packing objects of irregular geometric shape has a large number of practical applications in various fields, including cutting of industrial materials, layout of spaces (spaces of aircraft, ships and etc.), covering problems, modeling the micro- structure of materials, active electronically scanned arrays generation and other rele- vant problems [1–5]. All the packing problems including the classic orthogonal pack- ing problem are NP-hard [6, 7] and require the use of heuristic [8, 9] or metaheuristic optimization algorithms [10–14]. Therefore, it is important to develop effective algo- rithms that provide good layout of objects at an acceptable time. Copyright © 2020 for this paper by its authors. Use permitted under Creative Commons Li- cense Attribution 4.0 International (CC BY 4.0). * Publication financially supported by RFBR grant №20-01-00547 2 V. Chekanin The use of polygonal modeling in describing the geometric shape of objects re- quires the subsequent use of time-consuming algorithms for nonlinear programming when solving the problem of placing these objects using the hodograph of a vector function of dense placement [15, 16]. Due to the high computational complexity, nonlinear programming methods practically ineffective when increasing the number of packed objects. To solve the problem of packing objects of irregular geometric shape is proposed to present the objects as the orthogonal polyhedrons which combine non-overlapping orthogonal objects (rectangles or parallelepipeds in the two- dimensional or three-dimensional case, respectively) with a fixed position relative to each other [17–20]. This approach makes it possible to solve the problems of packing voxelized objects of complex geometric shape [21, 22]. We will consider the problem of placement orthogonal polyhedrons in the general D -dimensional case. A container is specified in the form of D -dimensional parallel- 1 epiped with the dimensions W ;W ;;W 2 D (the superscript in formulas means the number of the coordinate axis) as well as specified a set of n orthogonal polyhedrons Oi , i 1, , n, each of which consists of mi orthogonal objects in the form of D - dimensional parallelepipeds oi ,k , k 1,, mi with the dimensions w ; w ;; w , the position of which relative to each other is specified using vec- 1 i ,k 2 i ,k D i ,k tors z ; z ;; z containing the coordinates of orthogonal objects in the local 1 2 D i ,k i,k i,k coordinate system associated with each orthogonal polyhedron Oi . In the particular case, when all orthogonal polyhedrons consist of only one orthogonal object mi = 1 i 1, , n , the considered problem will be reduced to the classic D - dimensional orthogonal packing problem [1, 2]. 2 Representation of Objects and Description of a Packing 2.1 Set-theoretic Operations for Working with Orthogonal Polyhedrons To work with orthogonal polyhedron of arbitrary dimension, the set-theoretic opera- tions of addition and intersection were implemented. When performing operation of addition of orthogonal objects, the following sets of objects are used: A – the initial + set of objects, A – set of objects to which the addition operation is applied, B – an intermediate set of objects, C – the resulting set of orthogonal objects. The size of a set of objects is indicated as A (for a set A ). The operation of addition orthogonal objects (Figure 1) includes the following steps. + 1. Place all objects from the set A into the set A . Create sets B = , C = . + 2. Sort the set A in descending order of volumes (areas) of objects. 3. Include the first object o1 A + in the set C . Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 3 4. For each current object ok A+ (k = 2 A+ ) check for overlapping with the object o1 . If the objects do not overlap each other, then place the current object o k in the set B ; otherwise, perform the cutting off procedure for all objects, and then place the obtained objects in the set B . 5. Clear the set A+ . If the set B , then move all the objects from the set B to the set A+ , and then go to step 2. (a) (b) Fig. 1. The addition operation: (a) original objects; (b) result The result of the intersection operation of orthogonal polyhedrons O1 O2 is a new orthogonal polyhedron, the points of which occupy a space that belongs simulta- neously to two original orthogonal polyhedrons (Figure 2). (a) (b) Fig. 2. The intersection operation: (a) original objects; (b) result 2.2 Model of Potential Containers To describe a packing is used the developed model of potential containers [23, 24]. Under a potential container (PC) placed in a container at some its point is understood an imaginary orthogonal object with the largest possible dimensions that can be placed at this point without overlapping with any packed into the container object and edges of the container. Each potential container h is described with a vector p1h ; ph2 ;; phD containing its dimensions and a vector x1h ; xh2 ;; xhD containing coordinates of its point which is nearest to the origin of the container containing it. 4 V. Chekanin All existing free orthogonal spaces located in a container are described by a set of potential containers. When a new orthogonal object is put into a container it is neces- sary to verify the correctness of the placement. The model of potential containers guarantees the correct placement of an orthogonal object if it overlaps no borders of the potential container in which it is located. In this case when an object is put at some point of a container instead of checking on the intersection with all placed into the container objects is required to check only one condition of placement of this object entirely within the potential container, located at this point. This ensures a higher speed of formation the orthogonal packing. When an orthogonal object i with the dimensions wi1 ; wi2 ;; wiD is placed at a point xi1 ; xi2 ;; xiD it divides the po- tential container h into a set of smaller potential containers from two sets: − a set of D potential containers with the dimensions 1 2 d −1 d d ph ; ph ;; ph ; xi − xh ; phd +1 ;, phD located in the origin x ; x ;; x ;; x of the potential container h produced under the fol- 1 h 2 h d h D h lowing conditions: xid xhd and xid xhd + phd d 1, , D ; − a set of D potential containers with the dimensions 1 2 d −1 d ph ; ph ;; ph ; xh + phd − xid − wid ; phd +1 ;; phD located at D points with coordinates x ; x ;; x ; x + w ; x ;; x produced under the fol- 1 h 2 h d −1 h d i d i d +1 h D h lowing conditions: xid + wid xhd and xid + wid xhd + phd d 1, , D . Figure 3 presents all new potential containers (gray) which are formed in a three- dimensional potential container after placing an orthogonal object inside it. Fig. 3. New potential containers To update a set of potential containers after placing an orthogonal polyhedron Oi at the point X i1 , X i2 ,, X iD of a D -dimensional container, the free spaces of which are described by a set of potential containers 0 , the following algorithm is per- formed. Step 1. Create a set 0 0 of potential containers h : d 1,, D: xhd X id + Sid , where S i1 , S i2 ,, S iD denotes the overall dimen- sions of a D -dimensional parallelepiped bounding the orthogonal polyhedron Oi : ( ) S id = max z id, k + wid, k , d 1, , D , k 1, , mi . Step 2. Place an orthogonal polyhedron Oi in the specified position X , X ,, X of a new identical empty container, as a result of which a set of 1 i i 2 i D Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 5 potential containers will be formed in it. Placement of the orthogonal polyhedron is performed by sequentially placing of all its orthogonal objects oi ,k , k 1,, mi . Step 3. Apply the intersection operation to sets of potential containers 0 and to get a set of potential containers 0 = 0 that describes all free spaces of the original container in the area of the placed orthogonal polyhedron Oi . During the intersection operation, each set of potential containers is considered as an orthogonal polyhedron, consisting of orthogonal objects whose parameters coincide with the parameters of the corresponding potential containers. Step 4. Replace in the set 0 all potential containers that are also in the set 0 with potential containers from the set 0 . 2.3 Decomposition of Orthogonal Polyhedron To reduce the number of orthogonal objects forming an orthogonal polyhedron, a decomposition algorithm has been developed. The algorithm provides the decomposi- tion of a D -dimensional orthogonal polyhedron V into a set of large orthogonal objects includes steps 1–6. Step 1. Create an empty D -dimensional orthogonal container 1 with the overall dimensions W11 ,W12 ,,W1D matching the dimensions of a D -dimensional parallel- epiped bounding the original orthogonal polyhedron V ( W1d = S d , d 1,, D , where S d is the length of the packing measured along the axis d . Step 2. Place the orthogonal polyhedron V into container 1. As a result in the container 1, a set of potential containers 1 with the overall di- 1 1 1 1 1 1 mensions w1k , wk2 , , wkD , k1 1 located at points p1k , pk2 ,, pkD will be formed. The set of potential containers 1 describes the space of container 1, which does not belong to the placed orthogonal polyhedron V . Step 3. Create an empty D -dimensional orthogonal container 2 with the overall dimensions that match the overall dimensions of the container 1 ( W2d = W1d , d 1, , D ). Step 4. Place in the container 2 a set of D -dimensional orthogonal objects with parameters matching the parameters of potential containers from the container 1 (when placing objects, their mutual overlap is allowing): xid = pkd and wid = wkd 1 1 d 1,, D , i = 1 1 . As a result in the container 2, a set of potential contain- 2 2 2 ers 2 with the overall dimensions w1k , wk2 ,, wkD , k 2 2 , located at points p , p ,, p , will be formed. The set describes the space of container 2, 1 k2 2 k2 D k2 2 which belongs to the orthogonal polyhedron V . Step 5. Create a D -dimensional orthogonal polyhedron V , consisting of orthog- onal objects with parameters matching the parameters of potential containers from the container 2: z id = p kd and wid = wkd d 1,, D , i = 1 2 , so the orthogonal 2 2 6 V. Chekanin polyhedron V will contain the set of all orthogonal objects into which it can be de- composed. Step 6. Apply the addition operation to all orthogonal objects that are part of the orthogonal polyhedron V . As a result, an orthogonal polyhedron O will be obtained, consisting of the largest orthogonal objects that do not overlap each other. Examples of decomposition of two-dimensional and three-dimensional orthogonal polyhedrons are presented in Figure 4. To speed up the decomposition of a voxelized object, it is proposed to use a two- stage algorithm. At the first stage, the fast algorithm of objects clustering described below is applied, after which the developed decomposition algorithm is applied to the resulting orthogonal polyhedron. (a) (b) (c) (d) Fig. 4. Examples of decomposition of orthogonal polyhedrons: (a) original orthogonal polyhe- dron (1398 objects); (b) decomposed orthogonal polyhedron (72 objects); (c) original orthogo- nal polyhedron (2259 objects); (d) decomposed orthogonal polyhedron (308 objects) Algorithm of clustering a voxelized object O i includes three steps. Step 1. Set current axis number d := 1 . Step 2. For each pair of orthogonal objects oi, k Oi and oi , j Oi ( k , j Oi ) cre- ate a new orthogonal object o with overall dimensions w + w , w + w ,, w + w located at a point z , z ,, z under the 1 i,k 1 i, j 2 i,k 2 i, j D i,k D i, j 1 i,k 2 i,k D i,k d d d d conditions zi , j = zi , k , wi , j = wi , k d d and zi , j = zi , k + wi , k . Replace in the orthog- d d d onal polyhedron Oi the objects oi , k and oi , j with the object o . If there are no ob- jects oi , k and oi , j satisfying the above conditions in the orthogonal polyhedron O i , then go to step 3, otherwise repeat step 2. Step 3. Set d := d + 1 . If d D then go to step 2. Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 7 Figure 5 presents an example of clustering and decomposition of a voxelized ob- ject. The voxelized object was clustered in 0.03 s (Figure 5, d). Two-stage algorithm decomposes it in 6.45 s (Figure 5, e) while decomposition algorithm without cluster- ing spends 15.11 s. The computational experiments were carried out on a personal computer (Intel Core i5-8400 2.80 GHz, RAM 8.00 GB). (a) (b) (c) (d) (e) Fig. 5. Two-stage algorithm of decomposition of a voxelized object: (a) original orthogonal polyhedron (13238 objects); (b) clustered orthogonal polyhedron when d = 1 (2503 objects); (c) clustered orthogonal polyhedron when d = 2 (800 objects); (d) clustered orthogonal poly- hedron when d = 3 (521 objects); (e) decomposed orthogonal polyhedron (483 objects) 3 Placement of Orthogonal Polyhedrons Figure 6 presents the developed algorithm for packing orthogonal polyhedrons of arbitrary dimension into a container. This algorithm is based on the creation of orthogonal polyhedrons that determine the possible placement areas for each object of complex shape. To reduce the com- plexity of the block diagram, in Figure 6 is presented a part of the algorithm which provides placing of an orthogonal polyhedron inside only one current container. Algo- rithm for packing orthogonal polyhedrons in a set of containers in presented in the paper [25]. The steps for sequentially determining the region of possible placement of an or- thogonal polyhedron in a given potential container are shown in Figure 7. The final orthogonal polyhedron is obtained after application the intersection operation to all orthogonal polyhedrons describing areas of possible placement: U i = U i ,1 U i , 2 U i ,3 U i , 4 . 8 V. Chekanin Start Select the first PC in the container as the current PC Is it possible to yes place OP Oi entirely in A the current PC? Create OP Ui,1, describing the area of Select the no possible placement of point of the OP the first object inside the Ui which is current PC closest to the Is it possible yes origin of the to place the first object k: 2, mi, 1 container for from OP Oi in the placing OP Oi current PC? no Define a set of PCs {P} Search for a in which an object oi,k PC to place the can be placed OP Oi entirely yes Were checked closer to the B all existing potential Create OP Ui,k, origin of the containers? describing the areas of container possible placement of OP, composed with no Shift the OP Oi objects o1 and ok, in the closer to the coordinate system of the Select the next PC as the origin of the current PC when the set current PC container of PCs {P} to place the object oi,k is used A Create OP Ui as a result of intersection of all OP Place the OP Ui,k (k=1…mi) Oi in the found position no Is the OP Ui yes not empty? B End Fig. 6. Algorithm of placing an orthogonal polyhedron (OP) Oi in a container Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 9 (a) (b) (c) (d) (e) Fig. 7. Determining the area of possible placement of an orthogonal polyhedron (filled with a gradient fill) for the current potential container located in the upper left corner of the container: (a) Ui,1; (b) Ui,2; (c) Ui,3; (d) Ui,4; (e) resulting placement area Ui To convert a container represented in the form of a D -dimensional parallelepiped into an orthogonal polyhedron, it is proposed to place a set of fictitious orthogonal objects in it that are combined into one orthogonal polyhedron of geometric con- straints. Figure 8 shows a set of constraints that transform a rectangular container into an ellipse, as well as the result of packing various objects into it. Examples of placement of orthogonal objects and orthogonal polyhedrons inside containers of complex geometric shapes are presented in Figure 9. (a) (b) Fig. 8. Container in the form of ellipse: (a) original container with geometric constraints; (b) placement of objects in the container 10 V. Chekanin (a) (b) Fig. 9. Packing of objects in a container of complex geometric shape: (a) waste-free packing of parallelepipeds in a cone; (b) compact placement of balls in a sphere 4 Solving the Layout Problem The developed algorithm for packing orthogonal polyhedrons was applied to solve practical problems of rational placement of objects produced by 3D printing. Solving the problem of optimizing the layout of objects is of great importance in additive technologies, since it can significantly reduce the consumption of material, reduce the time spent on preparing the layout of objects inside the platform (contain- er) of a 3D printer, as well as the time spent on their direct manufacture. The use of denser layouts additionally leads to a reduction in energy costs in the process of man- ufacturing objects, and also reduces the equipment depreciation used. At present, the richest functionality for solving the problems of additive manufac- turing is provided by the software Materialise Magics (Materialise NV, Lovaine, Bel- gium), which is used by the world's leading manufacturers of equipment for 3D print- ing [26]. The widespread recognition of this tool in the global market for additive technologies explains its choice for a comparative analysis of the obtained results. We consider a three-dimensional container with the following parameters: length: 340 mm, width: 340 mm, height: 620 mm, the gap from the bottom of the container is 9 mm, the gap from the side faces of the container is 10 mm, minimum distance be- tween placed objects is 6 mm. Objects can be rotated by multiples of 90 when placed. Figure 10 (a) shows the best solution obtained by the Sinter module of the software Materialise Magics, version 23.0.1.19 (packing height: 318.0 mm, solution time: 300 seconds). The packing consists of 100 objects of 8 different types specified in STL format. To solve this problem, using the developed placement algorithm, all objects were voxelized and decomposed. Figure 10 (b) presents the denser placement of orthogonal polyhedrons found by the developed software Packer [27] (packing height: 298.4 mm, solution time: 96 seconds). Based on the found solution, a 3D printing layout was built, it is shown in Figure 10 (c). Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 11 (a) (b) (c) Fig. 10. Placement of irregular objects at a given minimum distance from each other: (a) the best placement obtained by Materialise Magics; (b) dense placement of orthogonal polyhedrons (decomposed voxelized objects) obtained by the developed algorithms; (c) layout for 3D print- ing in Materialise Magics based on the found placement of orthogonal polyhedrons 5 Conclusion Using the developed model of potential containers to describe the free spaces inside a container, it is possible to obtain the best area for placing irregular objects inside ge- ometrically complex containers. This model allows switch from use the time- consuming nonlinear programming methods (which are applied for placing objects specified by polygonal modeling, the practical application of which is limited only by the small size of the problem) to methods developed for placing voxelized objects. Unlike decomposition algorithms developed by other authors [28–30], the pro- posed algorithm is described and programmatically implemented invariantly with respect to the dimension of the problem to be solved. The developed algorithm pro- vides decomposition of orthogonal polyhedrons of arbitrary shape, including those with holes or internal cavities. The developed decomposition algorithm of the orthog- onal polyhedrons provides an increase in the speed of placing voxelized objects by an average of two orders of magnitude. The practical application of the developed algorithms is demonstrated by the ex- ample of solution the layout problem of objects produced by 3D printing. The found solution exceeds the best solution obtained by the software Materialise Magics both in terms of speed and packing dense. 12 V. Chekanin References 1. Wäscher, G., Haußner, H., Schumann, H.: An improved typology of cutting and packing problems. European Journal of Operational Research 183(3), 1109–1130 (2007). 2. Bortfeldt, A., Wäscher, G.: Constraints in container loading - A state-of-the-art review. European Journal of Operational Research 229(1), 1–20 (2013). 3. Chekanin, V.A., Chekanin, A.V.: Algorithms for management objects in orthogonal pack- ing problems. ARPN Journal of Engineering and Applied Sciences 11(13), 8436–8446 (2016). 4. Crainic, T.G., Perboli, G., Tadei, R.: Recent advances in multi-dimensional packing prob- lems. In: Volosencu, C. (ed.) New Technologies–Trends, Innovations and Research, pp. 99–110. InTech (2012). 5. Mailloux, R.J., Santarelli, S.G., Roberts, T.M., Luu, D.: Irregular polyomino-shaped subar- rays for space-based active arrays. International Journal of Antennas and Propagation (2009). https://doi.org/10.1155/2009/956524. 6. Garey, M, Johnson, D.: Computers Intractability: a Guide to the Theory of NP- completeness. W.H.Freeman, San Francisco (1979). 7. Johnson, D.S.: A brief history of NP-completeness, 1954–2012. Documenta Mathematica Extra Volume ISMP, 359–376 (2012). 8. Oliveira, J.F., Neuenfeldt, Júnior A., Silva, E., Carravilla, M.A.: A survey on heuristics for the two-dimensional rectangular strip packing problem. Pesquisa Operacional 36(2), 197– 226 (2016). 9. Chen, D., Liu, J., Fu, Y., Shang, M.: An efficient heuristic algorithm for arbitrary shaped rectilinear block packing problem. Computers & Operations Research 37(6), 1068–1074 (2010). 10. Gao, Y.Q., Guan, H.B., Qi, Z.W., Hou, Y., Liu, L.: A multi-objective ant colony system algorithm for virtual machine placement in cloud computing. Journal of Computer and System Sciences 79(8), 1230–1242 (2013). 11. Martinez, M.A.A., Clautiaux, F., Dell’Amico, M., Iori, M.: Exact algorithms for the bin packing problem with fragile objects. Discrete Optimization 10(3), 210–223 (2013). 12. Kierkosz, I., Luczak, M.: A hybrid evolutionary algorithm for the two-dimensional pack- ing problem. Central European Journal of Operations Research 22(4), 729–753 (2014). 13. Chekanin, V.A., Chekanin, A.V.: Development of the multimethod genetic algorithm for the strip packing problem. Applied Mechanics and Materials 598, 377–381 (2014). 14. Chekanin, V.A., Chekanin, A.V.: Design of library of metaheuristic algorithms for solving the problems of discrete optimization. In: Evgrafov, A. (eds.) Advances in Mechanical En- gineering. Lecture Notes in Mechanical Engineering, pp. 25–32. Springer, Cham (2018). 15. Stoyan, Y., Romanova, T., Pankratov, A., Chugay, A.: Optimized object packings using quasi-phi-functions . Optimized packings with applications. In: Fasano, G. Pintér, J. (eds.) Optimized Packings with Applications, pp. 265–293. Springer, Cham (2015). 16. Ma, Y., Chen, Z., Hu, W., Wang, W.: Packing irregular objects in 3D space via hybrid op- timization. Computer Graphics Forum 37(5), 49–59 (2018). 17. Alvarez-Valdes, R., Carravilla, M.A., Oliveira, J.F.: Cutting and packing. In: Martí, R., Panos, P., Resende, M. (eds) Handbook of Heuristics, pp. 1–46. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-07153-4_43-1. 18. Chekanin, V.A., Chekanin, A.V.: Development of Algorithms for the Correct Visualiza- tion of Two-Dimensional and Three-Dimensional Orthogonal Polyhedrons. In: Radi- onov, A., Karandaev, A. (eds) Advances in Automation. RusAutoCon 2019. Lecture Notes in Electrical Engineering, vol. 641, pp. 891–900. Springer, Cham (2020). Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 13 19. Aldana-Galván, I., Álvarez-Rebollar, J.L.,„ Catana-Salazar, J.C., Marín-Nevárez, N., Sol- ís-Villarreal, E., Urrutia, J., Velarde, C.: Beacon coverage in orthogonal polyhedra. In: 29th Canadian Conference on Computational Geometry (CCCG 2017), pp. 166–171. Ot- tawa (2017). 20. Bournez, O., Maler, O., Pnueli, A.: Orthogonal polyhedra: Representation and computa- tion. In: Vaandrager, F.W., van Schuppen, J.H. (eds) Hybrid Systems: Computation and Control. HSCC 1999. Lecture Notes in Computer Science, vol. 1569, pp. 46–60. Springer, Berlin, Heidelberg (1999). 21. De Korte, A.C.J., Brouwers, H.J.H.: Random packing of digitized particles. Powder tech- nology 233, 319–224 (2013). 22. Tolok, A.V., Tolok, N.B.: Mathematical Programming Problems Solving by Functional Voxel Method. Automation and Remote Control 79(9), 1703–1712 (2018). 23. Chekanin, V.A., Chekanin, A.V.: Deleting objects algorithm for the optimization of or- thogonal packing problems. In: Evgrafov, A. (eds.) Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering, pp. 27–35. Springer, Cham (2017). 24. Chekanin, V.A., Chekanin, A.V.: An efficient model for the orthogonal packing problem. In: Evgrafov, A. (eds.) Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering, pp. 33–38. Springer, Cham (2015). 25. Chekanin, V.A., Chekanin, A.V.: Algorithm for the Placement of Orthogonal Polyhedrons for the Cutting and Packing Problems. In: Evgrafov, A. (eds.) Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering, pp. 41–48. Springer, Cham (2020). 26. Hällgren, S., Pejryd, L., Ekengren, J.: 3D data export for additive manufacturing- improving geometric accuracy. Procedia CIRP 50, 518–523 (2016). 27. Chekanin, V.A., Chekanin, A.V.: Implementation of packing methods for the orthogonal packing problems. Journal of Theoretical and Applied Information Technology 88(3), 421–430 (2016). 28. Durocher, S., Mehrabi, S.: Computing conforming partitions of orthogonal polygons with minimum stabbing number. Theoretical Computer Science 689, 157–168 (2017). 29. Biedl, T., Derka, M., Irvine, V., Lubiw, A., Mondal, D., Turcotte, A.: Partitioning Orthog- onal Histograms into Rectangular Boxes. In: Bender M., Farach-Colton M., Mosteiro M. (eds.) LATIN 2018: Theoretical Informatics. LATIN 2018. Lecture Notes in Computer Science, vol. 10807, pp. 146–160. Springer, Cham (2018) 30. Floderus, P., Jansson, J., Levcopoulos, C., Lingas, A., Sledneu, D.: 3D rectangulations and geometric matrix multiplication. Algorithmica 80(1), 136–154 (2018).