Computer-implemented packaging method, device, and electronic equipment

The computer-implemented packing method, which utilizes the overpacking judgment model and volume calculation model, solves the problem of low packing efficiency of irregular objects and realizes semi-automatic and efficient packing.

CN114065632BActive Publication Date: 2025-09-30BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111371036.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-18
Publication Date
2025-09-30
Estimated Expiration
2041-11-18

AI Technical Summary

Technical Problem

In industrial production, the packing problem of irregular objects is the most difficult, and the lack of effective packing methods leads to low packing efficiency.

Method used

A computer-implemented cartoning method is adopted, which utilizes the overfilling judgment model and volume calculation model, and determines the target packaging information through neural network training to achieve semi-automatic cartoning.

Benefits of technology

It improves the efficiency of packing irregular objects, avoids overpacking, increases the utilization rate of packing, and realizes semi-automatic packing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114065632B_ABST
    Figure CN114065632B_ABST
Patent Text Reader

Abstract

The present disclosure provides a computer-implemented box packing method, apparatus, electronic device, computer-readable storage medium, and computer program product, relating to the fields of computer technology, particularly the Internet of Things, the Industrial Internet, and industrial safety production technology. The implementation scheme comprises: utilizing an overpacking determination model to determine whether packing multiple objects into a target box will result in overpacking; and determining target subpackaging information in response to determining that packing multiple objects into the target box will result in overpacking.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, in particular to the Internet of Things, industrial Internet, and industrial production safety technology, and specifically to a packing method, device, electronic device, computer-readable storage medium, and computer program product implemented by a computer. Background Art

[0002] In industrial production, it is usually necessary to load multiple goods into containers. According to the shape of the packed objects, it is divided into the packing of regular objects and the packing of irregular objects. Regular objects refer to objects with regular shapes, such as cylinders, rectangles, etc. The packing problem of regular objects is the most studied in related technologies. Irregular objects refer to objects with arbitrary geometric shapes. The packing problem of irregular objects exists in large quantities in industrial production, but it is also the most difficult packing problem. Therefore, there is an urgent need for an effective packing method for irregular objects.

[0003] The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any approach described in this section is prior art simply by virtue of its inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered as having been recognized in any prior art. Summary of the Invention

[0004] The present disclosure provides a computer-implemented box packing method, apparatus, electronic device, computer-readable storage medium, and computer program product.

[0005] According to one aspect of the present disclosure, a computer-implemented packing method is provided, comprising: determining, using an overpacking judgment model, whether packing a plurality of objects to be packed into a target box will result in overpacking; and in response to determining that packing the plurality of objects to be packed into a target box will result in overpacking, determining target packing information for packing the plurality of objects to be packed, the target packing information comprising a target number of target boxes and target sub-packing information corresponding to each target box.

[0006] According to another aspect of the present disclosure, a training method for a neural network model for implementing box packing is provided, wherein the neural network model includes an overfill judgment model and a volume calculation model, wherein the method includes: for a plurality of sample objects included in at least one object category, marking the number of samples of the sample objects included in each object category, as well as the actual overfill classification results and actual boxing volumes of the plurality of sample objects packed into a sample box, the overfill classification results including overfilling and non-overfilling; training the overfill judgment model; and training the volume calculation model, wherein the training method for the overfill judgment model includes: classifying the plurality of sample objects corresponding to at least one object category, the sample objects of each object category, and the actual boxing volumes of the plurality of sample objects. The quantity and the actual overloading classification result are input into the overloading judgment model to obtain the predicted overloading classification result output by the overloading judgment model; based on the actual overloading classification result and the predicted overloading classification result, a first loss value is calculated; and the parameters of the overloading judgment model are adjusted based on the loss value, wherein the training method of the volume calculation model includes: inputting at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual packing volume into the volume calculation model to obtain the predicted packing volume output by the volume calculation model; based on the actual packing volume and the predicted packing volume, a second loss value is calculated; and the parameters of the volume calculation model are adjusted based on the loss value.

[0007] According to another aspect of the present disclosure, a packing device is provided, including: a first determination module, configured to determine whether packing multiple objects to be packed into a target box will result in overflow by using an overflow judgment model; and a second determination module, configured to determine target packing information for packing the multiple objects to be packed in response to determining that packing the multiple objects to be packed into the target box will result in overflow, the target packing information including a target number of target boxes and target sub-packing information corresponding to each target box.

[0008] According to another aspect of the present disclosure, a training device for a neural network model for implementing box packing is provided, wherein the neural network model includes an overfill judgment model and a volume calculation model, wherein the device includes: a labeling module configured to label, for a plurality of sample objects included in at least one object category, the number of samples of the sample objects included in each object category, and the actual overfill classification results and actual boxing volumes of the plurality of sample objects packed into a sample box, the overfill classification results including overfilling and non-overfilling; a first sub-training module configured to train the overfill judgment model; and a second sub-training module configured to train the volume calculation model, wherein the first sub-training module includes: a first input unit configured to input at least one object category corresponding to the plurality of sample objects, the number of samples of each object category, and the actual overfill classification results. The result is input into the overloading judgment model to obtain the predicted overloading classification result output by the overloading judgment model; a first calculation unit is configured to calculate a first loss value based on the actual overloading classification result and the predicted overloading classification result; and a first parameter adjustment unit is configured to adjust the parameters of the overloading judgment model based on the loss value, wherein the second sub-training module includes: a second input unit, configured to input at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual packing volume into the volume calculation model to obtain the predicted packing volume output by the volume calculation model; a second calculation unit is configured to calculate a second loss value based on the actual packing volume and the predicted packing volume; and a second parameter adjustment unit is configured to adjust the parameters of the volume calculation model based on the loss value.

[0009] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the above method.

[0010] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above method.

[0011] According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program implements the above method when executed by a processor.

[0012] According to one or more embodiments of the present disclosure, an overloading judgment model is first used to determine whether loading multiple objects to be loaded into a target box will cause overloading. Only when there is overloading will the objects be sub-packed, and when there is no overloading, the objects are directly packed into the box, thereby achieving semi-automation of the packing and improving the packing efficiency.

[0013] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings illustrate exemplary embodiments and constitute a part of the specification. Together with the description of the specification, they serve to explain exemplary implementation of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals designate similar, but not necessarily identical, elements.

[0015] Figure 1 A schematic diagram illustrating an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;

[0016] Figure 2a A flowchart of a computer-implemented box packing method according to an embodiment of the present disclosure is shown;

[0017] Figure 2b A flow chart of a method for determining target packaging information for packaging the plurality of objects to be packaged according to an embodiment of the present disclosure is shown;

[0018] Figure 3 A flowchart of a method for determining target subpackaging information based on multiple candidate subpackaging information according to an embodiment of the present disclosure is shown;

[0019] Figure 4 A flowchart of determining target subpackaging information based on multiple candidate subpackaging information according to another embodiment of the present disclosure is shown;

[0020] Figure 5 A flowchart of a method for training a neural network model according to an embodiment of the present disclosure is shown;

[0021] Figure 6 shows a structural block diagram of a box packing device according to an embodiment of the present disclosure;

[0022] Figure 7 A structural block diagram of a training device for a neural network model according to an embodiment of the present disclosure is shown;

[0023] Figure 8 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0024] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0025] In this disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases, based on the context of the description, they may also refer to different instances.

[0026] The terms used in the descriptions of the various examples described in this disclosure are for the purpose of describing specific examples only and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in this disclosure encompasses any one and all possible combinations of the listed items.

[0027] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0028] Figure 1 FIG2 is a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more applications.

[0029] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable execution of the computer-implemented boxing method.

[0030] In some embodiments, server 120 may also provide other services or software applications that may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.

[0031] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may, in turn, utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.

[0032] The user can use the client device 101, 102, 103, 104, 105 and / or 106 to input information about the objects to be loaded and the container. The client device can provide an interface that enables the user of the client device to interact with the client device. The client device can also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure can support any number of client devices.

[0033] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (such as Google Chrome OS); or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices are capable of executing a variety of different applications, such as various internet-related applications, communication applications (such as email applications), and short message service (SMS) applications, and may use various communication protocols.

[0034] The network 110 may be any type of network known to those skilled in the art that can support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0035] Server 120 may include one or more general-purpose computers, specialized server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0036] The computing units in the server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.

[0037] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

[0038] In some embodiments, server 120 may be a distributed system server or a server integrated with blockchain. Server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host equipped with artificial intelligence technology. A cloud server is a host product within the cloud computing service system that addresses the management difficulties and poor scalability of traditional physical hosts and virtual private servers (VPS) services.

[0039] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in a variety of locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.

[0040] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.

[0041] Figure 1 The system 100 may be configured and operated in various ways to enable application of the various methods and apparatuses described in accordance with the present disclosure.

[0042] Figure 2a FIG. 2 shows a flowchart of a computer-implemented packing method 200 according to an embodiment of the present disclosure. Figure 2a As shown, the method 200 may include the following steps:

[0043] Step S201, using an overloading judgment model to determine whether loading multiple objects into a target box will result in overloading; and

[0044] Step S203 , in response to determining that loading the multiple objects into the target box will result in overflow, determine target sub-packaging information, the target sub-packaging information including a target number of target boxes and target sub-packaging information corresponding to each target box.

[0045] Therefore, the overloading judgment model is first used to determine whether loading multiple objects into the target box will cause overloading. Only when there is overloading will they be sub-packed, and when there is no overloading, they will be directly packed, thereby realizing semi-automatic packing and improving packing efficiency.

[0046] According to some embodiments of the present disclosure, Figure 2b As shown, in step S203, in response to determining that loading the multiple objects to be loaded into the target box will cause overflow, determining target sub-packaging information for sub-packaging the multiple objects to be loaded includes:

[0047] Step S2031, determining initial sub-packaging information, the initial sub-packaging information including an initial number of target boxes and initial sub-packaging information corresponding to each target box;

[0048] Step S2033, based on at least the initial subpackaging information, determining a plurality of candidate subpackaging information according to a preset rule, wherein the packing volume of each target box corresponding to each candidate subpackaging information is determined using a volume calculation model; and

[0049] Step S2035 : determining target subpackaging information based at least on the plurality of candidate subpackaging information and the packing volumes of the target boxes corresponding thereto.

[0050] The packing method disclosed herein uses an overfill determination model to determine whether a packing plan will result in overfilling. If so, subpackaging is performed, thereby preventing overfilling during the packing process. Furthermore, by applying a volume calculation model to a heuristic algorithm to determine target subpackaging information, the method maximizes the packing volume of each box while preventing overfilling, thereby improving packing utilization. Furthermore, the method enables semi-automated packing, improving packing efficiency.

[0051] The packing method in the embodiment of the present disclosure is particularly suitable for packing irregular objects. It can be understood that the packing method in the embodiment of the present disclosure is also suitable for packing regular objects, as well as mixed packing of irregular objects and regular objects.

[0052] The following will describe in detail the various steps of the box packing method 200 according to the present disclosure.

[0053] In step S201, overloading refers to the situation where some objects placed in a container overflow from the container. The overloading judgment model can be trained by a machine learning algorithm or a deep learning algorithm.

[0054] According to some embodiments, step S201 may include the following steps: classifying multiple objects to be packed into at least one category; obtaining relevant parameters for each category of the multiple objects to be packed, including the number of objects in that category and / or packaging information for the objects in that category; and inputting the relevant parameters for the at least one category of objects into an overfill determination model, and obtaining an overfill classification result output by the overfill determination model, including overfill and non-overfill. In this way, it is possible to directly determine whether a package is overfilled based on the categories of the multiple objects to be packed and the relevant parameters for each category of objects, thereby improving the efficiency of overfill determination.

[0055] The multiple objects to be packed can be of different categories, and each category of objects has the same parameters related to packing. These parameters include the object's packaging information, which can include parameters such as the object's length, height, width, and volume. These parameters can be used to determine various aspects of the packing plan, including overpacking. This step allows for the determination of whether overpacking will occur based on the parameters of the multiple objects to be packed.

[0056] According to some embodiments, the volume calculation model and the overload determination model are different modules of the same target model, and the output of the target model includes the overload classification result of the target box and the packed volume of the target box. In some examples, both the volume calculation model and the overload determination model can be trained using a machine learning algorithm or a deep learning algorithm. It is understood that the volume calculation model and the overload determination model can also be different models.

[0057] In step S203, when overpacking occurs, target subpackaging information for subpackaging is determined for use in the subpackaging operation. The target subpackaging information includes the target subpackaging information, which includes one or more objects to be loaded into a target box. For example, each object to be loaded can be assigned a unique identifier, and the target subpackaging information corresponding to each target box can include the unique identifiers of the one or more objects to be loaded into the target box. When the subpackaging operation is performed, the target subpackaging information can be used to obtain the number of target boxes to be loaded and the target subpackaging information for each target box.

[0058] In step S2033, according to some embodiments, a proximity domain search algorithm can be used to determine multiple candidate subpackaging information based at least on the initial subpackaging information. The proximity domain search algorithm is a taboo search algorithm that starts from an initial feasible solution and selects a series of specific search directions as heuristics to jump out of the initial feasible solution to find different candidate solutions. Therefore, the proximity domain search algorithm can be used to obtain multiple candidate subpackaging information based on the initial subpackaging information. It is understandable that other algorithms can also be used to obtain multiple candidate subpackaging information, which is not limited here.

[0059] The following will take the example of using a proximity domain search algorithm to determine multiple candidate sub-packaging information to specifically describe how to determine the target sub-packaging information.

[0060] According to some embodiments, the plurality of candidate sub-packaging information includes a plurality of candidate sub-packaging information corresponding to each target box in the initial number of target boxes. Based on the plurality of candidate sub-packaging information, the packing volume of each target box can be determined. Accordingly, determining the plurality of candidate sub-packaging information includes determining a plurality of candidate sub-packaging information for each target box.

[0061] According to some embodiments, each target box corresponding to each candidate sub-packaging information is not overfilled, thereby avoiding calculating the packing volume of each target box corresponding to the candidate sub-packaging information even if the box is overfilled, thereby improving efficiency. For example, an overfill determination model can be used to determine whether the target box corresponding to each candidate sub-packaging information is overfilled, and if so, the box is rejected.

[0062] Figure 3 FIG. 3 is a flow chart showing a method 300 for determining target sub-packaging information of a target box based on initial packing information according to an embodiment of the present disclosure. Figure 3 As shown, the method 300 may include determining multiple candidate sub-packaging information of the target box (i.e., the second target box), and determining multiple candidate sub-packaging information of the target box includes the following steps:

[0063] Step S301, determining the first target box with the smallest packing volume in the initial packing information;

[0064] Step S303: For a second target box among the target boxes other than the first target box in the initial sub-packaging information, based on the initial sub-packaging information corresponding to the first target box and the second target box, a plurality of first candidate sub-packaging information corresponding to the second target box is determined by using neighborhood movement;

[0065] Step S305 , using a volume calculation model to determine the packing volume of the second target box corresponding to each first candidate sub-packaging information;

[0066] Step S307, based on the packing volumes of the second target boxes corresponding to the plurality of first candidate sub-packaging information, determining the first local optimal sub-packaging information corresponding to the second target box from the plurality of first candidate sub-packaging information; and

[0067] Step S309 : Based on the first local optimal sub-packaging information corresponding to the second target box, a plurality of second candidate sub-packaging information corresponding to the second target box is determined by using neighborhood movement.

[0068] That is, the plurality of candidate sub-packaging information includes a plurality of first candidate sub-packaging information and a plurality of second candidate sub-packaging information corresponding to the second target box.

[0069] In some examples, in step S303, the neighborhood movement includes two methods: movement and exchange. Movement refers to placing an object in one box into another box; exchange refers to exchanging the objects in one box with those in another box.

[0070] The method 300 may further include determining target sub-packaging information of the target box (i.e., the second target box), and determining the target sub-packaging information of the target box includes the following steps:

[0071] Step S311, using a volume calculation model to determine the packing volume of the second target box corresponding to each second candidate sub-packaging information;

[0072] Step S313, based on the packing volumes of the second target boxes corresponding to the plurality of second candidate sub-packaging information, determining the second local optimal sub-packaging information corresponding to the second target box from the plurality of second candidate sub-packaging information;

[0073] Step S315, determining the global optimal sub-packaging information corresponding to the second target box based on at least the first local optimal sub-packaging information and the second local optimal sub-packaging information corresponding to the second target box; and

[0074] Based on the global optimal sub-packaging information corresponding to the second target box, target sub-packaging information corresponding to the second target box is determined.

[0075] In other words, a local optimal solution (i.e., local optimal subpackaging information) is obtained from the multiple candidate subpackaging information obtained from each round of neighborhood movement. Then, based on the local optimal solution corresponding to the neighborhood movement and the determined global optimal solution (i.e., global optimal subpackaging information), the global optimal solution is updated through continuous iteration. In other words, the purpose of iteration is to continuously update the global optimal subpackaging information of a target box until the iteration ends and the final determined global optimal subpackaging information is determined as the target subpackaging information for the target box.

[0076] For ease of description and understanding, in the following content, the local optimal sub-packaging information is referred to as the local optimal solution, and the global optimal sub-packaging information is referred to as the global optimal solution.

[0077] According to some embodiments, taking the second target box as an example, the first local optimal solution among the plurality of first candidate sub-packaging information may be the first candidate sub-packaging information with the largest packing volume for the corresponding second target box, and the second local optimal solution among the plurality of second candidate sub-packaging information may be the second candidate sub-packaging information with the largest packing volume for the corresponding second target box. Similar procedures are employed for other target boxes.

[0078] In order to facilitate understanding of determining target sub-packaging information of a target box through iteration, an iteration process of the target box is described in detail.

[0079] According to some embodiments, determining multiple candidate sub-packaging information of the second target box may further include: step S317, based on the global optimal sub-packaging information corresponding to the second target box, using neighborhood movement to determine multiple third candidate sub-packaging information corresponding to the second target box.

[0080] Accordingly, based on the global optimal sub-packaging information corresponding to the second target box, determining the target sub-packaging information corresponding to the second target box may include: step S319, using the volume calculation model to determine the packing volume of the second target box corresponding to each third candidate sub-packaging information; step S321, based on the packing volumes of the second target boxes corresponding to each of the multiple third candidate sub-packaging information, determining the third local optimal sub-packaging information corresponding to the second target box from the multiple third candidate sub-packaging information; step S323, updating the global optimal sub-packaging information corresponding to the second target box based on at least the global optimal sub-packaging information and the third local optimal sub-packaging information corresponding to the second target box.

[0081] The above steps complete one iteration, updating the global optimal sub-packaging information corresponding to the second target box. Subsequent iterations are similar to this iterative process and will not be described in detail until the iteration ends. The final global optimal sub-packaging information is determined as the target sub-packaging information corresponding to the second target box.

[0082] A preset condition may be set to terminate the number of iterations. For example, a preset number of iterations may be set, and the iterations may be terminated upon reaching the preset number of iterations, with the final global optimal solution being determined as the target sub-packaging information corresponding to the second target box. Of course, other preset conditions may also be set, such as an iteration duration, and the iterations may be terminated upon reaching the iteration duration, with the final global optimal solution being determined as the target sub-packaging information corresponding to the second target box.

[0083] Based on this, according to some embodiments, based on the global optimal sub-packaging information corresponding to the second target box, determining the target sub-packaging information corresponding to the second target box may also include: in response to determining that the preset conditions are met, determining the latest updated global optimal sub-packaging information corresponding to the second target box as the target sub-packaging information corresponding to the second target box.

[0084] The target sub-packaging information corresponding to the second target box is determined through the above steps, and the target sub-packaging information can maximize the packing volume of the second target box. For example, the second target box can be the target box with the largest packing volume in the initial packing information, or it can be a randomly selected target box from the initial packing information.

[0085] According to some embodiments, step S2033, determining the multiple candidate subpackaging information using a neighborhood search algorithm based at least on the initial subpackaging information, may also include: initializing a taboo table; updating the other first candidate subpackaging information except the first local optimal subpackaging information from the multiple first candidate subpackaging information and their corresponding neighborhood movement operations to the taboo table.

[0086] Accordingly, determining the global optimal sub-packaging information corresponding to the second target box includes: in response to determining that the packing volume of the second target box corresponding to the second local optimal sub-packaging information is not larger than the packing volume of the second target box corresponding to the first local optimal sub-packaging information, determining the global optimal sub-packaging information based on the taboo table and multiple second candidate sub-packaging information; and in response to determining that the packing volume of the second target box corresponding to the second local optimal sub-packaging information is larger than the packing volume of the second target box corresponding to the first local optimal sub-packaging information, determining the second local optimal sub-packaging information as the global optimal sub-packaging information.

[0087] According to this step, the non-optimal solutions that have been explored can be recorded in the taboo table to avoid calculating the non-optimal solutions again during the next iteration, thereby avoiding repeated calculations and reducing calculation costs.

[0088] According to some embodiments, the initial number of target boxes in the initial packaging information may be filled one by one to improve packaging efficiency. In other words, all target boxes in the target packaging information are filled or only one target box is not filled and the remaining target boxes are filled.

[0089] It can be understood that in the embodiment of the present disclosure, filling the target box means making the packing volume of the target box as large as possible through the above-mentioned iterative method (see the method for determining the target sub-packaging information of the second target box based on multiple initial packing information).

[0090] For ease of understanding, after determining the target sub-packaging information of the second target box, taking determining the target sub-packaging information of the third target box as an example, how to fill the initial number of target boxes in the initial packing information one by one is specifically described.

[0091] The following explanation is made by taking the first target box with the smallest packing volume among the initial number of target boxes as an example and the case where the first target box is not emptied and the second target box is emptied after being filled as an example.

[0092] Figure 4 FIG. 4 is a flow chart showing a method 400 for determining target sub-packaging information of another target box based on initial packing information according to another embodiment of the present disclosure. Figure 4 As shown, the method 400 can determine multiple candidate sub-packaging information of the other target box (i.e., the third target box). Determining multiple candidate sub-packaging information of the other target box includes the following steps:

[0093] Step S401, after determining the target sub-packaging information corresponding to the second target box, determine the sub-packaging information of the first target box based on the initial packing information and the target sub-packaging information corresponding to the second target box;

[0094] Step S403, using a volume calculation model to determine the packing volume corresponding to the sub-packaging information of the first target box; and

[0095] Step S405: In response to determining that the packing volume of the first target box is greater than zero, for a third target box among the target boxes other than the first target box and the second target box in the initial packing information, a plurality of fourth candidate sub-packaging information corresponding to the third target box is determined using neighborhood moving based on the sub-packaging information of the first target box and the initial sub-packaging information of the third target box.

[0096] Step S407, using a volume calculation model to determine the packing volume of the third target box corresponding to each fourth candidate sub-packaging information;

[0097] Step S409, based on the packing volumes of the third target boxes corresponding to the plurality of fourth candidate sub-packaging information, determining the fourth local optimal sub-packaging information corresponding to the third target box from the plurality of fourth candidate sub-packaging information; and

[0098] Step S411, based on the fourth local optimal sub-packaging information corresponding to the third target box, determine multiple fifth candidate sub-packaging information corresponding to the third target box by using neighborhood movement;

[0099] That is, the plurality of candidate sub-packaging information includes a plurality of fourth candidate sub-packaging information and a plurality of fifth candidate sub-packaging information corresponding to the third target box.

[0100] The method 400 may further include determining target sub-packaging information of another target box (i.e., a third target box), and determining the target sub-packaging information of another target box includes the following steps:

[0101] Step S413, using a volume calculation model to determine the packing volume of the third target box corresponding to each fifth candidate sub-packaging information;

[0102] Step S415, based on the packing volumes of the third target boxes corresponding to the plurality of fifth candidate sub-packaging information, determining the fifth local optimal sub-packaging information corresponding to the third target box from the plurality of fifth candidate sub-packaging information; and

[0103] Step S417, determining the global optimal sub-packaging information corresponding to the third target box based on at least the fourth local optimal sub-packaging information and the fifth local optimal sub-packaging information corresponding to the third target box; and

[0104] The target sub-packaging information corresponding to the third target box is determined according to the global optimal sub-packaging information corresponding to the third target box.

[0105] In order to facilitate understanding of determining target sub-packaging information of a target box through iteration, an iteration process of the target box is described in detail.

[0106] According to some embodiments, determining multiple candidate sub-packaging information of the third target box may further include: step S419, based on the global optimal sub-packaging information corresponding to the third target box, using neighborhood movement to determine multiple sixth candidate sub-packaging information corresponding to the third target box.

[0107] Accordingly, according to the global optimal sub-packaging information corresponding to the third target box, determining the target sub-packaging information corresponding to the third target box may include: step S421, using a volume calculation model to determine the packing volume of the third target box corresponding to each sixth candidate sub-packaging information; step S423, based on the packing volumes of the third target boxes corresponding to each of the multiple sixth candidate sub-packaging information, determining the sixth local optimal sub-packaging information corresponding to the third target box from the multiple sixth candidate sub-packaging information; step S425, updating the global optimal sub-packaging information corresponding to the third target box based on at least the global optimal sub-packaging information and the sixth local optimal sub-packaging information corresponding to the third target box.

[0108] The above steps complete one iteration, updating the global optimal sub-packaging information for the third target box. Subsequent iterations are similar to this one and will not be described in detail until the iteration ends. The finalized global optimal sub-packaging information is then determined as the target sub-packaging information for the third target box. The principle for determining the end of the iteration is similar to that for the second target box.

[0109] Based on this, according to some embodiments, determining the target sub-packaging information corresponding to the third target box according to the global optimal sub-packaging information corresponding to the third target box may also include: in response to determining that the preset conditions are met, determining the latest updated global optimal sub-packaging information corresponding to the third target box as the target sub-packaging information corresponding to the third target box.

[0110] The above describes the process of determining the target sub-packaging information for another target box (i.e., the third target box) using the example of a first target box that is not empty. The following describes the process of determining the target sub-packaging information for another target box (i.e., the fifth target box, which may be the same as or different from the third target box) using the example of an empty first target box.

[0111] According to some embodiments, determining multiple candidate sub-packaging information for another target box based on multiple initial packaging information may include: after determining the target sub-packaging information corresponding to the second target box, using a volume calculation model to determine the sub-packaging information and packaging volume of the first target box based on the initial packaging information and the target sub-packaging information corresponding to the second target box; in response to determining that the packaging volume of the first target box is equal to zero, determining a fourth target box with the smallest packaging volume other than the first and second target boxes in the initial packaging information; and determining a fifth target box among the other target boxes other than the first, second, and fourth target boxes in the initial packaging information. Specifically, determining multiple candidate sub-packaging information for the fifth target box is similar to determining multiple candidate sub-packaging information for the second target box described above and will not be described in detail.

[0112] Accordingly, determining the target sub-packaging information includes, for the fifth target box, determining target sub-packaging information corresponding to the fifth target box based on the initial sub-packaging information corresponding to each of the fourth target box and the fifth target box. Specifically, determining the target sub-packaging information corresponding to the fifth target box is based on multiple candidate sub-packaging information corresponding to the fifth target box and the packing volume of each candidate sub-packaging information corresponding to the fifth target box.

[0113] The process of determining the target sub-packaging information corresponding to the fifth target box is similar to the process of determining the target sub-packaging information corresponding to the first target box, and will not be described in detail.

[0114] According to an embodiment of the present disclosure, a training method 500 for a neural network model for implementing box packing is also provided, wherein the neural network model includes an overpacking judgment model and a volume calculation model. Figure 5 As shown, method 500 includes: step S501, for multiple sample objects included in at least one object category, marking the sample quantity of the sample objects included in each object category, as well as the actual overfilling classification results and actual packing volume of the multiple sample objects packed into the sample box, the overfilling classification results including overfilling and non-overfilling; step S503, training the overfilling judgment model; and step S505, training the volume calculation model.

[0115] Among them, the training method of the overloading judgment model includes: inputting at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual overloading classification results into the overloading judgment model, and obtaining the predicted overloading classification results output by the overloading judgment model; calculating a first loss value based on the actual overloading classification results and the predicted overloading classification results; and adjusting the parameters of the overloading judgment model based on the loss value.

[0116] Among them, the training method of the volume calculation model includes: inputting at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual packing volume into the volume calculation model, and obtaining the predicted packing volume output by the volume calculation model; calculating a second loss value based on the actual packing volume and the predicted packing volume; and adjusting the parameters of the volume calculation model based on the loss value.

[0117] When training the volume calculation model, we can use both empty and fully loaded sample data. When training the overfill detection model, we can use both overfilled and fully loaded sample data. Since overfilled sample data is relatively rare, we can also artificially augment the fully loaded sample data. Specifically, we can add multiple unloaded objects to the fully loaded sample data to generate overfilled data.

[0118] Exemplarily, the volume calculation model and the overfilling judgment model may be different modules of the same target model, and the output of the target model includes the overfilling classification result of the sample box and the packing volume of the sample box.

[0119] According to an embodiment of the present disclosure, a box packing device 600 is further provided. Figure 6 FIG. 1 shows a structural block diagram of a box packing device according to an embodiment of the present disclosure. Figure 6 As shown, the box packing device 600 includes a first determination module 601 and a second determination module 602, wherein the second determination module 602 includes a first sub-determination unit 6021, a second sub-determination unit 6022, a third sub-determination unit 6023, and a fourth sub-determination unit 6024. The first determination module 601 is configured to determine whether packing multiple objects into a target box will result in overpacking using an overpacking judgment model; the second determination module 602 is configured to, in response to determining that packing multiple objects into the target box will result in overpacking, determine target subpacking information, the target subpacking information including a target number of target boxes and target subpacking information corresponding to each target box.

[0120] According to some embodiments, the second determination module 602 may include: a first sub-determination unit 6021, configured to determine initial packaging information, the initial packaging information including an initial number of target boxes and initial sub-packaging information corresponding to each target box; a second sub-determination unit 6022, configured to determine multiple candidate packaging information according to preset rules based at least on the initial packaging information; a third sub-determination unit 6023, configured to determine the packing volume of each target box corresponding to each of the multiple candidate packaging information using a volume calculation model; and a fourth sub-determination unit 6024, determining the target packaging information based at least on multiple candidate packaging information and their respective corresponding packing volumes of each target box.

[0121] According to an embodiment of the present disclosure, a training device 700 for a neural network model for implementing box packing is also provided, wherein the neural network model includes an overpacking judgment model and a volume calculation model. Figure 7 As shown, the device 700 includes: a marking module 701, which is configured to mark the number of samples of the sample objects included in each object category, as well as the actual overfilling classification results and actual packaging volumes of the multiple sample objects packed into the sample box, with the overfilling classification results including overfilling and non-overfilling; a first sub-training module 702, which is configured to train the overfilling judgment model; and a second sub-training module 703, which is configured to train the volume calculation model.

[0122] Among them, the first sub-training module 702 includes: a first input unit, configured to input at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual overloading classification result into the overloading judgment model, and obtain the predicted overloading classification result output by the overloading judgment model; a first calculation unit, configured to calculate a first loss value based on the actual overloading classification result and the predicted overloading classification result; and a first parameter adjustment unit, configured to adjust the parameters of the overloading judgment model based on the loss value.

[0123] Among them, the second sub-training module 703 includes: a second input unit, configured to input at least one object category corresponding to the multiple sample objects, the number of samples of each object category and the actual packing volume into the volume calculation model, and obtain the predicted packing volume output by the volume calculation model; a second calculation unit, configured to calculate a second loss value based on the actual packing volume and the predicted packing volume; and a second parameter adjustment unit, configured to adjust the parameters of the volume calculation model based on the loss value.

[0124] According to an embodiment of the present disclosure, an electronic device 800 is also provided, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the above method.

[0125] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable a computer to execute the above method.

[0126] According to an embodiment of the present disclosure, a computer program product is further provided, including a computer program, wherein the computer program implements the above method when executed by a processor.

[0127] Figure 8FIG2 shows a block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure. Figure 8 , a block diagram of an electronic device 800 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0128] like Figure 8 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the device 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0129] Multiple components within device 800 are connected to I / O interface 805, including an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. Input unit 806 can be any type of device capable of inputting information into device 800. Input unit 806 can receive input numeric or character information and generate key signal input related to user settings and / or function control of the electronic device, and may include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 807 can be any type of device capable of presenting information, and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 808 may include, but is not limited to, a magnetic disk or an optical disk. Communication unit 809 allows device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and / or chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0130] The computing unit 801 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as method 200. For example, in some embodiments, method 200 can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method 200 described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform method 200 in any other appropriate manner (e.g., by means of firmware).

[0131] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0132] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0133] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0134] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0135] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0136] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.

[0137] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.

[0138] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is only limited by the claims after authorization and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. In addition, the steps may be performed in an order different from that described in this disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after this disclosure.

Claims

1. A computer-implemented box packing method comprising: Using the overloading judgment model to determine whether loading multiple objects into the target box will overflow; as well as In response to determining that loading the plurality of objects to be loaded into a target box will result in overflow, determining target sub-packaging information for sub-packaging the plurality of objects to be loaded, the target sub-packaging information including a target number of target boxes and target sub-packaging information corresponding to each target box; The step of determining target packaging information for packaging the plurality of objects to be packaged includes: Determining initial sub-packaging information, wherein the initial sub-packaging information includes an initial number of target boxes and initial sub-packaging information corresponding to each target box; Determining, based at least on the initial subpackaging information, a plurality of candidate subpackaging information using a proximity domain search algorithm, wherein the packing volume of each target box corresponding to each candidate subpackaging information is determined using a volume calculation model, and the plurality of candidate subpackaging information includes a plurality of candidate subpackaging information corresponding to each target box in the initial number of target boxes; and Determining target subpackaging information based at least on the plurality of candidate subpackaging information and the packing volumes of the target boxes corresponding thereto; and The determining of the plurality of candidate subpackaging information by using a proximity domain search algorithm based at least on the initial subpackaging information includes: Determine the first target box with the smallest packing volume in the initial packing information; For a second target box among the target boxes other than the first target box in the initial sub-packaging information, based on the initial sub-packaging information corresponding to each of the first target box and the second target box, using neighborhood moving to determine a plurality of first candidate sub-packaging information corresponding to the second target box; Determine the packing volume of the second target box corresponding to each first candidate sub-packaging information using a volume calculation model; Determining first local optimal sub-packaging information corresponding to the second target box from the plurality of first candidate sub-packaging information based on the packing volumes of the second target boxes corresponding to the plurality of first candidate sub-packaging information; and Based on the first local optimal sub-packaging information corresponding to the second target box, a plurality of second candidate sub-packaging information corresponding to the second target box is determined by using neighborhood movement.

2. The method according to claim 1, wherein Using the overloading judgment model to determine whether loading multiple objects into a target box will result in overloading includes: Classifying the plurality of objects to be installed into at least one category of objects; Acquiring relevant parameters of each type of objects in the plurality of objects to be packed, wherein the relevant parameters include the quantity of objects of this type and / or packaging information of objects of this type; and The relevant parameters of the at least one type of object are input into the overfilling judgment model, and an overfilling classification result output by the overfilling judgment model is obtained, where the overfilling classification result includes overfilling and non-overfilling.

3. The method according to claim 1, wherein The volume calculation model and the overloading judgment model are different modules of the same target model, and the output of the target model includes the overloading classification result of the target box and the packing volume of the target box.

4. The method according to claim 1, wherein Determining the target sub-packaging information corresponding to the second target box includes: Determine the packing volume of the second target box corresponding to each second candidate sub-packaging information using a volume calculation model; Determining second locally optimal sub-packaging information corresponding to the second target box from the plurality of second candidate sub-packaging information based on the packing volumes of the second target boxes corresponding to the plurality of second candidate sub-packaging information; and Determining the global optimal sub-packaging information corresponding to the second target box based at least on the first local optimal sub-packaging information and the second local optimal sub-packaging information corresponding to the second target box; Based on the global optimal sub-packaging information corresponding to the second target box, target sub-packaging information corresponding to the second target box is determined.

5. The method according to claim 4, wherein Determining the plurality of candidate subpackaging information by using a proximity domain search algorithm based at least on the initial subpackaging information includes: Based on the global optimal sub-packaging information corresponding to the second target box, a plurality of third candidate sub-packaging information corresponding to the second target box is determined by using neighborhood movement.

6. The method according to claim 5, wherein: The determining, based on the global optimal sub-packaging information corresponding to the second target box, target sub-packaging information corresponding to the second target box includes: Determine the packing volume of the second target box corresponding to each third candidate sub-packaging information using a volume calculation model; Determining, based on the packing volumes of the second target boxes corresponding to the plurality of third candidate sub-packaging information, the third locally optimal sub-packaging information corresponding to the second target box from the plurality of third candidate sub-packaging information; updating the global optimal sub-packaging information corresponding to the second target box based at least on the global optimal sub-packaging information corresponding to the second target box and the third local optimal sub-packaging information; and In response to determining that the preset condition is met, the globally optimal sub-packaging information corresponding to the second target box that is obtained by the latest update is determined as the target sub-packaging information corresponding to the second target box.

7. The method according to claim 4, wherein: Determining the plurality of candidate subpackaging information by using a proximity domain search algorithm based at least on the initial subpackaging information includes: Initialize the tabu table; updating the other first candidate sub-packaging information except the first local optimal sub-packaging information among the plurality of first candidate sub-packaging information and their corresponding neighborhood movement operations to the taboo table; And wherein, determining the global optimal sub-packaging information corresponding to the second target box includes: In response to determining that the packing volume of the second target box corresponding to the second local optimal sub-packaging information is not greater than the packing volume of the second target box corresponding to the first local optimal sub-packaging information, determining the global optimal sub-packaging information based on the taboo table and the plurality of second candidate sub-packaging information; and In response to determining that the packing volume of the second target box corresponding to the second local optimal sub-packaging information is greater than the packing volume of the second target box corresponding to the first local optimal sub-packaging information, the second local optimal sub-packaging information is determined as the global optimal sub-packaging information.

8. The method according to claim 1, wherein Determining the plurality of candidate subpackaging information using a proximity domain search algorithm based at least on the initial subpackaging information further includes: After determining the target sub-packaging information corresponding to the second target box, determining the sub-packaging information of the first target box based on the initial packing information and the target sub-packaging information corresponding to the second target box; Determine the packing volume corresponding to the sub-packaging information of the first target box using a volume calculation model; In response to determining that the packing volume of the first target box is greater than zero, for a third target box among the target boxes other than the first target box and the second target box in the initial packing information, determining, using neighborhood moving, a plurality of fourth candidate sub-packing information corresponding to the third target box based on the sub-packing information of the first target box and the initial sub-packing information of the third target box; Determine the packing volume of the third target box corresponding to each fourth candidate sub-packaging information using a volume calculation model; Determining, from the plurality of fourth candidate sub-packaging information, fourth local optimal sub-packaging information corresponding to the third target box based on the packing volumes of the third target boxes corresponding to the plurality of fourth candidate sub-packaging information; Based on the fourth local optimal sub-packaging information corresponding to the third target box, a plurality of fifth candidate sub-packaging information corresponding to the third target box is determined by using neighborhood movement.

9. The method according to claim 8, wherein Determining target sub-packaging information corresponding to the third target box includes: Determine the packing volume of the third target box corresponding to each fifth candidate sub-packaging information using a volume calculation model; Determining, from the plurality of fifth candidate sub-packaging information, fifth locally optimal sub-packaging information corresponding to the third target box based on the packing volumes of the third target boxes corresponding to the plurality of fifth candidate sub-packaging information; Determining global optimal sub-packaging information corresponding to the third target box based at least on the fourth local optimal sub-packaging information and the fifth local optimal sub-packaging information corresponding to the third target box; The target sub-packaging information corresponding to the third target box is determined according to the global optimal sub-packaging information corresponding to the third target box.

10. The method according to claim 8, wherein Determining the plurality of candidate subpackaging information using a proximity domain search algorithm based at least on the initial subpackaging information further includes: Based on the global optimal sub-packaging information corresponding to the third target box, a plurality of sixth candidate sub-packaging information corresponding to the third target box is determined by using neighborhood movement.

11. The method according to claim 10, wherein: Determining the target sub-packaging information corresponding to the third target box according to the global optimal sub-packaging information corresponding to the third target box includes: Determine the packing volume of the third target box corresponding to each sixth candidate sub-packaging information using a volume calculation model; Determining, from the plurality of sixth candidate sub-packaging information, the sixth local optimal sub-packaging information corresponding to the third target box based on the packing volumes of the third target boxes corresponding to the plurality of sixth candidate sub-packaging information; and updating the global optimal sub-packaging information corresponding to the third target box based at least on the global optimal sub-packaging information corresponding to the third target box and the sixth local optimal sub-packaging information; In response to determining that the preset condition is satisfied, the most recently updated global optimal sub-packaging information corresponding to the third target box is determined as the target sub-packaging information corresponding to the third target box.

12. The method according to claim 1, wherein Determining the plurality of candidate subpackaging information using a proximity domain search algorithm based at least on the initial subpackaging information further includes: After determining the target sub-packaging information corresponding to the second target box, based on the initial packing information and the target sub-packaging information corresponding to the second target box, using a volume calculation model to determine the sub-packaging information and the packing volume of the first target box; In response to determining that the packing volume of the first target box is equal to zero, determining a fourth target box having the smallest packing volume other than the first target box and the second target box in the initial subpackaging information; determining a fifth target box among the target boxes other than the first target box, the second target box, and the fourth target box in the initial packaging information; Wherein, determining the target packaging information includes: For the fifth target box, target sub-packaging information corresponding to the fifth target box is determined based on the initial sub-packaging information corresponding to the fourth target box and the fifth target box.

13. The method according to claim 1, wherein The first local optimal sub-packaging information corresponding to the second target box is the packaging information having the largest packaging volume for the second target box among the plurality of first candidate sub-packaging information; and / or The second target box is the target box with the largest packing volume in the initial packaging information.

14. The method according to any one of claims 1 to 13, wherein: Each target box corresponding to each candidate subpackaging information in the candidate subpackaging information is not overfilled; and / or, All target boxes in the target packaging information are in a full state, or only one target box is in an unfull state and the remaining target boxes are in a full state.

15. A training method for a neural network model for implementing box packing, wherein the neural network model includes an overpacking judgment model and a volume calculation model, wherein: The method comprises: For a plurality of sample objects included in at least one object category, marking the number of sample objects included in each object category, as well as actual overfill classification results and actual packaging volumes of the plurality of sample objects packed into a sample box, where the overfill classification results include overfill and non-overfill; Training the overfill judgment model; and Training the volume calculation model, The training method of the overfill judgment model includes: Inputting at least one object category corresponding to the plurality of sample objects, the number of samples of each object category, and the actual overfill classification result into the overfill judgment model, and obtaining a predicted overfill classification result output by the overfill judgment model; Calculating a first loss value based on the actual overfilling classification result and the predicted overfilling classification result; and Adjusting the parameters of the overloading judgment model based on the loss value, The volume calculation model training method includes: Inputting at least one object category corresponding to the plurality of sample objects, the number of samples of each object category, and the actual packing volume into the volume calculation model, and obtaining a predicted packing volume output by the volume calculation model; Calculating a second loss value based on the actual packing volume and the predicted packing volume; and Parameters of the volume calculation model are adjusted based on the loss value.

16. The method of claim 15, wherein: The volume calculation model and the overfilling judgment model are different modules of the same target model, and the output of the target model includes the overfilling classification result of the sample box and the packing volume of the sample box.

17. A packaging device comprising: A first determination module is configured to determine whether loading a plurality of objects to be loaded into a target box will overflow using an overflow judgment model; as well as a second determining module configured to, in response to determining that loading the plurality of objects into a target box will result in overflow, determine target sub-packaging information for sub-packaging the plurality of objects, the target sub-packaging information including a target number of target boxes and target sub-packaging information corresponding to each target box; The second determining module includes: a first sub-determining unit configured to determine initial sub-packaging information, wherein the initial sub-packaging information includes an initial number of target boxes and initial sub-packaging information corresponding to each target box; a second sub-determining unit configured to determine, based at least on the initial sub-packaging information, a plurality of candidate sub-packaging information using a proximity domain search algorithm, wherein the packing volume of each target box corresponding to each candidate sub-packaging information is determined using a volume calculation model, and the plurality of candidate sub-packaging information includes a plurality of candidate sub-packaging information corresponding to each target box in the initial number of target boxes; A third sub-determining unit is configured to determine the packing volume of each target box corresponding to each of the plurality of candidate packing information by using a volume calculation model; and a fourth sub-determining unit, which determines target sub-packaging information based at least on the plurality of candidate sub-packaging information and the packing volumes of the target boxes corresponding thereto; and The second sub-determining unit is further configured to: Determine the first target box with the smallest packing volume in the initial packing information; For a second target box among the target boxes other than the first target box in the initial sub-packaging information, based on the initial sub-packaging information corresponding to each of the first target box and the second target box, using neighborhood moving to determine a plurality of first candidate sub-packaging information corresponding to the second target box; Determine the packing volume of the second target box corresponding to each first candidate sub-packaging information using a volume calculation model; Determining first local optimal sub-packaging information corresponding to the second target box from the plurality of first candidate sub-packaging information based on the packing volumes of the second target boxes corresponding to the plurality of first candidate sub-packaging information; and Based on the first local optimal sub-packaging information corresponding to the second target box, a plurality of second candidate sub-packaging information corresponding to the second target box is determined by using neighborhood movement.

18. A training device for a neural network model for implementing box packing, the neural network model comprising an overpacking judgment model and a volume calculation model, wherein: The device comprises: a labeling module configured to label, for a plurality of sample objects included in at least one object category, the number of sample objects included in each object category, and actual overfill classification results and actual packaging volumes of the plurality of sample objects packed into a sample box, wherein the overfill classification results include overfill and non-overfill; A first sub-training module is configured to train the overfill judgment model; and The second sub-training module is configured to train the volume calculation model. The first sub-training module includes: a first input unit configured to input at least one object category corresponding to the plurality of sample objects, the number of samples of each object category, and a true overfill classification result into the overfill judgment model, and obtain a predicted overfill classification result output by the overfill judgment model; a first calculation unit configured to calculate a first loss value based on the actual overfill classification result and the predicted overfill classification result; and A first parameter adjustment unit is configured to adjust parameters of the overloading judgment model based on the loss value, The second sub-training module includes: a second input unit configured to input at least one object category corresponding to the plurality of sample objects, the number of samples of each object category, and the actual packing volume into the volume calculation model, and obtain a predicted packing volume output by the volume calculation model; A second calculation unit is configured to calculate a second loss value based on the actual packing volume and the predicted packing volume; and A second parameter adjustment unit is configured to adjust the parameters of the volume calculation model based on the loss value.

19. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 16.

20. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-16.

21. A computer program product comprising a computer program, wherein When the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.

Citation Information

Patent Citations

  • Stone plate encasement method based on application software

    CN112150049A