<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Solving the Problem of Packing Objects of Complex Geometric Shape into a Container of Arbitrary Dimension*</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Moscow State University of Technology «STANKIN»</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The article is devoted to algorithms developed for solving the problem of placement orthogonal polyhedrons of arbitrary dimension into a container. To describe all free areas of a container of complex geometric shape is applied the developed model of potential containers. Algorithms for constructing orthogonal polyhedrons and their subsequent placement are presented. The decomposition algorithm intended to reduce the number of orthogonal objects forming an orthogonal polyhedron is described in detail. The proposed placement algorithm is based on the application of intersection operations to obtain the areas of permissible placement of each considered object of complex geometric shape. Examples of packing sets of orthogonal polyhedrons and voxelized objects into containers of various geometric shapes are given. The effectiveness 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.</p>
      </abstract>
      <kwd-group>
        <kwd>Orthogonal Polyhedron</kwd>
        <kwd>Voxelized Object</kwd>
        <kwd>Packing Problem</kwd>
        <kwd>3D Printing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        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
microstructure of materials, active electronically scanned arrays generation and other
relevant problems [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1–5</xref>
        ]. All the packing problems including the classic orthogonal
packing problem are NP-hard [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] and require the use of heuristic [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] or metaheuristic
optimization algorithms [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref14">10–14</xref>
        ]. Therefore, it is important to develop effective
algorithms that provide good layout of objects at an acceptable time.
* Publication financially supported by RFBR grant №20-01-00547
      </p>
      <p>
        The use of polygonal modeling in describing the geometric shape of objects
requires 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 [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ]. 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
twodimensional or three-dimensional case, respectively) with a fixed position relative to
each other [
        <xref ref-type="bibr" rid="ref17 ref18 ref19 ref20">17–20</xref>
        ]. This approach makes it possible to solve the problems of packing
voxelized objects of complex geometric shape [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ].
      </p>
      <p>
        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
parallelepiped with the dimensions W 1;W 2;;W 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
wi1,k ; wi2,k ;; wiD,k , the position of which relative to each other is specified using
vectors zi1,k ; zi2,k ;; ziD,k  containing the coordinates of orthogonal objects in the local
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 [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ].
2
2.1
      </p>
      <p>Representation of Objects and Description of a Packing
Set-theoretic Operations for Working with Orthogonal Polyhedrons
To work with orthogonal polyhedron of arbitrary dimension, the set-theoretic
operations 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 ).</p>
      <p>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 .</p>
      <p>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 ok in
the set B ; otherwise, perform the cutting off procedure for all objects, and then place
the obtained objects in the set B .</p>
      <p>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.</p>
      <p>(a)
new orthogonal polyhedron, the points of which occupy a space that belongs
simultaneously to two original orthogonal polyhedrons (Figure 2).</p>
      <p>
        (a)
(b)
(b)
To describe a packing is used the developed model of potential containers [
        <xref ref-type="bibr" rid="ref23 ref24">23, 24</xref>
        ].
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
p1 ; ph2 ;; phD  containing its dimensions and a vector x1h ; xh2 ;; xhD  containing
h
coordinates of its point which is nearest to the origin of the container containing it.
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
necessary 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
potential container h into a set of smaller potential containers from two sets:
− a set of D potential containers with the
p1h ; ph2 ;; phd −1; xid − xhd ; phd +1;, phD  located in
the
dimensions
origin
x1h ; xh2 ;; xhd ;; xhD  of the potential container h produced under the
following conditions: xid  xhd and xid  xhd + phd
d  1,, D ;
−
a
set
      </p>
      <p>of
p1h ; ph2 ;; phd −1; xhd + phd − xid − wid ; phd +1;; phD  located at D points with
coordinates x1h ; xh2 ;; xhd −1; xid + wid ; xhd +1;; xhD  produced under the
following conditions: xid + wid  xhd and xid + wid  xhd + phd
d  1,, D.</p>
      <p>D
potential
containers
with
the
dimensions</p>
      <p>Figure 3 presents all new potential containers (gray) which are formed in a
threedimensional potential container after placing an orthogonal object inside it.
Sid = max (zid,k + wid,k ) , d  1,, D, k  1,, mi  .</p>
      <p>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
performed.</p>
      <p>Step 1. Create a set 0  0 of potential containers
h : d 1,, D: xhd  X id + Sid , where Si1, Si2 ,, SiD  denotes the overall
dimensions of a D -dimensional parallelepiped bounding the orthogonal polyhedron Oi :</p>
      <p>Step 2. Place an orthogonal polyhedron Oi in the specified position
X i1, X i2 ,, X iD  of a new identical empty container, as a result of which a set of</p>
      <p>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 .</p>
      <p>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.</p>
      <p>Step 4. Replace in the set 0 all potential containers that are also in the set 0
with potential containers from the set  .</p>
      <p>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
decomposition of a D -dimensional orthogonal polyhedron V into a set of large orthogonal
objects includes steps 1–6.</p>
      <p>Step 1. Create an empty D -dimensional orthogonal container 1 with the overall
dimensions W11,W12 ,,W1D  matching the dimensions of a D -dimensional
parallelepiped 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 .</p>
      <p>Step 2. Place the orthogonal polyhedron V into container 1.</p>
      <p>As a result in the container 1, a set of potential containers 1 with the overall
dimensions w1k1 , wk21 ,, wkD1 , k1  1 located at points p1k1 , pk21 ,, pkD1  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 .</p>
      <p>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).</p>
      <p>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 = pkd1 and wid = wkd1
d  1,, D, i = 1 1 . As a result in the container 2, a set of potential
containers 2 with the overall dimensions w1k2 , wk22 ,, wkD2 , k2  2 , located at points
p1k2 , pk22 ,, pkD2 , will be formed. The set 2 describes the space of container 2,
which belongs to the orthogonal polyhedron V .</p>
      <p>Step 5. Create a D -dimensional orthogonal polyhedron V  , consisting of
orthogonal objects with parameters matching the parameters of potential containers from the
container 2: zid = pkd2 and wid = wkd2 d  1,, D, i = 1 2 , so the orthogonal
polyhedron V  will contain the set of all orthogonal objects into which it can be
decomposed.</p>
      <p>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.</p>
      <p>Examples of decomposition of two-dimensional and three-dimensional orthogonal
polyhedrons are presented in Figure 4.</p>
      <p>To speed up the decomposition of a voxelized object, it is proposed to use a
twostage 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.</p>
      <p>(a)
wi1,k + wi1, j , wi2,k + wi2, j ,, wiD,k + wiD,j  located at a point  1 , zi2,k ,, ziD,k  under the
zi,k
conditions zid, j = zid, k , wid, j = wid, k</p>
      <p>d  d and zid, j = zid,k + wid,k . Replace in the
orthogonal polyhedron Oi the objects oi,k and oi, j with the object o . If there are no
objects oi,k and oi, j satisfying the above conditions in the orthogonal polyhedron Oi ,
then go to step 3, otherwise repeat step 2.</p>
      <p>Step 3. Set d := d +1 . If d  D then go to step 2.
(a)
Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 7</p>
      <p>Start
Select the first PC in the container</p>
      <p>as the current PC</p>
      <p>Is it possible to
place OP Oi entirely in
the current PC?</p>
      <p>Is it possible
to place the first object
from OP Oi in the
current PC?
yes</p>
      <p>A
yes
no
no
no
B
yes</p>
      <p>Were checked
all existing potential</p>
      <p>containers?
B</p>
      <p>Select the next PC as the
current PC</p>
      <p>Create OP Ui,1,
describing the area of
possible placement of
the first object inside the
current PC
k: 2, mi, 1
Define a set of PCs {P}
in which an object oi,k
can be placed
Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 9
(c)
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
constraints. 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.</p>
      <p>Examples of placement of orthogonal objects and orthogonal polyhedrons inside
containers of complex geometric shapes are presented in Figure 9.</p>
      <p>(a)
(b)
The developed algorithm for packing orthogonal polyhedrons was applied to solve
practical problems of rational placement of objects produced by 3D printing.</p>
      <p>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
(container) 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
manufacturing objects, and also reduces the equipment depreciation used.</p>
      <p>
        At present, the richest functionality for solving the problems of additive
manufacturing is provided by the software Materialise Magics (Materialise NV, Lovaine,
Belgium), which is used by the world's leading manufacturers of equipment for 3D
printing [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. The widespread recognition of this tool in the global market for additive
technologies explains its choice for a comparative analysis of the obtained results.
      </p>
      <p>
        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
between 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 [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] (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).
      </p>
      <p>Solving the Problem of Packing Objects of Complex Geometric Shape into a Container… 11
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
geometrically complex containers. This model allows switch from use the
timeconsuming 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.</p>
      <p>
        Unlike decomposition algorithms developed by other authors [
        <xref ref-type="bibr" rid="ref28 ref29 ref30">28–30</xref>
        ], the
proposed algorithm is described and programmatically implemented invariantly with
respect to the dimension of the problem to be solved. The developed algorithm
provides decomposition of orthogonal polyhedrons of arbitrary shape, including those
with holes or internal cavities. The developed decomposition algorithm of the
orthogonal polyhedrons provides an increase in the speed of placing voxelized objects by an
average of two orders of magnitude.
      </p>
      <p>The practical application of the developed algorithms is demonstrated by the
example 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.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wäscher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haußner</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumann</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>An improved typology of cutting and packing problems</article-title>
          .
          <source>European Journal of Operational Research</source>
          <volume>183</volume>
          (
          <issue>3</issue>
          ),
          <fpage>1109</fpage>
          -
          <lpage>1130</lpage>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bortfeldt</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wäscher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Constraints in container loading - A state-of-the-art review</article-title>
          .
          <source>European Journal of Operational Research</source>
          <volume>229</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Algorithms for management objects in orthogonal packing problems</article-title>
          .
          <source>ARPN Journal of Engineering and Applied Sciences</source>
          <volume>11</volume>
          (
          <issue>13</issue>
          ),
          <fpage>8436</fpage>
          -
          <lpage>8446</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Crainic</surname>
            ,
            <given-names>T.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perboli</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tadei</surname>
          </string-name>
          , R.:
          <article-title>Recent advances in multi-dimensional packing problems</article-title>
          . In: Volosencu,
          <string-name>
            <surname>C</surname>
          </string-name>
          . (ed.) New Technologies-Trends,
          <source>Innovations and Research</source>
          , pp.
          <fpage>99</fpage>
          -
          <lpage>110</lpage>
          . InTech (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mailloux</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santarelli</surname>
            ,
            <given-names>S.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roberts</surname>
            ,
            <given-names>T.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Irregular polyomino-shaped subarrays for space-based active arrays</article-title>
          .
          <source>International Journal of Antennas and Propagation</source>
          (
          <year>2009</year>
          ). https://doi.org/10.1155/
          <year>2009</year>
          /956524.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Garey</surname>
            ,
            <given-names>M</given-names>
          </string-name>
          , Johnson, D.:
          <article-title>Computers Intractability: a Guide to the Theory of NPcompleteness</article-title>
          . W.H.Freeman, San Francisco (
          <year>1979</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Johnson</surname>
            ,
            <given-names>D.S.:</given-names>
          </string-name>
          <article-title>A brief history of NP-completeness,</article-title>
          <year>1954</year>
          -
          <fpage>2012</fpage>
          . Documenta Mathematica Extra Volume ISMP,
          <fpage>359</fpage>
          -
          <lpage>376</lpage>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neuenfeldt</surname>
            ,
            <given-names>Júnior A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carravilla</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>A survey on heuristics for the two-dimensional rectangular strip packing problem</article-title>
          .
          <source>Pesquisa Operacional</source>
          <volume>36</volume>
          (
          <issue>2</issue>
          ),
          <fpage>197</fpage>
          -
          <lpage>226</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shang</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An efficient heuristic algorithm for arbitrary shaped rectilinear block packing problem</article-title>
          .
          <source>Computers &amp; Operations Research</source>
          <volume>37</volume>
          (
          <issue>6</issue>
          ),
          <fpage>1068</fpage>
          -
          <lpage>1074</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gao</surname>
            ,
            <given-names>Y.Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guan</surname>
            ,
            <given-names>H.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>Z.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>A multi-objective ant colony system algorithm for virtual machine placement in cloud computing</article-title>
          .
          <source>Journal of Computer and System Sciences</source>
          <volume>79</volume>
          (
          <issue>8</issue>
          ),
          <fpage>1230</fpage>
          -
          <lpage>1242</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Martinez</surname>
            ,
            <given-names>M.A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clautiaux</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dell'Amico</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iori</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Exact algorithms for the bin packing problem with fragile objects</article-title>
          .
          <source>Discrete Optimization</source>
          <volume>10</volume>
          (
          <issue>3</issue>
          ),
          <fpage>210</fpage>
          -
          <lpage>223</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kierkosz</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luczak</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A hybrid evolutionary algorithm for the two-dimensional packing problem</article-title>
          .
          <source>Central European Journal of Operations Research</source>
          <volume>22</volume>
          (
          <issue>4</issue>
          ),
          <fpage>729</fpage>
          -
          <lpage>753</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Development of the multimethod genetic algorithm for the strip packing problem</article-title>
          .
          <source>Applied Mechanics and Materials</source>
          <volume>598</volume>
          ,
          <fpage>377</fpage>
          -
          <lpage>381</lpage>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Design of library of metaheuristic algorithms for solving the problems of discrete optimization</article-title>
          . In: Evgrafov,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering</source>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          . Springer, Cham (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Stoyan</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Romanova</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pankratov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chugay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Optimized object packings using quasi-phi-functions . Optimized packings with applications</article-title>
          . In: Fasano,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pintér</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.)
          <source>Optimized Packings with Applications</source>
          , pp.
          <fpage>265</fpage>
          -
          <lpage>293</lpage>
          . Springer, Cham (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Packing irregular objects in 3D space via hybrid optimization</article-title>
          .
          <source>Computer Graphics Forum</source>
          <volume>37</volume>
          (
          <issue>5</issue>
          ),
          <fpage>49</fpage>
          -
          <lpage>59</lpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Alvarez-Valdes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carravilla</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          :
          <article-title>Cutting and packing</article-title>
          . In: Martí,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Panos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Resende</surname>
          </string-name>
          , M. (eds) Handbook of Heuristics, pp.
          <fpage>1</fpage>
          -
          <lpage>46</lpage>
          . Springer, Cham (
          <year>2018</year>
          ). https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -07153-4_
          <fpage>43</fpage>
          -
          <lpage>1</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Development of Algorithms for the Correct Visualization of Two-Dimensional and Three-Dimensional Orthogonal Polyhedrons</article-title>
          . In: Radionov,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Karandaev</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds) Advances in Automation.
          <source>RusAutoCon 2019. Lecture Notes in Electrical Engineering</source>
          , vol.
          <volume>641</volume>
          , pp.
          <fpage>891</fpage>
          -
          <lpage>900</lpage>
          . Springer, Cham (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Aldana-Galván</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Álvarez-Rebollar</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,„
          <string-name>
            <surname>Catana-Salazar</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marín-Nevárez</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Solís-Villarreal</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urrutia</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Velarde</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Beacon coverage in orthogonal polyhedra</article-title>
          .
          <source>In: 29th Canadian Conference on Computational Geometry (CCCG</source>
          <year>2017</year>
          ), pp.
          <fpage>166</fpage>
          -
          <lpage>171</lpage>
          . Ottawa (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Bournez</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maler</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pnueli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Orthogonal polyhedra: Representation and computation</article-title>
          . In: Vaandrager,
          <string-name>
            <surname>F.W.</surname>
          </string-name>
          , van Schuppen,
          <string-name>
            <surname>J.H</surname>
          </string-name>
          . (
          <article-title>eds) Hybrid Systems: Computation and Control</article-title>
          .
          <source>HSCC 1999. Lecture Notes in Computer Science</source>
          , vol.
          <volume>1569</volume>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>60</lpage>
          . Springer, Berlin, Heidelberg (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>De Korte</surname>
            ,
            <given-names>A.C.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brouwers</surname>
            ,
            <given-names>H.J.H.</given-names>
          </string-name>
          :
          <article-title>Random packing of digitized particles</article-title>
          .
          <source>Powder technology 233</source>
          ,
          <fpage>319</fpage>
          -
          <lpage>224</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Tolok</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tolok</surname>
            ,
            <given-names>N.B.</given-names>
          </string-name>
          :
          <article-title>Mathematical Programming Problems Solving by Functional Voxel Method</article-title>
          .
          <source>Automation and Remote Control</source>
          <volume>79</volume>
          (
          <issue>9</issue>
          ),
          <fpage>1703</fpage>
          -
          <lpage>1712</lpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Deleting objects algorithm for the optimization of orthogonal packing problems</article-title>
          . In: Evgrafov,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering</source>
          , pp.
          <fpage>27</fpage>
          -
          <lpage>35</lpage>
          . Springer, Cham (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>An efficient model for the orthogonal packing problem</article-title>
          . In: Evgrafov,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering</source>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>38</lpage>
          . Springer, Cham (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Algorithm for the Placement of Orthogonal Polyhedrons for the Cutting and Packing Problems</article-title>
          . In: Evgrafov,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Advances in Mechanical Engineering. Lecture Notes in Mechanical Engineering</source>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>48</lpage>
          . Springer, Cham (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Hällgren</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pejryd</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ekengren</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>3D data export for additive manufacturingimproving geometric accuracy</article-title>
          .
          <source>Procedia CIRP 50</source>
          ,
          <fpage>518</fpage>
          -
          <lpage>523</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chekanin</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Implementation of packing methods for the orthogonal packing problems</article-title>
          .
          <source>Journal of Theoretical and Applied Information Technology</source>
          <volume>88</volume>
          (
          <issue>3</issue>
          ),
          <fpage>421</fpage>
          -
          <lpage>430</lpage>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Durocher</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehrabi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Computing conforming partitions of orthogonal polygons with minimum stabbing number</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>689</volume>
          ,
          <fpage>157</fpage>
          -
          <lpage>168</lpage>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Biedl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Derka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Irvine</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lubiw</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mondal</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turcotte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Partitioning Orthogonal Histograms into Rectangular Boxes</article-title>
          . In:
          <string-name>
            <surname>Bender</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farach-Colton</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mosteiro</surname>
            <given-names>M</given-names>
          </string-name>
          . (eds.) LATIN 2018:
          <article-title>Theoretical Informatics</article-title>
          .
          <source>LATIN 2018. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10807</volume>
          , pp.
          <fpage>146</fpage>
          -
          <lpage>160</lpage>
          . Springer, Cham (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Floderus</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levcopoulos</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lingas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sledneu</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>3D rectangulations and geometric matrix multiplication</article-title>
          .
          <source>Algorithmica</source>
          <volume>80</volume>
          (
          <issue>1</issue>
          ),
          <fpage>136</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>