An offline mixed palletizing method, device and equipment
By generating and optimizing box group sequences, automatic and efficient offline mixing of boxes of various sizes and specifications was achieved, solving the problem of low efficiency in existing technologies and improving the palletizing efficiency and stability in logistics and warehousing scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-03-17
AI Technical Summary
The lack of effective methods in the current technology to achieve automatic and efficient offline mixing of boxes of various sizes and specifications leads to low palletizing efficiency in logistics and warehousing scenarios.
By generating multiple initial box group sequences, adjusting the box group order using a fitness optimization algorithm, generating the optimal box group sequence, and having the robot place the box groups onto the carrier according to this sequence, automated code mixing is achieved.
It improves logistics turnover efficiency, ensures optimal placement of containers, enhances the utilization rate of the load, strengthens stack stability and palletizing efficiency, reduces calculation time, and improves safety and practicality.
Smart Images

Figure CN119873399B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of palletizing technology, and in particular to an offline hybrid palletizing method, apparatus and equipment. Background Technology
[0002] In logistics and warehousing scenarios, palletizing is a crucial application with numerous application requirements. During the palletizing process, mixed palletizing (i.e., mixed stacking) involves stacking (placing) boxes of different sizes onto a support (such as a pallet or stacking rack). Mixed palletizing can be divided into online and offline methods. Online mixed palletizing refers to a process where the palletizing order is not known in advance, and the palletizing positions are planned in real-time based on the box conditions. Offline mixed palletizing refers to a process where the palletizing order is known in advance, and the stacking positions are planned in advance based on the box conditions.
[0003] For palletizing orders containing boxes of various sizes and specifications, there is no effective way to achieve offline mixing of these boxes, i.e., how to achieve automatic and efficient offline mixing. There is no effective way to achieve this in the relevant technologies. Summary of the Invention
[0004] This application provides an offline hybrid palletizing method, the method comprising:
[0005] K initial container group sequences are generated based on the acquired multiple container groups; for each initial container group sequence, the initial container group sequence includes multiple container groups arranged in a preset order; wherein, the order of the multiple container groups in different initial container group sequences is different;
[0006] A target box group sequence is determined for each initial box group sequence. Specifically, for each initial box group sequence, if it is determined that no optimization will be performed, then the initial box group sequence is designated as the target box group sequence. If it is determined that the initial box group sequence will be optimized, then an operation is performed on the initial box group sequence to obtain an optimized box group sequence. This operation is used to adjust the order of multiple box groups within the initial box group sequence. If the fitness of the optimized box group sequence is better than the fitness of the initial box group sequence, then the optimized box group sequence is designated as the target box group sequence. If the fitness of the optimized box group sequence is not better than the fitness of the initial box group sequence, then the initial box group sequence is designated as the target box group sequence. Fitness is used to indicate the quality of the box group sequence; a better box group sequence indicates that more box groups within the sequence can be placed on the load.
[0007] The target box group sequence with the best fitness is selected as the optimal box group sequence;
[0008] Based on the arrangement order of each box group within the optimal box group sequence, the robot is controlled to place multiple box groups within the optimal box group sequence onto the carrier in sequence.
[0009] This application provides an offline hybrid palletizing device, the device comprising:
[0010] The generation module is used to generate K initial container group sequences based on the acquired multiple container groups; for each initial container group sequence, the initial container group sequence includes multiple container groups arranged in a preset order; wherein, the order of the multiple container groups in different initial container group sequences is different;
[0011] A determination module is used to determine the target box group sequence corresponding to each initial box group sequence. Specifically, for each initial box group sequence, if it is determined that the initial box group sequence will not be optimized, then the initial box group sequence is determined as the target box group sequence; if it is determined that the initial box group sequence will be optimized, then an operation is performed on the initial box group sequence to obtain an optimized box group sequence, the operation being used to adjust the order of multiple box groups within the initial box group sequence; if the fitness of the optimized box group sequence is better than the fitness of the initial box group sequence, then the optimized box group sequence is determined as the target box group sequence; if the fitness of the optimized box group sequence is not better than the fitness of the initial box group sequence, then the initial box group sequence is determined as the target box group sequence; wherein, fitness is used to represent the quality of the box group sequence, a better box group sequence indicates that more box groups within the box group sequence can be placed on the load.
[0012] The selection module is used to select the target box group sequence with the best fitness as the optimal box group sequence;
[0013] The control module is used to control the robot to place multiple boxes in the optimal box group sequence onto the carrier in sequence based on the arrangement order of each box group in the optimal box group sequence.
[0014] This application provides a control device, including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the offline hybrid palletizing method of the above example of this application.
[0015] This application provides a control system for offline hybrid palletizing, the control system including a control device and a robot; wherein, the control device is used to execute the offline hybrid palletizing method executorified above in this application to obtain an optimal box group sequence; the control device is also used to send scheduling instructions for each box group to the robot based on the arrangement order of each box group in the optimal box group sequence;
[0016] The robot is used to place the container group onto the carrier based on the scheduling instruction received for each container group.
[0017] This application provides a machine-readable storage medium storing machine-executable instructions that can be executed by a processor; wherein the processor is used to execute the machine-executable instructions to implement the offline hybrid palletizing method of the above example of this application.
[0018] This application provides a computer program product, including a computer program that, when executed by a processor, implements the offline hybrid palletizing method described above in this application.
[0019] As can be seen from the above technical solutions, the embodiments of this application can achieve automatic and efficient offline mixing and stacking of boxes of various sizes and specifications, saving manpower and improving logistics turnover efficiency. It can ensure the optimal placement of each box, thereby improving the utilization rate of the load and avoiding stacking patterns that cannot be used in actual production. It can improve stacking stability, increase palletizing efficiency, improve production efficiency, increase offline mixing and stacking calculation efficiency, reduce calculation time, and improve the safety, practicality, and stability of actual mixing and stacking. Attached Figure Description
[0020] Figure 1 This is a flowchart illustrating an offline hybrid palletizing method according to one embodiment of this application;
[0021] Figure 2 This is a flowchart illustrating an offline hybrid palletizing method according to one embodiment of this application;
[0022] Figure 3A This is a schematic diagram of a box assembly arranged along the length of the box in one embodiment of this application;
[0023] Figure 3B This is a schematic diagram of a box assembly arranged along the width direction of the box in one embodiment of this application;
[0024] Figure 4 This is a schematic diagram of the box assembly optimization steps in one embodiment of this application;
[0025] Figure 5A This is a schematic diagram of the first and second intersection positions in one embodiment of this application;
[0026] Figure 5B This is a schematic diagram illustrating the interchange of cross-type box assemblies in one embodiment of this application;
[0027] Figure 5C This is a schematic diagram illustrating the mapping relationship between the box groups in one embodiment of this application;
[0028] Figure 5D This is a schematic diagram illustrating the adjustment of non-crossing box assemblies in one embodiment of this application;
[0029] Figure 6 This is a schematic diagram of the structure of an offline hybrid palletizing device according to one embodiment of this application;
[0030] Figure 7 This is a hardware structure diagram of an electronic device according to one embodiment of this application. Detailed Implementation
[0031] This application proposes an offline hybrid palletizing method, which can be applied to control devices (such as personal computers, servers, laptops, smart terminals, etc.). See [link to relevant documentation]. Figure 1 The diagram shown is a flowchart of the offline hybrid palletizing method, which may include:
[0032] Step 101: Generate K initial container group sequences based on the acquired multiple container groups. Each initial container group sequence includes multiple container groups arranged in a preset order. The order of the container groups in different initial container group sequences is different.
[0033] For example, a pre-sorting method (such as one or more pre-sorting methods) can be used to sort the acquired multiple box groups, generating K initial box group sequences based on the sorting results. When sorting multiple box groups based on multiple pre-sorting methods, multiple sequence sets are obtained. For each sequence set, which includes K initial box group sequences, subsequent steps are performed on each sequence set.
[0034] Step 102: Determine the target box group sequence corresponding to each initial box group sequence. Specifically, for each initial box group sequence, if it is determined that no optimization will be performed, then this initial box group sequence is designated as the target box group sequence. If it is determined that the initial box group sequence will be optimized, an operation is performed on the initial box group sequence to obtain an optimized box group sequence. This operation is used to adjust the order of multiple box groups within the initial box group sequence. If the fitness of the optimized box group sequence is better than the fitness of the initial box group sequence, then the optimized box group sequence is designated as the target box group sequence. If the fitness of the optimized box group sequence is not better than the fitness of the initial box group sequence, then the initial box group sequence is designated as the target box group sequence. Fitness is used to represent the quality of the box group sequence. A better box group sequence indicates that more box groups within the sequence can be placed on the load; conversely, a worse box group sequence indicates that fewer box groups within the sequence can be placed on the load. For example, a higher fitness value indicates a better box set sequence.
[0035] Step 103: Select the target box group sequence with the best fitness as the optimal box group sequence.
[0036] Step 104: Based on the arrangement order of each box group in the optimal box group sequence, control the robot to place multiple box groups in the optimal box group sequence onto the carrier in sequence.
[0037] For example, before generating K initial box group sequences based on the acquired multiple box groups, the process may further include: acquiring order information, which may include attribute information of multiple boxes that need to be stacked on the carrier, including box length, box width, and box load-bearing capacity.
[0038] Multiple box groups are obtained based on the attribute information of each box; wherein, the boxes in the same box group have the same box length and the same box load capacity, and the boxes in the box group are combined along the box length direction, and the number of boxes in the box group is determined based on the width of the load and the box length; or, the boxes in the same box group have the same box width and the same box load capacity, and the boxes in the box group are combined along the box width direction, and the number of boxes in the box group is determined based on the length of the load and the box width.
[0039] For example, if it is determined that the initial box group sequence needs to be optimized, then the operation performed on the initial box group sequence to obtain the optimized box group sequence may include, but is not limited to: generating a first random probability and a second random probability for the initial box group sequence; if the first random probability satisfies the configured crossover optimization condition and the second random probability does not satisfy the configured mutation optimization condition, then it is determined that the initial box group sequence needs to be optimized, and a crossover operation is performed on the initial box group sequence to obtain the optimized box group sequence; if the first random probability does not satisfy the configured crossover optimization condition and the second random probability satisfies the configured mutation optimization condition, then it is determined that the initial box group sequence needs to be optimized, and a mutation operation is performed on the initial box group sequence to obtain the optimized box group sequence; if the first random probability satisfies the configured crossover optimization condition and the second random probability satisfies the configured mutation optimization condition, then it is determined that the initial box group sequence needs to be optimized, and a crossover operation is performed on the initial box group sequence to obtain the crossover-operated box group sequence, and a mutation operation is performed on the crossover-operated box group sequence to obtain the optimized box group sequence.
[0040] Furthermore, if the first random probability does not satisfy the configured crossover optimization condition, and the second random probability does not satisfy the configured mutation optimization condition, then it is determined that the initial box group sequence will not be optimized.
[0041] For example, the crossover operation can be performed only on the initial box group sequence. For instance, if it is determined that the initial box group sequence needs optimization, then the crossover operation is performed on the initial box group sequence to obtain the optimized box group sequence. This can include, but is not limited to: generating a first random probability for the initial box group sequence; if the first random probability satisfies the configured crossover optimization conditions, then it is determined that the initial box group sequence needs optimization, and the crossover operation is performed on the initial box group sequence to obtain the optimized box group sequence. Furthermore, if the first random probability does not satisfy the configured crossover optimization conditions, then it is determined that the initial box group sequence will not be optimized.
[0042] For example, only the initial box group sequence can be mutated. For instance, if it is determined that the initial box group sequence needs optimization, then the initial box group sequence is mutated to obtain the optimized box group sequence. This can include, but is not limited to: generating a second random probability for the initial box group sequence; if the second random probability satisfies the configured mutation optimization conditions, then it is determined that the initial box group sequence will be optimized, and the initial box group sequence is mutated to obtain the optimized box group sequence. Furthermore, if the second random probability does not satisfy the configured mutation optimization conditions, then it is determined that the initial box group sequence will not be optimized.
[0043] For example, the process of performing a crossover operation on the initial box group sequence to obtain the optimized box group sequence includes, but is not limited to: selecting a paired box group sequence from K initial box group sequences; dividing the initial box group sequence into a first box group to be crossed and a first non-crossed box group, and dividing the paired box group sequence into a second box group to be crossed and a second non-crossed box group; swapping the first box group to be crossed and the second box group to be crossed; adjusting the first non-crossed box group using the mapping relationship between the first box group to be crossed and the second box group to be crossed to obtain the optimized box group sequence of the initial box group sequence; adjusting the second non-crossed box group using the mapping relationship, and updating the adjusted box group sequence to the initial box group sequence or target box group sequence corresponding to the paired box group sequence.
[0044] For example, dividing the initial box group sequence into a first box group to be crossed and a first box group not to be crossed, and dividing the paired box group sequence into a second box group to be crossed and a second box group not to be crossed, may include, but is not limited to: obtaining a random first crossing position and a random second crossing position; determining the box group in the initial box group sequence located between the first crossing position and the second crossing position as the first box group to be crossed, and determining the remaining box group as the first box group not to be crossed; determining the box group in the paired box group sequence located between the first crossing position and the second crossing position as the second box group to be crossed, and determining the remaining box group as the second box group not to be crossed.
[0045] For example, the process of performing a mutation operation on the initial box group sequence to obtain the optimized box group sequence may include, but is not limited to: swapping the sorting positions of any two box groups within the initial box group sequence to obtain the optimized box group sequence of the initial box group sequence.
[0046] For example, the process of determining the fitness of the initial box group sequence may include, but is not limited to: simulating the placement of multiple box groups within the initial box group sequence onto a carrier based on the arrangement order of each box group; determining the carrier utilization rate and the distance between box groups based on the simulated placement positions of each box group; wherein, the carrier utilization rate is the total volume of all boxes stacked on the carrier divided by the product of the length and width of the carrier; the distance between box groups is the average or sum of the distances between all boxes stacked on the carrier; and determining the fitness of the initial box group sequence based on the carrier utilization rate and the distance between box groups. Wherein, a higher carrier utilization rate results in a higher fitness, i.e., fitness is directly proportional to carrier utilization rate; a smaller distance between box groups results in a higher fitness, i.e., fitness is inversely proportional to the distance between box groups.
[0047] As can be seen from the above technical solutions, the embodiments of this application can achieve automatic and efficient offline mixing and stacking of boxes of various sizes and specifications, saving manpower and improving logistics turnover efficiency. It can ensure the optimal placement of each box, thereby improving the utilization rate of the load and avoiding stacking patterns that cannot be used in actual production. It can improve stacking stability, increase palletizing efficiency, improve production efficiency, increase offline mixing and stacking calculation efficiency, reduce calculation time, and improve the safety, practicality, and stability of actual mixing and stacking.
[0048] The technical solutions of the embodiments of this application will be described below in conjunction with specific application scenarios.
[0049] In logistics and warehousing scenarios, mixed palletizing (i.e., mixed stacking) involves stacking boxes of different sizes onto carriers (such as pallets or stacks) one by one. Mixed palletizing includes online and offline methods. Offline mixed palletizing refers to the process of pre-planning the stacking positions based on the box types and specifications, knowing the palletizing order in advance. However, for palletizing orders containing boxes of various sizes, how to achieve offline mixed palletizing—that is, how to achieve automatic and efficient offline mixed palletizing—remains a challenge in current technologies.
[0050] In response to the above findings, this application proposes an offline mixed palletizing method that can automatically and efficiently mix and stack boxes of various sizes and specifications offline, thereby improving the stability of the stacking pattern.
[0051] This application proposes an offline hybrid palletizing method that can be applied to electronic devices. The electronic devices can be control devices for robots (such as robots used to implement palletizing functions) to control the robots to palletize boxes onto carriers, or other devices, without limitation.
[0052] See Figure 2 The diagram shows a flowchart of an offline hybrid palletizing method, which may include steps such as box group generation (structural processing), pre-sorting, box group optimization, and post-processing.
[0053] After entering the order information, which includes the attribute information of multiple boxes that need to be stacked on the carrier, the boxes can be combined into blocks along the length and width directions to form multiple box groups based on the box attribute information (such as box length, box width and box load-bearing capacity).
[0054] In the pre-sorting step, multiple pre-sorting methods can be used to sort multiple box groups. For each pre-sorting method, K initial box group sequences are generated based on the sorting result corresponding to that pre-sorting method.
[0055] In the enclosure group optimization step, an optimal enclosure group sequence search can be performed for each initial enclosure group sequence to obtain the target enclosure group sequence corresponding to that initial enclosure group sequence. When performing the optimal enclosure group sequence search, the load utilization rate and the distance between enclosure groups can be selected as fitness values.
[0056] In the post-processing step, the optimal box group sequence can be selected. Based on the arrangement order of each box group within this sequence, multiple box groups within the sequence are placed onto the support in sequence. When placing multiple box groups within the sequence onto the support in sequence, the box group can also be split into multiple individual boxes, and the placement pose corresponding to each box can be output.
[0057] The following describes the steps of generating, pre-sorting, optimizing, and post-processing the container groups.
[0058] First, the box assembly generation step. In the box assembly generation step, multiple box assemblies can be obtained based on the attribute information of each box (such as box length, box width, and box load-bearing capacity).
[0059] For example, the box assembly generation step may include the following steps:
[0060] Step S11: Obtain order information. This order information may include attribute information of multiple boxes that need to be stacked on a carrier. This attribute information may include, but is not limited to, box length, box width, box height, and box load-bearing capacity. The attribute information of different boxes may be the same or different. For example, the box length of different boxes may be the same or different. The box width of different boxes may be the same or different. The box height of different boxes may be the same or different. The box load-bearing capacity of different boxes may be the same or different.
[0061] For example, for each box in the order information, the box needs to be stacked onto a carrier, which can be a pallet or a stack, and there is no restriction on the type of carrier.
[0062] Step S12: Divide all boxes into multiple box groups based on the attribute information of each box.
[0063] In one possible implementation, boxes of the same type (e.g., box length and load-bearing capacity) can be grouped together along their length. Based on this, boxes within the same group have the same box length and load-bearing capacity, and the boxes within the group are combined along their length. See also Figure 3AThe diagram shows a group of boxes assembled along the length of the box. Clearly, within the same box group, the boxes have the same length, the same load-bearing capacity, and their widths and heights may be the same or different.
[0064] To ensure optimal palletizing efficiency, the number of boxes within a box group can be determined based on the width of the load and the length of the box (i.e., the length of any box within the group). For example, the number of boxes in the group can be half the width of the load divided by the rounded-up (or rounded-down) value of the box length. This is just an example; the method for determining the number of boxes is not limited, as long as it relates to the width of the load and the length of the box.
[0065] The number of boxes in this box group indicates the maximum number of boxes that can be combined into the group. For example, if the number of boxes is 6, it means that a maximum of 6 boxes can be combined into the group.
[0066] For example, suppose there are 15 boxes, and these boxes are divided into 4 groups. Group a1 includes boxes 1-6 (these boxes have the same length and load-bearing capacity), group a2 includes boxes 7-12, group a3 includes boxes 13 and 14 (these boxes have the same length and load-bearing capacity), and group a4 includes box 15. Since box 15 has a different length (or load-bearing capacity) than box 13, box 15 cannot be assigned to group a3.
[0067] In one possible implementation, boxes of the same type (e.g., box width and box load-bearing capacity) can be grouped together along the width direction. Based on this, boxes within the same box group have the same box width and the same box load-bearing capacity, and the boxes within the box group are combined along the width direction. See also Figure 3B The diagram shows a group of boxes assembled along the width of the box. Clearly, within the same box group, the boxes have the same width, the same load-bearing capacity, and their lengths and heights may be the same or different.
[0068] To ensure optimal palletizing efficiency, the number of boxes within a box group can be determined based on the length of the load and the width of the box (i.e., the width of any box within the group). For example, the number of boxes in the group can be half the length of the load divided by the box width, rounded up (or rounded down). This is just an example; the method for determining the number of boxes is not limited, as long as it relates to the length of the load and the width of the box.
[0069] The number of boxes in this box group indicates the maximum number of boxes, meaning the maximum number of boxes that can be combined within the box group. For example, if the number of boxes is 5, it means that a maximum of 5 boxes can be combined within the box group.
[0070] In summary, all boxes in the order information can be divided into multiple box groups.
[0071] Second, the pre-sorting step. In the pre-sorting step, K initial box group sequences can be obtained based on multiple box groups, where K can be a positive integer greater than 1, and the value of K can be configured empirically. For each initial box group sequence, this initial box group sequence includes multiple box groups arranged in a preset order. The order of the multiple box groups in different initial box group sequences is different.
[0072] In one possible implementation, a pre-sorting method can be used to sort multiple box groups. Based on the sorting results, K initial box group sequences can be generated. These K initial box group sequences are called a sequence set. Box group optimization steps can be performed on the sequence set (i.e., a sequence set).
[0073] For example, if a permutation and combination method is used to generate all initial box group sequences due to the large number of box groups, the generation time for these sequences will be long, resulting in low efficiency for offline mixed palletizing. If fitness calculations are performed on all initial box group sequences, it will consume significant computational resources and take a long time to complete offline mixed palletizing, also leading to low efficiency.
[0074] Therefore, in this embodiment, only K initial box group sequences can be generated, where K can be a pre-configured fixed value, and the value of K is relatively small. This allows for the generation of only a small number of initial box group sequences, resulting in shorter generation time and higher offline hybrid palletizing efficiency. By performing fitness calculations on only a small number of initial box group sequences, computational resources can be saved, further enhancing offline hybrid palletizing efficiency.
[0075] For example, suppose there are box groups a1, a2, a3 and a4. These box groups can be sorted using a pre-sorting method. Suppose the sorting result is box group a1, box group a4, box group a3 and box group a2. Based on this, K initial box group sequences can be generated.
[0076] This embodiment does not impose restrictions on how to generate K initial box group sequences based on the sorting result; any algorithm can be used to obtain the K initial box group sequences. For example, the initial box group sequence b1 includes box group a1, box group a4, box group a3, and box group a2 in sequence; the initial box group sequence b2 includes box group a1, box group a4, box group a2, and box group a3 in sequence; the initial box group sequence b3 includes box group a1, box group a2, box group a3, and box group a4 in sequence, and so on.
[0077] In one possible implementation, multiple pre-sorting methods can be used to sort multiple box groups. Based on the sorting result corresponding to each pre-sorting method, K initial box group sequences corresponding to that pre-sorting method can be generated. These K initial box group sequences are called the sequence set corresponding to that pre-sorting method. Box group optimization steps are performed on the sequence sets corresponding to multiple pre-sorting methods (i.e., multiple sequence sets).
[0078] For example, suppose there are box groups a1, a2, a3, and a4. We can use pre-sorting method 1 to sort these box groups, assuming the sorted result is box group a1, box group a4, box group a3, and box group a2. Based on this, we can generate K initial box group sequences, which are called sequence set 1. We can use pre-sorting method 2 to sort these box groups, assuming the sorted result is box group a4, box group a3, box group a1, and box group a2. Based on this, we can generate K initial box group sequences, which are called sequence set 2. We can use pre-sorting method 3 to sort these box groups, obtaining sequence set 3 corresponding to pre-sorting method 3. And so on, we can obtain the sequence set corresponding to each pre-sorting method. Based on the sequence set corresponding to each pre-sorting method, we can perform box group optimization steps for multiple sequence sets. Since each sequence set is processed in the same way, the following example will be the box group optimization steps performed on a sequence set.
[0079] In summary, to ensure a better stacking configuration in the box group optimization step, multiple pre-sorting methods can be used to sort all box groups before the optimization step, resulting in multiple sorting results. When generating a sequence set (i.e., K initial box group sequences) based on each sorting result, multiple sequence sets can be obtained, ensuring the diversity of the sequence sets.
[0080] Furthermore, for each pre-sorting method, only K initial box group sequences can be generated, where K can be a pre-configured fixed value. This results in generating only a small number of initial box group sequences, shortening the generation time and improving offline hybrid palletizing efficiency. By performing fitness calculations on only a small number of initial box group sequences, computational resources can be saved, further enhancing offline hybrid palletizing efficiency.
[0081] For example, the pre-sorting methods may include, but are not limited to: height sorting, length sorting, width sorting, volume sorting, base area sorting, and random sorting.
[0082] When using a single pre-sorting method to sort all container groups, one pre-sorting method can be selected from all available methods, and that method can be used to sort all container groups. When using multiple pre-sorting methods (taking three as an example) to sort all container groups, three pre-sorting methods can be selected from all available methods, and each of these three methods can be used to sort all container groups separately.
[0083] For example, when using a height sorting method, all container groups can be sorted in descending order of height, or in ascending order of height. For instance, the container group height could be the average height of all containers within that group.
[0084] For example, when using the length sorting method, all box groups can be sorted in descending order of box group length, or in ascending order of box group length. For instance, the box group length can be the average length of all boxes within the box group.
[0085] For example, when using the width sorting method, all container groups can be sorted in descending order of width, or in ascending order of width. For instance, the container group width can be the average width of all containers within that group.
[0086] For example, when using volume sorting, all box groups can be sorted in descending order of volume, or in ascending order of volume. For instance, the volume of a box group can be the average volume of all boxes within that group.
[0087] For example, when using the base area sorting method, all box groups can be sorted in descending order of base area, or in ascending order of base area. For instance, the base area of a box group can be the average base area of all boxes within that group; that is, determining the area of the bottom surface of each box and calculating the average of these bottom surface areas.
[0088] For example, when using a random sorting method, all container groups can be randomly sorted. For instance, a random number can be generated for each container group, and all container groups can be sorted in descending order of the random number, or in ascending order of the random number.
[0089] Of course, the above are just a few examples of pre-sorting methods, and there are no restrictions on this pre-sorting method.
[0090] In summary, in the pre-sorting step, at least one set of sequences can be obtained. For each set of sequences, the set of sequences can include K initial box group sequences. For each initial box group sequence, the initial box group sequence can include multiple box groups arranged in order.
[0091] Third, the box group optimization step. In the box group optimization step, for each initial box group sequence in the sequence set (i.e., the K initial box group sequences), the target box group sequence corresponding to that initial box group sequence can be determined, thus obtaining the K target box group sequences. Then, the target box group sequence with the best fitness is selected from all the target box group sequences as the optimal box group sequence corresponding to that sequence set.
[0092] For example, see Figure 4 As shown, the optimization steps for the enclosure assembly may include the following:
[0093] Step 401: Traverse the first initial box group sequence from the sequence set (i.e., the K initial box group sequences) and use the first initial box group sequence as the current initial box group sequence.
[0094] For example, in the bin group optimization step, a heuristic algorithm (such as a genetic algorithm) can be used to optimize the bin groups. In a heuristic algorithm, population initialization can be performed first, that is, obtaining a sequence set through initialization, as described in the above embodiment. Population initialization is to provide an initial solution for the population based on the encoding strategy. In the encoding strategy, chromosomes refer to the arrangement order of bin groups, the chromosome length is the total number of bin groups, and each gene represents one bin group. There are no restrictions on this process, as long as a sequence set can be obtained.
[0095] For example, when generating K initial box group sequences (i.e., sequence sets) based on multiple box groups, it is also possible to exclude initial box group sequences that are different but have the same box type. For instance, suppose there are four box groups, the order of the four box groups in initial box group sequence 1 is 1234, and the order of the four box groups in initial box group sequence 2 is 1324. When the box information corresponding to box group number 2 and box group number 3 is the same, only initial box group sequence 1 is retained, and initial box group sequence 2 is deleted. Of course, a new initial box group sequence needs to be generated to make up the K initial box group sequences.
[0096] Step 402: Determine whether to optimize the current initial box group sequence.
[0097] If not, i.e., it is determined that the current initial box group sequence will not be optimized, then proceed to step 403.
[0098] If so, that is, if it is determined that the current initial box group sequence is to be optimized, then proceed to step 404.
[0099] For example, a first random probability and a second random probability can be generated for the current initial box group sequence. If the first random probability satisfies the configured crossover optimization condition, and / or the second random probability satisfies the configured mutation optimization condition, then it is determined that the current initial box group sequence will be optimized. If the first random probability does not satisfy the crossover optimization condition, and the second random probability does not satisfy the mutation optimization condition, then it is determined that the current initial box group sequence will not be optimized.
[0100] For example, a first random probability (which is simply a random number) can be generated within a specified numerical range (e.g., 0-100), and a first threshold value (e.g., 50, 60, 70) can be pre-configured for this range. Based on this, if the first random probability is greater than the first threshold, it is determined that the first random probability satisfies the cross-optimization condition; if it is not greater than the first threshold, it is determined that the first random probability does not satisfy the cross-optimization condition. Alternatively, if the first random probability is less than the first threshold, it is determined that the first random probability satisfies the cross-optimization condition; if it is not less than the first threshold, it is determined that the first random probability does not satisfy the cross-optimization condition.
[0101] For example, a second random probability (which is simply a random number) can be generated within a specified numerical range (e.g., 0-100), and a second threshold value, such as 45, 55, or 65, can be pre-configured for this range. Based on this, if the second random probability is greater than the second threshold, it is determined that the second random probability satisfies the mutation optimization condition; if it is not greater than the second threshold, it is determined that the second random probability does not satisfy the mutation optimization condition. Alternatively, if the second random probability is less than the second threshold, it is determined that the second random probability satisfies the mutation optimization condition; if it is not less than the second threshold, it is determined that the second random probability does not satisfy the mutation optimization condition.
[0102] Of course, the examples of at least cross-optimization conditions and mutation optimization conditions mentioned above are not limited to this.
[0103] Step 403: Determine the current initial box group sequence as the target box group sequence.
[0104] For example, suppose the sequence set includes initial box group sequence b1, initial box group sequence b2 and initial box group sequence b3 in sequence, and the current initial box group sequence is initial box group sequence b1, then the initial box group sequence b1 is taken as the target box group sequence b1' corresponding to the initial box group sequence b1.
[0105] After step 403, step 409 can be executed, and step 409 can be found in the following process.
[0106] Step 404: Determine whether the first random probability satisfies the crossover optimization condition and whether the second random probability satisfies the mutation optimization condition. If the first random probability satisfies the crossover optimization condition and the second random probability satisfies the mutation optimization condition, proceed to step 405. If the first random probability satisfies the crossover optimization condition but the second random probability does not satisfy the mutation optimization condition, proceed to step 406. If the first random probability does not satisfy the crossover optimization condition but the second random probability satisfies the mutation optimization condition, proceed to step 407.
[0107] Step 405: Perform a crossover operation on the current initial box group sequence to obtain a crossover-operated box group sequence, and perform a mutation operation on the crossover-operated box group sequence to obtain an optimized box group sequence.
[0108] For example, the crossover operation is used to adjust the order of multiple box groups in the current initial box group sequence, and the mutation operation is used to adjust the order of multiple box groups in the box group sequence after the crossover operation.
[0109] Step 406: Perform a crossover operation on the current initial box group sequence to obtain the optimized box group sequence. For example, the crossover operation is used to adjust the order of multiple box groups within the current initial box group sequence.
[0110] For example, a crossover operation can be performed on the current initial box group sequence to obtain a crossover-operated box group sequence, and the crossover-operated box group sequence can be used as the optimized box group sequence.
[0111] Step 407: Perform a mutation operation on the current initial box group sequence to obtain the optimized box group sequence. For example, the mutation operation is used to adjust the order of multiple box groups within the current initial box group sequence.
[0112] For example, in steps 405 and 406, a crossover operation is performed on the current initial box group sequence to obtain a crossover-operated box group sequence. This process may include the following steps:
[0113] Step S21: Select a paired box group sequence from the K initial box group sequences. This paired box group sequence is used to perform a crossover operation on the current initial box group sequence.
[0114] For example, the first initial box group sequence (or any initial box group sequence) following the current initial box group sequence can be used as the paired box group sequence. For instance, assuming the sequence set includes initial box group sequence b1, initial box group sequence b2, and initial box group sequence b3 in sequence, and the current initial box group sequence is initial box group sequence b1, then initial box group sequence b2 can be used as the paired box group sequence.
[0115] If the current initial box group sequence is the last initial box group sequence b3 in the sequence set, then the first initial box group sequence b1 in the sequence set can be used as the paired box group sequence.
[0116] For example, an algorithm can be used to select the pairing box sequence of the current initial box sequence. For instance, a roulette wheel selection algorithm, a tournament selection algorithm, an elite selection algorithm, or a random traversal selection algorithm can be used to select the pairing box sequence of the current initial box sequence; that is, any initial box sequence can be arbitrarily selected as the pairing box sequence of the current initial box sequence.
[0117] For example, taking the stochastic-universal selection algorithm as an example, the stochastic-universal selection algorithm is a method of selecting individuals in a way that minimizes the fluctuation probability based on a given probability. In this method, even inferior individuals have a chance to be selected, thus rewarding unfairness.
[0118] Step S22: Divide the current initial box group sequence into the first box group to be crossed and the first box group not crossed, and divide the paired box group sequence into the second box group to be crossed and the second box group not crossed.
[0119] For example, a random first intersection position and a random second intersection position can be obtained. Both the first and second intersection positions can be randomly selected, and there are no restrictions on them. For instance, the first intersection position can be before the second intersection position, or it can be after the second intersection position; the first and second intersection positions simply need to be different.
[0120] For example, assuming the current initial box group sequence includes 8 box groups, that is, there are a total of 8 positions, the first intersection position can be any position from position 1 to position 8, and the second intersection position can be any position from position 1 to position 8, as long as the first intersection position and the second intersection position are different.
[0121] See Figure 5A As shown, the initial sequence of 8 box groups is arranged in the following order: Box Group 1, Box Group 2, Box Group 3, Box Group 4, Box Group 5, Box Group 6, Box Group 7, and Box Group 8. The paired box group sequence is arranged in the following order: Box Group 3, Box Group 5, Box Group 8, Box Group 1, Box Group 7, Box Group 4, Box Group 2, and Box Group 6.
[0122] See Figure 5A As shown, the first intersection position is position 2 (i.e., the second position out of 8 positions), and the second intersection position is position 5 (i.e., the fifth position out of 8 positions).
[0123] For example, the box group located between the first intersection position and the second intersection position in the current initial box group sequence can be identified as the first box group to be intersected, and the remaining box groups can be identified as the first non-intersecting box group. For example, see Figure 5A As shown, the first group of boxes to be crossed may include box group 2, box group 3, box group 4, and box group 5 located between position 2 and position 5. The first group of boxes not to be crossed may include box group 1, box group 6, box group 7, and box group 8, excluding the first group of boxes to be crossed.
[0124] For example, the box group located between the first and second intersection positions in the paired box group sequence can be identified as the second box group to be intersected, and the remaining box groups can be identified as the second non-intersected box groups. For example, see Figure 5AAs shown, the second group of containers to be intersected may include container group 5, container group 8, container group 1, and container group 7 located between position 2 and position 5. The second group of containers not to be intersected may include container group 3, container group 4, container group 2, and container group 6, excluding the second group of containers to be intersected.
[0125] Step S23: Swap the first and second cross-connection box groups.
[0126] For example, the first box group to be crossed in the current initial box group sequence can be swapped to the paired box group sequence, and the second box group to be crossed in the paired box group sequence can be swapped to the current initial box group sequence. In this way, the current initial box group sequence may include the first non-crossed box group and the second box group to be crossed, and the paired box group sequence may include the second non-crossed box group and the first box group to be crossed.
[0127] For example, see Figure 5A As shown, the first group of containers to be intersected may include container group 2, container group 3, container group 4, and container group 5, while the second group of containers to be intersected may include container group 5, container group 8, container group 1, and container group 7. Based on this, container groups in the same position within the first and second groups of containers to be intersected can be interchanged. For example, see [link to relevant documentation]. Figure 5B As shown, box group 2 and box group 5 at position 2 can be interchanged, box group 3 and box group 8 at position 3 can be interchanged, box group 4 and box group 1 at position 4 can be interchanged, and box group 5 and box group 7 at position 5 can be interchanged.
[0128] Step S24: Determine the mapping relationship between the first group of boxes to be crossed and the second group of boxes to be crossed.
[0129] For example, after swapping the first and second interlocking box groups, the mapping relationship between the swapped first and second interlocking box groups can be recorded.
[0130] For example, after swapping box group A in the current initial box group sequence and box group B in the paired box group sequence, the mapping relationship between box group A and box group B can be recorded.
[0131] See Figure 5C As shown, since box group 2 and box group 5 at position 2 are interchanged, the mapping relationship between box group 2 and box group 5 is recorded. Since box group 3 and box group 8 at position 3 are interchanged, the mapping relationship between box group 3 and box group 8 is recorded. Since box group 4 and box group 1 at position 4 are interchanged, the mapping relationship between box group 4 and box group 1 is recorded. Since box group 5 and box group 7 at position 5 are interchanged, the mapping relationship between box group 5 and box group 7 is recorded.
[0132] In summary, the mapping relationships between box group 2 and box group 5, box group 3 and box group 8, box group 4 and box group 1, and box group 5 and box group 7 are obtained. Based on the mapping relationships between box group 2 and box group 5, and box group 5 and box group 7, the mapping relationships between box group 2, box group 5, and box group 7 can be obtained.
[0133] Step S25: Use this mapping relationship to adjust the first non-crossed box group in the current initial box group sequence to obtain the box group sequence after the cross operation corresponding to the current initial box group sequence.
[0134] For example, given the first non-overlapping box group in the current initial box group sequence, if the first non-overlapping box group overlaps with the second box group to be overlapped in the current initial box group sequence, then this mapping relationship needs to be used to adjust the first non-overlapping box group to ensure that each box group is unique. If the first non-overlapping box group does not overlap with the second box group to be overlapped, then the first non-overlapping box group can remain unchanged.
[0135] For example, see Figure 5B As shown, the first non-intersecting box group includes box group 1 at position 1, box group 6 at position 6, box group 7 at position 7, and box group 8 at position 8. The second intersecting box group includes box group 5 at position 2, box group 8 at position 3, box group 1 at position 4, and box group 7 at position 5.
[0136] Since box group 1 at position 1 is the same as box group 1 at position 4, and there is a mapping relationship between box group 4 and box group 1, see [link / reference]. Figure 5D As shown, adjust box group 1 at position 1 to box group 4. Since box group 6 at position 6 is not repeated, see [reference needed]. Figure 5D As shown, box group 6 at position 6 remains unchanged. Since box group 7 at position 7 is the same as box group 7 at position 5, and there is a mapping relationship between box group 2, box group 5, and box group 7, see [reference needed]. Figure 5D As shown, adjust box group 7 at position 7 to box group 2. Since box group 8 at position 8 is duplicated with box group 8 at position 3, and there is a mapping relationship between box group 3 and box group 8, see [link / reference]. Figure 5D As shown, adjust box group 8 at position 8 to box group 3.
[0137] In summary, the first non-crossed box group can be adjusted to obtain the box group sequence after the crossover operation. In step 405, the box group sequence after the crossover operation can also be mutated to obtain the optimized box group sequence. In step 406, the box group sequence after the crossover operation is used as the optimized box group sequence.
[0138] Step S26: Use the mapping relationship to adjust the second non-crossed box group in the paired box group sequence to obtain the box group sequence after the cross operation corresponding to the paired box group sequence. Update the box group sequence after the cross operation to the initial box group sequence or the target box group sequence corresponding to the paired box group sequence.
[0139] For example, regarding the second non-crossing box group in the pairing box group sequence, if the second non-crossing box group overlaps with the first box group to be crossed in the pairing box group sequence, then the mapping relationship needs to be used to adjust the second non-crossing box group to ensure that each box group is unique. If the second non-crossing box group does not overlap with the first box group to be crossed, then the second non-crossing box group can remain unchanged.
[0140] For example, see Figure 5B As shown, the second non-intersecting box group includes box group 3 at position 1, box group 4 at position 6, box group 2 at position 7, and box group 6 at position 8. The first intersecting box group includes box group 2 at position 2, box group 3 at position 3, box group 4 at position 4, and box group 5 at position 5.
[0141] Since box group 3 at position 1 is the same as box group 3 at position 3, and there is a mapping relationship between box group 3 and box group 8, see [link / reference]. Figure 5D As shown, adjust box group 3 at position 1 to box group 8. Since box group 4 at position 6 is the same as box group 4 at position 4, and there is a mapping relationship between box group 4 and box group 1, see [reference needed]. Figure 5D As shown, adjust box group 4 at position 6 to box group 1. Since box group 2 at position 7 is the same as box group 2 at position 2, and there is a mapping relationship between box group 2, box group 5, and box group 7, see [reference needed]. Figure 5D As shown, adjust box group 2 at position 7 to box group 7. Since box group 6 at position 8 is not repeated, see [reference needed]. Figure 5D As shown, the box assembly 6 at position 6 remains unchanged.
[0142] In summary, the crossover-optimized box group sequence corresponding to the paired box group sequence can be obtained. If the box group optimization process for the paired box group sequence has been completed before the current initial box group sequence is optimized, i.e., the paired box group sequence is the target box group sequence, then the crossover-optimized box group sequence is updated to the target box group sequence corresponding to the paired box group sequence. If the box group optimization process for the current initial box group sequence has not been completed before the paired box group sequence is optimized, i.e., the paired box group sequence is the initial box group sequence, then the crossover-optimized box group sequence is updated to the initial box group sequence corresponding to the paired box group sequence, and the box group optimization process is performed on the updated initial box group sequence.
[0143] For example, in steps 405 and 407, a mutation operation is performed on the current initial box group sequence (the box group sequence after the crossover operation) to obtain an optimized box group sequence (i.e., the box group sequence after the mutation operation is used as the optimized box group sequence). This process may include the following steps:
[0144] Select any two box groups from the current initial box group sequence. For example, you can select the box group at position 1 and the box group at position 4, or the box group at position 1 and the box group at position 5. There are no restrictions on this, as long as you select any two box groups at different positions.
[0145] By swapping the order of any two box groups within the current initial box group sequence (i.e., the two already selected box groups), an optimized box group sequence is obtained. For example, see... Figure 5D As shown, the current initial box group sequence includes box groups 4, 5, 8, 1, 7, 6, 2, 3, etc. Assuming that box group 4 at position 1 and box group 7 at position 5 are selected, the sorting positions of box group 4 and box group 7 are swapped. After optimization, the box group sequence includes box groups 7, 5, 8, 1, 4, 6, 2, 3, etc.
[0146] For example, after step 405, step 408 can be executed; after step 406, step 408 can be executed; after step 407, step 408 can be executed. Step 408 will be described below.
[0147] Step 408: If the fitness of the optimized box group sequence of the current initial box group sequence is better than that of the current initial box group sequence, then the optimized box group sequence is determined as the target box group sequence.
[0148] Alternatively, if the fitness of the optimized box group sequence is not better than that of the current initial box group sequence, then the current initial box group sequence is determined as the target box group sequence.
[0149] For example, fitness is used to indicate the quality of a box group sequence. A better box group sequence means that more boxes in the sequence can be placed on a load; conversely, a worse box group sequence means that fewer boxes in the sequence can be placed on a load. For instance, a higher fitness value indicates a better box group sequence, and a lower fitness value indicates a worse box group sequence.
[0150] In summary, based on steps 402-408, the target box group sequence corresponding to the current initial box group sequence can be obtained. The target box group sequence is an optimized sequence based on the current initial box group sequence.
[0151] Step 409: Determine if the current initial box group sequence is the last initial box group sequence in the sequence set. If yes, proceed to step 410. If no, iterate through the sequence set (i.e., the K initial box group sequences) to find the next initial box group sequence after the current initial box group sequence, update the iterated initial box group sequence with the current initial box group sequence, and then return to step 402.
[0152] Step 410: Based on the fitness of the target box group sequence corresponding to each initial box group sequence in the sequence set, select the target box group sequence with the best fitness as the optimal box group sequence of the sequence set.
[0153] For example, after performing the above operations on each initial box group sequence in the sequence set, we can obtain the target box group sequence corresponding to each initial box group sequence, that is, obtain K target box group sequences. Then, based on the fitness of each target box group sequence, the target box group sequence with the best fitness is taken as the optimal box group sequence of the sequence set. This completes the box group optimization step.
[0154] The above process involves the fitness of the current initial container group sequence, the fitness of the optimized container group sequence, and the fitness of the target container group sequence. The target container group sequence can be either the current initial container group sequence or the optimized container group sequence. In this way, it is only necessary to calculate the fitness of the current initial container group sequence and the fitness of the optimized container group sequence, without needing to calculate the fitness of the target container group sequence.
[0155] To calculate the fitness of the current initial box group sequence, the following method can be used:
[0156] Based on the arrangement order of each box group within the current initial box group sequence, multiple box groups within the current initial box group sequence are simulated and placed onto the support in sequence. For example, assuming the current initial box group sequence includes box group a4, box group a3, box group a1, and box group a2 in sequence, then each box in box group a4 is simulated and placed onto the support (simulated placement means that the box is not actually placed onto the support, but only the position of each box is determined, indicating that the box occupies that position). Then, each box in box group a3 is simulated and placed onto the support, then each box in box group a1 is simulated and placed onto the support, and then each box in box group a2 is simulated and placed onto the support.
[0157] Considering the possibility that a group of containers might not be able to be placed, but a single container can, when simulating the placement of a group of containers onto a support, we first determine whether the entire group of containers can be placed on the support, i.e., whether there is space on the support to place the entire group of containers. If so, the entire group of containers is simulated and placed onto the support; this placement process is not restricted. If not, the group of containers is broken down into multiple single containers, and each single container is simulated and placed onto the support sequentially; this placement process is not restricted.
[0158] After simulating the placement of multiple box groups within the current initial box group sequence onto the carrier, the carrier utilization rate and the distance between box groups are determined based on the simulated placement position of each box group. The fitness is then determined based on the carrier utilization rate and the distance between box groups. For example, the greater the carrier utilization rate, the greater the fitness; the smaller the distance between box groups, the greater the fitness.
[0159] For example, the carrier utilization rate is the total volume of all boxes stacked on the carrier divided by the product of the carrier's length and width. For instance, after simulating the placement of multiple box groups within the current initial box group sequence onto the carrier, the total volume of all boxes stacked on the carrier is calculated, and this total volume divided by the product of the carrier's length and width is the carrier utilization rate for the current initial box group sequence.
[0160] For example, the inter-box distance is the average or sum of the distances between all boxes stacked on the carrier, with the sum being used as the inter-box distance. For instance, after simulating the placement of multiple box groups within the current initial box group sequence onto the carrier, for each box stacked on the carrier, the distance between that box and its adjacent boxes (there may be multiple adjacent boxes) is determined, and the sum of the distances between that box and each adjacent box is used as the corresponding distance value for that box. The sum of the distance values corresponding to all boxes stacked on the carrier is then used as the inter-box distance of the current initial box group sequence.
[0161] It is important to note that the number of boxes that can be stacked onto the support may vary depending on the initial box group sequence; that is, not all boxes can be simulated for placement on the support. For example, initial box group sequence b1 includes box group a4, box group a3, box group a1, and box group a2 in sequence. It can stack all boxes from box groups a4, a3, and a1 onto the support, but can only stack some boxes from box group a2. Similarly, initial box group sequence b2 includes box groups a2, a3, a4, and a1 in sequence. It can stack all boxes from box groups a2 and a3 onto the support, but can only stack some boxes from box group a4, and cannot stack any box from box group a1. Clearly, the number of boxes that can be stacked onto the carrier is not the same for the initial box group sequence b1 and the initial box group sequence b2.
[0162] In view of the above situation, the load utilization rate of the initial container group sequence b1 is different from that of the initial container group sequence b2, and it is possible to distinguish which initial container group sequence is better based on the load utilization rate.
[0163] Of course, the number of boxes that can be stacked onto the support may be the same for different initial box group sequences. For example, for initial box group sequence b1, all boxes from all box groups can be stacked onto the support, and for initial box group sequence b2, all boxes from all box groups can also be stacked onto the support. In the above situation, the support utilization rate of initial box group sequence b1 is the same as that of initial box group sequence b2, and it is impossible to distinguish which initial box group sequence is better based on the support utilization rate. Based on this, this embodiment also proposes a new fitness index, namely the distance between box groups, and the initial box group sequence with a smaller distance between box groups is better, so as to expect the boxes to be arranged as closely as possible.
[0164] To calculate the fitness of the optimized box group sequence, the load utilization rate and the distance between box groups can also be calculated. The fitness is determined based on the load utilization rate and the distance between box groups, which will not be elaborated further.
[0165] Regarding step 408, if the load utilization rate of the optimized container group sequence is greater than that of the current initial container group sequence, then the fitness of the optimized container group sequence is better than that of the current initial container group sequence. If the load utilization rate of the optimized container group sequence is less than that of the current initial container group sequence, then the fitness of the optimized container group sequence is not better than that of the current initial container group sequence.
[0166] If the load-bearing capacity utilization rate of the optimized container group sequence is equal to that of the initial container group sequence, then: if the distance between container groups in the optimized container group sequence is less than the distance between container groups in the initial container group sequence, then the fitness of the optimized container group sequence is better than that of the initial container group sequence. If the distance between container groups in the optimized container group sequence is not less than the distance between container groups in the initial container group sequence, then the fitness of the optimized container group sequence is not better than that of the initial container group sequence.
[0167] Fourth, post-processing steps. In the post-processing steps, the optimal box group sequence can be selected. Based on the arrangement order of each box group within this sequence, the robot is controlled to place multiple box groups within the sequence onto the carrier in sequence, completing the offline mixed palletizing process based on order information.
[0168] For example, when selecting the box group sequence with the best fitness (which can be denoted as the final box group sequence), if there is only one sequence set, then the optimal box group sequence of that sequence set is selected as the final box group sequence. Alternatively, if there are multiple sequence sets, based on the fitness of the optimal box group sequence of each sequence set, the optimal box group sequence with the best fitness is selected as the final box group sequence.
[0169] Based on the arrangement order of each box group within the box group sequence, multiple box groups within the box group sequence are placed onto the support in sequence, including: assuming that the box group sequence includes box group a4, box group a3, box group a1, and box group a2 in sequence, then each box in box group a4 is placed onto the support (i.e., actually placed onto the support), each box in box group a3 is placed onto the support, each box in box group a1 is placed onto the support, and each box in box group a2 is placed onto the support.
[0170] Considering the possibility that a complete set of containers might not be able to be placed, but a single container can, when placing a container set onto a support, it is determined whether the entire container set can be placed on the support, i.e., whether there is space on the support to accommodate the entire container set. If so, the entire container set is placed on the support. If not, the container set is broken down into multiple individual containers, and each individual container is placed on the support sequentially.
[0171] When placing the entire box assembly onto the carrier, the placement posture of the box assembly can be determined first, and the robot (such as a palletizing robot) can be controlled to place the entire box assembly onto the carrier based on the placement posture.
[0172] When placing a single container onto a carrier, the placement orientation of the single container can be determined first, and a robot (such as a palletizing robot) can be controlled to place the single container onto the carrier based on the placement orientation.
[0173] Regarding the placement pose of a group of boxes or a single box, this placement pose represents the placement position and orientation. This pose is obtained based on the optimal placement scheme, which specifies how to place the group of boxes or a single box, representing both the placement position and orientation. There are no restrictions on this optimal placement scheme. For example, the optimal placement scheme uses spatial description and multi-level matching degree calculation to convert the set stack dimensions into a cuboid space. Each box placed in this space generates multiple new placement spaces (called free spaces). When a new box is placed, the matching degree of the box placed in different free spaces is calculated through simulation, and the position with the highest matching degree is selected as the optimal placement pose from all free spaces. Of course, the above is just an example of the optimal placement scheme and is not a limitation.
[0174] As can be seen from the above technical solutions, the embodiments of this application achieve automatic and efficient offline mixing and stacking of boxes of various sizes and specifications, saving manpower and improving logistics turnover efficiency. It ensures the optimal placement of each box, thereby improving the utilization rate of the load and avoiding stacking patterns that cannot be used in actual production. It improves stacking stability, stacking efficiency, production efficiency, and offline mixing and stacking calculation efficiency, reduces calculation time, and improves the safety, practicality, and stability of actual mixing and stacking. An offline mixing and stacking scheme combining box group generation and box group optimization is proposed, resulting in high load utilization of the mixed stacking patterns and low calculation time. Multiple pre-sorting methods are used to solve the stacking pattern optimization problem, ensuring the diversity of box sequences, and a multi-level fitness (first load utilization rate, then distance between box groups) is used to measure the quality of the stacking pattern.
[0175] Based on the same application concept as the above method, this application proposes an offline hybrid palletizing device, see [link to relevant documentation]. Figure 6 The diagram shown is a structural schematic of the device, which may include:
[0176] The generation module 61 is used to generate K initial box group sequences based on the acquired multiple box groups; for each initial box group sequence, the initial box group sequence includes multiple box groups arranged in a preset order; wherein, the order of the multiple box groups in different initial box group sequences is different;
[0177] The determining module 62 is used to determine the target box group sequence corresponding to each initial box group sequence. Specifically, for each initial box group sequence, if it is determined that the initial box group sequence will not be optimized, then the initial box group sequence is determined as the target box group sequence; if it is determined that the initial box group sequence will be optimized, then an operation is performed on the initial box group sequence to obtain an optimized box group sequence, the operation being used to adjust the order of multiple box groups within the initial box group sequence; if the fitness of the optimized box group sequence is better than the fitness of the initial box group sequence, then the optimized box group sequence is determined as the target box group sequence; if the fitness of the optimized box group sequence is not better than the fitness of the initial box group sequence, then the initial box group sequence is determined as the target box group sequence; wherein, fitness is used to represent the quality of the box group sequence, the better the box group sequence, the more box groups within the box group sequence can be placed on the load;
[0178] Module 63 is used to select the target box group sequence with the best fitness as the optimal box group sequence;
[0179] The control module 64 is used to control the robot to place multiple boxes in the optimal box group sequence onto the carrier in sequence based on the arrangement order of each box group in the optimal box group sequence.
[0180] For example, the generation module 61 is further configured to obtain order information, which includes attribute information of multiple boxes that need to be stacked on a carrier, including box length, box width, and box load-bearing capacity; and to obtain multiple box groups based on the attribute information of each box; wherein, the boxes in the same box group have the same box length and the same box load-bearing capacity, and the boxes in the box group are combined along the box length direction, and the number of boxes in the box group is determined based on the width of the carrier and the box length; or, the boxes in the same box group have the same box width and the same box load-bearing capacity, and the boxes in the box group are combined along the box width direction, and the number of boxes in the box group is determined based on the length of the carrier and the box width.
[0181] For example, when determining to optimize the initial box group sequence, the determining module 62 specifically performs the following operations to obtain an optimized box group sequence: generating a first random probability and a second random probability for the initial box group sequence; if the first random probability satisfies the configured cross-optimization condition and the second random probability does not satisfy the configured mutation optimization condition, then it is determined to optimize the initial box group sequence and perform a cross-operation on the initial box group sequence to obtain an optimized box group sequence; if the first random probability does not satisfy the cross-optimization condition and the second random probability satisfies the mutation optimization condition, then it is determined to optimize the initial box group sequence and perform a mutation operation on the initial box group sequence to obtain an optimized box group sequence; if the first random probability satisfies the cross-optimization condition and the second random probability satisfies the mutation optimization condition, then it is determined to optimize the initial box group sequence and perform a cross-operation on the initial box group sequence to obtain a cross-operated box group sequence, and perform a mutation operation on the cross-operated box group sequence to obtain an optimized box group sequence.
[0182] For example, when the determining module 62 performs a crossover operation on the initial box group sequence to obtain the optimized box group sequence, it specifically performs the following steps: selecting a paired box group sequence from the K initial box group sequences; dividing the initial box group sequence into a first box group to be crossed and a first non-crossed box group, and dividing the paired box group sequence into a second box group to be crossed and a second non-crossed box group; swapping the first box group to be crossed and the second box group to be crossed; adjusting the first non-crossed box group using the mapping relationship between the first box group to be crossed and the second box group to be crossed, to obtain the optimized box group sequence of the initial box group sequence; adjusting the second non-crossed box group using the mapping relationship, and updating the adjusted box group sequence to the initial box group sequence or target box group sequence corresponding to the paired box group sequence.
[0183] For example, when the determining module 62 divides the initial box group sequence into a first box group to be crossed and a first non-crossed box group, and divides the paired box group sequence into a second box group to be crossed and a second non-crossed box group, it is specifically used to: obtain a random first crossing position and a random second crossing position; determine the box group in the initial box group sequence located between the first crossing position and the second crossing position as the first box group to be crossed, and determine the remaining box group as the first non-crossed box group; determine the box group in the paired box group sequence located between the first crossing position and the second crossing position as the second box group to be crossed, and determine the remaining box group as the second non-crossed box group.
[0184] For example, when the determining module 62 performs a mutation operation on the initial box group sequence to obtain the optimized box group sequence, it is specifically used to: swap the sorting positions of any two box groups in the initial box group sequence to obtain the optimized box group sequence of the initial box group sequence.
[0185] For example, when determining the fitness of the initial box group sequence, the determining module 62 is specifically used to: based on the arrangement order of each box group in the initial box group sequence, simulate placing multiple box groups in the initial box group sequence onto the carrier in sequence; determine the carrier utilization rate and the distance between box groups based on the simulated placement position of each box group; the carrier utilization rate is the total volume of all boxes stacked on the carrier divided by the product of the length and width of the carrier; the distance between box groups is the average or sum of the distances between all boxes stacked on the carrier; determine the fitness of the initial box group sequence based on the carrier utilization rate and the distance between box groups; wherein, if the carrier utilization rate is larger, the fitness is larger; if the distance between box groups is smaller, the fitness is larger.
[0186] Based on the same concept as the method described above, this application proposes a control device, see [link to relevant documentation]. Figure 7 As shown, it includes: a processor 71 and a machine-readable storage medium 72, the machine-readable storage medium 72 storing machine-executable instructions that can be executed by the processor 71; the processor 71 is used to execute the machine-executable instructions to implement the offline hybrid palletizing method disclosed in the above example of this application.
[0187] Based on the same application concept as the above method, this application proposes an offline hybrid palletizing control system, which includes a control device and a robot; wherein, the control device is used to execute the offline hybrid palletizing method disclosed in the above example of this application to obtain an optimal box group sequence; the control device is also used to send a scheduling instruction for each box group to the robot based on the arrangement order of each box group in the optimal box group sequence; the robot is used to place the box group on the carrier based on the scheduling instruction when it receives the scheduling instruction for each box group.
[0188] Based on the same concept as the above method, this application also provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, can implement the offline hybrid palletizing method disclosed in the above examples of this application.
[0189] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0190] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. An off-line mixed palletizing method, characterized by, The method comprises: generating K initial box group sequences based on the obtained multiple box groups; for each initial box group sequence, the initial box group sequence comprises multiple box groups arranged in a preset order; wherein the order of the multiple box groups in different initial box group sequences is different; determining a target box group sequence corresponding to each initial box group sequence; wherein for each initial box group sequence, if it is determined that the initial box group sequence is not optimized, the initial box group sequence is determined as the target box group sequence; if it is determined that the initial box group sequence is optimized, the initial box group sequence is operated to obtain an optimized box group sequence, the operation being used to adjust the order of the multiple box groups in the initial box group sequence; if the fitness of the optimized box group sequence is better than that of the initial box group sequence, the optimized box group sequence is determined as the target box group sequence; if the fitness of the optimized box group sequence is not better than that of the initial box group sequence, the initial box group sequence is determined as the target box group sequence; wherein the fitness is used to represent the pros and cons of the box group sequence, and the more the box group sequence can be placed on the carrier, the better the box group sequence is; selecting the target box group sequence with the best fitness as the optimal box group sequence; controlling the robot to place the multiple box groups in the optimal box group sequence on the carrier in sequence based on the arrangement order of each box group in the optimal box group sequence; if it is determined that the initial box group sequence is optimized, the initial box group sequence is operated to obtain an optimized box group sequence, comprising: generating a first random probability and a second random probability for the initial box group sequence; if the first random probability meets the configured crossover optimization condition and the second random probability does not meet the configured mutation optimization condition, it is determined that the initial box group sequence is optimized, and the initial box group sequence is operated by crossover to obtain an optimized box group sequence.
2. The method of claim 1, wherein, Before the K initial box group sequences are generated based on the obtained multiple box groups, the method further comprises: obtaining order information, the order information comprising attribute information of multiple boxes that need to be palletized on a carrier, the attribute information comprising box length, box width and box load-bearing capacity; obtaining multiple box groups based on the attribute information of each box; wherein the boxes in the same box group have the same box length and the same box load-bearing capacity, and the boxes in the box group are combined along the box length direction, and the number of boxes in the box group is determined based on the width of the carrier and the box length; or, the boxes in the same box group have the same box width and the same box load-bearing capacity, and the boxes in the box group are combined along the box width direction, and the number of boxes in the box group is determined based on the length of the carrier and the box width.
3. The method of claim 1, wherein, if it is determined that the initial box group sequence is optimized, the initial box group sequence is operated to obtain an optimized box group sequence, further comprising: If the first random probability does not satisfy the configured cross optimization condition, and the second random probability satisfies the configured mutation optimization condition, it is determined to optimize the initial box group sequence, and a mutation operation is performed on the initial box group sequence to obtain an optimized box group sequence. If the first random probability satisfies the configured cross optimization condition, and the second random probability satisfies the configured mutation optimization condition, it is determined to optimize the initial box group sequence, a cross operation is performed on the initial box group sequence to obtain a cross operation box group sequence, and a mutation operation is performed on the cross operation box group sequence to obtain an optimized box group sequence.
4. The method of claim 3, wherein the process of performing a cross operation on the initial box group sequence to obtain an optimized box group sequence comprises: selecting a paired box group sequence of the initial box group sequence from the K initial box group sequences; dividing the initial box group sequence into a first to-be-crossed box group and a first non-crossed box group, and dividing the paired box group sequence into a second to-be-crossed box group and a second non-crossed box group; interchanging the first to-be-crossed box group and the second to-be-crossed box group; adjusting the first non-crossed box group using a mapping relationship between the first to-be-crossed box group and the second to-be-crossed box group to obtain an optimized box group sequence of the initial box group sequence; adjusting the second non-crossed box group using the mapping relationship, and updating the adjusted box group sequence as the initial box group sequence or the target box group sequence corresponding to the paired box group sequence.
5. The method of claim 4, wherein the dividing the initial box group sequence into a first to-be-crossed box group and a first non-crossed box group, and dividing the paired box group sequence into a second to-be-crossed box group and a second non-crossed box group comprises: obtaining a random first cross position and a random second cross position; determining the box groups between the first cross position and the second cross position in the initial box group sequence as the first to-be-crossed box group, and determining the remaining box groups as the first non-crossed box group; determining the box groups between the first cross position and the second cross position in the paired box group sequence as the second to-be-crossed box group, and determining the remaining box groups as the second non-crossed box group. The process of performing a mutation operation on the initial box group sequence to obtain an optimized box group sequence comprises interchanging the sorting positions of any two box groups in the initial box group sequence to obtain an optimized box group sequence of the initial box group sequence.
7. The method of claim 1, wherein the process of determining the fitness of the initial box group sequence comprises:
6. The method of claim 3, wherein, sequentially simulate placing the plurality of box groups in the initial box group sequence onto the carrier based on an arrangement order of each box group in the initial box group sequence; determine a carrier utilization and a distance between box groups based on the simulated placing positions of the box groups; wherein the carrier utilization is a total volume of all the boxes stacked on the carrier divided by a product of length and width of the carrier; and the distance between box groups is an average or a sum of distances between all the boxes stacked on the carrier; determine a fitness of the initial box group sequence based on the carrier utilization and the distance between box groups; wherein the greater the carrier utilization, the greater the fitness; and the smaller the distance between box groups, the greater the fitness.
8. An off-line mixing palletizing device characterized by, The apparatus comprises: a generating module configured to generate K initial box group sequences based on the acquired plurality of box groups; for each initial box group sequence, the initial box group sequence comprises a plurality of box groups arranged in a preset order; wherein the order of the plurality of box groups in different initial box group sequences is different; a determining module configured to determine a target box group sequence corresponding to each initial box group sequence; wherein for each initial box group sequence, if it is determined that the initial box group sequence is not to be optimized, the initial box group sequence is determined as the target box group sequence; if it is determined that the initial box group sequence is to be optimized, the initial box group sequence is operated to obtain an optimized box group sequence, the operation being configured to adjust the order of the plurality of box groups in the initial box group sequence; if the fitness of the optimized box group sequence is better than that of the initial box group sequence, the optimized box group sequence is determined as the target box group sequence; if the fitness of the optimized box group sequence is not better than that of the initial box group sequence, the initial box group sequence is determined as the target box group sequence; wherein the fitness is used to represent the pros and cons of the box group sequence, and the better the box group sequence, the more box groups in the box group sequence can be placed onto the carrier; a selecting module configured to select the target box group sequence with the best fitness as an optimal box group sequence; a control module configured to control a robot to sequentially place the plurality of box groups in the optimal box group sequence onto the carrier based on an arrangement order of each box group in the optimal box group sequence; when the determining module determines that the initial box group sequence is to be optimized, the initial box group sequence is operated to obtain an optimized box group sequence, the operation being specifically configured to generate a first random probability and a second random probability for the initial box group sequence; if the first random probability meets a configured crossover optimization condition and the second random probability does not meet a configured mutation optimization condition, it is determined that the initial box group sequence is to be optimized, and the initial box group sequence is operated by crossover to obtain the optimized box group sequence.
9. A control device characterized by comprising: comprise: a processor and a machine readable storage medium storing machine executable instructions executable by the processor; the processor is configured to execute the machine executable instructions to implement the method of any one of claims 1-7.
10. A control system for off-line mixed palletizing, characterized by The control system comprises a control device and a robot; wherein the control device is configured to execute the method according to any one of claims 1-7 to obtain an optimal box group sequence; the control device is further configured to send a scheduling instruction for each box group to the robot based on the arrangement order of each box group in the optimal box group sequence; The robot is configured to place each box group onto the carrier based on the scheduling instruction for the box group when the scheduling instruction is received.
Citation Information
Patent Citations
Manipulator palletizing method based on improved catastrophic genetic algorithm
CN111056323A
Mechanical arm trajectory planning method based on time optimization
CN117301048A