Regular packing of congruent polygons on the rectangular sheet

European Journal of Operational Research 113 (1999) 653±675
Theory and Methodology
Regular packing of congruent polygons on the rectangular sheet
Yu. G. Stoyan *, A.V. Pankratov
Ukrainian Academy of Sciences, Institute for Problems in Machinery, 2/10 Pozharsky Str., Kharkov-46, 310046, Ukraine
Received 12 June 1997; accepted 3 December 1997
Abstract
This paper deals with the problem of searching for the fragment of dense lattice (dense double lattice) packing of
congruent polygons on the rectangular sheet which is optimal by the dense factor. In doing so we consider only those
packings for which the polygons form rows (columns) parallel to one of the sheet sides. The problem arises in many
branches of industry in particular in footwear industry. The mathematical model of the problem is built. Simpli®cation
of the mathematical model, reducing of the problem dimensionality and its decomposition on a number of independent
subproblems is done on the basis of analysis of the properties of the mathematical model. The approximate method to
solve the problem is suggested. The example of solving of the real problem is given. Ó 1999 Elsevier Science B.V. All
rights reserved.
Keywords: Modeling; Cutting; Packing; Optimization
1. Introduction
1.1. Problem statement
The rectangular sheet packing (cutting) is called a regular one if the pieces landed in it form a fragment
of some single lattice packing (Fig. 1(a)) or double lattice packing (Fig. 1(b)). We shall be restricted by the
case of pieces which can be represented as polygons i.e. point subsets the arithmetic Euclidean space R2
homeomorphic to a nonempty circle and having a piecewise linear frontier.
Problem statement: Let there be a rectangular sheet of material having the size A B and a polygonal
piece. It is required to ®nd a regular cutting of the sheet on the congruent polygonal pieces (in what follows
polygons) which provides the optimal dense factor.
Thus the objective is to ®nd a way of packing identical copies using regular patterns allowing just two
orientations.
*
Corresponding author. Tel.: (0572)94-29-64; fax: (0572)94-46-35.
0377-2217/99/$ ± see front matter Ó 1999 Elsevier Science B.V. All rights reserved.
PII: S 0 3 7 7 - 2 2 1 7 ( 9 8 ) 0 0 0 5 0 - 2
654
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 1. Examples of single lattice packing: (a) and double lattice packing (b) of rectangular sheet.
1.2. Related works
A great number of papers have devoted various aspects of the problem of optimal packing of the given
set of objects in the bounded domains. As a rule, because of the cumbersome calculations and the complexity of formalization the mathematical models of these problems are frequently simpli®ed and so they
are approximately solved [1±4,14±17,19,21,22]. The methods of the exact solution for some types of the
above mentioned problems appeared only recently [23]. The bibliography of scienti®c publications considering mathematical models construction and development of the methods of the solution of the packing
(cutting) problems is given in [5,6,28]. These publications show the contemporary level of investigations in
the ®eld of irregular packing.
Many authors pay much attention to the problems of optimal packing of the plane. Lattice packings of
geometric objects were considered by Minkovsky [18], Feies Tot [7], Rogers [20], Stoyan [24,25] and Fesenko [8±10]. Packings being exact coverings and their connection with Fyodorov's crystallographic groups
[11,12] were investigated in the works of Heesch [13]. The problem of searching for the optimal regular
(single-row, multi-row and lattice [20]) packings of geometric objects were considered by Stoyan [21,24,25]
and Fesenko [8,10]. Double lattice packing for two sets of polygons, one of them being obtained by the
rotation of the other polygon about the angle p, was considered in [26].
Apart from these two basic trends of investigations the class of intermediate problems may be selected
which are of practical and theoretical interest. To such problems there relates the problem of sheet cutting
onto a great number of equal details (up to some hundreds of details). On the one hand, a great number of
equal details is advantageous for regular cutting (lattice packings) and on the other hand, since the
placement domain is bounded, we have to take into account the conditions of object landing in the sheet
that makes the mathematical model much more complex and requires the working out special methods to
solve it. The approach adopted in this work for solving the problem of optimal lattice packing of congruent
oriented polygons on the rectangular sheet is based on the use of the U-function apparatus [23,27] as well as
on the properties of lattice packings investigated in [8,10]. Methods of construction of 0-level surface of the
U-function proposed in [14] are used when obtaining lattice packings.
1.3. Results
The statement of the problem of regular cutting of the rectangular sheet is formulated and its mathematical model is built. The ecient method to solve it is suggested.
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
655
The paper is organized as follows. The basic de®nitions used in this paper are given and a set of bases of
dense lattice packing of the polygon built on the plane are described in Section 2. A set of bases of dense
lattice packings of the given polygon built on the sheet is considered in Section 3. Additional restrictions of
technological nature on the basis of regular packings are analyzed and a set of bases of dense lattice
packings satisfying these restrictions is chosen in Section 4. The mathematical model of problem is formulated, its properties are studied and the approximate method of its solution is suggested in Section 5.
Some examples are also given here.
2. Lattices and lattice packings in R2
Since lattices and lattice packings are the basis of the problem being studied, let us consider these notions
in detail. The set of vectors
r ˆ na1 ‡ ma2 ;
n; m 2 Z
…1†
2
(where a1 ˆ …a1x ; a1y †; a2 ˆ …a2x ; a2y † 2 R are linearly independent and Z ˆ f0; 1; 2; . . .g is the set of
integers) is called the lattice with the basis a1 ; a2 and it is designated as L ˆ K…a1 ; a2 †…K is the operator
mapping a set of pairs of vectors at a set of families of the type (1)) [20]. The pair W ˆ …L; L ‡ b† of two
lattices L and L ‡ b; b ˆ …bx ; by † where L ‡ b is the translation of the L onto the vector b, is called a double
lattice.
Let there be a polygon Si . As it is known its position in R2 is characterized by three parameters xi ; yi ; #i
where …xi ; yi † ˆ vi are the coordinates of the polygons eigen coordinate system origin, #i is the angle of the
eigen coordinate system rotation with respect to the ®xed coordinate system. The parameters ui ˆ …vi ; #i †
are called the object Si placement parameters. And we designate the polygon Si with its placement parameters ui ˆ …vi ; #i † as Si …ui † ˆ Si …ui † ˆ Si …0; #i † ‡ vi .
The set of values of the parameters u1 and u2 of two polygons S1 and S2 generates the arithmetic
Euclidean space R6 , i.e. x ˆ …u1 ; u2 † ˆ …v1 ; #1 ; v2 ; #2 † ˆ …x1 ; y1 ; #1 ; x2 ; y2 ; #2 † 2 R6 . Consider the function
U12 …u1 ; u2 † ˆ U12 …v1 ; #1 ; v2 ; #2 †;
determined on this space and possessing the following characteristic properties [27]:
U12 …u1 ; u2 † > 0;
…2†
if Cl S1 …u1 † \ Cl S2 …u2 † ˆ ;;
U12 …u1 ; u2 † ˆ 0;
…3†
if Cl S1 …u1 † \ Cl S2 …u2 † 6ˆ ; and Int S1 …u1 † \ Int S2 …u2 † ˆ ;;
U12 …u1 ; u2 † < 0;
…4†
if Cl S1 …u1 † \ Cl S2 …u2 † 6ˆ ;; where Cl S is the closure of S and Int S is the interior of S.
De®nition 1. Any continuous everywhere de®ned function in R6 , satisfying the properties (2)±(4), is
U-function and the surface c012 , de®ned by the equation U12 …v1 ; #1 ; v2 ; #2 † ˆ 0 is the surface of U-function
0-level [27].
Thus U-function is a measure of whether two objects are overlapping, touching or nonoverlapping in
any way and 0-level surface of U-function is set of placement parameters v1 ; #1 ; v2 ; #2 such that objects
S1 …v1 ; #1 † and S2 …v2 ; #2 † touch (Fig. 2). We denote by c0
12 the 0-level surface of U-function, de®ned by the
656
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 2. Mutual placements of objects and appropriate values of their U-functions.
equation U12 …0; 0; v2 ; 0† ˆ 0 and C0
12 the set of parameters de®ned by inequality U12 …0; 0; v2 ; 0† 6 0: As
0
known from [23] the set C0
12 is a polygon and c12 is its bound when S is a polygon. Thus we can write
0
0
0
0
C12 …v; #† and c12 …v; #† where C12 …v; #† ˆ C12 …0; #† ‡ v and c0
12 …0; #† ‡ v:
We also use normalized U-function for two polygons possessing in particular the following properties:
1. U12 …v1 ‡ v; #1 ; v2 ‡ v; #2 † ˆ U12 …v1 ; #1 ; v2 ; #2 †;
2. If S1 and S2 are congruent and interoriented, i.e. S1 …0; 0† ˆ S2 …0; 0†, then
U12 …v1 ; # ‡ p; v2 ; # ‡ p† ˆ U12 …v1 ; #; v2 ; #†;
U12 …0; #; v2 ; #† ˆ U12 …0; #; ÿv2 ; #†;
3. When S1 …u1 † ˆ S3 …u3 † [ S4 …u4 † and S2 …u2 † ˆ S5 …u5 † [ S6 …u6 † then:
U12 …u1 ; u2 † P 0 implies Uij …ui ; uj † P 0; i ˆ 3; 4; j ˆ 5; 6; i.e. Int S1 …u1 † \ Int S2 …u2 † ˆ ; implies
Int S3 …u3 † \ Int S5 …u5 † ˆ ;, Int S3 …u3 † \ Int S6 …u6 † ˆ ;, Int S4 …u4 † \ Int S5 …u5 † ˆ ;, Int S4 …u4 †\ Int S6 …u6 †
ˆ ; (in other words Int Si …ui † \ Int Sj …uj † ˆ ;, i ˆ 3; 4; j ˆ 5; 6†;
U12 …u1 ; u2 † ˆ 0 implies that Uij …ui ; uj † P 0; i ˆ 3; 4; j ˆ 5; 6; and there exists such i1 2 f3; 4g; j1 2 f5; 6g,
that Ui1 j1 …ui1 ; uj1 † ˆ 0; i.e. Cl S1 …u1 † \ Cl S2 …u2 † 6ˆ ; and Int S1 …u1 † \ Int S2 …u2 † ˆ ; implies that
Int Si …ui † \ Int Sj …uj † ˆ ;, i ˆ 3; 4; j ˆ 5; 6; and at least one of four equalities Cl Si …ui † \ Cl Sj …uj † 6ˆ ;,
i ˆ 3; 4; j ˆ 5; 6; is true;
c012 2 c035 [ c036 [ c045 [ c046 :
De®nition 2. A set of polygons Si ; i 2 Z, where Z is the set of integers, forms a packing on the plane if
Int Si …ui † \ Int Sj …uj † ˆ ; (i.e. Uij …ui ; uj † P 0† for any pair Si …ui †; Sj …uj † when i 6ˆ j [22].
In what follows we denote the packing of polygons Si ; i 2 Z by fSi g.
De®nition 3. The packing fSij g; Sij ˆ S…ia1 ‡ ja2 ; #† ˆ S…0; 0† ‡ ia1 ‡ ja2 ; i; j 2 Z, is called a lattice packing
of the polygon S generated by the basis …a1 ; a2 † of the lattice L ˆ K…a1 ; a2 † [20].
We denote such packing by …S; L†.
1
g; i; j; k; l 2 Z; Sijq ˆ S q …ia1 ‡ ja2 ‡ qb; 0† ˆ S q …0; 0† ‡ ia1 ‡ ja2 ‡
De®nition 4. The packing fSij0 g [ fSkl
qb; q ˆ 0; 1 is called a double lattice packing of the polygons S 0 ; S 1 , generated by the basis …a1 ; a2 ; b† of
the double lattice W ˆ K…a1 ; a2 ; b† [20].
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
657
Let us designate a double lattice packing of the polygons S 0 ; S 1 generated by the double lattice
W ˆ K…a1 ; a2 ; b† as …S 0 ; S 1 ; W †.
De®nition 5. A lattice packing …S; L† in which S00 \ S01 6ˆ ;; S00 \ S10 6ˆ ; and hence S00 \ S0;ÿ1 6ˆ ;;
S00 \ Sÿ1;0 6ˆ ; is called a dense lattice packing with respect to its basis …a1 ; a2 †. In this case the polygon S00
(and hence each polygon) is in contact with at least four neighbor polygons (Fig. 3(a)).
De®nition 6. A double lattice packing …S 0 ; S 1 ; K…a1 ; a2 ; b†† of the polygons S 0 ; S 1 in which S 0 \ S 1 …b† 6ˆ ; and
there exists a dense lattice packing …S 0 [ S 1 …b†; L† is called a dense double lattice packing (Fig. 3(b)).
We denote by L …S† the set of all lattice bases generating corresponding lattice packings of object S…0; 0†:
This set has the form
L …S† ˆ f…a1 ; a2 † j U12 …0; 0; a1 ‡ a2 ; 0† P 0; U12 …0; 0; ÿa1 ‡ a2 ; 0† P 0; a1 ; a2 2 c0
12 g:
In another words, L …S† is a set of vector pairs …a1 ; a2 † such that pairs of polygons S…0; 0†; S…a1 ‡ a2 ; 0†
and S…0; 0†; S…ÿa1 ‡ a2 ; 0† do not overlap and pairs of polygons S…0; 0†; S…a1 ; 0† and S…0; 0†; S…a2 ; 0†
touch.
The way of constructing of basis …a1 ; a2 † 2 L …S† follows immediately from this de®nition. Let a1 be
0
arbitrary vector belonging c0
12 (Fig. 4). Then a2 is arbitrary vector belonging c12 provided that the origin
0
0
…0; 0† does not belong the sets C12 …a1 ‡ a2 ; 0† and C12 …ÿa1 ‡ a2 ; 0† that is U12 …0; 0; a1 ‡ a2 ; 0† P 0 and
U12 …0; 0; ÿa1 ‡ a2 ; 0† P 0, respectively. For example we may choose one of the points of intersection
0
0 1
c0
12 …0; 0† \ c12 …a1 ; 0† as point a2 : We denote W …S ; S † the set of all double lattice bases generating appropriate dense double lattice packings of the objects S 0 and S 1 :
It follows from the De®nitions 5 and 6 that a dense double lattice packing may be considered as the
0
1
dense lattice packing of the object S b ˆ S 0 [ S 1 …b† where b 2 c0
12 (i.e. the union of S and S …b† is considered
b
as one object S †.
Thus, the set W …S 0 ; S 1 † may be represented as
b
W …S 0 ; S 1 † ˆ f…b; a1 ; a2 † j b 2 c0
12 ; …a1 ; a2 † 2 L …S †g:
We may construct the bases …b; a1 ; a2 † 2 W …S 0 ; S 1 † in the similar manner.
Fig. 3. Examples of dense single lattice packing (a) and dense double lattice packing (b).
658
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 4. Way of construction of basis vectors a1 and a2 .
3. Lattice packings onto the sheet
When considering lattice packings of the objects on the sheet (generally speaking in any bounded region)
it is necessary to take into account one more parameter # which is the angle of the lattice rotation with
respect to the sheet.
The set L# …S† for all lattice bases corresponding to dense lattice packings of the object S…0; #† on the
sheet may be written as
L# …S† ˆ f…a1 ; a2 † j U12 …0; #; a1 ‡ a2 ; #† P 0; U12 …0; #; ÿa1 ‡ a2 ; #† P 0; a1 ; a2 2 c012 g
…5†
where c012 ˆ c0
12 …0; #† is the surface of U-function 0-level, de®ned by the equation U12 …0; #; v2 ; #† ˆ 0:
The set of all double lattice bases corresponding to dense double lattice packings of the objects
S 0 ˆ S 0 …0; #† and S 1 ˆ S 1 …0; #† on the sheet is represented as
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
W# …S 0 ; S 1 † ˆ f…b; a1 ; a2 † j b 2 c012 ; …a1 ; a2 † 2 L# …S b †g:
659
…6†
4. Additional constraints imposed on lattice packing basis onto the sheet
In what follows we shall consider only double lattice packings satisfying the condition
S 1 …0; #† ˆ S 0 …0; # ‡ p†. So object S is represented as S 0 …0; #† [ S 0 …0; # ‡ p†:
Normalized U-function properties (2), (3) being taken into account the constraints U12 …0; #; a; #† P 0
and a 2 c012 can be rearranged as U00 …0; #; a; #† P 0, U11 …0; #; a; #† P 0, U01 …0; #; a ‡ b; #† P 0, U01 …0; #; b; #†
P 0 and a1 2 c000 or a1 2 c011 or a1 ‡ b 2 c001 or b ÿ a1 2 c001 where Uij …vi ; #; vj ; #† is U-function of objects
S i …vi ; #† and S j …vj ; #†; c0ij is 0-level surface of the function, i; j ˆ 0; 1:
In so doing the constraints imposed on the bases in relation (6) can be transformed as follows:
W# …S 0 ; S 1 † ˆ f…a1 ; a2 ; b† j b 2 c001 ; U00 …0; #; a1 ‡ a2 ; #† P 0; U11 …0; #; a1 ‡ a2 ; #† P 0;
U01 …0; #; a1 ‡ b ‡ a2 ; #† P 0; U01 …0; #; ÿa1 ‡ b ÿ a2 ; #† P 0; U00 …0; #; ÿa1 ‡ a2 ; #† P 0;
U11 …0; #; ÿa1 ‡ a2 ; #† P 0; U01 …0; #; a1 ‡ b ÿ a2 ; #† P 0; U01 …0; #; ÿa1 ‡ b ‡ a2 ; #† P 0;
U00 …0; #; a1 ; #† P 0; U11 …0; #; a1 ; #† P 0; U01 …0; #; a1 ‡ b; #† P 0; U01 …0; #; b ÿ a1 ; #† P 0;
U00 …0; #; a2 ; #† P 0; U11 …0; #; a2 ; #† P 0; U01 …0; #; a2 ‡ b; #† P 0; U01 …0; #; b ÿ a2 ; #† P 0;
…a1 2 c000 or a1 2 c011 or a1 ‡ b 2 c001 or b ÿ a1 2 c001 †; …a2 2 c000 or a2 2 c011
or b ÿ a2 2 c001 or a2 ‡ b 2 c001 †g:
As S 1 …0; #† ˆ S 0 …0; # ‡ p† we have
U01 …v1 ; #; v2 ; #† ˆ U00 …v1 ; #; v2 ; # ‡ p†; U11 …v1 ; #; v2 ; #† ˆ U00 …v1 ; # ‡ p; v2 ; # ‡ p† ˆ U00 …v1 ; #; v2 ; #†
and, hence, c000 ˆ c011 . Thus, relation (6) can be rearranged as
W# …S† ˆ f…a1 ; a2 ; b† j b 2 c001 ; U00 …0; #; a1 ‡ a2 ; #† P 0; U00 …0; #; a1 ‡ b ‡ a2 ; # ‡ p† P 0;
U00 …0; #; ÿa1 ‡ b ÿ a2 ; # ‡ p† P 0; U00 …0; #; ÿa1 ‡ a2 ; #† P 0;
U00 …0; #; a1 ‡ b ÿ a2 ; # ‡ p† P 0; U00 …0; #; ÿa1 ‡ b ‡ a2 ; # ‡ p† P 0; U00 …0; #; a1 ; #† P 0;
U00 …0; #; a1 ‡ b; # ‡ p† P 0; U00 …0; #; b ÿ a1 ; # ‡ p† P 0; U00 …0; #; a2 ; #† P 0;
U00 …0; #; a2 ‡ b; # ‡ p† P 0; U00 …0; #; b ÿ a2 ; # ‡ p† P 0;
…a1 2 c000 or a1 ‡ b 2 c001 or b ÿ a1 2 c001 †; …a2 2 c000 or b ÿ a2 2 c001 or a2 ‡ b 2 c001 †g:
Analyzing the preceding relations we can formally distinguish nine types of dense double lattice packings
of the objects S 0 and S 1 (Fig. 5). It is obvious that due to the symmetry of the lattices with respect to the
substitution of the vectors ÿa1 for a1 and ÿa2 for a2 and also due to the mutual substitution of the vectors
a1 for a2 only three types of the double lattice packings may be considered (Fig. 6). For example, the set
W# …S† may be represented as:
W#1
…S† [ W#2
…S† [ W#3
…S†; where W#1
…S† ˆ f…a1 ; a2 ; b†; where a1 2 c000 ; a2 ‡ b 2 c001 g;
W#2
…S† ˆ f…a1 ; a2 ; b†; where b ÿ a1 2 c001 ; a2 ‡ b 2 c001 g;
…S† ˆ f…a1 ; a2 ; b†; where a1 2 c000 ; a2 2 c000 g;
W#3
U00 …0; #; a1 ‡ b ‡ a2 ; # ‡ p† P 0;
U00 …0; #; ÿa1 ‡ b ÿ a2 ; # ‡ p† P 0;
b 2 c001 ; U00 …0; #; a1 ‡ a2 ; #† P 0;
U00 …0; #; ÿa1 ‡ a2 ; #† P 0; U00 …0; #; a1 ‡ b ÿ a2 ; # ‡ p† P 0; U00 …0; #; ÿa1 ‡ b ‡ a2 ; # ‡ p† P 0; U00 …0; #;
a1 ; #† P 0; U00 …0; #; a1 ‡ b; # ‡ p† P 0; U00 …0; #; b ÿ a1 ; # ‡ p† P 0; U00 …0; #; a2 ; #† P 0; U00 …0; #; a2 ‡ b;
660
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 5. Types of double lattice packings (`Ò' denotes objects s0ij , `*'-s1ij , graph edges mean contacts of appropriate polygons).
Fig. 6. Three possible types of the double lattice. Additional contacts of objects due to symmetry are shown as dotted lines.
# ‡ p† P 0; U00 …0; #; b ÿ a2 ; # ‡ p† P 0: When S 1 ˆ S 0 …0; # ‡ p† the set W#3
…S† is a subset of each set
…S† [ W#2
…S†. BeW#1 …S†; W#2 …S† because of the additional contacts of the objects and, thus, W# …S† ˆ W#1
sides, we shall be restricted by the regular cutting of the sheet when columns (rows) parallel to one of the
sides of the sheet (coordinate axes) are formed from the objects (Fig. 7). All possible cases having been
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
661
Fig. 7. Examples of three possible lattice schemes of the cutting under the condition that the objects form the columns parallel axis OX.
considered, we came to the conclusion that the objects forming a double lattice packing on the ground of
…S† can produce columns (rows) parallel to one of the sheet sides in two cases:
the set W#1
· if vector a1 is parallel to the appropriate side;
· if vectors a2 ‡ b and b are parallel to the appropriate side.
…S† can produce columns
It also seems true that the objects of the lattice packing for the bases from W#2
(rows) parallel to one of the sheet sides in three cases:
· if vectors a2 ‡ b and b are parallel to the appropriate side;
· if vectors b ÿ a1 and b are parallel to the appropriate side;
· if vectors b ÿ a1 and a2 ‡ b are parallel to the appropriate side.
Thus, the set of bases for all lattices which determine regular sheet cutting onto the objects having
orientation # can be represented as
G# …S† ˆ L#y1 …S† [ L#y2 …S† [ Wy1# …S† [ Wy2# …S† [ Wy3# …S† [ Wy4# …S† [ Wy5# …S† [ L#x1 …S† [
L#x2 …S† [ Wx1# …S† [ Wx2# …S† [ Wx3# …S† [ Wx4# …S† [ Wx5# …S†
where
L#y1 …S† ˆ fL j L 2 L# …S†; a1x ˆ 0g;
L#y2 …S† ˆ fL j L 2 L# …S†; a2x ˆ 0g;
Wy1# …S† ˆ fW j W 2 W# …S†; a1x ˆ 0; a1 2 c012 …0; #; v2 ; #†g;
Wy2# …S† ˆ fW j W 2 W# …S†; a2x ˆ 0; a2 2 c012 …0; #; v2 ; #†g;
Wy3# …S† ˆ fW j W 2 W# …S†; bx ÿ a1x ˆ 0; bx ‡ a2x ˆ 0g;
Wy4# …S† ˆ fW j W 2 W# …S†; bx ˆ 0; bx ÿ a1x ˆ 0g;
Wy5# …S† ˆ fW j W 2 W# …S†; bx ˆ 0; bx ‡ a2x ˆ 0g;
L#x1 …S† ˆ fL j L 2 L# …S†; a1y ˆ 0g;
662
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
L#x2 …S† ˆ fL j L 2 L# …S†; a2y ˆ 0g;
Wx1# …S† ˆ fW j W 2 W# …S†; a1y ˆ 0; a1 2 c012 …0; #; v2 ; #†g;
Wx2# …S† ˆ fW j W 2 W# …S†; a2y ˆ 0; a2 2 c012 …0; #; v2 ; #†g;
Wx3# …S† ˆ fW j W 2 W# …S†; by ÿ a1y ˆ 0; by ‡ a2y ˆ 0g;
Wx3# …S† ˆ fW j W 2 W# …S†; by ˆ 0; by ÿ a1y ˆ 0g;
Wx5# …S† ˆ fW j W 2 W# …S†; by ˆ 0; by ‡ a2y ˆ 0g:
All bases types considered are schematically shown in the Fig. 8. It is sucient to restrict our consideration
by
G# …S† ˆ L#y1 …S† [ Wy1# …S† [ Wy3# …S† [ L#x1 …S† [ Wx1# …S† [ Wx3# …S†
because the lattices obtained are symmetric about the interchangeable positions of the vectors a1 and a2 for
the bases from the sets L#y1 …S† and L#y2 …S†; Wy1# …S† and Wy2# …S†; L#x1 …S† and L#x2 …S†; Wx1# …S† and Wx2# …S† and also
about the interchangeable positions of the vectors b and b ÿ a1 for the bases from sets Wy3# …S† and
Wy4# …S†; Wx3# …S† and Wx4# …S†:
Denoting G#1 …S† ˆ L#y1 …S†; G#2 …S† ˆ Wy1# …S†; G#3 …S† ˆ Wy3# …S†; G#4 …S† ˆ L#x1 ; G#5 …S† ˆ Wx1# …S†; G#6 …S† ˆ
#
Wx3 …S† we obtain
G# …S† ˆ
6
[
G#i …S†:
iˆ1
Let us consider the sets G#i . There exist some alternatives of the basis selection for one and the same lattice.
Thus, for the lattice K…a1 ; a2 † the pairs of vectors …a1 ; ÿa2 †; …ÿa1 ; a2 †; …ÿa1 ; ÿa2 †; …a1 ; a1 ‡ a2 †; …a1 ; a1 ÿ a2 †;
…a1 ; ÿa1 ‡ a2 †; …a1 ; ÿa1 ÿ a2 †; …ÿa1 ; a1 ‡ a2 †; …ÿa1 ; a1 ÿ a2 †; …ÿa1 ; ÿa1 ‡ a2 †; …ÿa1 ; ÿa1 ÿ a2 †; …a1 ‡ a2 ; a2 †;
…a1 ÿ a2 ; a2 †; …ÿa1 ‡ a2 ; a2 †; …ÿa1 ÿ a2 ; a2 †; …a1 ‡ a2 ; ÿa2 †; …a1 ÿ a2 ; ÿa2 †; …ÿa1 ‡ a2 ; ÿa2 †; …ÿa1 ÿ a2 ; ÿa2 †
can be selected as the basis besides …a1 ; a2 †.
Fig. 8. A sketch of all types of lattice bases having the packings of the objects with the columns (rows) parallel to the coordinate axes.
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
663
So, it is convenient to select some basis being characterized by the de®nite position of the vectors with
respect to the coordinate system and their mutual placements to decrease the power of the sets G#i and take
the transform of all other bases to the selected one.
The upper estimation of the power of the set G#i after such transform of its bases is equal to 0:5m for
specially constructed objects having de®nite orientations, where m is the number of object sides. The objects
for which more than one elements remain after transform of the bases in the set G#i are met very rarely, one
of them is represented in Fig. 9.
We assume for simplicity that after taking such transforms of all the elements of the sets G#i each of them
reduces to the only element gi# . If this is not the case the basis having the minimum vector length a1 can be
selected as the element gi# representing the set G#i . It corresponds to the densest mutual placement of the
objects in a column (row) but does not guarantee the achievement of the optimum (see Fig. 9). Below is the
example of the transform rules of the arbitrary basis g ˆ …a1 ; a2 ; a3 † into the basis …a1 ; a2 ; a3 † where
g 2 G#y ˆ x3iˆ1 G#i : These rules are true when the basis of the lattice is supplemented with the arbitrary vector
a3 : a1 ˆ …0; j a1y j†; a2 ˆ a52 , if a2y < a1y and a2 ˆ a52 ÿ a1 , if a2y P a1y ; a52 ˆ a2 , if a2x P 0; a2y P 0; a52 ˆ ÿa2 ,
if a2x < 0; a2y < 0; a52 ˆ a2 ‡ a1 , if a2x P 0; a2y < 0 and a52 ˆ ÿa2 ‡ a1 if a2x < 0; a2y P 0; a3 ˆ a53 , if a53y < a51y
and a3 ˆ a53 ÿ a1 if a53y P a51y ; a53 ˆ a3 , if a3x P 0; a3y P 0; a53 ˆ a3 ‡ a1 ‡ a2 , if a3x < 0; a3y < 0; a53 ˆ a3 ‡ a1 ,
if a3x P 0; a3y < 0 and a53 ˆ a3 ‡ a2 , if a3x < 0; a3y P 0:
Thus, each set G#1 ; G#2 ; G#3 is reduced to only basis for which all vectors are in the ®rst quadrant and have
the minimum possible ordinate.
S
The following rules are used for the bases …a1 ; a2 ; a3 † 2 G#x ˆ 4iˆ1 G#i to take the transform to the basis
…a1 ; a2 ; a3 † for which all vectors are in the ®rst quadrant and have the minimum possible abscissa (the basis
of the simple lattice is also supplemented with the arbitrary vector a3 †: a1 ˆ …j a1x j; 0†; a2 ˆ a52 , if a52x < a51x
and a2 ˆ a52 ÿ a1 , if a2x P a1x ; a52 ˆ a2 , if a2x P 0; a2y P 0; a52 ˆ ÿa2 , if a2x < 0; a2y < 0; a52 ˆ ÿa2 ‡ a1 , if
a2x P 0; a2y < 0; and a52 ˆ a2 ‡ a1 , if a2x < 0; a2y P 0; a3 ˆ a3 , if a3x P 0; a3y P 0; a3 ˆ a53 , if a53x < a51x and
a3 ˆ a53 ÿ a1 , if a53x P a51x ; a53 ˆ a3 , if a3x P 0; a3y P 0; a53 ˆ a3 ‡ a1 ‡ a2 , if a3x < 0; a3y < 0; a53 ˆ a3 ‡ a2 , if
a3x P 0; a3y < 0 and a53 ˆ a3 ‡ a1 , if a3x < 0; a3y P 0:
6
i i
…ai
Thus the set G# is reduced to Uiˆ1
1 ; a2 ; a3 † after the above mentioned transform of its elements. Let
us denote by K…g† the lattice taken by the basis g 2 G# …S† and by …S; g† the regular packing of the object S
by the basis g 2 G# …S†.
Fig. 9. Regular packing fragment in which the power of the set G04 is equal to 8 and the optimum packing factor (a) is achieved not
under the condition of the densest packing of the row (b).
664
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
5. Mathematical statement of the problem and the method of its solution
The ®rst thing it would be noted that the problem is reduced to the search for the regular packing (lattice
packing or double lattice packing) when the maximum number N of objects placed in the sheet. A ®xed
coordinate system is believed to correspond to the sheet P assuming that the side having the length A is
parallel to the axis OY , the side having the length B is parallel to the axes OX and the left lower angle of the
rectangle coincides with the beginning of the coordinate system.
Let us construct the rectangle P with the sides A ˆ A ÿ dy …#† and B ˆ B ÿ dx …#† which is oriented and
placed as well as the rectangle P (Fig. 10). Denote by G#c the set of the bases of the lattice placement of
rectangles circumscribed about the objects in the orientation # with eigen coordinate systems related to the
centers of symmetry of the rectangles. Under these conditions the element gc# 2 G#c is de®ned by the relation:
(
…a1 ; a2 ; b ÿ 2c…#††; g 2 G#2 ; G#3 ; G#5 ; G#6 ;
#
gc ˆ …a1 ; a2 ; a3 † ˆ
…a1 ; a2 †;
g 2 G#1 ; G#4 :
For any angle # one-to-one correspondence can be set up between the knots of lattice K…gc † ‡ u; gc 2 G#c
landed in the sheet P and the rectangles having the size d…#† ˆ …dx …#†; dy …#†† of the placement of rectangles
…P# ; gc †# ‡ u ‡ 0:5d…#† landed onto the sheet P (the rectangles may intersect) (Fig. 10). This fact having
been considered and knowing that the number of objects of the packing …S; g†# ‡ u ‡ 0:5d…#† ÿ c…#†;g 2 G#
landed onto the sheet P coincides with the number of rectangles from the rectangles placement
…P# ; gc †# ‡ u ‡ 0:5d…#† landed in the same sheet we shall herein solve the problem of the angle # search as
well as the search of the element g 2 Gc …S† and parameters u ˆ …x; y† corresponding appropriate to this
angle which provides the maximum number of the lattice knots landed in the sheet P .
If for any packing of objects performed by the basis of simple lattice the vector u is given in a such way
that the fragment of packing …S; g†# ‡ u landed in the sheet P does not contain the object S0 there exists
such vector u that the fragment of packing …S; g†# ‡ u landed in this sheet have the same number of
objects as the previous one but it contains the object S0 . On the other hand for any fragment of a double
0
with respect to the
lattice packing landed in the sheet P and characterized by the position of the object S00
sheet left lower corner there exists due to symmetry the fragment of the double lattice packing characterized
Fig. 10. Example of rectangles P and P .
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
665
1
by the position of the object S00
with respect to the right top corner of the sheet P , containing the same
number of objects. Thus when searching for the solution we can restrict to consider only those lattice
0
† lands in the sheet and, consequently, u 2 P .
packings in which the object S00 …S00
Thus, the maximum number of objects which form the regular cutting of the sheet P is de®ned by the
formula
N …#0 ; u0 † ˆ max max max Ni …#; u†;
iˆ1;6 #2‰0;pŠ u2P
…7†
where
Ni …#; u† ˆ
2L X
2L X
2L
X
nˆ0 mˆ0 kˆ0
f …g; u; n; m; k†; g 2 G#ci ; g ˆ …a1 ; a2 ; a3 † ˆ …a1 …#†; a2 …#†; a3 …#††;
f …g; u; n; m; k† ˆ 1; if
…8†
0 6 ux ‡ na1x ‡ ma2x ‡ ka3x ÿ L…a1x ‡ a2x ‡ a3x † 6 B ;
0 6 uy ‡ na1y ‡ ma2y ‡ ka3y ÿ L…a1x ‡ a2x ‡ a3x † 6 A ;
f …g; u; n; m; k† ˆ 0 otherwise:
In this case to simplify the model we suppose that a ®ctitious vector a3 ˆ …a3x ; a3y †; a3x > B; a3x > A is
given for the basis of a lattice. L ˆ L…g† is some enough large number. For example
L ˆ …A ‡ B† min kai k:
iˆ1;3
Functions of the type (8) possess the following obvious properties. They are: limited; not negative;
piecewise constant; integers; periodic in the directions a1 ; a2 ; a3 and their linear combinations i.e.
Ni …#; u ‡ na1 ‡ ma2 ‡ ka3 † ˆ Ni …#; u†; m; n; k 2 Z; i ˆ 1; 2; . . . ; 6:
The analytical expressions taking into account features of the bases g belonging to each of the sets G#ci
can be found for every function (8). Consider, for instance, the function N1 …#; u†. In so doing, let us use as
an illustration the example shown in Fig. 11. Let ‰xŠ and fxg be the fractional part and integer part of the
number x correspondingly. The value
Fig. 11. Example of the lattice k…gc † ‡ u; gc 2 G#c1 fragment landed in sheet P .
666
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
1
E ˆ M1 ‡ 1; M1 ˆ ‰B=a1
2x ÿ fux =a2x gŠ
is equal to the number of columns of the lattice knots landed in the sheet P . The expression
1
1
1
E ˆ ‰A =a1
1y ÿ f…y0 ‡ uy ‡ ia2y †=a1y g ‡ 1Š;
where
1
1
y01 ˆ ‰ux =a1
2x Š a1y ÿ a2y
de®nes the number of knots in the ®rst column of the lattice landed in the sheet P . So,
N1 …#; u† ˆ
M1 h
i
X
1
1
1
A =a1
ÿ
f…y
‡
u
‡
ia
†=a
g
‡
1
:
y
1y
0
2y
1y
…9†
iˆ0
The formulae for double lattices (functions N2 …#; u† and N3 …#; u†† are derived as the combination of the
expressions of the kind (9) for two simple lattices forming the double one
N2 …#; u† ˆ
M2 h
X
iˆ0
i h
i
2
2
2
2
2
2
2
2
A =a2
;
1y ÿ f…y0 ‡ uy ‡ ia2y †=a1y g ‡ 1 ‡ A =a1y ÿ f…y0 ‡ uy ‡ a3y ‡ ia2y †=a1y g ‡ 1
…10†
N3 …#; u† ˆ
M3 h
L1 h
i X
i
X
3
3
3
3
3
3
A =a3
A =a3
1y ÿ f…y0 ‡ uy ‡ ia2y †=a1y g ‡ 1 ‡
1y ÿ f…y1 ‡ uy ‡ a3y ‡ ia2y †=a1y g ‡ 1 ;
iˆ0
iˆ0
…11†
where
i
3
3
L1 ˆ B =a3
Mi ˆ B =ai
2x ÿ fux =a2x g ;
2x ÿ f…ux ‡ a3x †=a2x g ;
3
3
3
i i
#
y1 ˆ …ux ‡ a3
…ai
3x †=a2x …a1y ÿ a2y †;
1 ; a2 ; a3 † ˆ gci :
i
i
y0i ˆ ux =ai
2x …a1y ÿ a2y †;
Analytical expressions for the functions N4 …#; u†; N5 …#; u† and N6 …#; u† represent the analogous of the
expressions for the functions N1 …#; u†; N2 …#; u† and N3 …#; u† constructed not for the columns but for the
rows of objects and they are derived in the same manner.
N4 …#; u† ˆ
M4
X
iˆ0
N5 …#; u† ˆ
4
4
4
‰B =a4
1x ÿ f…x0 ‡ ux ‡ ia2x †=a1x g ‡ 1Š;
…12†
M5
X
ÿ 5
5
5
5
5
5
5
B =a1x ÿ f…x50 ‡ ux ‡ ia5
2x †=a1x g ‡ 1 ‡ B =a1x ÿ f…x0 ‡ ux ‡ a3x ‡ ia2x †=a1x g ‡ 1 ;
iˆ0
…13†
N6 …#; u† ˆ
M6 X
B
iˆ0
where
ÿ
6
a1x
x60 ‡ ux ‡ ia6
2x
a6
1x
h
i
i
i
xi0 ˆ uy =ai
2y …a1x ÿ a2x †;
‡1 ‡
L2
X
6
6
6
B =a1x ÿ f…x1 ‡ ux ‡ a6
3x ‡ ia2x †=a1x g ‡ 1 ; …14†
iˆ0
h
i
6
6
6
x1 ˆ …uy ‡ a6
3y †=a2y …a1x ÿ a2x †;
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
h
i
i
Mi ˆ A =ai
ÿ
fu
=a
g
;
y
2y
2y
667
h
i
6
6
L2 ˆ A =a6
ÿ
f…u
‡
a
†=a
g
;
y
2y
3y
2y
i i
#
…ai
1 ; a2 ; a3 † ˆ gci :
It would be noted that Eqs. (9)±(14) are true when A P 0; B P 0; otherwise they are equal to 0. Besides,
when a3x P B P 0 then N3 …#; u† ˆ N1 …#; u† and when a
3y P A P 0 then N6 …#; u† ˆ N4 …#; u†. Taking into
account the properties of the mathematical model Eqs. (9)±(14) and, particularly, periodicity of the
functions Eqs. (10)±(14) it can be represented as
N …#0 ; u0 † ˆ max max Ni …#; u…#††;
…15†
Ni …#; u…#†† ˆ max Ni …#; u†;
…16†
iˆ1;6 #2‰0;pŠ
u2P
i ˆ 1; 2; . . . ; 6:
It means that the solution of the problems (16) for each value # is divided in its turn into six optimized
problems in R2 .
Consider the ®rst subproblem (16), i.e.
N1 …#; u…#†† ˆ max N1 …#; u†:
u2P
It follows immediately from the property (5) (periodicity of the function) and from the equation a1x ˆ 0
that the function considered is periodic by the component uy of the vector u with the period a1
1y . Besides,
only the terms of the sum depend on uy and the component ux of the vector x is involved both in the expression M1 de®ning the maximum value of the index in the sum being considered and in each item (term y01
depends on ux †.
As each term is periodic with respect to uy the value y0 which is the same for all terms canceled by the
appropriative change of the component uy of the vector u. So, we shall discuss only the value M1 dependence of ux . It is obvious that under such condition this value reaches its maximum when ux ˆ 0: On the
base of foregoing the ®rst problem can be transformed to the form
N1 …#; u…#†† ˆ max
‰B =a1
Š
2x
X
t2‰0;a1
‰ iˆ0
1y
1
1
1
‰A =a1
1y ÿ f…y0 ‡ t ‡ ia2y †=a1y g ‡ 1Š:
It follows from the analysis of Eq. (10) that all reasoning for the ®rst optimized problem is also valid for the
second one and then searching for the solution we may con®ne ourselves by considering the vector
u ˆ …0; uy † when uy 2 ‰0; a2
1y ‰.
We now turn our attention to the third subproblem where the optimum of problem (11) is found. As in
the previous cases the function being considered is periodic with respect to the component uy of the vector
u…with the period a3
1y †. The component ux enters both into the expressions M3 and L1 , setting the largest
values of indices over which the summing is taken, also enters into the terms (terms y03 and y1 depend on ux †.
The dependence of terms of ux cannot be canceled by changing the component uy . It is also important that
3
3
3
3 3 3
the inequalities a3
2x > a3x and a1y > a2y are true in accordance with the way of the basis …a1 ; a2 ; a3 †
construction.
3
3
3
3
3
It is easy to make sure that y03 ˆ y1 if ux 2 ‰ka3
2x ; …k ‡ 1†a2x ÿ a3x Š and y0 6ˆ y1 ; ux 2 Ška2x ÿ a3x ;
3
3
3
3
ka2x ‰; k 2 Z. In this case the function y ˆ y1 ÿ y0 which takes the value 0 when ux 2 ‰ka2x ; …k ‡ 1†a2x ÿ a3
3x Š
3
3
3
3
ÿ
a
when
u
2
Ška
ÿ
a
;
ka
‰;
k
2
Z
is
of
practical
interest.
Considering
the
function
and the value a3
x
1y
2y
2x
3x
2x
periodicity with respect to uy we may take y03 to be always equal to 0 and y1 alternately takes on the values 0
3
3
and a3
1y ÿ a2y . Thus we may also con®ne our attention to ux 2 ‰0; a2x ‰.
668
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Let us consider now the expressions de®ning the values M3 and L1 in Eq. (11). Denote E ˆ b ˆ
3
fB =a3
2x ga2x :
3
M3 ˆ ‰B =a3
2x ÿ fux =a2x gŠ
3
3
3
takes on some value b when ux 2 ‰ka3
2x ; ka2x ‡ bŠ and value b ÿ 1 when ux 2 Ška2x ‡ b; …k ‡ 1†a2x ‰; k 2 Z.
3
3
L1 ˆ ‰B =a3
2x ÿ f…ux ‡ a3x †=a2x gŠ
3
3
3
and value b ÿ 1 when
takes on some value b when ux 2 ‰ka3
2x ÿ a3x ; ka2x ÿ a3x ‡ bŠ
3
3
3
3
ux 2 Ška2x ÿ a3x ‡ b; …k ‡ 1†a2x ÿ a3x ‰; k 2 Z.
If we take into account that the values M3 and L1 de®ne the numbers of object columns then the problem
of prime importance is the selection of such values ux for which
3
3
3
3
E ˆ ‰B =a3
2x ÿ fux =a2x gŠ ‡ ‰B =a2x ÿ f…ux ‡ a3x †=a2x gŠ
(the whole number of columns) are maximum. Critical values from this point of view appear to be ka3
2x and
3
ka3
ÿ
a
in
which
values
M
and
L
vary
spasmodically.
As
appears
from
the
above,
change
of
value
3
1
2x
3x
y ˆ y1 ÿ y03 takes place at the same point. Thus when optimizing function (11) with respect to the vector u it
is possible to regard only discrete set of values of the component ux , and under the condition ux 2 ‰0; a3
2x ‰ it
3
ÿ
a
.
For
illustration
plots
of
the
functions
means that it is sucient to consider the values 0 and a3
2x
3x
3
3 3
3
3
3
3
3
1 ‡ ‰…ux ‡ a3
3x †=a2x Š ÿ ‰ux =a2x Š; ‰2 ‡ fB =a2x g ÿ fux =a2x gŠŠ; ‰2 ‡ fB =a2x g ÿ f…ux ‡ a3x †=a2x gŠ
are represented in Fig. 12. So the mathematical model of the problems (7) and (8) takes on the appearance
of
N …#0 ; u0 † ˆ max max Ni …#; u…#††;
iˆ1;6 #2‰0;pŠ
Fig. 12. Plots of functions having discontinuities at the same points just as functions E, M3 , and L1 .
…17†
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
669
where
N1 …#; u…#†† ˆ max
‰B1 Š
X
‰A1 ÿ y1i ‡ 1Š;
…18†
N2 …#; u…#†† ˆ max
‰B2 Š
X
…‰A2 ÿ y2i ‡ 1Š ‡ ‰A2 ÿ y2i ‡ 1І;
…19†
t2‰0;a1
‰
1y iˆ0
t2‰0;a2
‰
1y iˆ0
N3 …#; u…#†† ˆ max…N31 ; N32 †;
N31 ˆ max
t2‰0;a3
‰
1y
‰B3 Š
X
iˆ0
‰A3
!
L1
X
ÿ y3i ‡ 1Š ‡
‰A3 ÿ y3i ‡ 1Š ;
…20†
‰A3
!
‰B3 Š
X
ÿ y3i ‡ 1Š ‡
‰A3 ÿ yi ‡ 1Š ;
…21†
‰A4 Š
X
‰B4 ÿ x4i ‡ 1Š;
…22†
N32 ˆ max
t2‰0;a3
‰
1y
L1
X
iˆ0
N4 …#; u…#†† ˆ max
iˆ0
iˆ0
t2‰0;a4
‰
1x iˆ0
‰A5 Š
X
N5 …#; u…#†† ˆ max
…‰B5 ÿ x5i ‡ 1Š ‡ ‰B5 ÿ x5i ‡ 1І;
…23†
t2‰0;a5
‰
1x iˆ0
N6 …#; u…#†† ˆ max…N61 ; N62 †;
N61 ˆ max
t2‰0;a6
‰
1x
‰A6 Š
X
iˆ0
‰B6
ÿ x6i ‡ 1Š ‡
iˆ0
N62 ˆ max
t2‰0;a6
‰
1x
L2
X
iˆ0
‰B6 ÿ x6i ‡ 1Š ‡
3
L1 ˆ …B ÿ a3
3x †=a2x ;
‰A6 Š
X
iˆ0
!
‰B6
ÿ
x6i
‡ 1Š ;
j
j
yji ˆ f…t ‡ aj
3y ‡ ia2y †=a1y g;
‰B6 ÿ xi ‡ 1Š ;
i
yji ˆ f…t ‡ iaj
2y †=a1y g;
…25†
h
i
6
†=a
L2 ˆ …A ÿ a6
3y
2y ;
j
xji ˆ f…t ‡ iaj
2x †=a1x g;
j
j
xji ˆ f…t ‡ aj
3x ‡ ia2x †=a1x g;
3
3
yi ˆ f…t ‡ a3
3y ‡ …i ÿ 1†a2y †=a1y g;
Bi ˆ B =ai
2x ;
…24†
!
3
3
L1 ˆ …B ÿ a3
2x ‡ a3x †=a2x ;
h
i
6
6
L2 ˆ …A ÿ a6
2y ‡ a3y †=a2y ;
Ai ˆ A =ai
2y ;
L2
X
6
6
xi ˆ f…t ‡ a6
3x ‡ …i ÿ 1†a2x †=a1x g;
Ai ˆ A =ai
1y ;
Bi ˆ B =ai
1x :
670
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Now we pass on to solution of the problems (17)±(25). Since the expressions (18)±(21) and (22)±(25) coincide with an accuracy up to the constants we shall con®ne our attention to the ®rst group of subproblems
(18).
First, let us consider the solution of the problem (18). For this purpose rewrite Eq. (18) in the form
N1 …#; u…#†† ˆ max
‰B1 Š
X
t2‰0;a1
‰
1y iˆ0
‰fA1 g ÿ y1i ‡ 1Š ‡ ‰A1 ЉB1 Š:
It is easy to make sure that the second term in the right part of this expression is equal to the number of
#
† ‡ …0; t† landed in the rectangle domain ‰0; a1
knots of the lattice K…g1c
1y ‰A1 Љ ‰0; B Š and it depends exclusively on the rotation angle #j of the lattice with respect to the sheet and does not depend on the pa
rameter t, and the ®rst term is the ®rst subproblem for the sheet P1 having the size a1
1y fA1 g B (Fig. 13).
1
We denote A1 ˆ a1y fA1 g.
We introduce the following designation:
N1 …#; u…#†† ˆ max
‰B1 Š
X
‰fA1 g ÿ y1i ‡ 1Š:
…26†
t2‰0;a1
‰
1y iˆ0
#
To solve the problem (26) let us construct the set T1 of all knots of the lattice K…g1c
† being considered which
1
are landed in the rectangle ‰0; a1y ‰ ‰0; B Š: are shown in Fig. 12 as an illustration.
1
1
1
T1 ˆ fti j ti ˆ …tix ; tiy † ˆ …a1
2x ; fia2y =a1y ga1y †; i ˆ 0; 1; . . . ; ‰B1 Šg
and the vector d of estimations of the size ‰B1 Š having the elements di ˆ
P‰B1 Š
iˆ1
dij where dij equals 1 if
1
f…a1
1y ‡ tjy ÿ tiy †=a1y g 6 fA1 g
and equals 0 otherwise.
Fig. 13. ‰A1 Š of knots in each column landed in the lower part of the sheet.
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
671
Statement. Let
k ˆ arg max di ;
iˆ0;‰B1 Š
0
then N1 …#j † ˆ dk and the number of knots of lattice K…g1c † ‡ …0; a1
(and hence,
1y ÿ tky † landed in the sheet P
in the sheet P † is maximum.
Proof. It is easy to make sure that this statement is true if we shall take into account that the set
#
T1 ˆ fti j ti ˆ …tix ; tiy ‡ ka1
1y †; ti 2 T ; k ˆ 0; 1g includes all the knots of the lattice K…g1c † landed in rectangle
‰
‰0;
B
Š.
domain ‰0; 2a1
1y
#
†
Thus, the element di of estimation vector d is equal to the number of the knots of the lattice K…g1c
landed in the sheet P provided that its left lower corner is located at point …0; tiy †. This value coincides
#
† ‡ …0; ÿtiy †. Taking into account periodicity it coin sides
with the number of the knots of the lattice K…g1c
when it is laid out at
with the number of the knots of the lattice K…g1c † ‡ …0; a1
1y ÿ tky † landed in the sheet P
the origin of the coordinates by its left lower corner.
It seems evident that taking into account all locations of the sheet P in the process of optimization me
may restrict our consideration to the discrete set of values of the parameter t ˆ tiy ; i ˆ 0; 1; . . . ; ‰B1 Š corresponding to the conditions when the rectangle is placed at each point …0; tiy † by its left lower corner. Since
vector d provides information on the number of lattice knots landed in the sheet P for each location of the
sheet the statement formulated above is proved.
The subproblems (19)±(21) are solved in an analogous way: set Ti of lattice knots of appropriate type
landed in the rectangle domain ‰0; 2ai
1y ‰ is build and the search for the optimum placement of the rectangle
fA
g†
B
is
carried out.
Pi having the size …ai
i
i
1y
We now consider the problem of optimization with respect to the parameter #. It should be noted that in
every expression (18)±(25) all parameters depend on # non-linearly and this dependency is quite nontrivial
and it can be represented by cumbersome expressions which are intricate to be explicitly formulated and the
more so to obtain the derivatives. On the other hand, any values of these functions are bounded ones since
all the functions being considered are periodic, limited and piecewise-constant.
So, when searching for the solution it is sucient to consider the discrete set of values # under the
condition that at least one of #i lands in each domain of constant value of objective function. Since digitization is carried out over the only one parameter and optimization with respect to the parameter t for
each #i does not require much e€ort however small step of the parameter # change may be selected and,
consequently, it is appropriate to apply the method of grids when the knots are located uniformly as the
approximate method of the solution of the given problem.
Remark. Such choice of the step may appear to be not acceptable for the objects having `needle-sharped'
ridges and narrow deep valleys. The method of grids with the variable length of the step of the rotation
angle digitization should be used for the solution of the problem of the regular cutting for the similar
objects.
After the parameter # digitization the problem is reduced to the solution of the ‰p=@Š ‡ 1 subproblems,
where @ is the step of variation of #.
Example. Let rectangular sheet has size 900 700 and polygon S has vertex coordinates ()73.15, 7.50),
()69.65, )3.30), ()59.35, )10.60), ()5.25, )16.00), (34.65, )30.50), (55.75, )31.60), (65.45, )27.70), (71.85,
)16.00), (72.85, )1.00), (69.25, 9.00), (56.75, 22.00), (37.75, 29.50), (12.75, 31.80), ()57.25, 29.10), ()68.35,
22.10), ()72.85, 13.00), ()73.25, 10.00) (real footwear industry piece).
Then polygon C0
00 has vertex coordinates
672
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
…ÿ146:1000; 11:0035†; …ÿ146:0050; 8:5047†; …ÿ142:5052; ÿ2:3015†; …ÿ138:9104; ÿ12:3114†;
…ÿ126:4091; ÿ25:3096†; …ÿ116:1070; ÿ32:6087†; …ÿ97:1102; ÿ40:1052†; …ÿ43:0131; ÿ45:5046†;
…ÿ3:1052; ÿ60:0080†; …21:8975; ÿ62:3095†; …42:9985; ÿ63:4055†; …113:0090; ÿ60:7094†;
…122:7120; ÿ56:8077†; …133:8105; ÿ49:8081†; …140:2110; ÿ38:1105†; …144:7118; ÿ29:0067†;
…145:1063; ÿ26:0037†; …146:1000; ÿ11:0035†; …146:0050; ÿ8:5047†; …142:5052; 2:3015†;
…138:9104; 12:3114†; …126:4091; 25:3096†; …116:1070; 32:6087†; …97:1102; 40:1052†;
…43:0131; 45:5046†; …3:1052; 60:0080†; …ÿ21:8975; 62:3095†; …ÿ42:9985; 63:405†;
…ÿ113:0090; 60:7094†; …ÿ122:7120; 56:807†; …ÿ133:8105; 49:8081†; …ÿ140:2110; 38:1105†;
…ÿ144:7118; 29:0067†; …ÿ145:1063; 26:0037†:
The fragment of table is represented below (Fig. 14) to illustrate the way of solving the subproblem (18).
To each # corresponds values dx ; dy and values A ˆ A ÿ dy ; B ˆ B ÿ dx : Point a1 is upper point of inter0
0
0
section c0
11 …0; #† and axis OY . Point a2 is one of the points of intersection c00 …0; 0† \ c00 …a1 ; 0† ˆ c00 …0; #† \
0
i
i
1
c00 …a1 ; #†. Then we may calculate the values Bi ˆ B =a2x ; Ai ˆ A =a1y , A1 ˆ a1y fA1 g. To calculate value N1
we have to construct the set T1 and vector d: Sets T1 and vectors d are represented for angle values
1.948139, 2.018342 and 2.035893, respectively:
T ˆ f…0:0000; 0:0000†; …57:162811; 11:143857†; …114:325623; 22:287714†;
…171:488434; 33:431572†; …228:651245; 44:575428†; …285:814056; 55:719284†;
…342:976868; 66:863144†; …400:139679; 78:007004†; …457:302490; 89:150864†;
…514:465332; 100:294724†; …571:628113; 111:438583†; …628:790894; 122:582443†;
…685:953735; 133:726303†; …743:116577; 4:311783†; …800:279358; 15:455643†g;
d ˆ f14; 14; 14; 15; 15; 15; 15; 15; 15; 15; 15; 15; 15; 14; 14g;
T ˆ f…0:000000; 0:000000†; …57:715675; 0:266929†; …115:431351; 0:533859†;
…173:147034; 0:800788†; …230:862701; 1:067717†; …288:578369; 1:33464†;
…346:29406; 1:60157†; …404:00973; 1:86850†; …461:72540; 2:13543†;
…519:44110; 2:402363†; …577:156738; 2:669292†; …634:872437; 2:936222†;
…692:588135; 3:203151†; …750:303772; 3:470080†; …808:019470; 3:737009†g;
d ˆ …15; 14; 13; 12; 11; 10; 9; 8; 7; 6; 5; 4; 3; 2; 1†;
T ˆ f…0:00000; 0:0000†; …58:161518; 128:745300†; …116:323036; 126:099838†;
…174:484558; 123:454376†; …232:646072; 120:808914†; …290:807587; 118:163452†;
…348:969116; 115:517990†; …407:130615; 112:872528†; …465:292145; 110:227066†;
…523:453674; 107:581665†; …581:615173; 104:936264†; …639:776672; 102:290863†;
…697:938232; 99:645462†; …756:099731; 97:000061†; …814:261230; 94:354660†g;
d ˆ …1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 13; 13g:
The optimal results obtained for subproblems N1 ±N6 are represented in Fig. 15(a)±(f) respectively.
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 14. Table of intermediate results.
673
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
Fig. 15. The optimal solving of problems N1 ±N6 .
674
Y.G. Stoyan, A.V. Pankratov / European Journal of Operational Research 113 (1999) 653±675
675
References
[1] I. Bailleul, K. Tiaibia, R. Soenen, Nesting two dimensional irregular shapes in anisotropic material, Advances in CAD/CAM:
Proceedings of the PROLAMAT 82, Leningrad, USSR, 1982.
[2] J.E. Beasley, An exact two-dimensional non-guillotine cutting tree search procedure, Operational Research 33 (1985) 49±65.
[3] C.-S., Chen, B. Ram, S. Sarin, An integer programming model for a class of assortment problems, Report Dep. of Ind. Eng.,
North Carolina, A&T State University, Greensboro, 1989.
[4] K.A. Dowsland, W.B. Dowsland, Heuristic approaches to irregular cutting problems, Working Paper, 1993, pp. 1±15.
[5] K.A. Dowsland, W.B. Dowsland, Packing problems, European Journal of Operational Research 56 (1992) 2±14.
[6] H. Dyckho€, A typology of cutting and packing problems, European Journal of Operational Research 44 (1990) 145±160.
[7] Fejes Toth, L. Lagerungen in der Ebene, auf der Kugel und in Raum, Grundl. Math. Wiss. vol. 65, Springer, Berlin, 1953.
[8] A.G. Fesenko, L.T. Svistunova, Obtaining packing coecient using a computer, All-Unoin Conference: Automation of cutting
cloths and footwear materials, Kiev, KTILP, 1975, pp. 32±35 (in Russian).
[9] A.G. Fesenko, Methods and Algorithms for the Most Dense Packing of Planar Geometric Objects, Cand. Ph-Math. Sci.
Dissertation, Institute for Problems in Machinery of Academy of Sciences of Ukrainian SSR, Kharkov, 1981 (in Russian).
[10] A.G. Fesenko, Lattice packing of planar geometrical objects with turn by angle p, Preprint 80-53 of Institute of Cybertetics of
Academy of Sciences of Ukrainian SSR, Kiev, 1980 (in Russian).
[11] Ye.S. Fyodorov, Foundations of the theory of ®gures, Notes of M.S., vol. XXI, series 2, 1885.
[12] Ye.S. Fyodorov, Symmetry and the structure of crystals, USSR Academy of Sciences, Moscow, 1949.

[13] H. Heesch, Uber
topologisch gleichvertige Kristallbindungen, Zeitschrift f
ur Kristallographie 84 (1933) 5±6.
[14] V.M. Komyak, Optimization of the Allocation of Planar Geometric Objects in Complex-shape Regions, Author's Abstract Cand.
Tech. Sci. Dissertation, Kharkov Institute of Radioelectronics, Kharkov, Ukraine, 1980 (in Russian).
[15] Zh. Li, V. Milenkovic, A compaction algorithm for non-convex polygons and it's application, Ninth Annual ACM Symposium
on Computational Geometry, 1993.
[16] V.M.M. Marques, C.F.G. Bispo, J.J.S. Sentieiro, A system for the compaction of two dimensional irregular shapes based on
simulated annealing, IECON'91, 1991, pp. 1911±1916.
[17] V. Milenkovic, K. Daniels, Zh. Li, Placement and compaction of nonconvex polygons for clothing manufacture, Paper for Forth
Canadian Conference on Computational Geometry, St. John's, Newfoundland, Canada, 1992.
[18] H. Minkowsky, Dichteste gitterf
ormige Lagerung, Nachr. Ges. Wiss. G
ottingen (1904) 311±355.
[19] J.F.S. Oliveira, J.A.S. Ferreira, Algorithms for nesting problems, in: R.V. Vidal (Ed.), Applied Simulated Annealing, Springer,
Berlin, 1992, pp. 255±275.
[20] C.A. Rogers, Packings and Coverings, Cambridge University Press, Cambridge, 1964.
[21] Yu.G. Stoyan, Allocation of Geometric Objects, Naukova Dumka, Kiev, 1975 (in Russian).
[22] Yu.G. Stoyan, N.I. Gil', Methods and Algorithms of Allocation of Planar Geometric Objects, Naukova Dumka, Kiev, 1976 (in
Russian).
[23] Yu.G. Stoyan, M.V. Novozhilova, A.V. Kartashov, Mathematical Model Method of Searching for Local Extremum for the NonConvex Oriented Polygons Allocation, European Journal of Operational Research 92 (1996) 193±210.
[24] Yu.G. Stoyan, A method of the best lattice allocation of ®gures on the plane, Reports of Academy of Sciences of Ukrainian SSR
A 6 (1974) 537±540 (in Russian).
[25] Yu.G. Stoyan, A.G. Fesenko, A method of ®nding an optimal lattice packing of polygons, Preprint 78-49 of Institute of
Cybertetics of Academy of Sciences of Ukrainian SSR, Kiev, 1978 (in Russian).
[26] Yu.G. Stoyan, V.N. Patzyk, Optimal lattice packing of congruent polygons in the plane (to appear in Reports of Academy of
Sciences of Ukrainian SSR since 1996, in Russian).
[27] Yu.G. Stoyan, On one generalization of the dense allocation function, Reports of Academy of Sciences of Ukrainian SSR A 8
(1980) 70±74 (in Russian).
[28] P.E. Sweeney, E.L. Ridenour, Cutting and packing problems: a categorized, application orientated research bibliograph, Working
Paper 610, School of Business Administration, University of Michigan, 1989.