Method of determining free subareas and free spaces.
Abstract
Method of determining free subareas on an area partially covered with rectangular objects and also a method of determining free spaces in a space partially filled with objects in the form of a right parallelepiped, in which method an essentially rectangular area to be covered or a space to be filled is depicted in the form of a two-dimensional or three-dimensional matrix, respectively, each element of the matrix representing a rectangle on the area or a right parallelepiped in the space and it being established for each element whether the corresponding rectangle in the area or the corresponding right parallelepiped in the space is free or occupied, after which the number of rows and columns and, possibly, layers of the matrix is reduced in accordance with a fixed algorithm until the unit matrix has been reached. During the matrix reduction, a search is continuously made for matrix elements which have a first logic value and which are bounded on all sides by elements having a second logic value; such an element indicates the presence of a free space in the (reduced) matrix. A dimension table is also determined for each of the dimensions, the length of each table being linked to the number of rows, columns and, possibly layers, respectively, of the matrix. During the reduction of the matrix, the dimension tables are updated in accordance with a fixed system, with the result that, whenever a free area or a free space is found during the reduction of the matrix, the position of said area or said space can be read off from the table. <IMAGE>
Term
Term ended
Projected expiry passed 16 March 2012, 14.5 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
2 claims: 2 independent, 0 dependent
- 1Method of determining free subareas on an area partially covered with essentially rectangular objects, characterised in that an essentially rectangular area to be covered having dimensions X and Y is depicted in the form of a two-dimensional matrix (x, y) having x rows and y columns, each element of the matrix representing a rectangle on the area and it being established for each element whether the corresponding rectangle in the area is free or occupied, the corresponding element of the matrix being assigned a first logic value (A) in the first mentioned case and a second logic value (B) in the case mentioned second, there being a free subarea on the area if (xI, y) = B and (xI-1, yI) = A and (xI, yI-1) = A and (xI+1, y) = A (xI, yI+1) = A (I) for the corresponding element in the matrix; a matrix reduction being carried out, after determining the elements x, yI which satisfy (I), by always reducing by one the number of rows or the number of columns in the matrix in a predetermined sequence in consecutive steps until a (1, 1) matrix is left, the possible free subareas always being determined after a reduction step with the aid of (I); the number of rows being reduced by determining, for each element (xI,yI) of each row, whether (xI,yI) = B and (xI+1, y) = B (II), in which case the element (xI,yI)':= B in the reduced matrix (x,y)', and if (II) is not satisfied, the element (xI,yI)': = A;the number of columns being reduced by determining, for each element (x,y) of each column, whether (xI,yI) = B and (xI,yI+1) = B (III), in which case the element (xI,yI)': = B in the reduced matrix (x,y)', and if (III) is not satisfied, the element (xI,yI)': = A;the dimensions of the free subareas determined using (I) being determined by updating a dimension table both for the rows and for the columns of the matrix, and by adjusting the dimension table for the rows or for the columns in a corresponding step during the matrix reduction.
- 2Method of determining free spaces in a space partially filled with objects essentially having the form of a right parallelepiped, characterised in that a space essentially having the form of a right parallelepiped and having dimensions X, Y and Z is depicted in the form of three-dimensional matrix (x,y,z) having x rows, y columns and z layers, each element of the matrix representing a right parallelepiped in the space and it being established for each element whether the corresponding right parallelepiped in the space is free or occupied, the corresponding element of the associated matrix being assigned a first logic value (A) in the first mentioned case and a second logic value (B) in the case mentioned second, there being a free space in the space if (xI,yI,zI) = B and (xI-1,yI,zI) = A and (xI,yI-1,zI) = A and (xI+1,yI,zI) = A and (xI,yI+1,zI) = A and (xI,yI,zI-1) = A and (xI,yI,zI+1) = A (IV) for the corresponding element in the matrix; a matrix reduction being carried out, after determining the elements (xI,yI,zI) which satisfy (IV), by reducing by one the number of rows or the number of columns or the number of layers of the matrix in a predetermined sequence in consecutive steps until a (1,1,1) matrix or a null matrix is left, the possible free spaces always being determined after a reduction step with the aid of (IV); the number of rows being reduced by determining, for each element (xI,yI,zI) of the matrix, whether (xI,yI,zI) = B and (xI+1,yI,zI) = B (V), in which case the element (xI,yI,zI)':= B in the reduced matrix (x, y, z)', and if (V) is not satisfied, the element (xI, y, zI)' = A;the number of columns being reduced by determining whether (xI, y, zI) = B and (xI, yI+1, zIi) = B (VI), in which case the element (xI, y, zI)': = B in the reduced matrix (x, y, z)', and if (VI) is not satisfied, the element (xI, y, zI)' = A;the number of layers being reduced by determining whether (xI, y, zI) = B and (xI, y, zI+1) = B (VII), in which case the element (xI, y, zI)': = B in the reduced matrix (x, y, z)', and if (VII) is not satisfied, the element (xI, yI, zI)' = A;the dimensions of the free spaces determined using (IV) being found by updating a dimension table for the rows and for the columns and for the layers of the matrix, and by adjusting the dimension table for the rows or the columns or the layers in a corresponding step during the matrix reduction.
Independent claims2
31 paragraphs, as filed
The invention relates to a method of determining free subareas on an area partially covered with rectangular objects and also to a method of determining free spaces in a space partially filled with objects in the form of a right parallelepiped.
The determination of the most favourable area division in cutting essentially rectangular objects out of a sheet or plate of material, such as leather or metal, and also the positioning of objects in a space, such as the positioning of postal packages in a container used by the post office, and the positioning of containers having different dimensions in a cargo space of, for example, a ship has hitherto been done mainly by hand, with a member of staff attempting to achieve an optimum material utilisation or packing density on the basis of his experience. It will be clear that it is desirable to at least partially automate this cutting or packing, in particular if it is to be accompanied by a reduction in the material loss or an increase in the packing density, respectively, that is to say a more optimum use of the available material or the available space. A problem in this connection is that the calculation of the free subareas on an area partially filled with objects or free spaces in a space partially filled with objects is very complex, in particular if the objects already positioned have different dimensions. In addition, the calculations are always to be carried out again after positioning a new object.
The object of the invention is to simplify the abovementioned problem to such an extent that it is possible to calculate, with an acceptable calculation time, the free subareas on an essentially rectangular area partially filled with essentially rectangular objects or the free spaces in a space having essentially the form of a right parallelepiped partially filled with objects having essentially the form of a parallelepiped, the calculation of the free subareas or spaces which are always produced after positioning a new object also being relatively simple.
For this purpose, the invention provides a method of determining free subareas on an area partially covered with objects in the form of a rectangle, in which method an essentially rectangular area to be covered having dimensions X and Y is depicted in the form of a two-dimensional matrix (x, y), having x rows and y columns, each element of the matrix representing a rectangle on the area and it being established for each element whether the corresponding rectangle in the area is free or occupied, the corresponding element of the matrix being assigned a first logic value (A) in the first mentioned case and a second logic value (B) in the case mentioned second, there being a free subarea on the area if (x<sub>I</sub>,y<sub>I</sub>) = B and (x<sub>I-1</sub>,y<sub>I</sub>) = A and (x<sub>I</sub>,y<sub>I-1</sub>) = A and (x<sub>I+1</sub>,y<sub>I</sub>) = A and (x<sub>I</sub>,y<sub>I+1</sub>) = A (I) for the corresponding element in the matrix; a matrix reduction being carried out, after determining the elements x<sub>I</sub>,y<sub>I</sub> which satisfy (I), by always reducing by one the number of rows or the number of columns in the matrix in a predetermined sequence in consecutive steps until a (1,1) matrix is left, the possible free subareas always being determined after a reduction step with the aid of (I); the number of rows being reduced by determining, for each element (x<sub>I</sub>,y<sub>I</sub>) of each row, whether (x<sub>I</sub>,y<sub>I</sub>) = B and (x<sub>I+1</sub>,y<sub>I</sub>) = B (II), in which case the element (x<sub>I</sub>,y<sub>I</sub>)' : = B in the reduced matrix (x,y)', and if (II) is not satisfied, the element (x<sub>I</sub>,y<sub>I</sub>)' : = A; the number of columns being reduced by determining, for each element (x<sub>I</sub>,y<sub>I</sub>) of each column, whether (x<sub>I</sub>,y<sub>I</sub>) = B and (x<sub>I</sub>,y<sub>I+1</sub>) = B (III), in which case the element (x<sub>I</sub>,y<sub>I</sub>)' : = B in the reduced matrix (x,y)' and if (III) is not satisfied, the element (x<sub>I</sub>,y<sub>I</sub>)' : = A; the dimensions of the free subareas determined using (I) being determined by updating a dimension table both for the rows and for the columns of the matrix, and by adjusting the dimension table for the rows or for the columns in a corresponding step during the matrix reduction.
The invention also provides a method for determining free spaces in a space partially filled with objects having essentially the form of a right parallelepiped, in which method the space to be filled and essentially having the form of a right parallelepiped and having dimensions X, Y and Z is depicted in the form of a three-dimensional matrix (x, y, z) having x rows, y columns and z layers, each element of the matrix representing a right parallelepiped in the space and it being established for each element whether the corresponding right parallelepiped in the space is free or is occupied, the corresponding element of the associated matrix being assigned a first logic value (A) in the first mentioned case and a second logic value (B) in the case mentioned second, there being a free space in the space if (x<sub>I</sub>,y<sub>I</sub>,z<sub>I</sub>) = B and (x<sub>I-1</sub>,y<sub>I</sub>,z<sub>I</sub>) = A and (x<sub>l</sub>,y<sub>l-1</sub>,z<sub>l</sub>) = A and (x<sub>I+1</sub>,y<sub>I</sub>,z<sub>I</sub>) = A and (x<sub>I</sub>,y<sub>I+1,</sub>z<sub>I</sub>) = A and (x<sub>I</sub>,y<sub>I</sub>,z<sub>I-1</sub>) = A and (x<sub>I</sub>,y<sub>I</sub>,z<sub>I+1</sub>) = A (IV) for the corresponding element in the matrix; a matrix reduction being carried out, after determining the elements (x<sub>I</sub>,y<sub>I</sub>,z<sub>I</sub>) which satisfy (IV), by reducing by one the number of rows or the number of columns or the number of layers of the matrix in a predetermined sequence in consecutive steps until a (1,1,1) matrix or a null matrix is left, the possible free spaces always being determined after a reduction step with the aid of (IV); the number of rows being reduced by determining, for each element (x<sub>I</sub>, y, z) of the matrix, whether (x<sub>I</sub>, y, z) = B and (x<sub>I+1</sub>, y, z<sub>I</sub>,) = B (V), in which case the element (x<sub>I</sub>, y, z<sub>I</sub>)' : = B in the reduced matrix (x, y, z)', and if (V) is not satisfied, the element (x<sub>I</sub>, y, z<sub>I</sub>)' = A; the number of columns being reduced by determining whether (x<sub>I</sub>, y, z) = B and (x<sub>I</sub>, y<sub>I+1</sub>, z) = B (VI), in which case the element (x<sub>I</sub>, y, z<sub>I</sub>)': = B in the reduced matrix (x, y, z)', and if (VI) is not satisfied, the element (x<sub>I</sub>, y, z<sub>I</sub>)' = A; the number of layers being reduced by determining whether (x<sub>I</sub>, y, z<sub>I</sub>) = B and (x<sub>I</sub>, y, z<sub>I+1</sub>) = B (VII), in which case the element (x<sub>I</sub>, y, z<sub>I</sub>)' : = B in the reduced matrix (x, y, z)', and if (VII) is not satis-fied, the element (x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>)' = A; the dimensions of the free spaces determined using (IV) being determined by updating a dimension table for the rows and for the columns and for the layers of the matrix, and by adjusting the dimension table for the rows or the columns or the layers in a corresponding step during the matrix reduction.
As will be explained in greater detail below, the measures according to the invention make it possible to determine in all cases the remaining free areas or spaces accurately in the case, which occurs very often in practice, of positioning essentially rectangular objects on an essentially rectangular area or of positioning objects having an essentially right parallelepiped shape in a space having an essentially right parallelepiped shape, with the result that it becomes possible, on the basis of the dimensions of the objects still to be positioned on the area or in the space, which dimensions are stored, for example, in a memory, to automatically select the object whose dimensions approximate most closely those of the free areas or spaces found. On the basis of the available data of the objects to be positioned, it is also possible to select a cargo space or container having optimum dimensions.
The invention will be explained in greater detail below on the basis of an illustrative example with reference to the drawing in which the determination of the free subareas on a rectangular base area has been chosen for the sake of simplicity and clarity, the principle according to the invention also being readily applicable, however, to three-dimensional spaces, as will be explained schematically below.
In the drawing: <ul id="ul0001" list-style="none"><li>Figure 1a: shows schematically an area filled with ten packages;</li><li>Figure 1 b: shows schematically a matrix representation of the situation shown in Figure 1 a; and</li><li>Figure 2 shows schematically the free subareas found with the aid of the method according to the invention.</li></ul>
Figure 1a shows a rectangular area with ten rectangular objects 1 to 10 inclusive lying on it which, together with the boundary of the area, determine the free subareas. Figure 1 b illustrates the conversion of the situation shown in Figure 1a to a matrix representation, which representation can be reproduced as follows if A = 0 is assumed for the first logic value and B = 1 is assumed for the second logic value: <tables id="tabl0001" num="0001"><img file="EP0507375A2_D0001.tif" /></tables>
To determine the dimensions of the free spaces found, two tables are updated whose length corresponds to the number of rows and columns, respectively, of the matrix: <tables id="tabl0002" num="0002"><img file="EP0507375A2_D0002.tif" /></tables>
For the sake of completeness, it is pointed out that the illustrative example shown only shows an instantaneous picture during the process of positioning objects. Right at the beginning, the area is empty and the matrix is a (1,1) matrix and the dimension tables each contain one dimension, 0 - xm and 0 - ym, respectively; whenever an object is positioned, the dimensions of the matrix increase by not more than two rows and two columns and the dimension tables each increase by not more than two dimensions, unless the object positioned is adjacent to an object already present, in which case as will also be explained in greater detail below, the increase in the size of the matrix and the length of the dimension tables is smaller.
In order to find the free spaces in the illustrative example shown, the matrix is examined for the 'ones' which are bounded on four sides by 'zeros'. There is therefore a free subarea if (x,,y,) = 1 and (x<sub>I-1</sub>,y<sub>I</sub>) = 0 and (x<sub>I</sub>,y<sub>I-1</sub>) = 0 and (x<sub>I+1</sub>, y) = 0 and (x<sub>I</sub>,y<sub>I+1</sub>) = 0 (I) for any element x<sub>I</sub>,y<sub>I</sub> of the matrix.
Starting from the original matrix, the free areas having the smallest dimensions are found in this way. Searching for larger free subareas in this way would, however, quickly become fairly complex in this case and, in addition, would always require a function other than that according to (I) for each possible dimension of a free subarea. According to the invention, this problem is solved by reducing the matrix in rows and in columns, as will be explained further below, free subareas being found after reducing once in the x-direction using (I) with x = 2 and y = 1 as dimension, free subareas being found after reducing twice in the x-direction using (I) with x = 3 and y = 1 as dimension, free subareas being found after reducing once in the y-direction using (I) with x = 1 and y = 2 as dimension, etc. In determining the free subareas in this way, there is the possibility that free subareas partly overlapping one another are found, but this is not a drawback if, every time the free subareas have been calculated and a package has been positioned on the basis thereof, all the free subareas then available are again recalculated using (I) and using the consecutive steps of the complete matrix reduction.
The matrix, which is a representation of the packages positioned according to Figure 1 a, is reduced in accordance with the 'tree' below.<img file="EP0507375A2_D0003.tif" />
The reduction is done for the row direction or x-direction according to the formula below: <ul id="ul0002" list-style="none"><li>If (x,y) = 1 and (x + 1,y) = 1, then (x,y): = 1, otherwise (x,y): = 0.</li></ul>
The reduction in the column direction or y-direction is carried out in the same way with the necessary changes.
The various steps during the reduction of the matrix are consecutively numbered and each is subdivided into <ul id="ul0003" list-style="none"><li>a): the reduction and</li><li>b): the search for free subareas.</li></ul>
After each reduction step in the x- or y-direction, the appropriate dimension table is also adjusted by shifting the right-hand column of said table one position higher and deleting the last (lowermost) element in the left-hand column.
The process is started by searching for free subareas in the original matrix: <ul id="ul0004" list-style="none"><li>1 b) searching for free subareas</li></ul>
In the original matrix, no 'ones' are bounded on all sides by 'zeros' and therefore there are no free subareas. <ul id="ul0005" list-style="none"><li>2a) The dimension of the matrix in the x-direction is reduced to an (8 x 9) matrix:<img file="EP0507375A2_D0004.tif" /></li><li>2b) There are no free subareas.</li><li>3a) The dimension of the matrix is reduced in the x-direction to a (7 x 9) matrix:<img file="EP0507375A2_D0005.tif" /></li><li>3b) There are no free subareas.</li><li>4a) The dimension of the matrix is reduced in the x-direction to a (6 x 9) matrix:<img file="EP0507375A2_D0006.tif" /></li><li>4b) There are no free subareas.</li><li>5a) The dimension of the matrix is reduced in the x-direction to a (5 x 9) matrix:<img file="EP0507375A2_D0007.tif" /></li><li>5b) There are no free subareas</li><li>6a) The dimension of the matrix is reduced in the x-direction to a (4 x 9) matrix:<img file="EP0507375A2_D0008.tif" /></li><li>6b) There are no free subareas.</li><li>7a) The dimension of the matrix is reduced in the x-direction to a (3 x 9) matrix:<img file="EP0507375A2_D0009.tif" /></li><li>7b) There are no free subareas.</li><li>8a) The dimension of the matrix is reduced in the x-direction to a (2 x 9) matrix:<img file="EP0507375A2_D0010.tif" /></li><li>8b) There are no free subareas.</li><li>9a) The dimension of the matrix is reduced in the x-direction to a (1 x 9) matrix:<img file="EP0507375A2_D0011.tif" /></li><li>9b) There is one free subarea: (0,y4) - (xm,y5) [1]</li><li>10a) The dimension of the matrix is now reduced in the y-direction to a (9 x 8) matrix in accordance with the procedure given above:<img file="EP0507375A2_D0012.tif" /></li><li>10b) There are no free subareas.</li><li>11 a) The dimension of the matrix is reduced in the x-direction to an (8 x 8) matrix:<img file="EP0507375A2_D0013.tif" /></li><li>11 b) There are no free subareas.</li><li>12a) The dimension of the matrix is reduced in the x-direction to a (7 x 8) matrix:<img file="EP0507375A2_D0014.tif" /></li><li>12b) There are no free subareas.</li><li>13a) The dimension of the matrix is reduced in the x-direction to a (6 x 8) matrix:<img file="EP0507375A2_D0015.tif" /></li><li>13b) There is one free subarea: (x1,0) - (x5,y2) [2]</li><li>14a) The dimension of the matrix is reduced in the x-direction to a (5 x 8) matrix:<img file="EP0507375A2_D0016.tif" /></li><li>14b) There is one free subarea: (0,y4) - (x5,y6) [3]</li><li>15a) The dimension of the matrix is reduced in the x-direction to a (4 x 8) matrix:<img file="EP0507375A2_D0017.tif" /></li><li>15b) There is one free subarea: (x3,y3) - (xm,y5) [4]</li><li>16a) The dimension of the matrix is reduced in the x-direction to a (3 x 8) matrix:<img file="EP0507375A2_D0018.tif" /></li><li>16b) There are no free subareas.</li><li>17a) There is no point in further reducing the x-direction because the matrix has become zero. The matrix from 10) is now reduced in the y-direction to a (9 x 7) matrix:<img file="EP0507375A2_D0019.tif" /></li><li>17b) There are no free subareas.</li><li>18a) The dimension of the matrix is reduced in the x-direction to an (8 x 7) matrix:<img file="EP0507375A2_D0020.tif" /></li><li>18b) There are no free subareas.</li><li>19a) The dimension of the matrix is reduced in the x-direction to a (7 x 7) matrix:<img file="EP0507375A2_D0021.tif" /></li><li>19b) There are no free subareas.</li><li>20a) The dimension of the matrix is reduced in the x-direction to a (6 x 7) matrix:<img file="EP0507375A2_D0022.tif" /></li><li>20b) There is one free subarea: (0,y4) - (x4,y7) [5]</li><li>21 a) The dimension of the matrix is reduced in the x-direction to a (5 x 7) matrix:<img file="EP0507375A2_D0023.tif" /></li><li>21 b) There are no free subareas.</li><li>22a) There is no point in reducing in the x-direction because the matrix is zero. The matrix from 17) is now reduced in the y-direction to a (9 x 6) matrix:<img file="EP0507375A2_D0024.tif" /></li><li>22b) There are no free subareas.</li><li>23a) The dimension of the matrix is reduced in the x-direction to an (8 x 6) matrix:<img file="EP0507375A2_D0025.tif" /></li><li>23b) There are no free subareas.</li><li>24a) The dimension of the matrix is reduced in the x-direction to a (7 x 6) matrix:<img file="EP0507375A2_D0026.tif" /></li><li>24b) There is one free subarea: (x6,y3) - (xm,y7) [6]</li><li>25a) The dimension of the matrix is reduced in the x-direction to a (5 x 6) matrix:<img file="EP0507375A2_D0027.tif" /></li><li>26b) There are no free subareas.</li><li>27a) There is no point in reducing in the x-direction because the matrix is zero. The matrix from 23) is now reduced in the y-direction to a (9 x 5) matrix:<img file="EP0507375A2_D0028.tif" /></li><li>27b) There are no free subareas.</li><li>28a) The dimension of the matrix is reduced in the x-direction to a (5 x 8) matrix:<img file="EP0507375A2_D0029.tif" /></li><li>28b) There are two free subareas:</li><li>(x2, y4) - (x4, ym) [7]</li><li>(x6,y3) - (x8,y8) [8]</li><li>29a) The dimension of the matrix is reduced in the x-direction to a (5 x 7) matrix:<img file="EP0507375A2_D0030.tif" /></li><li>29b) There are no free subareas.</li><li>30a) There is no point in reducing in the x-direction because the matrix is zero. The matrix from 27) is now reduced in the y-direction to a (9 x 4) matrix:<img file="EP0507375A2_D0031.tif" /></li><li>30b) There are no free subareas.</li><li>31 a) The dimension of the matrix is reduced in the x-direction to an (8 x 4) matrix:<img file="EP0507375A2_D0032.tif" /></li><li>31 b) There are two free subareas:</li><li>(x3,0) - (x5,y6) [9]</li><li>(x7,y1) - (xm,y7) [10]</li><li>32a) The dimension of the matrix is reduced in the x-direction to a (5 x 7) matrix:<img file="EP0507375A2_D0033.tif" /></li><li>32b) There are no free subareas.</li><li>33a) There is no point in reducing in the x-direction because the matrix is zero. The matrix from 30) is now reduced in the y-direction to a (9 x 3) matrix:<img file="EP0507375A2_D0034.tif" /></li><li>33b) There is one free subarea: (x7, y1) - (x8,y8) [11]</li><li>34a) The dimension of the matrix is now reduced in the x-direction to an (8 x 3) matrix:<img file="EP0507375A2_D0035.tif" /></li><li>34b) There are no free subareas.</li><li>35a) There is no point in reducing in the x-direction because the matrix is zero. The matrix from 33) is now reduced in the y-direction to a (9 x 2) matrix:<img file="EP0507375A2_D0036.tif" /></li><li>35b) There are no free subareas.</li><li>36a) The dimension of the matrix is reduced in the x-direction to an (8 x 2) matrix:<img file="EP0507375A2_D0037.tif" /></li><li>36b) There are no free subareas.</li><li>37a) There is no point in further reducing in the x-direction. The dimension of the matrix is reduced in the x = direction to an (8 x 1) matrix:<img file="EP0507375A2_D0038.tif" /></li><li>37b) There is one free subarea: (x3, 0) - (x4,ym) [12]</li><li>38a) The dimension of the matrix is reduced in the x-direction to an (8 x 1) matrix:<img file="EP0507375A2_D0039.tif" /></li><li>38b) There is no free subarea.</li><li>39a) There is no point in further reducing in the x-direction. 37) cannot be reduced further in the y-direction either. The matrix reduction has therefore been completed.</li></ul>
Of the maximum of 9 x 9 = 81 possible reduction steps, only 39 have been necessary in order to find all the free subareas.
By means of the matrix reduction and by reading of the continuously adjusted dimension tables, a total of 12 free subareas have been found and these are reproduced again below. The position of the free subareas found in the matrix is shown in Figure 2.<img file="EP0507375A2_D0040.tif" />
The free spaces in a three-dimensional space having the shape of a right parallelepiped can also be determined in an analogous manner. If the third dimension, for example the height of the space to be filled, is termed z, a three-dimensional matrix having z = z1, z2, ....zm has to be determined. By analogy with the principle described above for the two-dimensional case, there is a free space at the position (x<sub>I</sub>, y, z<sub>I</sub>) in the space if: <ul id="ul0006" list-style="none"><li>(x<sub>I</sub>,y<sub>I</sub>,z<sub>I</sub>) <sub>=</sub> 1 and (x<sub>I-1</sub>,y<sub>I</sub>,z<sub>I</sub>) <sub>=</sub> 0 and (x<sub>I+1</sub>,y<sub>I</sub>,z<sub>I</sub>) <sub>=</sub> 0 and (x<sub>I</sub>,y<sub>I-1</sub>,z<sub>I</sub>) <sub>=</sub> 0 and (x<sub>I</sub>,y<sub>I+1</sub>,z<sub>I</sub>) <sub>=</sub> 0 and (x<sub>I</sub>,y<sub>I</sub>,z<sub>I-1</sub>) <sub>=</sub> 0 and (x<sub>I</sub>,y<sub>I</sub>,z<sub>I+1</sub>) = 0. (IV)</li></ul>
By reducing the matrix in the x-, y- or z-direction, (IV) can now be used to search for larger spaces again, the dimensions of said spaces again being determined in the same way as in the two-dimensional case by the number of times that a reduction is carried out in the x-direction and/or the y-direction and/or the z-direction, respectively.
Analogously to the two-dimensional case, the matrix is reduced in the x-direction by determining for each element (x<sub>I</sub>, y, z<sub>I</sub>) of the matrix whether: <ul id="ul0007" list-style="none"><li>(x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>) = 1 and (x<sub>I+1</sub>, y<sub>I</sub> z<sub>I</sub>) = 1 (V), in which case (x<sub>I</sub>, y, z<sub>I</sub>)': = 1 and if (V) is not satisfied, (x<sub>I</sub>, y, z<sub>I</sub>)' = 0.</li></ul>
The reduction in the y-direction determines whether: <ul id="ul0008" list-style="none"><li>(x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>) = 1 and (x<sub>I</sub>, y<sub>I+1</sub>, z<sub>I</sub>) = 1 (VI), in which case (x<sub>I</sub>, y, z<sub>I</sub>)': = 1, and if (VI) is not satisfied, (x<sub>I</sub>, y, z<sub>I</sub>)' = 0.</li></ul>
Finally, the reduction in the z-direction determines whether: <ul id="ul0009" list-style="none"><li>(x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>) = 1 and (x<sub>I</sub>, y<sub>I</sub>, z<sub>I+1</sub>) = 1 (VII), in which case (x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>)': = 1, and if (VII) is not satisfied, (x<sub>I</sub>, y<sub>I</sub>, z<sub>I</sub>)' = 0.</li></ul>
To determine the exact position of the free spaces found using (IV), dimension tables are also updated in the three-dimensional case for the x-, y- and z-direction and these are adjusted during reduction of the matrices in the x-, y- and z-direction, respectively.
A three-dimensional matrix is reduced in accordance with the procedure below: <tables id="tabl0003" num="0003"><img file="EP0507375A2_D0041.tif" /></tables>
Starting from the second "layer" in this procedure, a reduced matrix can be obtained via various routes, it being possible in principle to find free spaces via the various routes, but it being certain that all the existing free spaces are found if the entire reduction is carried out until either the (1, 1, 1) matrix is reached or the last reduced matrix in each dimension is a null matrix.
After positioning an object in one of the free spaces found, the matrix has to be adjusted to the new situation, after which free spaces can be sought for a subsequent object. The matrix is adjusted as follows: When a package is positioned in a free space found, account has to be taken in each of the dimensions in the new situation of not more than two new coordinates which indicate the boundaries of the package positioned. These coordinates are x<sub>a</sub>, y<sub>a</sub>, z<sub>a</sub> and x<sub>b</sub>, y<sub>b</sub>, z<sub>b</sub>; at least some of the new coordinates correspond to coordinates which were already included in one of the dimension tables because a new object never ends up freely suspended in the space, but always against one or more of the walls of the space to be filled and/or against the sides of adjacent, already positioned objects. On the basis of the available dimension table of the original matrix, it is possible to determine where the coordinates of the freshly positioned object should be positioned in the tables. Because the new coordinates have been inserted in the relevant position in the dimension table, the matrix increases by not more than two elements in each dimension. The matrix representation can be immediately adjusted in this way after positioning a new object in said representation, with the result that the complete representation does not have to be continuously recalculated. The complexity of the calculation work necessary increases as the dimensions of the matrix increase, but this effect is at least partly nullified by the following two factors. Firstly, free spaces having dimensions which are smaller than predetermined minimum dimensions are deleted from the matrix and the tables, for example because it is known that no objects having smaller dimensions than said minimum dimensions are available, and secondly, during the loading of the space by positioning an object, adjacent layers often become equal to one another and in that case the two layers can be replaced by one of said layers, with the result that the matrix representation and therefore also the associated dimension tables are simplified. In this way, the increase in the complexity of the matrix and therefore the increase in the calculation work necessary as a consequence of positioning new packages can be compensated for at least partly.
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11488323B2 | Cited by | United States of America | Applicant |
| US11077554B2 | Cited by | United States of America | Applicant |
| US11472640B2 | Cited by | United States of America | Applicant |
| CN110091133A | Cited by | China | Search report |
| US10953549B2 | Cited by | United States of America | Applicant |
| US11319166B2 | Cited by | United States of America | Applicant |
| US3705410A | Cites | United States of America | Search report |
11 members in 8 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 9100483 | Netherlands (Kingdom of the) | A | |
| 9100483 | Netherlands (Kingdom of the) | – | |
| 9100483 | – | – | – |
| NL19910000483 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| EP0507375A2This record | European Patent Office (EPO) | A2 | |
| NL9100483A | Netherlands (Kingdom of the) | A | |
| EP0507375A3 | European Patent Office (EPO) | A3 | |
| US5430831A | United States of America | A | |
| EP0507375B1 | European Patent Office (EPO) | B1 | |
| AT157184T | Austria | T | |
| DE69221658D1 | Germany | D1 | |
| ES2106126T3 | Spain | T3 | |
| DE69221658T2 | Germany | T2 | |
| GR3025425T3 | Greece | T3 | |
| DK0507375T3 | Denmark | T3 |
64 legal events, as 8 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Announcement of lapse in spainLapsedFD2A | FD2A | ES | |
| Notification of lapseLapsedST | ST | FR | |
| Annulment/lapse due to non-payment of fees, searched and examined patentLapsedLAPSE DUE TO NON-PAYMENT OF FEESMM4A | MM4A | PT | |
| Nl: lapsed or anulled due to non-payment of the annual feeLapsedNLV4 | NLV4 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Se: european patent has lapsedLapsedEUG | EUG | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Be: lapsedLapsedBERE | BERE | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| European patent in force as of 2002-01-01IF02 | IF02 | GB | |
| Change of proprietorshipKONINKLIJKE KPN N.V. NLPD4A | PD4A | PT | |
| Name/firm changedKONINKLIJKE PTT NEDERLAND N.V. TRANSFER- KONINKLIJKE KPN N.V.PFA | PFA | CH | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Ep patent with danish claimsT3 | T3 | DK | |
| Validation in greece3025425FG4A | FG4A | GR | |
| Translation is availableAVAILABILITY OF NATIONAL TRANSLATIONSC4A | SC4A | PT | |
| Fr: translation filedET | ET | EP | |
| Definitive protectionFG2A | FG2A | ES | |
| It: translation for a ep patent filedITF | ITF | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| Corresponds to:REF | REF | EP | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| New agentNV | NV | CH | |
| Designated contracting statesAK | AK | EP | |
| Corresponds to:REF | REF | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0507375
- Publication, DOCDB
- 0507375
- Publication, EPODOC
- EP0507375
- Application
- 92200737
- Application, DOCDB
- 92200737
- Application, EPODOC
- EP19920200737
Titles3
- German
- Verfahren zum Ermitteln von freien teilbereichen und freien Räumen.
- English
- Method of determining free subareas and free spaces.
- French
- Procédé de détermination de surfaces libres et d'espaces libres.
Classification
- CPC, 4
- G06Q10/043
- G05B2219/35162
- G06F30/13
- G06F30/18
- IPC, 2
- G06F17 50
- G06Q10 00
Designated states15
- Contracting states, 15
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- France
- United Kingdom
- Greece
- Italy
- Liechtenstein
- Luxembourg
- Netherlands (Kingdom of the)
- Portugal
- Sweden