Three-dimensional packing method, device, terminal and computer-readable storage medium
By screening and generating preloading sequences, combined with the greedy algorithm and the tree search algorithm, the problem of poor boxing efficiency of the heuristic algorithm is solved, achieving more efficient space utilization and reducing space waste.
Patent Information
- Application Number
- CN202410693069.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-31
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-05-31
AI Technical Summary
The heuristic algorithms in the prior art are not efficient in packing cargo parcels, resulting in wasted space in the box.
By obtaining the target loading space and the list of filling blocks, the size information based on the target loading space is screened, the pre -loading sequence of the filling block is generated, and through the combination of the greedy algorithm and the tree search algorithm, select the largest loading evaluation value corresponding to the corresponding loading evaluation value corresponding to Fill in the filling block.
It improves the efficiency of packing, reduces space waste in the box, and is suitable for the needs of large -scale loading operations in actual production and life.
Smart Images

Figure CN118278583B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of industrial automated packaging and logistics, and in particular to a three-dimensional packing method, device, terminal and computer-readable storage medium. Background Art
[0002] Cargo packing is a key technology in the transportation link of the logistics industry. It is of great significance in improving the utilization rate of the remaining space in the cargo box, reducing material and transportation costs, and improving the overall efficiency of the logistics industry. Due to the wide variety of cargo, diverse loading requirements, and the constraints of various practical situations, modern optimization algorithms are usually combined with logistics, and various general, convenient and reliable heuristic algorithms suitable for modern logistics companies are adopted. However, the heuristic algorithms in related technologies have poor packing efficiency, resulting in the problem of wasted space in the box. Summary of the invention
[0003] The main technical problem solved by the present application is to provide a three-dimensional packing method, device, terminal and computer-readable storage medium, which can improve the packing efficiency and reduce the waste of space in the box.
[0004] In a first aspect, the present application provides a three-dimensional boxing method, the three-dimensional boxing method comprising:
[0005] Get the target loading space and the filling block list; the target loading space is contained in the container space, and the filling block list includes m filling blocks;
[0006] Based on the size information of the target loading space, the filling blocks in the filling block list are filtered to obtain a candidate block list generated by n filling blocks that meet the preset requirements; wherein m and n are both positive integers, and m≥n;
[0007] In response to the candidate block list including at least two filling blocks, each filling block is used as a currently preloaded filling block, and a preloading sequence of each currently preloaded filling block is generated based on other remaining spaces in the container space and the remaining filling blocks in the filling block list, and a loading evaluation value of each preloading sequence is obtained; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space in sequence;
[0008] Select the filling block corresponding to the largest loading assessment value and fill it into the target loading space.
[0009] In the technical solution of the embodiment of the present application, the filling blocks in the filling block list are screened according to the size information of the target loading space to reduce the amount of calculation; by generating a pre-loading sequence corresponding to the remaining filling blocks in the filling block list, and obtaining a loading evaluation value corresponding to the pre-loading sequence corresponding to the filling block, the loading status of the container space by the pre-loading sequence corresponding to each filling block is determined, and the filling block corresponding to the largest loading evaluation value is selected to fill the target loading space, so that the matching filling block fills the target loading space, thereby improving the space utilization rate of the container space.
[0010] In some embodiments, generating a preloading sequence of each currently preloaded filling block based on other remaining space in the container space and the remaining filling blocks in the filling block list and obtaining a loading evaluation value of each preloading sequence includes:
[0011] Generate a preload sequence corresponding to each currently preloaded filling block in the candidate block list based on other remaining spaces in the container space and the remaining filling blocks in the filling block list by using a preset algorithm;
[0012] Based on the loading condition of the container space by the preloading sequence corresponding to the currently preloaded filling block, the loading evaluation value of the preloading sequence is determined; after the preloading sequence is filled into the container space, the container space cannot accommodate any more filling blocks.
[0013] In the technical solution of the embodiment of the present application, a pre-loading sequence of each filling block in the candidate block list is generated by combining a greedy algorithm and a tree search algorithm, which can avoid the short-sightedness defect of the greedy algorithm and make the three-dimensional packing method more suitable for the needs of large-scale loading operations in actual production and life.
[0014] In some embodiments, a preload sequence corresponding to each currently preloaded filling block in the candidate block list is generated based on other remaining spaces in the container space and the remaining filling blocks in the filling block list using a preset algorithm, including:
[0015] Based on the currently preloaded filling blocks in the candidate block list and the target loading space, generating a loading state corresponding to each currently preloaded filling block;
[0016] Based on other remaining spaces in the container space, the best matching filling blocks are selected from the filling block list to complete each loading state respectively, so as to obtain the pre-loading sequence corresponding to each loading state respectively.
[0017] In the technical solution of the embodiment of the present application, each loading state is completed by selecting the optimal filling blocks for other remaining spaces in the container space, and a pre-loading sequence corresponding to each loading state is obtained, so that the three-dimensional packing method is more suitable for the needs of large-scale loading operations in actual production life.
[0018] In some embodiments, based on the loading status of the container space by the preloading sequence corresponding to the currently preloaded filling block, determining the loading evaluation value of the preloading sequence includes:
[0019] Based on the sum of the first evaluation value and the second evaluation value of the completed loading corresponding to the pre-loading sequence, a loading evaluation value of the pre-loading sequence is obtained; the first evaluation value is the ratio between the volume of all filling blocks in the container space that has completed loading and the container volume; the second evaluation value is the ratio between the number of supported filling blocks and the number of isolated filling blocks in the container space that has completed loading; at least three sides of the isolated filling blocks are not in contact with other filling blocks.
[0020] In the technical solution of the embodiment of the present application, the container space is preloaded through a preloading sequence corresponding to the filling blocks, and the loading assessment value of the preloading sequence is determined based on the space utilization of the container space after preloading and the ratio between the number of supported filling blocks and the number of isolated filling blocks in the container space, thereby improving the accuracy of the loading assessment value.
[0021] In some embodiments, the three-dimensional binning method further comprises:
[0022] Build a list of remaining spaces;
[0023] Select the target loading space from the free space list;
[0024] The method of constructing the remaining space list includes:
[0025] In response to the container space not having any filling block loaded therein, the container space is regarded as a remaining space and belongs to a remaining space list;
[0026] In response to the container space containing at least one filling block, cutting the unloaded space in the container space into a plurality of sub-container spaces based on the loading position of the filling block;
[0027] The subcontainer space is taken as the remaining space and belongs to the remaining space list. The remaining space filled with the padding block in the remaining space list is deleted.
[0028] In the technical solution of the embodiment of the present application, a remaining space list is formed by using the container space or the sub-container space after cutting the container space based on the filling block as the remaining space, so as to facilitate the selection of matching filling blocks based on the remaining spaces of different sizes, thereby improving the filling utilization rate of the container space.
[0029] In some embodiments, the method for acquiring the target loading space includes:
[0030] In response to the free space list containing only one free space, taking the free space as the target loading space;
[0031] In response to the remaining space list including at least two remaining spaces, determining the shortest distance between each remaining space and the container space;
[0032] In response to the shortest distance corresponding to a remaining space, the remaining space corresponding to the shortest distance is selected as the target loading space;
[0033] In response to the shortest distance corresponding to at least two remaining spaces, a remaining space corresponding to the largest volume of the at least two remaining spaces is selected as the target loading space.
[0034] In the technical solution of the embodiment of the present application, the distance between the remaining space and the container space is determined and the remaining space corresponding to the minimum distance is selected as the target loading space, so as to load the filling blocks in sequence from a position close to the origin of the container space, thereby improving the filling utilization rate of the container space; when the remaining space corresponding to the minimum distance is at least two, the remaining space with the largest volume is selected as the target loading space, thereby further improving the filling utilization rate of the container space.
[0035] In some embodiments, before obtaining the filling block list, the three-dimensional box packing method further includes:
[0036] Build a list of filler blocks;
[0037] Among them, the method of constructing the filling block list includes:
[0038] Get multiple packages; packages have size information;
[0039] The packages are combined based on the size information of the packages to generate a plurality of filling blocks; the filling blocks have attribute information;
[0040] In response to the attribute information of the filling block meeting the constraint rules, the filling block is assigned to the filling block list; the constraint rules include quantity constraints, boundary constraints, orientation constraints, full support constraints, and load-bearing constraints.
[0041] In the technical solution of the embodiment of the present application, packages are combined to form filling blocks according to their size information, and the container space is filled with the filling blocks, which can reduce the number of loading times and improve loading efficiency.
[0042] In some embodiments, the attribute information includes size information and category information; the category information of the filling block includes a first category and / or a second category; the filling blocks of the first category are formed by placing packages with the same size information in the same direction; the filling blocks of the second category are formed by placing packages with at least two different size information;
[0043] In response to the attribute information of the filling block meeting the constraint rule, the filling block is attributed to the filling block list, including:
[0044] In response to the attribute information of the filling block corresponding to the first category meeting the first constraint rule, the filling block of the first category is classified into the filling block list;
[0045] In response to the attribute information of the filling blocks corresponding to the second category meeting the second constraint rule, the filling blocks of the second category are classified into the filling block list.
[0046] In the technical solution of the embodiment of the present application, the attribute information of the filling block is screened by the first constraint rule and the second constraint rule, and the filling blocks that meet the constraint rules are included in the filling block list, so that the container space can be filled with the filling blocks in the filling block list, thereby improving the space utilization rate of the container space and improving the filling stability of the container space.
[0047] In some embodiments, the filling blocks in the filling block list are filtered based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements, including:
[0048] Determining a fitness function based on size information of the packages contained in the padding block, size information of the padding block, and potential loss space corresponding to the padding block;
[0049] Filter the filling blocks in the filling block list using the size information of the target loading space, and retain the filling blocks in the filling block list that meet the preset requirements;
[0050] Determine the fitness value of the padding block based on the size information of the package contained in the padding block in the padding block list, the size information of the padding block, and the potential loss space corresponding to the padding block through the fitness function;
[0051] The filling blocks are sorted in descending order according to the fitness values, and the top n filling blocks are selected to generate a candidate block list.
[0052] In the technical solution of the embodiment of the present application, the filling blocks in the filling block list are screened according to the size information of the target loading space, so as to reduce the amount of subsequent calculations; further, the filling blocks are screened according to the fitness values of the filling blocks, so as to quickly screen and obtain matching filling blocks for the target loading space.
[0053] In some embodiments, determining a fitness function based on size information of a package contained in a padding block, size information of the padding block, and potential loss space corresponding to the padding block includes:
[0054] Determining the volume of the packages in the filling block based on the size information of the packages contained in the filling block;
[0055] Determining a block volume of the filling block based on the size information of the filling block;
[0056] determining a potential loss volume of the filling block based on a loading position of the filling block in the target loading space;
[0057] Determine the filling loss volume of the filling block based on the difference between the block volume corresponding to the filling block and the package volume;
[0058] The fitness function is determined based on the weighted sum of the package volume corresponding to the filling block and the loss volume; wherein the loss volume is the sum of the filling loss volume and the potential loss volume.
[0059] In the technical solution of the embodiment of the present application, the fitness value of the filling block is determined by the volume occupied by the package in the filling block, the block volume of the filling block, and the potential loss volume of the container space after the filling block is filled, so as to improve the screening accuracy of the filling block.
[0060] In a second aspect, the present application provides a three-dimensional box packing device, the three-dimensional box packing device comprising:
[0061] An acquisition module is used to acquire a target loading space and a filling block list; the target loading space is contained in the container space, and the filling block list includes m filling blocks;
[0062] A screening module is used to filter the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet the preset requirements; wherein m and n are both positive integers, and m≥n;
[0063] an analysis module, configured to, in response to the candidate block list including at least two filling blocks, use each filling block as a currently preloaded filling block, generate a preloading sequence of each currently preloaded filling block based on other remaining spaces in the container space and the remaining filling blocks in the filling block list, and obtain a loading evaluation value of each preloading sequence; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space in sequence;
[0064] The determination module is used to select a filling block corresponding to the maximum loading evaluation value and fill it into the target loading space.
[0065] In a third aspect, the present application provides a terminal, the terminal comprising a memory, a processor, and a computer program stored in the memory and running on the processor, the processor being used to execute program data to implement the steps in the three-dimensional packing method as described above.
[0066] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps in the three-dimensional packing method as described above are implemented.
[0067] It can be understood that the beneficial effects of the second to fourth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0068] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0070] Figure 1 It is a flow chart of an embodiment of a three-dimensional packing method provided by the present application;
[0071] Figure 2 It is a flow chart of an embodiment before step S1 in the three-dimensional packing method provided by the present application;
[0072] Figure 3 yes Figure 2 A schematic flow chart of a specific embodiment of step S20 in the provided three-dimensional packing method;
[0073] Figure 4 yes Figure 3 A schematic flow chart of a specific embodiment of step S203 in the provided three-dimensional packing method;
[0074] Figure 5 yes Figure 1 A schematic flow chart of a specific embodiment of step S1 in the provided three-dimensional packing method;
[0075] Figure 6 yes Figure 1 A schematic flow chart of a specific embodiment of step S2 in the provided three-dimensional packing method;
[0076] Figure 7 yes Figure 1 A schematic flow chart of a specific embodiment of step S3 in the provided three-dimensional packing method;
[0077] Figure 8 is a schematic diagram of a preload sequence generated by a filling block provided in the present application;
[0078] Fig. 9 is a schematic diagram of a target loading space in a container space provided by the present application;
[0079] Fig.10 It is a flow chart of a specific embodiment of the three-dimensional packing method provided by the present application;
[0080] Fig.11 It is a schematic diagram of the framework of an embodiment of a three-dimensional box packing device provided by the present application;
[0081] Fig.12 It is a schematic diagram of the framework of a terminal embodiment provided by the present application;
[0082] Fig.13 It is a schematic diagram of a framework of an embodiment of a computer-readable storage medium provided by the present application. DETAILED DESCRIPTION
[0083] The following embodiments of the technical solution of the present application are described in detail in conjunction with the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present application, and are therefore only used as examples, and cannot be used to limit the scope of protection of the present application.
[0084] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by technicians in the technical field to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" in the specification and claims of this application and the above-mentioned figure descriptions and any variations thereof are intended to cover non-exclusive inclusions.
[0085] In the description of the embodiments of the present application, the technical terms "first", "second", etc. are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. In the description of the embodiments of the present application, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.
[0086] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0087] In the description of the embodiments of the present application, the term "and / or" is only a description of the association relationship of the associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0088] In the description of the embodiments of the present application, the term "multiple" refers to more than two (including two). Similarly, "multiple groups" refers to more than two groups (including two groups), and "multiple pieces" refers to more than two pieces (including two pieces).
[0089] In the description of the embodiments of the present application, the technical terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, which are only for the convenience of describing the embodiments of the present application and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the embodiments of the present application.
[0090] In the description of the embodiments of the present application, unless otherwise clearly specified and limited, technical terms such as "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, and it can be the internal connection of two elements or the interaction relationship between two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the embodiments of the present application can be understood according to the specific circumstances.
[0091] With the continuous development of society, the logistics industry has become an important part of economic development. Among them, cargo packaging is a key technology in the transportation link of the logistics industry. How to improve the utilization rate of the remaining space in the cargo box and reduce the consumption of packaging materials, thereby effectively reducing material and transportation costs, has become an important means for the logistics industry to reduce costs in all aspects and improve the overall efficiency of the industry.
[0092] However, due to the wide variety of goods, diverse loading requirements, and the constraints of various practical situations, the traditional homogeneous loading solution, that is, a vehicle usually only loads a single type of goods, can no longer meet the changes in current transportation needs. Logistics companies need to develop and use the best possible heterogeneous packing algorithms to improve loading efficiency in scenarios where there are many types of goods and a small number of similar goods. However, this process is mostly completed by relying on the experience of loaders and unloaders. In this process, due to the randomness of manual loading, the space utilization rate of the cargo box is low, and the structure of the cargo placement is not ideal. Therefore, it is often necessary to adjust the position of the cargo, which not only consumes a lot of time, but also increases the labor intensity of loading, and reduces overall work efficiency and increases logistics costs.
[0093] In this context, the present application provides a three-dimensional packing method, which uses filling blocks as basic units to fill the container space, thereby reducing the number of packing times and improving packing efficiency; the filling blocks in the filling block list are screened by the size information of the target loading space in the container space, and then the filling blocks are screened again based on the size information of the target loading space, the size information of the loading blocks, and the potential loss of space after the loading blocks are loaded into the container space, so as to obtain the filling blocks that best match the target loading space, and fill the matching filling blocks into the target loading space. The above method continues to match the filling blocks to the target loading space in the container space until the container space can no longer load any filling blocks. The above method selects a matching filling block for each remaining space, which can improve the space utilization of the container space.
[0094] Based on this, the embodiments of the present application provide a three-dimensional packing method, device, electronic device and storage medium, which can pre-load packages of different sizes and types and dynamically generate filling blocks. It can simultaneously consider multiple loading constraint rules of actual conditions, and quickly generate a pre-loading sequence corresponding to the filling blocks by combining a greedy algorithm and a tree search algorithm. Based on the pre-loading sequence, the loading situation of the container space is evaluated, and the filling blocks that match each remaining space are determined, so as to improve the utilization rate of the container space and meet various loading requirements.
[0095] This embodiment provides a three-dimensional boxing method, and the method embodiment provided in the embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. The three-dimensional boxing method specifically includes the following steps.
[0096] See also Figure 1 , Figure 1 It is a flow chart of an embodiment of a three-dimensional packing method provided in the present application.
[0097] S1: Get the target loading space and the filling block list; the target loading space is contained in the container space, and the filling block list includes m filling blocks.
[0098] S2: filtering the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements; wherein m and n are both positive integers, and m≥n.
[0099] S3: In response to the candidate block list including at least two filling blocks, each filling block is used as a currently preloaded filling block, and a preloading sequence of each currently preloaded filling block is generated based on other remaining space in the container space and the remaining filling blocks in the filling block list, and a loading evaluation value of each preloading sequence is obtained; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space.
[0100] S4: Select a filling block corresponding to the maximum loading evaluation value and fill it into the target loading space.
[0101] In the technical solution of this embodiment, the filling blocks in the filling block list are screened according to the size information of the target loading space to reduce the amount of calculation; by generating pre-loading sequences corresponding to the remaining filling blocks in the filling block list and obtaining loading evaluation values corresponding to the pre-loading sequences corresponding to the filling blocks, the loading conditions of the container space by the pre-loading sequences corresponding to each filling block are determined, and the filling block corresponding to the largest loading evaluation value is selected to fill the target loading space, so that the matching filling blocks fill the target loading space, thereby improving the space utilization rate of the container space.
[0102] In one embodiment, before obtaining the filling block list, the three-dimensional box packing method further includes the following steps.
[0103] See also Figure 2 , Figure 2 It is a flow chart of an embodiment before step S1 in the three-dimensional packing method provided in the present application.
[0104] S10: Build a remaining space list.
[0105] Specifically, obtain the container space that needs to be loaded with the package. The size information of the container space includes length, width, and height. The container space can be the internal space to be loaded in a box such as a cargo box or a container. The maximum volume of the container space is V, the length is L, the width is W, and the height is H. Therefore, V=L*W*H, and the maximum load-bearing capacity of the container space is G. max The container space in this embodiment may be a cuboid. A three-dimensional coordinate system corresponding to the container space is established, with the left-front-bottom vertex of the container space as the origin of the three-dimensional coordinate system.
[0106] In one embodiment, in response to the fact that no filling block is loaded in the container space, that is, the container space is in an initial state, the container space is regarded as a remaining space and belongs to a remaining space list.
[0107] In one embodiment, in response to the container space containing at least one filling block, the unloaded space in the container space is cut into a plurality of sub-container spaces based on the loading position of the filling block. Specifically, when the filling block is placed at a vertex of the container space, the unloaded space is cut into at most three sub-container spaces with partial overlap.
[0108] The subcontainer space is taken as the remaining space and belongs to the remaining space list. The remaining space filled with the padding block in the remaining space list is deleted.
[0109] The remaining space included in the remaining space list in this embodiment is only the space in the container space that is not loaded with filling blocks during the current loading, that is, the target loading space corresponding to the previous loading does not exist in the remaining space list corresponding to the current loading.
[0110] When the amount of remaining space in the remaining space list is zero, the filling of the container space ends, indicating that the container space is full.
[0111] In the technical solution of this embodiment, a remaining space list is formed by using the container space or the sub-container space after the container space is cut based on the filling block as the remaining space, so as to select matching filling blocks based on the remaining spaces of different sizes, thereby improving the filling utilization rate of the container space.
[0112] S20: Build a list of filling blocks.
[0113] Specifically, constructing a filling block list includes the following steps.
[0114] See also Figure 3 , Figure 3 yes Figure 2 A flowchart of a specific embodiment of step S20 in the three-dimensional packing method is provided.
[0115] S201: Acquire multiple packages; the packages have size information.
[0116] In one embodiment, there are multiple packages, and the size information of different packages can be the same or different. The size information of the package includes length, width and height. The package also has orientation information. Among them, the package also has weight information. t And the maximum load-bearing limit swt t .
[0117] S202: Combining the packages based on the size information of the packages to generate a plurality of filling blocks; the filling blocks have attribute information.
[0118] In one embodiment, packages are classified according to their size information, and packages with the same size information belong to the same category. t The orientation set of packages of type t is A package of type t is in the direction The length, width, and height are , , , the maximum load-bearing limit is .
[0119] Arrange packages with the same size information in the same direction to form a first category of filling blocks. Arrange packages with at least two size information to form a second category of filling blocks. A second category of filling blocks can also be formed based on at least two first category filling blocks; a second category of filling blocks can also be formed based on a first category filling block and another package; a new filling block corresponding to the second category can also be formed based on a second category filling block, another package, another second category filling block, and a first category filling block. Among them, the attribute information includes size information and category information; the category information of the filling block includes the first category and / or the second category; the first category of filling blocks is formed by placing packages with the same size information in the same direction; the second category of filling blocks is formed by placing at least two packages with different size information.
[0120] S203: In response to the attribute information of the filling block meeting the constraint rules, the filling block is assigned to the filling block list; the constraint rules include quantity constraints, boundary constraints, orientation constraints, full support constraints, and load-bearing constraints.
[0121] Direction constraint means that when a filling block is wrapped, its placement direction follows several predetermined placement directions.
[0122] The quantity constraint means that the number of packages of type t contained in the filling block does not exceed N t indivual.
[0123] Boundary constraints mean that the sides of the packages loaded into the filling block do not exceed the scope of the cargo box during the loading process.
[0124] Full support constraint means that in order to ensure safety during transportation, the loading of the package must meet the stability constraint, that is, the bottom of the loaded package must be fully supported by other packages or cargo boxes, and the package is not allowed to be left hanging in the air.
[0125] The load-bearing constraint means that the total weight of other packages placed on the bottom package in the filling block cannot exceed the maximum load-bearing limit of the packages placed on the bottom layer, that is, the heavy cannot crush the light.
[0126] See also Figure 4 , Figure 4 yes Figure 3 A flowchart of a specific embodiment of step S203 in the three-dimensional packing method is provided.
[0127] S2031: In response to the attribute information of the filling block corresponding to the first category meeting the first constraint rule, the filling block of the first category is classified into a filling block list.
[0128] Specifically, when the product of the number a of packages in the length direction, the number b of packages in the width direction, and the number c of packages in the height direction in the filling block of the first category does not exceed the total number of packages corresponding to the size information, it indicates that the filling block meets the quantity constraint.
[0129] The length, width, and height of the first type of filler block do not exceed the length, width, and height of the container space, that is, the length of the filler block is , , , it means that the filling block meets the boundary constraint. That is, the length direction of the filling block , in width direction , height direction .
[0130] The total weight of the upper packages supported by the lowest package in the filling block does not exceed its own maximum load-bearing limit, and the maximum load-bearing limit of the filling block is the difference between the maximum load-bearing limit of the bottom package itself and the actual load of the package, that is, , it means that the filling block meets the load-bearing constraints.
[0131] The first type of filling blocks all satisfy the full support constraint.
[0132] In response to the filling blocks of the first category satisfying the quantity constraint, the boundary constraint, the load-bearing constraint and the full support constraint at the same time, the filling blocks of the first category are assigned to the filling block list.
[0133] S2032: In response to the attribute information of the filling block corresponding to the second category meeting the second constraint rule, the filling block of the second category is classified into the filling block list.
[0134] Specifically, when the second category of filling blocks is formed by at least two first category of filling blocks, the second category of filling blocks is used as a sub-filling block. 1 The length, width, and height are l bk1 、w bk1 、h bk1 ; The second sub-filling block bk 2 The length, width and height are l bk2 、w bk2 、h bk2 . Through the first sub-filling block bk 1 and the second sub-filling block bk 2 Generate a padding block bk of the second category.
[0135] When the first sub-fill block bk 1 With the second sub-fill block bk 2 When it is composed of the length direction, the length of the generated filling block bk is ( ),Width( ),high( ),in, , , When the first sub-fill block bk 1 With the second sub-fill block bk 2 When it is combined in the width direction, the length, width and height of the generated filling block bk are , , When the first sub-fill block bk 1 With the second sub-fill block bk 2 When it is composed of the height direction, the length, width and height of the generated filling block bk are , , .
[0136] When the length, width, and height of the filling block bk do not exceed the length, width, and height of the container space, that is, l bk ≤L, w bk ≤W、h bk ≤H, it indicates that the filling block bk of the second category meets the boundary constraint.
[0137] In one embodiment, the first sub-filling block bk 1 Also has a support area on the bottom , support area The length is , width ; The second sub-filling block bk 2 Also has a support area on the bottom , support area The length is , width For example, the first sub-fill block bk 1 With the second sub-fill block bk 2 The padding block bk generated by combining in the length direction, the first sub-padding block bk 1 Placed in the second sub-filling block bk 2 On the left side, you need , the area where the filler block is made The length needs to meet , the width needs to meet . The first sub-filling block bk 1 With the second sub-fill block bk 2 Combine the generated padding block bk in the width direction, the first sub-padding block bk 1 Placed in the second sub-filling block bk 2 The rear side needs , the area where the filler block is made The length needs to meet , the width needs to meet . The first sub-filling block bk 1 With the second sub-fill block bk 2 The filling block bk generated by combining in the height direction, the area where the filling block is made The length needs to meet , the width needs to meet In response to the filling block bk meeting the above corresponding requirements, it indicates that the filling block bk of the second category meets the full support constraint.
[0138] The first sub-filling block bk 1 The maximum load-bearing limit is swt 1 , the first sub-filling block bk 1 The total weight of wht 1 ; The second sub-filling block bk 2 The maximum load-bearing limit is swt 2 ; The second sub-filling block bk 2 The total weight of wht 2 When the first sub-fill block bk 1 With the second sub-fill block bk 2 When combined in the height direction, the first sub-filling block bk 1 Support the second sub-filler block bk 2 When 2 ≤swt 1 When the first sub-fill block bk 1 With the second sub-fill block bk 2 When combined in the length direction, the first sub-filling block bk 1 Support the second sub-filling block bk 2 When 2 ≤swt 1 , the second type of filling block bk consists of the first sub-filling block bk 1 and the second sub-filler block bk 2 When combined along the height direction, the maximum load-bearing limit of the second type of filling block bk is swt=min (swt 1 -wht 2 , swt 2 ). The second type of filling block bk consists of the first sub-filling block bk 1 and the second sub-filler block bk 2 When combined along the length direction or width direction, swt=min (swt 1 , swt 2). In response to the filling block bk meeting the above corresponding requirements, it indicates that the filling block bk of the second category meets the load-bearing constraint.
[0139] In response to the filling blocks of the second category satisfying the quantity constraint, the boundary constraint, the load-bearing constraint and the full support constraint at the same time, the filling blocks of the second category are assigned to the filling block list.
[0140] In the technical solution of this embodiment, the attribute information of the filling block is screened by the first constraint rule and the second constraint rule, and the filling blocks that meet the constraint rules are included in the filling block list, so that the container space can be filled with the filling blocks in the filling block list, thereby improving the space utilization rate of the container space and improving the filling stability of the container space.
[0141] In the technical solution of this embodiment, packages are combined to form filling blocks according to their size information, and the container space is filled with the filling blocks, which can reduce the number of loading times and improve loading efficiency.
[0142] In one embodiment, obtaining the target loading space in step S1 specifically includes the following steps.
[0143] Specifically, a target loading space is selected from the remaining space list.
[0144] In response to the free space list containing only one free space, the free space is used as the target loading space.
[0145] See also Figure 5 , Figure 5 yes Figure 1 A schematic flow chart of a specific embodiment of step S1 in the three-dimensional packing method is provided.
[0146] S11: In response to the remaining space list containing at least two remaining spaces, determining the distance between each remaining space and the container space.
[0147] Specifically, the Manhattan distance between each vertex of the remaining space and the vertex of the container space to which it belongs is determined. 1 The coordinates of (x 1 ,y 1 , z 1 ), the vertex B of the remaining space 1 The coordinates of (x 2 ,y 2 , z 2 ), then the Manhattan distance between the vertices of the remaining space and the vertices of the container space to which they belong is In this embodiment, the shortest distance between the remaining space and the container space is the shortest Manhattan distance between the vertices of the remaining space and the vertices of the container space to which it belongs.
[0148] S12: In response to the shortest distance corresponding to a remaining space, the remaining space corresponding to the shortest distance is selected as the target loading space.
[0149] Specifically, the corresponding remaining spaces are arranged in order from small to large based on the Manhattan distance, and the remaining space corresponding to the shortest Manhattan distance is prioritized as the target loading space.
[0150] S13: In response to the shortest distance corresponding to at least two remaining spaces, a remaining space with a maximum volume among the at least two remaining spaces is selected as a target loading space.
[0151] Specifically, if the shortest Manhattan distance corresponds to two or more remaining spaces, the volumes corresponding to the two remaining spaces are calculated respectively, and the remaining space with the largest volume among the two remaining spaces is preferentially used as the target loading space.
[0152] In the technical solution of this embodiment, the distance between the remaining space and the container space is determined and the remaining space corresponding to the minimum distance is selected as the target loading space, so as to load the filling blocks in sequence from a position close to the origin of the container space, thereby improving the filling utilization rate of the container space; when there are at least two remaining spaces corresponding to the minimum distance, the remaining space with the largest volume among the at least two remaining spaces is selected as the target loading space, thereby further improving the filling utilization rate of the container space.
[0153] In one embodiment, filtering the filling blocks in the filling block list based on the size information of the target loading space in step S2 to obtain a candidate block list generated by n filling blocks that meet preset requirements specifically includes the following steps.
[0154] See also Figure 6 , Figure 6 yes Figure 1 A schematic flow chart of a specific embodiment of step S2 in the three-dimensional packing method is provided.
[0155] S21: Determine a fitness function based on size information of the package contained in the padding block, size information of the padding block, and potential loss space corresponding to the padding block.
[0156] Specifically, based on the size information of the package contained in the filling block, the package volume in the filling block is determined; based on the size information of the filling block, the block volume of the filling block is determined; based on the loading position of the filling block in the target loading space, the potential loss volume of the filling block is determined; based on the difference between the block volume corresponding to the filling block and the package volume, the filling loss volume of the filling block is determined; based on the package volume corresponding to the filling block and the weighted sum of the loss volume, the fitness function is determined; wherein the loss volume is the sum of the filling loss volume and the potential loss volume.
[0157] Specifically, the fitness function f(s, bk) of the filling block to the target transfer space is determined based on the following formula.
[0158] f(s,bk)=V+α*(V waste +V loss ) (Formula 1)
[0159] Where: V represents the volume of the package in the filling block; V waste Indicates the filling loss volume of the filling block; V loss Represents the potential loss volume of the filling block; α is an adjustment parameter, with a value of 0~1.
[0160] S22: Filter the filling blocks in the filling block list according to the size information of the target loading space, and retain the filling blocks in the filling block list that meet the preset requirements.
[0161] Specifically, the size information of the target loading space includes length, width, and height. The length, width, and height of the target loading space are l s 、w s 、h s , the maximum load-bearing limit of the target loading space is swt s The length, width, and height of the filling blocks in the filling block list are l bk 、w bk 、h bk , the total weight of the filling block is wht bk .
[0162] Compare the size information of the filling block in the filling block list with the size information of the target loading space. s ≥l bk 、w s ≥w bk And h s ≥h bk , then the filling block meets the boundary constraint requirements. s ≥wht bk When , the filling block meets the load-bearing constraint requirements. When the filling block meets both the boundary constraint requirements and the load-bearing constraint requirements, the filling block is retained. When the filling block does not meet the boundary constraint requirements or the load-bearing constraint requirements, the filling block is removed.
[0163] S23: Determine the fitness value of the filling block through a fitness function based on the size information of the package contained in the filling block in the filling block list, the size information of the filling block, and the potential loss space corresponding to the filling block.
[0164] In a specific embodiment, based on the size information of the packages contained in the filling block, the package volume in the filling block is determined; based on the size information of the filling block, the block volume of the filling block is determined; based on the loading position of the filling block in the target loading space, the potential loss volume of the filling block is determined; based on the difference between the block volume corresponding to the filling block and the package volume, the filling loss volume of the filling block is determined; based on the weighted sum of the package volume corresponding to the filling block and the loss volume, the fitness value of the filling block is determined; wherein the loss volume is the sum of the filling loss volume and the potential loss volume. The potential loss volume of the filling block refers to the volume in the target loading space that cannot be loaded with other filling blocks due to the shape and volume of the filling block. The filling loss volume of the filling block refers to the volume of the filling block that is not filled with packages, and other packages cannot be accommodated in this volume.
[0165] The fitness value of each filling block in the filling block list can be determined by the above formula 1.
[0166] S24: sort the filling blocks in descending order according to the fitness values, and select the top n filling blocks to generate a candidate block list.
[0167] Specifically, in order to reduce the amount of calculation and improve the matching speed, the corresponding filling blocks are sorted in order from large to small according to the fitness values, and a preset number of filling blocks with the highest sorting order are selected to generate a candidate block list.
[0168] In one embodiment, determining the loading evaluation value of the pre-loading sequence corresponding to each filling block in step S3 specifically includes the following steps.
[0169] See also Figure 7 and Figure 8 , Figure 7 yes Figure 1 A schematic flow chart of a specific embodiment of step S3 in the three-dimensional packing method provided; Figure 8 It is a schematic diagram of the pre-loading sequence generated by the filling block provided in this application.
[0170] S31: Generate a preload sequence corresponding to each currently preloaded filling block in the candidate block list by using a preset algorithm based on other remaining spaces in the container space and the remaining filling blocks in the filling block list.
[0171] Specifically, the preset algorithms include a tree search algorithm and a greedy algorithm.
[0172] Among them, tree search algorithm is a type of algorithm in computer science that is used to explore tree structures (such as game trees, decision trees, search trees, etc.) to find the optimal solution. This type of algorithm has applications in many fields, especially in game AI, planning and optimization problems. Greedy algorithm is an algorithm strategy that takes the best or optimal (i.e. greedy) choice in the current state at each step, hoping to obtain the global optimal solution. Greedy algorithm does not make choices from the perspective of overall optimality, but takes the local optimal solution at each step, hoping to build the global optimal solution step by step.
[0173] Specifically, based on the currently preloaded filling blocks in the candidate block list and the target loading space, the loading states corresponding to the currently preloaded filling blocks are generated; based on the other remaining spaces in the container space, the best matching filling blocks are selected in the filling block list to complete each loading state, so as to obtain the preloading sequences corresponding to each loading state.
[0174] Specifically, a tree search algorithm and a greedy algorithm are combined to generate optimal filling blocks corresponding to each remaining space based on the current filling state in the container space, and then a pre-loading sequence corresponding to each filling block after loading is completed is generated.
[0175] In a specific embodiment, under the current state to be loaded, the optimal front d is considered at the same time. 1 After determining the remaining space, consider the optimal top d 2 The tree search algorithm is used to simulate the above filling blocks and the remaining space for k steps to generate (d 1 *d 2 ) k Since the container space is not yet loaded to the point where it cannot be loaded with other filling blocks, the greedy algorithm continues to load the remaining space in the container space until (d 1 *d 2 ) k A preload sequence.
[0176] For example, when the search width of the tree search algorithm is set to 3 and the search depth is set to 2, three filling blocks a are selected from the candidate block list. 1 、a 2 、a 3 ,like Figure 8 As shown. The tree search algorithm is used to simulate the three filling blocks. Specifically, a 1 、a 2 、a 3Fill the target loading space respectively to generate three different loading states S1, S2, and S3. Repeat the above process based on these three states respectively, thereby generating nine different loading processes S11, S12, S13, S21, S22, S23, S31, S32, and S33. When the search depth is reached, the forward search ends. The nine loading processes obtained are completed by calling the greedy algorithm, and finally nine pre-loading schemes for completing the search are obtained. The greedy algorithm is used to select the optimal remaining space for each loading, and the most matching filling block is selected for the remaining space. After the filling block is loaded into the corresponding remaining space, the remaining space list and the filling block list are updated to complete a pre-loading decision. Repeat the above operation until any filling block in the filling block list can no longer be loaded into the container space, or the remaining space list is empty or the filling block list is empty.
[0177] S32: Determine a loading evaluation value of the preloading sequence based on the loading status of the container space by the preloading sequence corresponding to the currently preloaded filling block; after the preloading sequence is filled into the container space, the container space can no longer accommodate any of the filling blocks.
[0178] Specifically, based on the evaluation function (d 1 *d 2 ) k The preload sequences are evaluated separately and (d 1 *d 2 ) k The load evaluation value of each preloading sequence in the preloading sequences.
[0179] Based on the sum of the first evaluation value and the second evaluation value of the completed loading corresponding to the pre-loading sequence, a loading evaluation value of the pre-loading sequence is obtained; the first evaluation value is the ratio between the sum of the volumes of the filling blocks in the container space that has completed the loading and the volume of the container; the second evaluation value is the ratio between the number of supported filling blocks in the container space that has completed the loading and the number of isolated filling blocks; at least three sides of the isolated filling blocks are not in contact with other filling blocks.
[0180] In a specific embodiment, the loading evaluation value P of each pre-loading sequence may be determined based on the following formula.
[0181] (Formula 2)
[0182] Where: It represents the sum of the volumes of all the filling blocks in the container space that has been completely loaded; Indicates the container volume of the container space; m 1 Indicates the average number of supported filling blocks in the container space that has been filled; m 2It indicates the number of filling blocks in the container space that has been loaded and that are not in direct contact with other filling blocks on at least three sides; α indicates the adjustment parameter.
[0183] The loading evaluation value of each pre-loading sequence can be obtained by the above method.
[0184] In the technical solution of this embodiment, the container space is preloaded through the preloading sequence corresponding to the filling blocks, and the loading assessment value of the preloading sequence is determined based on the space utilization of the container space after preloading and the ratio between the number of supported filling blocks and the number of isolated filling blocks in the container space, thereby improving the accuracy of the loading assessment value.
[0185] In the technical solution of this embodiment, the pre-loading sequence of each filling block in the candidate block list is generated by combining the greedy algorithm and the tree search algorithm, which can avoid the short-sightedness defect of the greedy algorithm and make the three-dimensional packing method more suitable for the needs of large-scale loading operations in actual production and life, so as to provide a loading strategy with stronger stability.
[0186] In one embodiment, the step S4 of selecting a filling block corresponding to the maximum loading evaluation value and filling it into the target loading space specifically includes the following steps.
[0187] Select the filling block corresponding to the maximum loading assessment value to fill the target loading space.
[0188] See also Fig. 9 , Fig. 9 It is a schematic diagram of the target loading space in the container space provided by the present application.
[0189] Specifically, since the filling block loading needs to comply with the full support constraint, only the vertices at the bottom of the target loading space can be used to place the filling block. Fig. 9 As shown, only the bottom of the target loading space B 1 , B 2 , B 3 , B 4 Four points can be used to place filler blocks. Set the target loading space s to be represented by a six-tuple (x, y, z, l, w, h). The left-front-bottom vertex B of the target loading space 1 The coordinates are (x, y, z), the length, width, and height of the target loading space are l, w, and h, respectively, and the length, width, and height of the filling block corresponding to the maximum loading evaluation value are l bk 、w bk 、h bk .
[0190] If the filler block is placed at B 1 (x, y, z), the position coordinates of the filling block are (x, y, z); if the filling block is placed at B 2(x+l, y, z), the position coordinates of the filling block are (x+ll bk , y, z); if the filling block is placed at B 3 (x+l, y+w, z), the position coordinates of the filling block are (x+ll bk ,y+ww bk , z); if the filler block is placed at B 4 (x, y+w, z), the position coordinates of the filling block are (x, y+ww bk , z).
[0191] In response to the target loading space having loaded the matching filling blocks, the filling block list and the remaining space list are updated. Specifically, the remaining space in the remaining space list that overlaps with the coordinate information of the target loading space is deleted; the new remaining space in the container space divided by the target loading space is added to the remaining space list to obtain an updated remaining space list, and the updated remaining space list is used as the remaining space list for the next loading. The filling blocks that have been loaded into the current target loading space are removed from the filling block list, and the updated filling block list is used as the filling block list for the next loading.
[0192] See also Fig.10 , Fig.10 It is a flow chart of a specific embodiment of the three-dimensional packing method provided in this application.
[0193] In a specific embodiment, a container space and a package for filling the container space are obtained. First, the obtained package is formed into multiple categories of filling blocks according to the size information of the package, and the filling blocks that meet the requirements are formed into a filling block list. A remaining space list is formed according to the space in the container space that is not loaded with filling blocks. It is determined whether the filling block list or the remaining space list is empty. If the filling block list or the remaining space list is empty, the container space is stopped from being filled and the loading result is output. If both the filling block list and the remaining space list are not empty, a target loading space is selected from the remaining space list, an optimal filling block is selected from the filling block list according to the size information of the target loading space, and the filling block is loaded into the target loading space. The filling block list and the remaining space list are updated according to the current loading situation, and matching filling blocks are continuously selected for the remaining space in the remaining space list until the filling block list or the remaining space list is empty, and the loading result is output.
[0194] In this embodiment, the three-dimensional packing method is used to screen the filling blocks in the filling block list according to the size information of the target loading space, thereby reducing the amount of calculation. At least one pre-loading sequence corresponding to each filling block in the candidate block list is generated by a tree search algorithm and a greedy algorithm, and a loading evaluation value corresponding to each pre-loading sequence is obtained. The loading status of the pre-loading sequence corresponding to each filling block on the container space is determined, and the filling block corresponding to the largest loading evaluation value is selected to fill the target loading space, so that the matching filling block fills the target loading space, thereby improving the space utilization rate of the container space.
[0195] See also Fig.11 , Fig.11 It is a schematic framework diagram of an embodiment of a three-dimensional packing device provided in the present application.
[0196] This embodiment provides a three-dimensional boxing device 60 , which includes an acquisition module 61 , a screening module 62 , an analysis module 63 and a determination module 64 .
[0197] The acquisition module 61 is used to acquire the target loading space and the filling block list; the target loading space is contained in the container space, and the filling block list includes m filling blocks.
[0198] The screening module 62 is used to filter the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements; wherein m and n are both positive integers, and m≥n.
[0199] The analysis module 63 is used for taking each filling block as the currently preloaded filling block in response to the candidate block list including at least two filling blocks, generating a preloading sequence for each currently preloaded filling block based on other remaining space in the container space and the remaining filling blocks in the filling block list, and obtaining a loading evaluation value for each preloading sequence; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space in sequence.
[0200] The determination module 64 is used to select a filling block corresponding to the maximum loading evaluation value and fill it into the target loading space.
[0201] In the three-dimensional packing device provided in the present embodiment, the filling blocks in the filling block list are screened according to the size information of the target loading space to reduce the amount of calculation; by generating a pre-loading sequence corresponding to the remaining filling blocks in the filling block list, and obtaining a loading evaluation value corresponding to the pre-loading sequence corresponding to the filling block, the loading status of the container space by the pre-loading sequence corresponding to each filling block is determined, and the filling block corresponding to the largest loading evaluation value is selected to fill the target loading space, so that the matching filling blocks fill the target loading space, thereby improving the space utilization rate of the container space.
[0202] See also Fig.12 , Fig.12 80 is a schematic diagram of a terminal embodiment provided by the present application. The terminal 80 includes a memory 81 and a processor 82 coupled to each other, and the processor 82 is used to execute program instructions stored in the memory 81 to implement the steps of any of the above three-dimensional packing method embodiments. In a specific implementation scenario, the terminal 80 may include but is not limited to: a microcomputer, a server, and in addition, the terminal 80 may also include a mobile device such as a laptop computer and a tablet computer, which is not limited here.
[0203] Specifically, the processor 82 is used to control itself and the memory 81 to implement the steps of any of the above-mentioned three-dimensional packing method embodiments. The processor 82 can also be called a CPU (Central Processing Unit). The processor 82 may be an integrated circuit chip with signal processing capabilities. The processor 82 can also be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 82 can be implemented by an integrated circuit chip.
[0204] See also Fig.13 , Fig.13 The computer-readable storage medium 90 stores program instructions 901 that can be executed by a processor, and the program instructions 901 are used to implement the steps of any of the above three-dimensional packing method embodiments.
[0205] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0206] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0207] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0208] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0209] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0210] The above are only implementation methods of the present application, and are not intended to limit the patent protection scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A three-dimensional packing method, characterized in that: The three-dimensional boxing method comprises: Acquire a target loading space and a filling block list; the target loading space is contained in the container space, and the filling block list includes m filling blocks; Filtering the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements; wherein m and n are both positive integers, and m≥n; In response to the candidate block list including at least two of the filling blocks, each of the filling blocks is used as a currently preloaded filling block, and a preloading sequence of each of the currently preloaded filling blocks is generated based on other remaining spaces in the container space and the remaining filling blocks in the filling block list, and a loading evaluation value of each of the preloading sequences is obtained; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space in sequence; The filling block corresponding to the largest loading assessment value is selected to fill the target loading space; the category information of the filling block includes a second category; the filling block of the second category is formed by placing at least two packages with different size information; The filtering of the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements includes: Determining a fitness function based on size information of a package contained in the padding block, size information of the padding block, and potential loss space corresponding to the padding block; Determine the fitness value of the filling block based on the size information of the package contained in the filling block in the filling block list, the size information of the filling block, and the potential loss space corresponding to the filling block by the fitness function; Sort the filling blocks in descending order according to the fitness values, and select the top n filling blocks to generate the candidate block list; The determining the fitness function based on the size information of the package contained in the filling block, the size information of the filling block, and the potential loss space corresponding to the filling block includes: Determining the volume of the package in the filling block based on the size information of the package contained in the filling block; Determining a block volume of the filling block based on the size information of the filling block; determining a potential loss volume of the filling block based on a loading position of the filling block in the target loading space; determining a filling loss volume of the filling block based on a difference between the block volume corresponding to the filling block and the package volume; The fitness function is determined based on the weighted sum of the package volume and the loss volume corresponding to the filling block, wherein the loss volume is the sum of the filling loss volume and the potential loss volume.
2. The three-dimensional packing method according to claim 1, characterized in that: The generating of the preloading sequence of each of the currently preloaded filling blocks based on other remaining spaces in the container space and the remaining filling blocks in the filling block list and obtaining the loading evaluation value of each of the preloading sequences includes: Generate the preloading sequence corresponding to each of the currently preloaded filling blocks in the candidate block list by using a preset algorithm based on the other remaining spaces in the container space and the remaining filling blocks in the filling block list; Based on the loading condition of the container space by the preloading sequence corresponding to the currently preloaded filling block, a loading evaluation value of the preloading sequence is determined; after the preloading sequence is filled into the container space, the container space can no longer accommodate any of the filling blocks.
3. The three-dimensional packing method according to claim 2, characterized in that: The using a preset algorithm to generate the preloading sequence corresponding to each of the currently preloaded filling blocks in the candidate block list based on the other remaining spaces in the container space and the remaining filling blocks in the filling block list includes: Based on the currently preloaded filling blocks in the candidate block list and the target loading space, generating a loading state corresponding to each of the currently preloaded filling blocks; Based on the other remaining spaces in the container space, the best matching filling blocks are selected in the filling block list to complete each loading state respectively, so as to obtain the pre-loading sequences corresponding to each loading state respectively.
4. The three-dimensional packing method according to claim 2, characterized in that: The determining of the loading evaluation value of the preloading sequence based on the loading condition of the container space by the preloading sequence corresponding to the currently preloaded filling block includes: The loading evaluation value of the pre-loading sequence is obtained based on the sum of the first evaluation value and the second evaluation value of the completed loading corresponding to the pre-loading sequence; the first evaluation value is the ratio between the volume of all the filling blocks in the container space that has completed loading and the container volume; the second evaluation value is the ratio between the number of supported filling blocks in the container space that has completed loading and the number of isolated filling blocks; at least three sides of the isolated filling block are not in contact with other filling blocks.
5. The three-dimensional packing method according to claim 1, characterized in that: The three-dimensional boxing method also includes: Build a list of remaining spaces; Select the target loading space from the remaining space list; The method for constructing the remaining space list includes: In response to the container space not having any of the filling blocks loaded therein, the container space is regarded as a remaining space and belongs to the remaining space list; In response to the container space containing at least one of the filling blocks, cutting the unloaded space in the container space into a plurality of sub-container spaces based on the loading position of the filling block; The sub-container space is taken as the remaining space and belongs to the remaining space list, and the remaining space in the remaining space list that has been filled with the filling block is deleted.
6. The three-dimensional packing method according to claim 5, characterized in that: The method for acquiring the target loading space includes: In response to the remaining space list containing only one remaining space, taking the remaining space as the target loading space; In response to the remaining space list including at least two remaining spaces, determining the shortest distance between each of the remaining spaces and the container space; In response to the shortest distance corresponding to one of the remaining spaces, selecting the remaining space corresponding to the shortest distance as the target loading space; In response to the shortest distance corresponding to at least two of the remaining spaces, the remaining space corresponding to the largest volume of the at least two remaining spaces is selected as the target loading space.
7. The three-dimensional packing method according to claim 1, characterized in that: Before obtaining the filling block list, the three-dimensional box packing method further includes: Build a list of filler blocks; The method for constructing a filling block list includes: Get multiple packages; the packages have size information; Combining the packages based on the size information of the packages to generate a plurality of the filling blocks; the filling blocks have attribute information; In response to the attribute information of the filling block meeting the constraint rules, the filling block is assigned to the filling block list; the constraint rules include quantity constraints, boundary constraints, orientation constraints, full support constraints, and load-bearing constraints.
8. The three-dimensional packing method according to claim 7, characterized in that: The attribute information includes size information and category information; the category information of the filling block also includes a first category; the filling blocks of the first category are formed by placing the packages with the same size information in the same direction; In response to the attribute information of the filling block meeting the constraint rule, attributing the filling block to the filling block list includes: In response to the attribute information of the filling block corresponding to the first category meeting the first constraint rule, the filling block of the first category is assigned to the filling block list; In response to the attribute information of the filling block corresponding to the second category meeting the second constraint rule, the filling block of the second category is assigned to the filling block list.
9. The three-dimensional packing method according to claim 1, characterized in that: The filtering of the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements also includes: The filling blocks in the filling block list are screened according to the size information of the target loading space, and the filling blocks in the filling block list that meet preset requirements are retained.
10. A three-dimensional packing device, characterized in that: The three-dimensional boxing device comprises: an acquisition module, configured to acquire a target loading space and a filling block list; the target loading space is contained in the container space, the filling block list includes m filling blocks; the category information of the filling blocks includes a second category; the filling blocks of the second category are formed by placing packages of at least two different size information; A screening module is used to filter the filling blocks in the filling block list based on the size information of the target loading space to obtain a candidate block list generated by n filling blocks that meet preset requirements; wherein m and n are both positive integers, and m≥n; and is also used to determine a fitness function based on the size information of the packages contained in the filling blocks, the size information of the filling blocks, and the potential loss space corresponding to the filling blocks; determine the fitness value of the filling block based on the size information of the packages contained in the filling blocks in the filling block list, the size information of the filling blocks, and the potential loss space corresponding to the filling blocks through the fitness function; and sort the filling blocks in descending order according to the fitness values. sorting, and selecting the top n filling blocks to generate the candidate block list; further used to determine the package volume in the filling block based on the size information of the package contained in the filling block; determine the block volume of the filling block based on the size information of the filling block; determine the potential loss volume of the filling block based on the loading position of the filling block in the target loading space; determine the filling loss volume of the filling block based on the difference between the block volume and the package volume corresponding to the filling block; determine the fitness function based on the weighted sum of the package volume and the loss volume corresponding to the filling block; wherein the loss volume is the sum of the filling loss volume and the potential loss volume; an analysis module, configured to, in response to the candidate block list including at least two of the filling blocks, use each of the filling blocks as a currently preloaded filling block, generate a preloading sequence of each of the currently preloaded filling blocks based on other remaining spaces in the container space and the remaining filling blocks in the filling block list, and obtain a loading evaluation value of each of the preloading sequences; the preloading sequence includes a sequence consisting of the currently preloaded filling block and other filling blocks that are subsequently loaded into the container space in sequence; A determination module is used to select the filling block corresponding to the largest loading evaluation value and fill it into the target loading space.
11. A terminal, characterized in that: The terminal includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor is used to execute program data to implement the steps in the three-dimensional packing method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the three-dimensional packing method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Boxing method and device, equipment and medium
CN112465433A
Three-dimensional boxing method and device, electronic equipment and storage medium
CN117252037A