A method for optimizing the unloading and tipping of a pallet in a forklift dense storage system

By optimizing the outbound crate turning scheme using heuristic methods and the lower bound estimate of the number of crate turning times, combined with the branch and bound algorithm, the problem of excessive crate turning times in dense storage systems is solved, thus improving system efficiency.

CN119887047BActive Publication Date: 2026-04-07SOUTHWEST JIAOTONG UNIV +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In existing intensive storage systems, the excessive number of times boxes are turned over during outbound shipments leads to low system efficiency, and existing strategies have failed to effectively optimize the outbound process.

Method used

A heuristic approach is used to determine the box-turning scheme and the upper bound of the number of times. Combined with the lower bound estimation method of the number of times the box turns over, a branch and bound algorithm is used to conduct in-depth iterative search to optimize the outbound box-turning scheme.

Benefits of technology

By using a fast solution heuristic method and a lower bound estimation method for the number of box flips, the calculation process is simplified, saving time, and providing initial optimal upper and lower bounds for the branch and bound algorithm, thereby improving the outbound efficiency of the dense storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119887047B_ABST
    Figure CN119887047B_ABST
Patent Text Reader

Abstract

The application provides a kind of optimization method for frame out of warehouse in forklift dense storage system, belongs to the technical field of warehouse management system, comprising: collecting the basic information of stacking area, obtaining the retrieval order of frame and initializing the stacking state of stacking area;Using heuristic method to determine the upper bound of the number of times of turning over and the turning over scheme;Using the lower bound estimation method of the number of times of turning over to determine the lower bound of the number of times of turning over and the turning over scheme;If the upper bound of the number of times of turning over is equal to the lower bound of the number of times of turning over, the turning over scheme determined by heuristic method is the optimal turning over scheme, otherwise, the upper bound of the number of times of turning over is the initial optimal upper bound, the lower bound of the number of times of turning over is the initial optimal lower bound, and the branch and bound algorithm is used for deepening iterative search to obtain the optimal turning over scheme.The application provides an optimization method for frame out of warehouse in forklift dense storage system, which can optimize the out of warehouse turning over scheme and improve the out of warehouse efficiency of dense storage system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the technical field of warehouse management systems, and specifically relates to the optimized management of outbound box flipping operations, specifically an optimized method for outbound box flipping in a forklift-intensive warehousing system. Background Technology

[0002] Forklift-based high-density storage systems refer to three-dimensional storage systems formed by stacking crates vertically and horizontally. These systems use forklifts to move crates, and the close stacking maximizes capacity. However, this dense stacking presents challenges for crate retrieval (outbound) operations. For example, when retrieving a crate from an inner stack within a densely stacked area, the limited forklift operating range necessitates not only flipping crates blocking the vertical direction of the stack but also typically requiring the flipping of crates blocking the surrounding outbound paths. Actual outbound operations involve retrieving multiple crates in a given order, which is a highly complex combinatorial optimization problem aiming to minimize the total number of crate flips during the entire retrieval process.

[0003] When material crates are issued from existing dense storage systems, the crate flipping is usually achieved using a simple random strategy or a proximity strategy. Due to the dense stacking of material crates in the storage area, the number of flipping operations increases significantly when using a simple flipping strategy to issue material crates, which seriously restricts the improvement of the efficiency of dense storage systems. Summary of the Invention

[0004] To address the aforementioned problems, the present invention aims to provide an optimized method for the outbound flipping of material boxes in a forklift-operated high-density storage system, thereby improving the outbound efficiency of the high-density storage system.

[0005] To achieve the above objectives, the technical solution provided by the present invention is as follows:

[0006] An optimization method for material crate turnover in a forklift-based high-density storage system includes the following steps:

[0007] S1. Collect basic information about the stockpiling area, obtain the retrieval order of the material boxes, and initialize the stockpiling status of the stockpiling area;

[0008] S2. Use heuristic methods to determine the box-flipping scheme and the upper bound of the number of box flips;

[0009] S3. The lower bound of the number of times the material box is flipped is determined by the estimation method of the lower bound of the number of times the box is flipped.

[0010] S4. If the upper bound of the number of times the boxes are turned over is equal to the lower bound of the number of times the boxes are turned over, then the box turning scheme determined in step S2 is the optimal box turning scheme, and step S6 is executed; otherwise, step S5 is executed.

[0011] S5. Using the upper bound of the number of times the boxes are searched as the initial optimal upper bound and the lower bound of the number of times the boxes are searched as the initial optimal lower bound, the branch and bound algorithm is used to perform a deep iterative search to obtain the optimal box-searching scheme.

[0012] S6, Output material box outbound flipping solution.

[0013] As a specific embodiment of the present invention, the initialization of the stacking state of the stacking area in step S1 includes numbering the material frames and numbering the stack. When numbering the material frames, the material frames that need to be retrieved are arranged in front of the material frames that do not need to be retrieved, and the material frames that need to be retrieved are numbered in ascending order according to the retrieval order.

[0014] As a specific embodiment of the present invention, step S2 includes:

[0015] S21. Determine whether the outbound task has been completed. If yes, proceed to step S27; otherwise, proceed to step S22.

[0016] S22. Take the smallest numbered material box in the current stacking state of the stacking area as the target material box, called the first target material box. Determine whether there is a blocked material box in the first target material box. If there is no blocked material box, the box can be directly released without the need for the box flipping operation, and step S23 can be directly executed. Otherwise, step S24 can be executed.

[0017] S23. Complete the outbound operation of the first target material box, update the stacking status of the stacking area, and return to step S21;

[0018] S24. Determine the priority number of each stack, the box to be turned, the optional placement stack, the G-type optional placement stack and the B-type optional placement stack under the current stacking status of the stacking area;

[0019] The specific rules for determination are as follows:

[0020] Stack priority number: If the stack is not empty, and the number of the smallest material frame in the stack is less than or equal to M, then the number of the smallest material frame in the stack is used as the stack priority number of the stack; otherwise, the stack priority number of the stack is M+1; M is the total number of material frames that need to be removed from the warehouse.

[0021] Boxes to be overturned: Select the blocked boxes from the first target box one by one as the boxes to be overturned, in the order from the outside to the inside of the stacking area and from the top to the bottom of the stack.

[0022] Optional placement stack: A stack located outside the first target material frame and its blocking material frame, whose height does not reach the height limit, and which can be directly placed by a forklift;

[0023] Optional G-type stacks and optional B-type stacks: Optional stacks with a stack priority number of M+1 or a stack priority number greater than the number of the box to be flipped are optional G-type stacks, and the rest are optional B-type stacks.

[0024] S25: Perform the box-flipping operation according to the stacking selection rules for the box-flipping operation. The specific rules are as follows:

[0025] When both the Class G optional placement stack and the Class B optional placement stack coexist, the Class G optional placement stack shall be selected as the final placement stack.

[0026] When there are at least two optional G-type stacks, if the crate to be sorted needs to be shipped out, the optional G-type stack with the smallest stack priority number is selected as the final stack. Otherwise, the stacks are selected as the final stacks in descending order of priority level from the optional G-type stacks in the inner stack, the optional G-type stacks in the corner stack, and other optional G-type stacks. When there are at least two optional G-type stacks at the same priority level, for the optional G-type stacks in the inner stack and the optional G-type stacks in the corner stack, the stack with the smallest stack number is selected as the final stack. For other optional G-type stacks, the stack with the largest stack priority number is selected as the final stack.

[0027] When selecting the final placement stack from the Class B optional placement stacks, if the empty storage bits of the Class B optional placement stack with the largest stack priority number are equal to 1, then the stack with the second largest stack priority number among the Class B optional placement stacks is selected as the final placement stack; if the empty storage bits of the Class B optional placement stack with the largest stack priority number are greater than 1, then the Class B optional placement stack with the largest stack priority number is selected as the final placement stack.

[0028] S26: Obtain the crate turning path and update the stacking status of the stacking area, then return to step S22;

[0029] S27: Output the total number of times the boxes were searched and the search path.

[0030] As a specific embodiment of the present invention, step S3 includes:

[0031] S31. Calculate the number of material boxes n blocked once in the initial state of the stockpiling area, and assume that the number of box turning times LB = n;

[0032] The rules for determining a primary blocked material frame are as follows: the material frame that needs to be removed from the warehouse is taken as the target material frame, called the second target material frame, and the blocked material frames in the same stack of the second target material frame are marked; after all the blocked material frames in the same stack of the second target material frame are marked, the marked material frames in the entire stacking area are the primary blocked material frames.

[0033] S32. Take the smallest numbered material box in the current stacking area that needs to be emptied as the target material box, called the third target material box. Determine whether the third target material box is in the internal stack. If it is, execute step S33; otherwise, execute step S35.

[0034] S33 Determine whether there is an operation to remove the blocking frame from the stacking area before searching for other frames before searching for the third target frame. If there is, terminate; otherwise, execute step S34.

[0035] S34. Determine the non-same stack blocking frames of the third target frame. The frames in the non-same stack blocking frames of the third target frame that are not marked as first-time blocking frames are newly added blocking frames. Count the number of newly added blocking frames i and update the box flipping count LB = LB + i.

[0036] S35. If the stack priority number of all optional placement stacks is less than M, then the maximum value of the stack priority number among all optional placement stacks is used as the threshold. The material box with the number greater than the threshold in the blocking material box of the third target material box is the secondary blocking material box. Otherwise, there is no secondary blocking material box. Count the number of secondary blocking material boxes j and update the number of box flipping LB = LB + j.

[0037] S36. Remove the third target material box and its blocking material box from the stacking area, update the stacking area status. If all the material boxes that need to be shipped out in the stacking area have been removed, terminate and output the total number of box flips; otherwise, repeat steps S32-S36.

[0038] As a specific embodiment of the present invention, step S5 includes:

[0039] S51: Determine whether the outbound task has been completed; if yes, proceed to step S58; otherwise, proceed to step S52.

[0040] S52. Determine the target material frame in the current stacking state of the stacking area, called the fourth target material frame, and determine whether there is a blocking material frame in the fourth target material frame; if there is, proceed to step S53, otherwise proceed to step S54.

[0041] S53. Complete the retrieval operation of the fourth target material box, update the stacking status of the stacking area, and return to step S51;

[0042] S54, Branch: Based on the current node's stacking state, determine the fourth target material box, its blocking material box, and the optional placement stack. Flip the material box to be flipped to each optional placement stack to form a new stacking state as a new branch.

[0043] S55. Pruning: The branch set at depth k in the search tree of the branch and bound algorithm represents the set of branch nodes obtained after k flips of the material box in the stacking area from the initial state. For each new branch state generated in step S54, the total number of flips of the branch state is calculated using the estimation method of the lower bound of the number of flips of the material box, and the lower bound is used as the lower bound estimate. If the sum of the lower bound estimate of a branch state and the search depth k is greater than the current optimal lower bound, the branch node is pruned in this round.

[0044] S56. Update Boundaries: For a branch in the search tree, if the sum of the lower bound estimate of the branch state and the search depth k is equal to the current optimal lower bound minus 1, then use a heuristic method to solve for the total number of box flips in the branch state as the upper bound estimate. If the sum of the upper bound estimate of the branch state and the search depth k is less than the current optimal upper bound, then update the current optimal upper bound. The optimal upper bound is updated to the sum of the upper bound estimate of the branch state and the search depth k. If the optimal upper bound is equal to the optimal lower bound, then proceed to step S58; otherwise, proceed to step S57.

[0045] S57. Branch Selection: Select the branch node with the smallest lower bound value from all the next-level branch nodes that have not been pruned or traversed from the current node, and use it as the new current node. When all branches in the next level have been pruned or traversed, mark the current node as traversed and use a depth-first search to find the branch node with the smallest lower bound value layer by layer as the new current node. If the new current node is a leaf node, the branch path that reaches the leaf node is the optimal solution and step S58 is executed. When the new current node is not a leaf node, repeat steps S51-S57 until backtracking to the root node. When backtracking to the root node, the optimal lower bound value is increased by 1. Determine whether the current optimal lower bound is equal to the current optimal upper bound. If so, execute step S58. Otherwise, return to step S51 to start a new round of search.

[0046] S58. The iterative deepening search ends, and the optimal solution is returned.

[0047] Beneficial effects:

[0048] This invention provides an optimized method for the outbound flipping of material boxes in a forklift-operated high-density storage system, which can optimize the outbound flipping scheme and improve the outbound efficiency of the high-density storage system.

[0049] This invention uses a heuristic method for rapid solution and an estimation method based on the lower bound of the number of box flips to quickly determine whether an optimal solution has been found. Compared with the branch and bound algorithm, the solution process using these two methods is simpler and saves time. At the same time, even if the above two methods do not find the optimal solution, they provide the initial optimal upper and lower bounds for the branch and bound algorithm, which improves the computational efficiency of the branch and bound algorithm. Attached Figure Description

[0050] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below.

[0051] Figure 1 This is a flowchart of Embodiment 1 of the present invention;

[0052] Figure 2 This is a schematic diagram of the stockpiling state in a stockpile area according to one embodiment of the present invention;

[0053] Figure 3 This is a schematic diagram of the stockpiling state in another embodiment of the present invention. Detailed Implementation

[0054] The present invention will be further described in detail below with reference to the embodiments and accompanying drawings.

[0055] In this invention, such as Figure 2 As shown, the stacks in the stockpiling area are arranged in rows and columns, and the top view is a rectangle; corner stacks refer to the stacks located at the four corners of the rectangular frame of the stockpiling area; outer stacks refer to the stacks located on the quadrilateral formed by connecting the four corner stacks end to end, that is, the outermost stacks of the entire stockpiling area (corner stacks belong to outer stacks); inner stacks refer to the stacks located within the circle enclosed by all the outer stacks.

[0056] In this invention, a blocking frame refers to a frame that prevents a forklift from contacting the target frame. Blocking frames are divided into two categories: in-stack blocking frames and out-of-stack blocking frames. In-stack blocking frames are those located on the same stack as the target frame, i.e., directly above the target frame. Out-of-stack blocking frames are those located outside the stack containing the target frame. For example, taking the stack containing the target frame as the central stack, the stacks that the central stack passes through when moving in a straight line to outside the stacking area are blocking stacks. Frames in these blocking stacks that prevent the forklift from contacting the target frame are out-of-stack blocking frames. It should be noted that for ordinary forklifts, it is necessary to clear the blocking stacks... The target material frame can only be moved after all the material frames in the blockage stack have been flipped. At this time, all material frames in the blockage stack are blockage material frames. However, for reach trucks, which can only pick up (place) materials in the length direction of two material frames at most, it is not necessary to flip all the material frames in the blockage stack. Therefore, the material frames in the blockage stack adjacent to the target material frame with a lower layer number than the target material frame do not need to be flipped. At this time, the blockage material frames are: the material frames in the blockage stack adjacent to the target material frame with a layer number greater than or equal to the target material frame layer number, and all material frames in the blockage stack not adjacent to the target material frame.

[0057] Example 1

[0058] An optimization method for material crate turnover in a forklift-based high-density storage system includes the following steps:

[0059] S1: Collect the basic information of the stacking area, obtain the retrieval order of the bins, and initialize the stacking status of the stacking area.

[0060] In this step, the retrieval order is the outbound order of the bins. Initializing the stacking status of the stacking area includes numbering all stacks and numbering all bins (the number of each bin is P ij ), and obtaining the bay numbers of each bin (the bay number refers to the row number (bay number), column number (bay column number), and layer number (bay layer number) where the bin is located). When numbering the bins, arrange the bins to be outbound in front of the bins that do not need to be outbound, and the bins to be outbound need to be numbered in ascending order according to the retrieval order. Other bins (bins that do not need to be outbound) can be numbered randomly, but the numbers are all greater than the bins that need to be outbound. For example, assume that the total number of bins in all stacks is N, and the total number of bins to be outbound is M (M≤N). Then the bins numbered 1 to M need to be outbound, and the bin numbered i (i<M) is outbound earlier than the bin numbered i + 1. The bins numbered M + 1 to N do not need to be outbound;

[0061] S2: Use a heuristic method for fast solution to solve the upper bound UB0 of the box - turning scheme and the number of box - turning times, and set the current optimal upper bound best_ub = UB0;

[0062] This step includes performing retrieval operations on each bin to be outbound in sequence according to the retrieval order until the retrieval operation of the last bin to be outbound is completed, and counting the number of box - turning times in the retrieval operation. Specifically, this step includes the following steps:

[0063] S21: Determine whether the outbound task is completed. If so, execute step S27; otherwise, execute step S22;

[0064] S22: Take the bin with the smallest number in the current stacking status of the stacking area as the target bin, called the first target bin, and determine whether there is a blocking bin for the first target bin. If not, it can be directly outbound without box - turning operation, and directly execute step S23; if so, execute step S24; The first target bin in the internal stack can move linearly in multiple directions to the outside of the stacking area. In this embodiment, the path with the least total number of blocking bins for the first target bin is used as the box - turning path to reduce the number of box - turning times.

[0065] S23: Complete the outbound operation of the first target bin, update the stacking status of the stacking area, and return to step S21;

[0066] S24: Determine the priority sequence Q i of each stack, the bins to be box - turned, the optional stacking positions, the G - type optional stacking positions, and the B - type optional stacking positions in the current stacking status of the stacking area;

[0067] The specific rules for determination are as follows:

[0068] Stack priority number Q i For an empty stack, its stack priority number is M+1; for a non-empty stack, if the number of the smallest material frame in the stack is less than or equal to M, then the number of the smallest material frame in the stack is used as the priority number of the stack; otherwise, the stack priority number is M+1.

[0069] The boxes to be turned over are selected one by one from the outside of the stacking area to the inside, and from the top to the bottom of the stack. For example, if the stack where the first target box is located is an outer stack, then the box to be turned over is the topmost blocked box in the stack where the first target box is located, that is, the highest blocked box in the same stack. If the stack where the first target box is located is an inner stack, and there are 0 blocked boxes on one side of the stack, then the box to be turned over is the topmost blocked box in the stack where the first target box is located. If the stack where the first target box is located is an inner stack, but all the stacks around it are not empty and there are blocked boxes on the outbound path, then the box to be turned over is the topmost box in the first blocked stack from the outside to the inside of the outbound path.

[0070] Optional placement stack: a stack located outside the stack containing the first target material frame and its corresponding blocking material frame, whose height does not reach the height limit, and which can be directly placed by a forklift (i.e., a stack that does not reach the height limit and can be directly placed by a forklift, except for the stack containing the first target material frame and the stacks on the overturning path that obstruct the first target material frame from leaving the warehouse).

[0071] Class G optional stack and Class B optional stack: In the optional stack, the stack priority number Q i Stacks with a priority number higher than the box number to be flipped are classified as Class G stacks, while the rest are classified as Class B stacks.

[0072] S25: Perform the box-flipping operation according to the stacking selection rules for the box-flipping operation. The specific rules are as follows:

[0073] If there are both a G-type optional placement stack and a B-type optional placement stack, the final placement stack will be selected first from the G-type optional placement stack. Only if there is no G-type optional placement stack will the final placement stack be selected from the B-type optional placement stack.

[0074] When there are at least two optional G-type stacks to choose from, if the crate to be moved needs to be shipped out, the final stack to be moved is the stack with the smallest stack priority number among the optional G-type stacks. If the crate to be moved does not need to be shipped out, the final stack to be moved is selected in descending order of preference from the optional G-type stacks in the internal stack, the optional G-type stacks in the corner stack, and other optional G-type stacks. When there are two or more optional G-type stacks within the same priority level, for the optional G-type stacks in the internal stack and the optional G-type stacks in the corner stack, the stack with the smallest stack number is selected as the final stack to be moved. For other optional G-type stacks, the stack with the largest stack priority number is selected as the final stack to be moved.

[0075] When selecting the final placement stack from the optional placement stacks of type B, if the stack with the largest stack priority number has only 1 empty storage space, the final placement stack is the stack with the second largest stack priority number among the optional placement stacks of type B; if the stack with the largest stack priority number has more than 1 empty storage space, the final placement stack is the stack with the largest stack priority number among the optional placement stacks of type B.

[0076] S26: Obtain the crate turning path and update the stacking status of the stacking area, then return to step S22;

[0077] S27: Output the total number of box searches and the search path. The heuristic solution process ends.

[0078] S3: Use the estimation method of the lower bound of the number of box turnings to solve the box turning scheme and the lower bound LB0 of the number of box turnings, and set the current optimal lower bound best_lb = LB0, including the following steps:

[0079] S31. Calculate the number of blockage frames n in the initial state of the stockpiling area, and set the lower bound LB = n;

[0080] The rules for determining a primary blocked material frame are as follows: the material frame that needs to be removed from the warehouse is taken as the target material frame, called the second target material frame, and the blocked material frames in the same stack of the second target material frame are marked; after all the blocked material frames in the same stack of the second target material frame are marked, the marked material frames in the entire stacking area are the primary blocked material frames.

[0081] S32. Take the smallest numbered material box in the current stacking area that needs to be emptied as the target material box, called the third target material box. Determine whether the third target material box is in the internal stack. If it is, execute step S33; otherwise, execute step S35.

[0082] S33 Determine whether there is an operation to remove the blocking frame from the stacking area before searching for other frames before searching for the third target frame. If there is, terminate; otherwise, execute step S34.

[0083] S34. Determine the non-same stack blocking frames of the third target frame. The frames in the non-same stack blocking frames of the third target frame that are not marked as first-time blocking frames are newly added blocking frames. Count the number of newly added blocking frames i and update the box flipping count LB = LB + i.

[0084] S35. If the stack priority number of all optional placement stacks is less than M, then the maximum value of the stack priority number among all optional placement stacks is used as the threshold. The material box with the number greater than the threshold in the blocking material box of the third target material box is the secondary blocking material box. Otherwise, there is no secondary blocking material box. Count the number of secondary blocking material boxes j and update the number of box flipping LB = LB + j.

[0085] S36. Remove the third target material box and its blocking material box from the stacking area, update the stacking area status. If all the material boxes that need to be shipped out in the stacking area have been removed, terminate and output the total number of box flips; otherwise, repeat steps S32-S36.

[0086] S4: If best_ub = best_lb, then the heuristic method solution is the optimal solution, and proceed to step S6; otherwise, proceed to step S5.

[0087] S5: Use the branch and bound algorithm to perform a deeper iterative search and obtain the theoretical optimal solution to the problem;

[0088] S51: Determine whether the outbound task has been completed; if yes, proceed to step S58; otherwise, proceed to step S52.

[0089] S52. Determine the target material frame in the current stacking state of the stacking area, called the fourth target material frame, and determine whether there is a blocking material frame in the fourth target material frame; if there is, proceed to step S53, otherwise proceed to step S54.

[0090] S53. Complete the retrieval operation of the fourth target material box, update the stacking status of the stacking area, and return to step S51;

[0091] S54, Branch: Based on the current node's stacking state, determine the fourth target material box, its blocking material box, and the optional placement stack. Flip the material box to be flipped to each optional placement stack to form a new stacking state as a new branch.

[0092] S55: Branch Pruning: The set of branches at depth k in the search tree of the branch and bound algorithm represents the set of branch nodes obtained by the material box in the stacking area after k box flips from the initial state. Each new branch state generated in step S54 The total number of box flips in this branch state is calculated using the lower bound estimation method of the number of box flips, and this lower bound is used as the estimate. If the lower bound of a certain branch state is valued The sum of the search depths k and the current optimal lower bound best_lb is greater than the current optimal lower bound. If so, the branch node is pruned in that round;

[0093] S56: Update Bounds: For a branch in the search tree, if the lower bound of the branch's state is estimated to be... The sum of the search depth k and the current optimal lower bound best_lb minus 1, i.e. At that time, a heuristic method is used to calculate the total number of box flips for that branch state, which is then used as the upper bound estimate. If the upper bound of the branch state is estimated The sum of the search depths k and the current optimal upper bound, best_ub, means that... At that time, the current optimal upper bound will be updated. If best_ub = best_lb, then proceed to step S58; otherwise, proceed to step S57.

[0094] S57: Branch Selection: Select the branch node with the smallest lower bound estimate from all the next-level branch nodes that have not been pruned or traversed from the current node, and use it as the new current node. When all branches in the next level have been pruned or traversed, mark the current node as traversed, and use a depth-first search to find the branch node with the smallest lower bound estimate layer by layer as the new current node. If the new current node is a leaf node, that is, all the required outbound material boxes have been outbound, then the branch path that reaches the leaf node is the optimal solution and step S58 is executed. When the new current node is not a leaf node, repeat steps S51-S57 until backtracking to the root node. When backtracking to the root node, the optimal lower bound value is incremented by 1 (best_lb = best_lb + 1), and it is determined whether the current optimal lower bound best_lb is equal to the current optimal upper bound best_ub. If so, step S58 is executed; otherwise, return to step S51 to start a new round of search.

[0095] S58: The iterative deepening search ends, and the optimal solution is returned.

[0096] S6: Output a set of material box outbound and reloading schemes under this layout, and the program ends.

[0097] The following will illustrate this with specific examples. The initial stockpiling state of the stockpile area is as follows: Figure 3 As shown, material boxes 1-20 need to be released from the warehouse in sequence.

[0098] The heuristic solution for searching the boxes, obtained through calculation, is as follows:

[0099] Table 1. Box-flipping schemes obtained through heuristic methods

[0100] Serial Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Material box number 4 45 13 28 25 36 29 25 38 11 30 30 16 26 24 33 39 18 28 45 Stack number before unpacking 14 14 11 2 15 15 4 14 14 6 6 11 8 8 7 7 13 13 1 1 Stack numbering after unpacking 4 1 5 1 14 2 15 3 3 13 11 3 10 15 8 8 8 12 5 5

[0101] The lower bound of the number of times the material box is flipped is determined to be 14 using the estimation method of the lower bound of the number of times the box is flipped. Therefore, the branch and bound algorithm is used to carry out in-depth iterative search to obtain the optimal flipping scheme. The results are shown in Table 2.

[0102] Table 2. Box-flipping schemes obtained by the branch-and-bound algorithm

[0103] Serial Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Material box number 4 45 13 28 25 36 29 38 11 30 16 26 24 33 39 18 Stack number before unpacking 14 14 11 2 15 15 4 14 6 6 8 8 7 7 13 13 Stack numbering after unpacking 1 9 5 9 2 2 15 3 3 15 1 6 14 2 8 2

[0104] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the embodiments of the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for optimizing the outbound and overturning of material boxes in a forklift-operated high-density storage system, characterized in that, Includes the following steps: S1. Collect basic information about the stockpiling area, obtain the retrieval order of the material boxes, and initialize the stockpiling status of the stockpiling area; S2. Use heuristic methods to determine the box-flipping scheme and the upper bound of the number of box flips; S3. The lower bound of the number of times the material box is flipped is determined by the estimation method of the lower bound of the number of times the box is flipped. S4. If the upper bound of the number of times the boxes are turned over is equal to the lower bound of the number of times the boxes are turned over, then the box turning scheme determined in step S2 is the optimal box turning scheme, and step S6 is executed; otherwise, step S5 is executed. S5. Using the upper bound of the number of times the boxes are searched as the initial optimal upper bound and the lower bound of the number of times the boxes are searched as the initial optimal lower bound, the branch and bound algorithm is used to perform a deep iterative search to obtain the optimal box-searching scheme. S6, Output material box outbound flipping solution; The initialization of the stacking state of the stacking area in step S1 includes numbering the material boxes and numbering the stack. When numbering the material boxes, the material boxes that need to be retrieved are numbered in ascending order according to the retrieval order, and the material boxes that need to be retrieved are arranged in front of the material boxes that do not need to be retrieved. Step S2 includes: S21. Determine whether the outbound task has been completed. If yes, proceed to step S27; otherwise, proceed to step S22. S22. Take the smallest numbered material box in the current stacking state of the stacking area as the target material box, called the first target material box. Determine whether there is a blocking material box in the first target material box. If there is no blocking material box, proceed to step S23; otherwise, proceed to step S24. S23. Complete the outbound operation of the first target material box, update the stacking status of the stacking area, and return to step S21; S24. Determine the priority number of each stack, the box to be overturned, and the optional placement stack under the current stacking status of the material storage area. G Class optional placement on stack and B The class can optionally be placed on the stack; The specific rules for determination are as follows: Stack priority number: For an empty stack, its stack priority number is M +1; For non-empty stacks, when the number of the smallest frame in the stack is less than or equal to... M If the condition is met, the priority number of the material frame with the smallest number in the stack is used as the priority number of the stack; otherwise, the stack priority number is [not specified]. M +1; M This represents the total number of material frames that need to be shipped out. Boxes to be overturned: Select the blocking boxes one by one from all the blocking boxes of the first target box in the order from the outside to the inside of the stacking area and from the top to the bottom of the stack. Optional placement stack: a stack located outside the stack containing the first target material frame and its blocking material frame, whose height does not reach the height limit, and which can be directly placed by a forklift; G Class optional placement on stack and B Classes can be optionally placed on the stack: stack priority number is M+ The optional placement stack of 1, or the optional placement stack with a stack priority number greater than the number of the box to be flipped, is... G The class has an optional stack; the rest are optional stacks. B The class can optionally be placed on the stack; S25: Perform the box-flipping operation according to the stack selection rules for the box-flipping operation. The specific rules are as follows: The G The class can optionally be placed on the stack and the said B When classes can be optionally placed on the stack, the one mentioned above takes precedence. G The class can be optionally placed on the stack as the final placement stack; When there are at least two G When the optional placement stack is available, if the crate to be refurbished needs to be dispatched, the final placement stack will be as follows: G The class can be optionally placed in the stack with the smallest stack priority number; if the box to be rummaged through does not need to be shipped out, it will be placed in the internal stack in descending order of priority. G The class can be placed on the stack or in the corner stack. G Class optional placement on stack and others G The class can be selected from the optional placement stacks, and there can be two or more optional placement stacks within the same priority level. G When a class is optionally placed on the stack, for the internal stack G Classes can be placed on stacks and corner stacks. G For optional stacks, the stack with the smallest stack number is selected as the final stack. For others... G If the class can be placed on an optional stack, then the stack with the highest stack priority number will be selected as the final placement stack. From the above B When selecting the final stack for a class to be placed on, if the stack priority number is the largest... B If the number of empty bits in the optional stack is equal to 1, then the class is selected first. B The class can choose the stack with the second largest stack priority number in the stack priority list as the final stack; if the stack priority number is the largest B If the number of empty bits in the optional stack is greater than 1, then the stack with the largest priority number is selected. B The class can optionally use the placement stack as the final placement stack; S26: Obtain the crate turning path and update the stacking status of the stacking area, then return to step S22; S27: Output the total number of box searches and the search path. The heuristic solution process ends. Step S3 includes: S31. Calculate the number of primary blockage frames in the stockpiling area under the initial state. n Set the number of times the box is turned over. LB = n ; The rules for determining a primary blocked material frame are as follows: the material frame that needs to be removed from the warehouse is taken as the target material frame, called the second target material frame, and the blocked material frames in the same stack as the second target material frame are marked; after all the blocked material frames in the same stack as the second target material frame are marked, the marked material frames in the entire stacking area are the primary blocked material frames; S32. Take the smallest numbered material box in the current stacking area that needs to be emptied as the target material box, called the third target material box. Determine whether the third target material box is in the internal stack. If it is, execute step S33; otherwise, execute step S35. S33 Determine whether there is an operation to remove the blocking material frame from the stacking area in order to retrieve other material frames before searching the third target material frame. If there is, terminate; otherwise, execute step S34. S34. Determine the non-same-stack blocked material frames of the third target material frame. Material frames in the non-same-stack blocked material frames of the third target material frame that are not marked as the first blocked material frame are newly added blocked material frames. Count the number of newly added blocked material frames. i Update the number of times the box has been searched. LB = LB + i ; S35. If the stack priority number of all optional stacks is less than 1, M Then, using the maximum stack priority number among all available placement stacks as the threshold, the material frames with numbers greater than this threshold in the blocking material frames of the third target material frame are considered secondary blocking material frames; otherwise, no secondary blocking material frames exist. The number of such secondary blocking material frames is then counted. j Update the number of times the box has been searched. LB = LB + j ; S36. Remove the third target material frame and its blocking material frame from the stacking area, update the stacking area status. If all the material frames that need to be shipped out in the stacking area are removed, terminate and output the total number of box flips; otherwise, repeat steps S32-S36.

2. The method for optimizing the material crate turnover in a forklift-based high-density storage system according to claim 1, characterized in that, Step S5 includes: S51: Determine whether the outbound task has been completed; if yes, proceed to step S58; otherwise, proceed to step S52. S52. Determine the target material frame in the current stacking state of the stacking area, referred to as the fourth target material frame, and determine whether there is a blocking material frame in the fourth target material frame; if there is, proceed to step S53, otherwise proceed to step S54. S53. Complete the retrieval operation of the fourth target material frame, update the stacking status of the stacking area, and return to step S51; S54, Branch: Based on the current node's stacking state, determine the fourth target material box, its blocking material box, and the optional placement stack. Flip the material box to be flipped to each optional placement stack to form a new stacking state as a new branch. S55, Pruning: In the branch and bound algorithm, the search tree has a depth of... k The branch set represents the material frame in the stockpile area from its initial state through... k The set of branch nodes obtained after the second box flipping, and each new branch state generated in step S54, uses the estimation method of the lower bound of the box flipping count to solve for the total number of box flippings for that branch state, as the lower bound estimate. If the lower bound estimate of a certain branch state is less than the search depth... k If the sum of the values ​​is greater than the current optimal lower bound, then the branch node is pruned in this round; S56. Update Boundaries: For a branch in the search tree, if the lower bound of the branch's state is within the search depth... k If the sum equals the current optimal lower bound minus 1, then the heuristic method described above is used to calculate the total number of box flips for this branch state, which is used as the upper bound estimate. If the upper bound estimate of this branch state is close to the search depth... k If the sum is less than the current optimal upper bound, then update the current optimal upper bound. The optimal upper bound is updated to the upper bound estimate of the branch state and the search depth. k If the sum of the optimal upper bound and the optimal lower bound are equal, then proceed to step S58; otherwise, proceed to step S57. S57. Branch Selection: Select the branch node with the smallest lower bound value from all the next-level branch nodes that have not been pruned or traversed from the current node, and use it as the new current node. When all branches in the next level have been pruned or traversed, mark the current node as traversed and use a depth-first search to find the branch node with the smallest lower bound value layer by layer as the new current node. If the new current node is a leaf node, the branch path that reaches the leaf node is the optimal solution and step S58 is executed. When the new current node is not a leaf node, repeat steps S51-S57 until backtracking to the root node. When backtracking to the root node, the optimal lower bound value is increased by 1. Determine whether the current optimal lower bound is equal to the current optimal upper bound. If so, execute step S58. Otherwise, return to step S51 to start a new round of search. S58. The iterative deepening search ends, and the optimal solution is returned.

Citation Information

Patent Citations

  • Method and system for planning and scheduling stockpiling operation of dangerous goods container yard

    CN119740956A