POLYNOMIAL ALGORITHMS FOR A PROBLEM OF GUILLOTINE CUTTING A CUBOID INTO TWO SMALL CUBOIDS
M. Z. Arslanov
Institute of problems of informatics and control, 050010, Almatv, Kazakhstan
УДК 519.1:514.17
In the paper a problem of guillotine cutting a cuboid (cuboid means here always a rectangular box) into two cuboids is considered. The small cuboids can not be rotated. The question is whether there exists a cutting pattern with given numbers of occurrences of both cuboids. A polynomial time algorithm for constructing the convex hull of the set of feasible solutions to this problem is suggested.
Key words: polynomial algorithms, 3D guillotine cutting, knapsack polygon, convex hull.
Introduction. The problems of rectangular packing and cutting are difficult problems of discrete optimization [1]. For example, it is unknown the computational complexity of a problem of packing in a rectangular sheet (A, B) the maximum number of equal small rectangles (c, d), (d, c) (pallet loading problem (PLP)), The Open Problems Project [2] Problem 55: Pallet Loading Statement What is the complexity of the pallet loading problem? Given twopairs of numbers, (A, B) and (a, b), and a number n, decide whether n small rectangles of size a? B, in either axis-parallel orientation, can bepacked into a large rectangle of size A? B. This problem is not even known to be in NP, because of the compact input description, and the possibly complicated structure of a packing.
(A, B) (c, d), (d, c)
fast polynomial algorithms are known [3, 4]. In [5, 6] a problem of guillotine cutting a rectangular sheet (A, B) into rectangles (a, b), (c, d) with the minimal trim loss is considered and polynomial algorithms are suggested when the number of occurrences of small rectangles in a cutting pattern is not restricted. Adding the constraint on the number of occurrences of rectangles (a,b), (c, d) complicates the problem. It is not known, whether belongs to P (the class of the problems which are solvable in the polynomial running time) the problem about an existence of guillotine cutting a rectangular sheet (A, B) into m rectangles (a,b) and n rectangles (c, d). In this paper a polynomial time algorithm is designed for weakened variant of a problem in a three-dimensional case of guillotine cutting a cuboid into two smaller cuboids. This paper generalizes [5] for a 3D-case. Methods in [5] can not be applied directly to 3D-case.
In the second section, properties of a knapsack polygon (the convex hull of the set of feasible solutions of a 2-dimensional knapsack problem) are considered. In the third section, one general theorem about the reduction of parameters in a general problem of rectangular cutting is stated. In Section 4, a problem of guillotine cutting a cuboid into two smaller cuboids without rotations, parallel to the sides of a big cuboid, is considered, A geometrical theorem about the structure of the set of solutions of considered problem is proved. From this theorem follows a polynomial algorithm of constructing the convex hull of this set. In Section 5, a numerical example is considered. In Section 6, we discuss generalizations of the results for n-dimensional case,
1. Some properties of a knapsack polygon. The set of feasible solutions of a knapsack problem plays an important role for problems of guillotine cutting. In a 2-dimensional case, this set is presented as:
SA = {(x,y) E Z+1ax + by ^ A},
where a, b, A E Z+ = {0,1, 2,...}, The convex hull of this set refers to as a knapsack polygon denoted by
PA = co{(x,y) E Z+ |ax + by ^ A}, where co denote the convex hull operation,
PA
Pa = 0 T (хг,уг)
(1)
i= 1
where T(x», y») is a right triangle with vertices (0, 0), (0, y»), (x», 0), m +1 is a number of nonzero vertices of PA, the svmbol © denotes an algebraic sum (the Minkowski sum) of sets:
If
A a
S1 Ф S2 = {z|z = x + y,x G S1 ,y E S2}. = 0, then it is easv to see, that
Pa = t 0,
A ~b
is a singular triangle — an interval, connecting points (0, 0), (0, then
A ~b
A ~b
Pa = t
A a
0
Let's consider the case
A a
> 0,
A ~b
increasing x-coordinates. Then the first vertex is (X0,Y0) = ( 0,
PA
> 0. Let nonzero vertices of PA are sorted by
A ~b
Let (Xi,Yi) be the
where P'A is defined as:
A
T Xi,
A ~b
- Yi ©PA
A
PA = co{(x,y) E Z+ |ax + by ^ A — aXi},
and all nonzero vertices of P'A are translation of vertices of PA, excepting the first, by (—X1,0), Applying an induction, we obtain required representation.
It is easy to establish the following recurrent equations, connecting coordinates of vertices and parameters of right triangles in the above representation:
(Xo,Yo)= 0
A
J
(Xi,Y)= £
A
A a
0] .
Note the following properties of this representation:
£
i=i
m
D
i=i
Vi
A a
A ~b
If triangles are sorted by increasing — order, then only one triangle can be singular: the
xi
first 71, if ax1 < b, then y1 = 0 and the 1 ast Tm, if < a, then xm = 0, If in (1), where
y '
right triangles T(x', y') are sorted by increasing — order, there are no singular triangles, then
xi
it is possible to add singular the first and last triangles T0(0, 0),Tm+1(0, 0), Thus, from the beginning we may assume, that T1, Tm are singular triangles T1(x1, 0),Tm(0,ym), Among other properties note the following property. If gcd(x' , y') > 1, then
gcd(xi,yi)
j=1 vgcd^yi)' gcd(xi,yi)
The similar possibility of further decomposition appears in the case, when boundary of a knapsack polygon besides vertices contains also other points of an integer lattice Z+. Consider an example from [5] of a knapsack polygon:
PA = co({(x,y)|49x + 80y < 632,x,y e Z+}).
It has 6 non zero vertices (0,7),(1,7),(3,6),(8,3),(11,1),(12,0) and can be presented by the Minkowski sum of right triangles:
Pa = Ti(1, 0) © 72(2,1) © Ts(5, 3) © 74(3, 2) © T5(1,1),
where T1(1,0) is a singular triangle.
Remark. If we denote by T1 (a, ) the set of integer points in T(a, ):
T1 (a,£) = {(x,y) e Z+ |(x,y) e T(a, ^)}
then we have the next formula for the set of feasible solutions in a 2-dimensional knapsack problem:
Sa — 0 T1 (хг,уг), (2)
i=1
where Pa = 0m=1 T(xi,yi).
A knapsack polygon is characterized by a triplet of integer positive numbers (a, b, A), Definition 1. A triplet (a,b,A), describing a knapsack polygon, is equivalent to a triplet (a', 6', A') ((a, b, A) ~ (a', b', A')) if the sets of feasible solutions of corresponding knapsack problems are equal:
ax + by ^ A ^ a'x + b'y ^ A', x, y e Z+. (a, b, A)
(a', b', A') - (a,b, A), a' ^ a,b' ^ b, A' ^ A, Mid (a', b', A') = (a, b, A). Neighboring Farev fractions of - [7]:
a2 a ai 771
— < - < —, a1 + a2 = a, b1 + b2 = b, ab2 — ba2 = a1b — ab1 = 1. b2 b b1
play an important role for a possibility of decreasing a triplet (a, b, A), gcd(a, b) = 1,
A
У
A* = max{ax + by|ax + by ^ A, x, y G Z+}
then (a,b, A) ~ (a, b, A*), If in addition, A > A*, then the triplet (a, b, A) can be decreased. Thus, we can assume that A = ra + sb, r, s G Z+,gcd(a,b) = 1. If r ^ b or s ^ a, then the triplet (a,b, A) can not be decreased. Let's show, that the triplet (a,b,ab + ra + sb),a > 0, b > 0, gcd(a, b) = 1 can not be decreased. Suppose on the contrary that there exists a triplet (a',b',A/),a' + b < a + b:
a'x + b/y ^ A/ ^ (3)
^ ax + by ^ ab + ra + sb, x, y G Z+. (4)
Because points (r + b, s), (r, a + s) G S = {(x,y) G Z+ |ax + by ^ ab + ra + sb}, they also belong to S/ = {(x,y) G Z+ |a/x + b/y ^ A/}, From here follows, that
a/(r + b) + b/s ^ A/, a/r + b/(a + s) ^ A/. a a/ a a/
Let s consider two cases: a) - < —, b) - > —,
b b/ b b/
a a/
a) Let - < —. Bv virtue of properties of Farev series
b b/
a ai a/ , ,
- < — ^ —, a1 b — ab1 = 1, b a1 — a b1 ^ 0. b bi b/
Consider a point (r + b — b1, s + a1). It satisfies (3), because
a/(r + b — b1) + b/(s + a1) = a/(r + b) + b/s + (b/a1 — a/b1) ^ A/. At the same time, this point does not satisfy (4):
a(r + b — b1) + b(s + a1) = ab + ra + sb + (ba1 — ab1) = ab + ra + sb +1.
That is, triplets (a, b, ab + ra + sb), (a/, b/, A/) are not equivalent, a a/
b) Similarlv, if - > —, then bv the properties of Farev series
b b/
a/ a2 a . .
77 ^ — ^ y, ab2 — a2b = 1, a b2 — a2b ^ 0. b/ b2 b
Consider a point (r + b2, s + a — a2). It satisfies (3), because
a/(r + b2) + b/(s + a — a2) = a/r + b/(a + s) + (a/b2 — a2b/) ^ A/. On the other hand, it does not satisfy (4):
a(r + b2) + b(s + a — a2) = ab + ra + sb + (ab2 — a2b) = ab + ra + sb +1.
That is, in this case triplets (a, b, ab + ra + sb), (a', b', A') are not equivalent too. Thus, a question about decreasing a triplet (a, b, ra + sb) is interesting only if r < b, s < a. Lemma 1. Let be given a knapsack problem, the set of feasible solutions of which is given by an inequality
ax + by ^ A = ra + sb, x, y, r, s G Z+, r < b, s < a.
The triplet (a, b, A) can not be decreased if and only if r ^ bi, s ^ a2. Proof. We prove this lemma by contradiction. Let, for example, r < b1. We shall show, that (a, b, A)
ax + by ^ ra + sb (5)
a1x + b1y ^ ra1 + sb1 (6)
describing the sets S = {(x,y) G Z+ |ax + by ^ ra + sb} and S1 = {(x,y) G Z+ |a1x + b1y ^ ra1 + sb1} are equivalent,
1, Let (x,y) G S. Let's show, that (x,y) G S^, Inequality (5) is equivalent to a(x — r) ^ b(s — y), Consider three cases: a) x = r, b) x > r, c) x < r,
a) If x = r, then y ^ ^d (x, y) G S1.
a s — y
b) If x > r, then - < -, Because s < a, then x — r < b, Bv the properties of Farev
b x — r
series, in interval ( t1 ) there are no numbers with denominator smaller than b, therefore b b1
a1 s — y
— <-, i.e., (x,y) G Si.
b1 x — r
c) Let x < r, Then T ^ -—Especially, ^ ^ -—That is (x,y) G S1.
b r — x "b1 r — x
(x, y) G S1 (x, y) G S
a1(x — r) ^ b1(s — y), Consider three cases: a) x = r, b) x > r, c) x < r,
a) If x = r, then y ^ s, From here follows, that (x, y) G S,
a1 s — y a s — y
b) Let x > r. Then — ^-.Especially, - ^-, i, e,, (x,y) G S,
b1 x — r "b x — r
aa ^ y_s / a a ^ \
c) Let x < r. Then — ^ - and r — x < b1. Because an interval ( -, — I does not
b1 r — x b b1
a y — s
contain rational numbers with a denominator smaller than b1; - ^ -, i, e,, (x,y) G S,
b r — x
The equivalence of Inequalities (5) and (6) shows a possibility of decreasing the parameters of Inequality (5) if r < b1.
A possibility of decreasing the parameters of Inequality (5) if s < a2 can be shown similarly.
Let r ^ b1,s ^ a2. We shall show, that it is impossible to decrease parameters. Let, on the contrary, the triplet (a, b, ra + sb) can be decreased. Then there is a triplet (a/, b/, A/), a/ ^ a, b/ ^ b, A/ ^ A, a/ + b/ + A/ < a + b + A such that
ax + by ^ ra + sb ^ (7)
^ a/x + b/y ^ A/,x,y G Z+. (8)
First of all, ra/ + sb/ ^ A^ as (r, s) is a solution of (7), (8), Consider two possible cases: a) a a/ a a/
b < r j b > F a a/
a) Let - < —, Bv the propertv of numbers of Farev series
b b/
a a1 ^ a/ b < b1 ^ b/.
But the point (r — b1, s + a1) does not satisfy (7) because
a(r — b1) + b(a1 + s) = ar + bs + ba1 — ab1 = ar + bs + 1 and satisfies (8) because b/a1 — a/b1 ^ 0 and
a/(r — b1) + b/(a1 + s) = a/r + b/s + b/a1 — a/b1 ^ A/.
That is, in this case decreasing of parameters is impossible, a a/
b) Let - > —. Bv the propertv of numbers of Farev series
b b/
a/ a2 a — < — < -
^ b2 b
and a/b2 — b/a2 ^ 0, ab2 — ba2 = 1. Take a point x = b2 + r, y = s — a2. Then (8) is carried out:
a/(b2 + r) + b/(s — a2) = a/r + b/s + a/b2 — b/a2. At the same time, (7) is not carried out because
a(b2 + r) + b(s — a2) = ar + bs + ab2 — ba2 = ar + bs + 1. The lemma is proved,
2. Theorem about equivalence of guillotine cutting problems. We shall distinguish formulations of problems of guillotine cutting (or packing) in a boolean and in integer variant, Bv
((A,B,C); (ai,bi,ci), («2,^2, c2),..., (a„,b„,c„))
(9)
let's denote a boolean variant of a problem of packing in a cuboid (A,B,C) cuboids (ai,bi,ci), (a2,&2,C2)..., (a„,b„,cra), and by
((A, B, C); zi(ai, bi, ci), Z2(a2, Ьг, C2),..., z„(a„, bra, c„))
(10)
an integer variant of a problem of packing in a cuboid (A,B,C) z1 cuboids (a1,b1,c1), z2 cuboids (a2, b2, c2)..., cuboids (an, bn, cn), For convenience of exposition we may assume that orientations of cuboids are fixed , For integer variant of a problem we call (analogously to Integer Linear Programming) the set of integer vectors (z1;z2...,zn), such that there exists a solution of an integer cutting problem (10), the set of feasible solutions. This set of feasible solutions we shall denote by
A,B,C
ab bb cb ^ ^ c2..^ ^ ^ cn.
Let's state the main theorem of this section. Theorem 1. Let boolean packing problems are given
((A,B, C); (a1, b1, C1), (a2, b2, C2),..., (a„,b„,cra)), ((A',B',C/);(a1,b1,c1), («2, b2, 4),..., K, bn, <)).
^ajXj < A ^^ aix < A',
(11)
(12)
(13)
Let the sets of feasible solutions in boolean variables Xj, y*, z G {0,1}, i = 1, 2,..., n coincide for all three pairs of inequalities:
(14)
i=i
i=i
^ bi^i < B ^ ^ biyi < B',
i=i
i=i
(15)
^ CiZi < C ^ ^ cizi < C'.
i=i
i=i
(16)
Then the problem (12) is equivalent to the problem (13), i.e. (12) is solvable if and only if (13) is solvable.
Proof. The proof of this theorem is standard. Let there exists a packing pattern for (12), A packing pattern is described by the coordinates of deep bottom left vertices of all parallelepipeds (xi,yi, Zj),i = 1, 2,...,n, which satisfy the conditions of non-overlapping of small parallelepipeds
and their belonging to the parallelepiped (A,B,C), whose the deep bottom left vertex is in (0, 0,0), By a method of normalization of packing it is possible to show, that there exists packing with coordinates of an arrangement of i-th parallelepiped, i = 1, 2,..., n:
xi = ^^ akak, where ak G {0,1}, ai = 0, fc=i
n
Vi = E #bk, where Afc G {0, !},# = 0,
fc=i n
k
Zi = 7kcfc, where 7k G {0,1}, Y = 0. k=i
Let's correspond to this packing pattern the next packing pattern for (13):
nn
xi = max E ¿k«kI E ¿k«k < Xi, ¿k G {0,1}, ¿j = 0 , (17)
. fc=i fc=i
Vi = max E ¿kbkI E ¿kbk < Vi, ¿k G {0,1}, ¿i = 0 , (18)
. fc=i fc=i
zi = max E ¿kbkI E ¿kbk < Vi, ¿k G {0,1}, ¿i = 0 . (19)
,fc=i fc=i
Let's show, that this packing pattern is feasible. We must check the constraints of non-overlapping of small parallelepipeds and the constraints of their belonging to a big parallelepiped. In particular, it is necessary to show, that xi + ai < A', Because xi = Ym=-i ak for some boolean vector ^ = (i1, i2,..., ), = 0, then xi + ai = Ym=-i ak; where <5£ = ik, if i = ^d = 1, From (17) it follows that
n
ak < Xi,
k=1
and
fc=i
z ij afc < Xi + ai < A.
Thus, a vector ¿i belongs to the set of feasible solutions of (14), i.e., ^k«k < A', The
fulfillment of vi + bi < B', zi + ci ^ C' can be shown analogously.
Let now z-th and j-th parallelepipeds are not overlapped. For example, let xi > Xj + j Let xj = n=i ¿k ak; where
Y jafc < Xj, j G {0,1},<j = 0. fc=i
Because i-th parallelepiped locates from the left of j-th then = 0 and
n
X > ^ j«fc + «. fc=i
From (17)
n
Xj ^ ^ «k I «j Xj I «j. fc=1
That is, the constraints of non-overlapping of parallelepipeds in the second packing problem is carried out. We prove that for every packing pattern in the first packing problem there exists a packing pattern defined by (17)-(18) for the second problem. By the symmetry, for every packing pattern in the second packing problem there exists a packing pattern for the first problem. The theorem is proved.
From this theorem the next corollary for an integer packing problem easily follows.
Corollary 1. Let integer packing problems are given
((A, B, C); zi(ai, bi, ci), 62, c2),..., z„(a„, b„, c„))
((A',B', C'); zi(a/i,6/i,c/i),z2(a2,6/2,c2),...,z„(an,6n,cn)).
(20) (21)
Let the sets of feasible solutions in integer non-negative variables x^y, z G {0,1, 2...},i 1, 2,..., n coincide for all three pairs of inequalities:
^ajXi < A ^^ ajxj < A',
i=i
i=i
(22)
^ < B ^ ^ bjy < B',
i=i
i=i
(23)
Y CjZj < C ^ Y cjZj < C. i=1 i=1
Then the problem (20) is equivalent to the problem (21), particularly
A, B, C
A',B',C'
ai, bi, ci, a2, 62, C2..., a„, b„, c„ ai, bi,c'ia2, b2, d2...,a!n, bbn, сП
For the proof of this corollary it is enough to present integer packing problems (20), (21) as boolean with zi + z2 + ... + zn boolean variables according to the number of small cuboids,
3. Guillotine cutting a cuboid into two cuboids without rotations. The existence of polynomial time algorithms for optimum guillotine cutting a rectangular sheet into equal rectangular pieces and its connection with Integer Linear Programming allows to suppose the existence of a polynomial algorithm for the problem of integer guillotine cutting a rectangular sheet into a fixed number of rectangular pieces. In [3] it is presented a linear in the number of arithmetic operations algorithm of optimum guillotine cutting a rectangular sheet (A,B) into two rectangles (a,b), (c, d), In this section we consider a problem of constructing the set of feasible solutions of guillotine cutting a cuboid (A, B, C) into cuboids (a, b, c), (d, e, f ) and a problem of constructing the convex hull of the set of feasible solutions. Without loss of generality, we may assume that all parameters A, B, C, a, b, c, d, e, f G Z+ are non-negative integers, A basis for consideration of these problems is the theorem which generalizes the theorem from [4], We shall designate
A, B, C
' ' = {(x, y)| cutting pattern exists for ((A, B, C); x(a, b, c), y(d, e, f))}
a, b, c, d, e, f
A, B, C
It is easy to check the following properties of a symbol
a, b, c, d, e, f
A, B, C A, B, C
(x, y) G —---- ^ (y, x) g ----— (25)
a, b, c, d,e,f d,e,f,a,b, c
(xi,yi) ^ (x2,y2), (x2,y2) G a^f ^ (xi'Vi) G a^If (26)
(x y ) G Ai,B,C ^^ A2,B,C ^
i i a, b, c, d, e, f 2 2 a, b, c, d, e, f
Ai + A2,B,C . _
^ (xi + x2, vi + V2) G i + 2 ' (27)
a, b, c, d, e, f
(a, b, c, d, e, f ) ^ (a', b', c', d', e', f') ^
A, B, C A, B, C
^-!—!- D-ï—ï--(28)
a,b, c, d, e,f a', b', c', d', e', f '
(A,B, C) ^ (A',B', C') ^ A,,Bf f ^ fB^' f (29)
a, b, c, d, e, f a, b, c, d, e, f
Ai + A2,B,^ Ai,B,C ^ A2,B,C a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
ya> 0 A,B,C AA,AB,AC (31)
VA> 0 a,b,c,d,e,f = Aa, Ab, Ac, Ad, Ae, Af (31)
a, b, c, d, e, f
a,b,c LAJ, LB J, LCJ (32)
a, b, c, d, e, / a, b, c, d, e,/ Among properties of the Minkowski sum [8] note the following property:
Co(Si © S2) = Co(Si) © Co(S2).
It is easy to show, that if A is not an integer linear combination of a, d, then it is possible to decrease A to the number, representable by such a combination. For this purpose it is enough to solve integer linear programming problem with two variables (knapsack problem):
az1 + dz2 ^ max, (33)
az1 + dz2 ^ A, z1, z2 G Z+.
If A* is an optimum value of this problem, then
A, B, C A*,B,C
a, b, c, d, e,/ a,b, c, d, e,f Therefore, from the outset we assume, that A, B,C are integer linear combinations of corresponding sides of small cuboids:
A = ria + sid, B = r2b + S2e, C = r3c + S3/.
Let's prove the main theorem of this section. Theorem 2. Let A = ra + sd, r, s G Z+, Then
A, B, C ra + sd, B, C ra,B,C sd,B,C
© L 1-7. (34)
a, b, c, d, e,/ a, b, c, d, e,/ a,b, c, d, e,/ a, b, c, d, e, / Proof. The relation
ra + sd, B,C ra,B,C sd, B,C
3 , -г ф
a, b, c, d, e, / a, b, c, d, e, / a, b, c, d, e, / follows from (30), It is necessary to show, that
ra + sd, B,C ra,B,C sd,B,C
С , ' '-- ©
a, b, c, d, e, / a, b, c, d, e, / a, b, c, d, e, /
(A, B, C)
for which this theorem is not valid, i.e.,
ra + sd, B, C
(m, n) G
a, b, c, d, e, f
but
. . ra,B,C sd, B,C (m, n) G , ,-7 ©
a,b, c, d, e,f a, b, c, d, e,f
Let for receiving m cuboids (a, b, c^d n cuboids (d, e, f), the first cut divides the side B, i, e,, for the some Bi, B2 : B = Bi + B2
A,Bi,C A,B2,C (m, n) e —----- © —-----, m = mi + m2, n = ni + n2,
a, b, c, d, e, f a, b, c, d, e, f
A Bl, C A ^ C (mi, ni) e —----7, (m2, n2) e
a, b, c, d, e, f 2 2 a, b, c, d, e, f
For cuboids (A, Bi, C), (A, B2, C) the theorem is valid:
ra,Bi,C ^ sd, Bi,C
(mi,ni) G A ' i—7 © A A f
a, b, c, d, e, f a, b, c, d, e, f
, . ra,B2,C sd, B2,C (m,2, n2) G —----7 ©
a, b, c, d, e, f a, b, c, d, e, f Thus,
ra,Bi,C sd, Bi,C ra,B2,C sd, B2,C
(m, n) G ' i—7 © ' i'-7 © ' j'—7 © ' 2'
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
B
ra,B,C sd, B,C (m, n) G Tirzr^r—, ©
a, b, c, d, e, f a, b, c, d, e, f
B
cut cannot divide the side C = Ci + C2. Hence, the first rat divides the side A = Ai + A2, Following to (33) we replace Ai, A2 accordingly by ria + sid, r2a + s2d. If min(ri,si) > 0 or min(r2,s2) > 0, then the contradiction can be obtained because for (Ai,B,C), (A2,B,C) the theorem is valid. Let, for example, min(ri,si) > 0. Then either r ^ ri; or s ^ s^ If r ^ ri; (m, n)
ria, B, C sid, B, C A2,B,C (m n) G i © i © 2' ' c
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
ria, B, C sid + A2, B, C Ç -——-- © —----—.
a, b, c, d, e, f a, b, c, d, e, f
That is,
rla,B,C sld + (r — ri)a,B,C
(m,n) e -~i-f ®-1-~i-1-•
a,b,c,d,e, j a,b,c,d,e, j
For the second summand the theorem is valid:
^ ^ rla,B,C ^ (r — rl)a,B,C ^ sd,B,C
' a,b,c,d,e, f a,b,c,d,e, f a,b,c,d,e, f
Then, by the property (30):
ra,B,C sd,B,C (m n) G Tirzr^r—, ®
a,b,c,d,e, f a,b,c,d,e, f The contradiction compels conditions:
min(ri, si) = min(r2, s2) = 0.
Besides, if r1 = 0, s1 > 0, s2 = 0, r2 > 0 or r1 > 0, s1 = 0, s2 > 0, r2 = 0, then it is easy to obtain the contradiction again. In fact, let
r2a,B,C s1d,B,C (m, n) E —----- ©
a,b,c,d,e, f a,b,c,d,e, f In addition, r2a + s1d ^ ra + s^o r2 ^ r or s1 ^ s. Let s1 ^ s, Then,
. A — s1d,B,C s1d,B,C (m,n) E —----— Ф
a,b,c,d,e, f a,b,c,d,e, f
ra + (s — s1)d,B,C s1d,B,C
a,b,c,d,e, f a,b,c,d,e, f
For the first summand the theorem is valid, i.e.,
, . ra,B,C (s — s1)d,B,C s1d,B,C (m, n) E ' '-- Ф 1 , V ' Ф ' . Ç
a,b,c,d,e, f a,b,c,d,e, f a,b,c,d,e, f
ra, B, C sd, B, C Ç, -гФ
a, b, c, d, e, f a, b, c, d, e, f It remains to consider the case
min(ri + T2, si + s2) = 0. Let, for example, rl + r2 = 0. Then
s1d,B,C s2d,B,C К n) E „ L „ J „ l Ф
a, b, c, d, e, f a, b, c, d, e, f
By Lemma 1 and Theorem 1 the following circumstances are valid. Let A = Mad + ra + sd, r < d, s < a. If M > 0, then A = ra + (s + Ma)d and min(si,s2) < (s + Ma) because ra < (s + Ma)d and it is easy to obtain the contradiction again. Let, for example, si < (s + Ma), Then
sid,B,C ra + (s + Ma - si)d,B,C (m n) e —r—j—7 ©-1—j—-f-.
a, b, c, d, e, f a, b, c, d, e, f
For the second summand the theorem is valid, therefore
sid,B,C ra, B, C (s + Ma - si)d,B,C (m,n) e ' ' -7 ©"-, , , ^
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
ra, B, C (s + Ma)d,B,C
a, b, c, d, e, f a, b, c, d, e, f
Thus, M = 0, A = ra+sd, r < d, s < a. If it was possible to decrease the triplet (a, d, ra+sd) to the triplet (a', d', A' = ra' + sd'), then by Theorem 1:
A, B, C A',B,C
a, b, c, d, e,f a', b, c, d', e, f For the right part of this equality the theorem is valid:
A',B,C ra', B, C sd', B, C
©
a',b, c, d',e,f a', b, c, d', e, f a', b, c, d', e, f and again by Theorem 1:
ra', B, C ra, B, C sd',B,C sd,B,C
a', b, c, d', e, f a,b, c, d, e,f a', b, c, d', e, f a, b, c, d, e,f
Thus,
A, B, C ra, B, C sd, B, C
©
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
From this contradiction it follows, that the triplet (a, d, ra + sd) can not be decreased. Then, from Lemma 1, r ^ di, s ^ a2, where
a2 a ai d2 d di
are three consecutive members of Farey series That is
sid, B,C s2d, B,C (m, n) G ©
a, b, c, d, e, f a, b, c, d, e, f but
. , ra,B,C sd, B,C
a, b, c, d, e, f a, b, c, d, e, f
ra + sd ^ sid + s2d, thus equality cannot be valid because gcd(a, d) = 1, i, e,, ra + sd — 1 ^ sid + s2d. Thus,
ra + sd — 1, B, C
(m,n) e -1-a-1—.
a, b, c, d, e, f
If ai > a2 (and, therefore, di > d2), then by presenting ra + sd — 1 = (r — d2)a + (s + a2)d, r — d2 > 0, we obtain
, ra + sd — 1,B,C (r — d2)a + (s + a2)d,B,C
(m,n) e -a-a-T~ =-E-1-1-.
a, b, c, d, e, f a, b, c, d, e, f
Here the theorem is already valid, i.e.,
, (r — d2)a,B,C (s + a2)d, B,C
(m, n) e -1-A-T ©-1-A-T.
a, b, c, d, e, f a, b, c, d, e, f
Especially,
(r — d2 )a,B,C d2a + sd,B,C
(m,n) e -1-j-F" ©-1-J-r.
a, b, c, d, e, f a, b, c, d, e, f
The theorem is already valid for the second summand, i, e,,
, . (r — d2)a,B,C d2a,B,C sd, B,C (m,n) e 1 7 ' © ' . ©^^7-7 ^
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
ra, B, C sd, B, C C , -- ©
a, b, c, d, e, f a, b, c, d, e, f
Similarly, the contradiction can be obtained for the case a2 > ai, d2 > di. In this case, take the representation ra + sd — 1 = (r + di)a + (s — ai)d, s — ai > 0, Then, the theorem is already valid:
, , (r + di)a,B,C (s — ai)d, B,C
(m, n) G -1-Â-T ©-1-A-T Ç
a, b, c, d, e, f a, b, c, d, e, f
(s — ai)d,B,C (r + di)d + 1,B,C d-(j)-d
a, b, c, d, e, f a, b, c, d, e, f
—ai)d, B,C aid, B,C ra,B,C Ç ^-^—— © -——--©---!- Ç
a, b, c, d, e, f a, b, c, d, e, f a, b, c, d, e, f
ra,B,C sd,B,C Ç ,-r©
a, b, c, d, e, f a, b, c, d, e, f The contradiction finally proves the theorem.
This theorem together with Theorem 1 allows to show, that every cutting into two cuboids can be decomposed into so-called elementary cuttings,
(ad, be, cf)
(a, b, c), (d, e, f)
It is easy to see, that a cuboid (ad, be, cf) can be cut either into def cuboids (a, b, c) or abc
(d, e, f)
(def, 0) € ad,be,cfi, (0, abc) € ^^
a,b,c,d,e, f a,b,c,d,e, f
It is easy to see also, that points (def, 0), (0, abc) are vertices of the convex hull of the set ad, be, cf
a, b, c, d, e, f
Lemma 2. The convex hull of the set of feasible solutions of elementary cutting is a right triangle T(def, abc) with vertices in points (0, 0), (def, 0), (0, abc).
Proof. The proof follows from elementary volume estimations. Belongings
(def, 0) E athe:cf „ (0, abc) E ^^
a, b, c, d, e, f a, b, c, d, e, f
are obvious. Let some point of an integer lattice (M,N), outside T(def, abc), belongs to ad, be, cf
——-—\--, The equation of the straight line, connecting points (def, 0), (0,abc), is
a, b, c, d, e, f
abcx + defy = abcdef.
But then
abcM + defN > abcdef. (35)
The left part of (35) is a volume of all small cuboids, and the right part is a volume of the big cuboid. Thus, (35) is impossible and (M,N) e T(def, abc). The lemma is proved.
It appears, that every cutting a cuboid into two cuboids is decomposed into elementary cuttings. We shall issue this statement as the theorem. Theorem 3. Let a knapsack polygon
Psd = co{(x, y) € Z+ |ax + dy ^ sd}, be presented by the set of right triangles Tl(xl,yl),T2(x2,y2), ...,Tk(xk,yk):
k
Psd = © Ti(Xi,yi). i=i
Then
sd,B,C yjd, B,C
a, b, c, d, e,f ^^ a, b, c, d, e, f
Proof. If sd < a then a knapsack polygon has vertices (0,s), (0,0) and = T(0,s), where T(0, s) is a singular triangle with vertices (0, s), (0,0), It is easy to see, that in this case the cuboid (sd, B, C) can be cut only into s |_B/e_||_C/fJ cuboids (d, e,f ) and in this case the theorem is trivial.
Let sd ^ a. Consider the set of feasible solutions of a 2-dimensional knapsack problem:
= {(x, y) G |ax + dy ^ sd}.
By definition, = co(Ssd), Points (0,s), (xi,s — yi) are neighboring vertices of Psd, therefore locates below the straight line connecting these points. The equation of this line is yix + xiy = sx^ Then also lavs on one side from this line. On the other hand, this line in Z+2 lays below the line ax + dy = sd. Therefore, we have another equivalent description of the set
Ssd = {(x,y) e |yix + xiy ^ sxi}. By Theorem 1 we have equality
sd, B, C = sxi, B, C a, b, c,d, e, f yi,b,c,xi,e, f
Besides, we have equality sxi = xiyi + (s — yi)xi. Then, by Theorem 2 sxi,B,C xiyi,B,C (s — yi)xi,B,C
yi,b,c,xi,e,f yi,b,c,xi,e,f yi,b,c,xi,e,f
According to Theorem 1 we have
xiyi,B,C yid, B,C
yi, b, c, xi, e, f a, b, c, d, e, f (s — yi)xi,B,C = (s — yi)d,B,C
yi,b,c,xi,e,f a,b,c,d,e,f .
A knapsack polygon
Psd-y-id = co{(x, y) € Z+ |ax + dy ^ (s - yl)d}, can be presented by right triangles (x2,y2),..., (xk,yk):
k
Psd-yid = ^^ T(xi,yi). i=2
That is, by induction we have the validity of the theorem. In addition, we have shown
kl
sd,B,C = yk d,B,C xiyi,B,C
a,b,c,d,e,f a,b,c,d,e,f yi,b,c,xi,e,f
Tk
sd,B, C = A xiyi,B,C a, b, c, d, e, f yhb,c,xhe, f
As a matter of convenience, we can add the point Tk+l (0,0) in the presentation of a polygon Psd if Tk is not singular. So, we can assume, that Tk is singular, i, e,, ykd < a and
sd,B,C yk d,B,C k/—l xiyi,B,C . . ' ' yk ' ' ©ffi —-- = (36)
VL' 11. h r P T
a, b, c, d, e, f a,b,c,d,e,f ^ yi ,b,c,xi,e,f
kl
= © y Tf'C f ® T1 (0,yk LB/ej ■ [C/f j),
i=l yi, b, c, xi, e, J
where T1 (0, M) ^^^^^^^^^ the set of points of an integer lattice in a triangle T(0, M):
T1 (0,M) = {(0,x)|x e Z+,x ^ M}.
a
a, d
Pra = co{(x, y) € Z+ |ax + dy ^ ra}, be presented by the Minkowski sum
i
Pa = 0 Ti(xi,yi). (37)
i=l
of right triangles Tl(xl,yl),T2(x2,y2)...,Ti(xl ,yi) defined by the set of vertices (X0,Y0), (Xl,Yl),..., (Xl,Yl),X0 < Xl < ... < Xh Only Tl can be singular. If Tl is not singular, then for convenience we can add in (37) as a summand the point T0(0, 0), So, we may Tl
0 Ш y. b c x- e f =
a ,b ,c ,d ,e ,f a ,b ,c ,d ,e ,f У , b ,c ,xi , e ,f
t 1 (xi LB/6J • LC/cj, 0) 0 0 Xiyi,B,C
Уг,Ь,с,хг,е,7
i=2
where xia < d. For the side A = ra + sd (take such (r, s) that it is a vertex of a knapsack polygon for the side A ) by adding (36) and (38) we have the formula
A,B,C xia,B,C 1 Xj^i,B,C ^ d,B,C
© vT7 v. t ©
II- h r V: P T
a,b,c,d,e,f a,b,c,d,e,f ^ yi,b,c,Xi,e,Z a,b,c,d,e,f
к- l
t 1 (X1LB/6J ■ LC/cj,0) ©et 1 (o,yxLB/dj ■ LC/fj),
where x1a < d, yKd < a, K = k +1 and a knapsack polygon for the side A = ra + sd is presented by the formula Pa = 0K=1 Tj(xj,yj).
If A can not be presented in the form A = ra + sd, then we can diminish A to the maximal A', which can be presented in such a way A' = ra + sd, without changing the set of feasible solutions of a corresponding knapsack problem. Therefore, from the outset we can assume, that A can be presented in the form A = ra + sd, where (r, s) is a vertex of a corresponding knapsack polygon.
By considering a similar decomposition for the sides B = tb + ue,C = pc + qf we have
ABC
the formula for the set of feasible solutions ——--- as the Minkowski sum of elementary
a , b, c , d , e , f
cutting patterns,
(A, B, C)
then the following formula for the set of feasible solutions is valid:
, „ „ K-1 L-1 M-1 L-1
A-B:C f = ®® ® © ^T'(X1U„0) (39)
a,b, c, d, e, f ^ ^ ^ y^v, , x,,u7 , ^ 7
i i i i iJ j=2 j=2 fc=2 7 " 7 k 7=1 L K-1 K
© 0 T1 (0, yKVj) © 0 T1 (XjU1, 0) © 0 T1 (0, yiVL). 7=2 i=1 i=2
In rectangular cutting, the convex hull of the set of feasible solutions and more exactly, the set of vertices of the convex hull has a great significance. This set is used in nomenclature problems of guillotine cutting in a mass production in which the economy is important not for one sheet, but for a large number of sheets. In this connection, it is important to construct both the set of feasible solutions, and the set of vertices of its convex hull.
The great importance for mass production problems has a notion of the convex hull of the ABC
set —-1—\--, The general mass production problem of optimum cutting a large number
a, b, c, d, e, f
of cuboids (A, B, C) into small cuboids (a, b, c), (d, e, f ) in the fixed proportion of both pieces m : n can be formulated as Linear Programming problem
z —> max
A, B, C
(zm, zn) G co-
a, b, c, d, e, f
and geometrically solved by intersection of the line X = m with the boundary of co- A, B, C
y n " a,b,c,d,e, f
ABC
i.e., by finding two neighboring vertices of co—-1—\-- and the segment connecting them
a b c d e f
such that it intersects the line — = —, These two neighboring vertices present two optimal
yn
cutting patterns and the point of intersection presents the proportion of these cutting patterns to satisfy the requirements in proportion of both pieces.
We are ready to formulate the main theorem of the paper.
Theorem 4, If vertices of a knapsack polygon are known for all three sides of a parallepiped (A ,B, C) so that
i
Pa = Q) Ti(xi,yi),
i=1
J
pB = 0 Tj (Uj ,vj ), j=1
K
Pc = 0 Tk (wk ,Zk ),
k=l
then the following formula for the convex hull of feasible solutions is valid:
ABC i j k
œanAcdren = ® ® ® Tj(XiUj w, v% Vj zk)- (40)
, , , , , j i=i j=i k=i
Proof. The proof easily follows from (39), the next property of the convex hull: co(Sl ®S2) = co(Sl) © co(S2) for compact sets and the fact that
Xiyi,UjVj ,Wkzk „, ,
- = T (XiUj Wk ,yiVj zk ).
yi, Vj ,zk ,Xi,Uj ,Wk
From this formula and properties of convex polygons follows a polynomial algorithm for
• , A, B,C constructing the convex hull —--:--,
a, b, c, d, e, f
Algorithm Convex Hull
Step 1. Compute the sets of vertices of convex hulls of knapsack polygons for three sides of a cuboid (A, B,C), Present these polygons by the Minkowski sum of right triangles
IJK
Pa = 0Ti(xi,yi); Pb = @Tj(uj,Vj); Pc = @Tk(wk,zk). i=l j=l k=l
A, B, C
The polygon co—-1—\-- is equal to the Minkowski sum
a,b,c,d,e, f
I J K
© © © Tijk (XiUj Wk, yiVjZk). i=l j=l k=l
For constructing the set of its vertices go to the following step.
Step 2. Sort the set of right triangles Tijk(xuwk,yj,Vjzk) into monotonicallv increasing
yivjzk
order bv angle at right vertex, i.e., bv —^—. Let this sequence is {Ti(Xi,Yi}i=l IJK).
xiujWk
Step 3. Compute the set of IJK + 1 points according to recurrence formula
(uo,Vo) = I 0,
A B C
d e f
(ui,Vi) = (ui-1 + Xi, v— - Yi),i = 1, 2, ...,IJK.
ABC
Note, that not all these points are the vertices of co(—-1—;--), but all its vertices belong
a, b, c, d, e, f
A, B, C
to this set and all these points are on the boundary of co—-1—\--.
a,b,c,d,e, f
Step 4. Compute the convex hull of the set of points of Step 3 together with the origin of
A, B, C
coordinates. The obtained set is equal to co(—-1—\--).
a, b, c, d, e, f
The complexity of algorithm is evaluated by the complexity of its steps. Step 1 has the time complexity O(log a + logb + logc + logd + log e + log f) due to [8], Step 2 has the time complexity O(WlogW), where W = (loga + logd)(logb + loge)(logc + log f) because the number of vertices of a knapsack polygon for the side A is estimated by O(min(log a, log d). Steps 3, 4 have a cubic time complexity because in these steps algorithm works with the sets of O(IJK) elements, where I + 1,J +1,K + 1 are the numbers of vertices of knapsack polygons A, B, C
So, we achieve the next theorem.
Theorem 5, For constructing the convex hull of the set of feasible solutions for guillotine (A, B, C) (a, b, c), (d, e, f)
with the time complexity O(Wlog W), where W = (loga + logd)(logb + loge)(logc + logf), In practice, there are different criteria of cutting efficiency. One of them is the criterion of minimizing the unused volume. The criterion of maximizing the useful volume of a cutting pattern is similar. There exists also the criterion of maximum of total amount of small cuboids which can be cut from the given cuboid. At last, if some weights are assigned to small cuboids, then we have the criterion of maximizing the weighed sum of small cuboids. It is easy to see, that for all these criteria, because they are linear, the knowledge of the convex hull of the set of feasible solutions allows to solve quickly corresponding optimization problems. For this purpose, it is enough to compare values of a criterion on the set of vertices of the convex hull of the set of feasible solutions.
Remark. As an exercise the reader can design an algorithm for optimizing the linear function
A, B, C
on the set co—-1—\-- with the time complexity O(U log U), where U = (log a + log d)(log b +
a, b, c, d, e, f
loge) + (logc + log f), The idea of such an algorithm is based on exercise 2,3-7 from [8],
4. Numerical example. Consider an example of guillotine cutting a cuboid (41, 64, 41) into small cuboids (3, 5, 7), (4, 7, 4), The sets of feasible solutions and knapsack polygons for A, B, C
A
Sa = {(x,y) e Z+ |3x + 4y ^ 41},
Pa = CO(Sa) = 0 Tj(xi,y7) = T1(3, 2) © T2(8, 6) © Ts(2, 2),
i=1
B
Sb = {(x, y) e Z+ |5x + 7y ^ 64}
Pb = CO(SB) = 0 T7 (Uj,Vj) = T1(3, 2) © T2(7, 5) © Ts(2, 2), 7=1
C
Sc = {(x, y) e Z+ |7x + 4y ^ 41}
Pc = co(SB) = 0 Tfc(wfc, zfc) = Ti(3, 5) 0 T2(2, 4) 0 Ts(Q, 1).
fc=i
41,64, 41
The convex hull of the set of feasible solutions -according to Theorem 4 is equal
3, 5, 7, 4, 7, 4 b
to
41 64 41 333
CO3 5 7 4 7 4 = 0 0 0 Tijfc w, yiVzfc),
, , , , , i=1 j=1 fc=1
where the set of rectangular triangles {T^}, sorted by increasing j is
(27, 20), (63, 50), (72, 60), (18, 16), (168, 150), (42, 40), (48, 48), (112, 120), (18, 20),
(18, 20), (42, 50), (48, 60), (12, 16), (12, 16), (28, 40), (32, 48), (12, 20), (8, 16), (0, 4), (0, 10),
(0, 12), (0, 30), (0, 4), (0, 4), (0, 10), (0, 12), (0, 4).
41,64,41
The set of points laving on a boundary of co-„„„,,, according to Step 3 of Algorithm,
3, 5, 7, 4, 7, 4
is
(0, 900), (27, 880), (90, 830), (162, 770), (180, 754), (348, 604), (390, 564), (438, 516), (550, 396), (568, 376), (586, 356), (628, 306), (676, 246), (688, 230), (700, 214), (728, 174), (760, 126), (772, 106), (780, 90), (780, 86), (780, 76), (780, 64), (780, 34), (780, 30), (780, 26), (780, 16), (780, 4), (780, 0).
41, 64,41
Fmallv, 18 nonzero vertices of co-„,,„,, are
3, 5, 7, 4, 7, 4
(0, 900), (27, 880), (90, 830), (162, 770), (180, 754), (348, 604), (390, 564), (438, 516), (550, 396), (586, 356), (628, 306), (676, 246), (700, 214), (728, 174), (760, 126), (772, 106), (780, 90), (780, 0).
41 , 64, 41
By the set of vertices of co^ ^ ^ it is easy to solve different problems of optimizing linear target functions. For maximizing useful volume,
105x + 112y ^ max
. , 41,64,41 (x'y) G CO3, 5, 7, 4, 7, 4,
the optimal solution is a vertex (348, 604) with a useful volume 104188 and a volume of the rests 3396,
For a problem of maximizing the total number of small cuboids,
x + y ^ max
, , 41,64,41
{x,y) e CO-
3, 5, 7, 4, 7, 4'
the optimal solution is given by two vertices (390, 564), (438, 516),
Finally, consider a mass production problem of guillotine cutting a large number of sheets (41, 64, 41) into two pieces (3, 5, 7), (4, 7, 4) in proportion 1:1, The line x = y intersects the segment connecting two vertices (438, 516), (550, 396) in the point (47529, 47529) and the proportion of optimal cutting patterns corresponding with these two vertices is 77:39,
5. Generalization for n-dimensional guillotine cutting. The generalization of obtained results for the case of guillotine cutting n-dimensional brick (A\, A2,..., An) into two bricks (a\,a2,...,an), (bi,b2, ...,bn) can be easily obtained. We shall formulate the main theorems without proving. Theorem^ 6,^
Let--—n-— designates the set of feasible solutions of a problem of guillotine
ai, a2,..., an, bi, b2,■ ■■, bn
cutting n-dimensional b rick (Ai, A2,..., An) into two bricks (ai,a2, ...,an), (bi,b2 ,...,bn). Let knapsack polygons for the sides Ai,A2,...,An are:
m,
Pi = 0 T(Xij,yij),i =1, 2 j=i
Then
Ai,A2,...,An
CO
©© ■©T(nXij,,nVj)■
ai,a2,..., an, bi,b2, ...,b n
J1 = i J2 = i jn = i i=i i=i
n
co--—2, A-easily follows. Thus, the following theorem is valid,
al,a2, ■■■,an,bl,b2, ...,bn
n
feasible solutions co--—2,n-— for the problem of guillotine cutting n-dimensional
ai,a2, ■■■, an, bi,b2, ...,bn
brick (Ai, A2,..., An) ^^^o two bricks (ai,a2, ...,an), (bi,b2, ...,bn), is solvable by a polynomial algorithm.
Conclusions, The generalization of a problem of cutting a rectangle into equal small
rectangles: cutting a cuboid sheet into two small cuboids is considered. The generalization
of the theorem in [4] allows to decompose the set of feasible solutions of this problem. For
constructing the convex hull of the set of feasible solutions a polynomial algorithm is designed.
The general theorem about the structure of the convex hull of the set of feasible solutions of
nn
existence of a polynomial algorithm for its designing are formulated,
ABC
Open is a question whether the decision problem (m, n) e —z-2—\-- belongs to P.
a, b, c, d, e, f
References
1. Dyckhoff H. A typology of cutting and packing problems // European Journal of Operational Research. 1990. N 44. P. 145-159.
2. The Open Problems Project [Electron, source]. http://cs.smith.edu/~orourke/TOPP/. A project to record open problems of interest to researchers in computational geometry and related fields. 2011.
3. Tarnowski A.G., Terno J., Scheithauer G. A Polynomial Time Algorithm for the Guillotine Pallet Loading Problem // INFOR. 1994. N 32. P. 275-287.
4. Arslanov M.Z. Continued fractions in optimal cutting a rectangular sheet into equal small rectangles // European Journal of Operational Research. 2000. N 125. P. 239-248.
5. Arslanov M.Z. A polynomial algorithm for one problem of guillotine cutting. / / Operations Research Letters. 2007. N 35. P. 636-644.
6. Girlich E., Tarnowski A.G. On polynomial solvability of two multiprocessor scheduling problems // Mathematical Methods of Operations Research. 1999. N 50. P. 27-51.
7. Guy, R. K. The Book of Numbers. NY: Springer-Verlag, 1996.
8. Rockafellar R.T. Convex Analysis. Princeton. 1971.
9. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms, Second Edition. The MIT Press. 2001.
10. Harvey W. Computing Two-dimensional Integer Hulls // SIAM Journal on Computing. 1999. N 28. P. 2285-2299.
Arslanov Marat Zufarovich, Doctor of Physical and Mathematical Sciences, Head of the laboratory of Institute of information and computation technologies MES RK, e-mail: mzarslanov@hotmail. com