Stacking method for two-dimensional and three-dimensional prefabricated components based on tabu algorithm and simulated annealing algorithm
Patent Information
- Application Number
- CN202310623482.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-30
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2043-05-30
AI Technical Summary
[0003]目前企业中的堆码管理大多数都为单一产品线,且采用人工考虑堆码方式,空间利用率取决于摆放人员的经验,因此这样导致了企业仓库的利用率较为低下,水平参差不齐,存在着空间资源的浪费
[0037]1、启发式算法大多不是纯数学方法,本发明借助模拟退火算法与禁忌算法两种启发式算法相结合的方式,在搜索的时引入T变量控制随机序列的生成;
Smart Images

Figure CN116777342B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of coding methods, and in particular to a method for stacking two-dimensional and three-dimensional prefabricated components. Background Technology
[0002] Stacking is a production management strategy employed by precast component manufacturers in my country for managing production lines. Stacking algorithms can quickly and efficiently calculate the optimal stacking method to ensure maximum space utilization, which is widely used in precast component manufacturing enterprises. For example, precast component manufacturers often have multiple production lines producing precast components of different specifications. In such cases, when stacking precast components in a warehouse, stacking optimization algorithms can quickly and efficiently determine the most space-efficient placement method.
[0003] Currently, most enterprise stacking management is based on a single product line and relies on manual stacking methods. Space utilization depends on the experience of the personnel, resulting in low warehouse utilization, inconsistent skill levels, and wasted space resources. Furthermore, without supporting data, manual stacking can lead to component damage and duplicate placement, wasting production and human resources. Summary of the Invention
[0004] The purpose of this invention is to provide an optimization method for stacking two-dimensional and three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm. By combining tabu algorithm and simulated annealing algorithm, the method can further improve the utilization of space and reduce the overhead of program time. In addition, this invention covers two-dimensional and three-dimensional stacking methods and can be applied to a variety of different application scenarios.
[0005] The objective of this invention is achieved as follows: an optimization method for stacking two-dimensional and three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm, comprising the following steps:
[0006] Step 1) First, obtain the data table to be stacked, and construct the dataset based on the data table;
[0007] Step 2) Next, select a two-dimensional or three-dimensional stacking method based on the content of the dataset, and perform a random search of the solution space based on the provided dataset to obtain an initial solution;
[0008] Step 3) Again, the initial solution sequence is perturbed using the variable T in the simulated annealing algorithm to generate a new sequence, and the generated new sequence is stored in the tabu list to prevent repeated searches, and the utilization rate of the new sequence is judged.
[0009] Step 4) Finally, when the loop ends, the global optimal solution is obtained and the placement information of the solution is output.
[0010] As a further limitation of the present invention, step 1) specifically involves: the table data includes the length and width of a two-dimensional rectangle and the length, width and height of a three-dimensional cuboid, constructing an ordered dataset. This dataset is a list, and each object is assigned a serial number, length, width and height, and its area and volume are calculated according to the input order.
[0011] As a further limitation of the present invention, if the dataset in step 2) is required to be a two-dimensional stacking method, then the following steps are included:
[0012] Step 2-1) Construct a list of rectangles based on the dataset; use the current system time in milliseconds as the seed for random number generation, and perform a random number generation operation on the list of rectangles to generate a new list of rectangles, InitGh.
[0013] Step 2-2) Use a loop to traverse the data in the rectangular list; when each object to be placed is found, score the point; if the score of the point is higher than the current highest score, replace the current highest score with the score of the point; if the score of the current point is valid, rotate the rectangle according to the dataset requirements; delete the placement point of the point, which is regarded as placing an object there; at the same time, generate two placement points and add them to the placement point list; delete the already placed object in the rectangular list; add the placed object to the rectangular solution list; when the rectangular list query ends, the rectangular solution list is the required solution returned to the upper-level function; this solution is regarded as the initial solution.
[0014] As a further limitation of the present invention, if the dataset in step 2) is required to be in a three-dimensional stacking manner, then the following steps are included:
[0015] Steps 2-3) Construct a list of cubes based on the dataset; use the current system time in milliseconds as the seed for random number generation, and perform a random number generation operation on the list of cubes to generate a new list of cubes, InitGhFor3D.
[0016] Steps 2-4) Push the space to be placed onto the stack as a space object;
[0017] Steps 2-5) First, filter the cube list to select cubes that can be placed into the current stack space object, generating a new FitList. If FitList is empty, it is considered that the space object can no longer place any cubes, and the space object is popped from the stack and discarded. If FitList is not empty, take a random object from FitList and place it at the starting point of the stack top space object. Pop the space object from the stack, and use the maximum space cutting method to cut the space object into four parts whenever a cube is placed: the placed space of the same size as the cube object, the upper space above the cube, the right space to the right of the cube, and the lower space to the bottom of the cube. The length, width, and height parameters of the cube are (L, W, H), and the coordinates, length, width, and height parameters of the space object are (X0, Y0, Z0, L0, W0, H0). The corresponding four cut space objects are as follows:
[0018] First space object: (X0,Y0,Z0,L0,W0,H0)
[0019] Second space object: (X0,Y0,Z0+H,L,W,H0-H)
[0020] Third-space object: (X0,Y0+W,Z0,L,W0-W,H0)
[0021] Fourth-space object: (X0+L,Y0,Z0,L0-L,W0,H0)
[0022] The first space object has been placed, and the remaining three space objects are empty. The volume of these three space objects is calculated and sorted, and then pushed onto the stack in descending order of volume.
[0023] Steps 2-6) Repeat the steps 2-5) until the current stack is empty. This is considered as the solution space search is complete. Output the current solution cube placement sequence as the initial solution.
[0024] As a further limitation of the present invention, if the dataset in step 3) is required to be a two-dimensional stacking method, then the following steps are included:
[0025] Step 3-1) First, using the temperature T value defined in simulated annealing as a disturbance factor, the rectangular arrangement sequence in the initial solution sequence InitGh is randomly shuffled to generate a new sequence, and this new sequence is stored in the tabu list. If the new sequence exists in the tabu list, step 3-2) is skipped, and the initial solution order is shuffled again to generate a new sequence. As described in step 2-1), this new sequence is considered to be the random sequence generated in step 2-1), and the function operation in step 2-2) is repeated. The generation of the new solution no longer depends on the completely randomly generated rectangular sequence, but is based on a reason and evolves from the previous solution.
[0026] Step 3-2) Next, for the new sequence that has changed the rectangle sequence, the changed sequence may not be able to be placed correctly according to the placement rules. There may be multiple rectangles covering each other, the rectangle spacing may be less than the required value, etc. While forming a new solution based on the old solution, judge whether there is a rectangle covering and stacking problem based on the difference between the position of each rectangle and the current sequence. When a rectangle covering and stacking problem occurs, discard the current rectangle and randomly select a rectangle that meets the conditions from the input dataset to put in.
[0027] As a further limitation of the present invention, if the dataset in step 3) is required to be in a three-dimensional stacking manner, then the following steps are met:
[0028] Step 3-3) First, for the obtained initial solution sequence InitGhFor3D, the temperature T value defined in simulated annealing is used as a perturbation factor to randomly shuffle the rectangular arrangement sequence in the initial solution sequence InitGhFor3D to generate a new sequence Temp, and this new sequence is stored in the tabu list. If the new sequence exists in the tabu list, step 3-4) is skipped, and the initial solution order is shuffled again to generate a new sequence. As described in step 2-3), this new sequence is considered to be the random sequence generated in step 2-3), and the function operation in step 2-5) is repeated. The generation of the new solution no longer depends on the completely randomly generated cube sequence, but is based on a reason and evolves from the previous solution.
[0029] Steps 3-4) Secondly, as described in step 3-2), shuffling the solution sequence in three-dimensional space will also lead to cube stacking and repeated space occupation. When solving the shuffled sequence, a simulated placement is performed on the sequence. When a cube cannot be placed in the space during the simulated placement, the current cube is discarded, and a cube that meets the conditions is selected from the cube dataset for placement. If no cube meets the conditions, a stack operation is performed on the current placement space, and the space is regarded as an indivisible space and discarded.
[0030] As a further limitation of the present invention, step 4) specifically includes:
[0031] If the dataset requires a two-dimensional stacking method, then repeat steps 3-1) and 3-2).
[0032] If the dataset requires a three-dimensional stacking method, then repeat steps 3-3) and 3-4).
[0033] For each temperature during simulated annealing, a certain number of search iterations are set. Each time the step is repeated, the optimal solution in the neighborhood of the current solution and the optimal solution at the current temperature are calculated. Based on the characteristics of the simulated annealing algorithm, if the current solution is lower than the optimal solution in the neighborhood at the current temperature, there is a certain probability P that the current solution will be accepted as the optimal solution in the neighborhood. The acceptance formula is as follows:
[0034]
[0035] In the above formula, P is the probability of continuing the iteration, e is the base of the natural logarithm, and E t+1 E represents the current solution utilization rate. t The optimal solution utilization rate is given by k, the iteration coefficient, and T, the current search temperature. The above operation is repeated continuously until the temperature T drops to the target value, at which point the search is considered complete. The optimal solution utilization rate, best sequence, computation time, and other parameters are output.
[0036] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0037] 1. Most heuristic algorithms are not purely mathematical methods. This invention combines two heuristic algorithms, simulated annealing and tabu algorithm, and introduces a T variable to control the generation of random sequences during the search.
[0038] 2. In addition, to avoid unnecessary repeated searches, this invention adds the already searched sequences to a tabu list. When a new solution sequence exists in the tabu list, the search is abandoned, thereby saving machine resources.
[0039] 3. It realizes two-dimensional and three-dimensional stacking methods, which can cope with a variety of different usage scenarios and improve the utilization rate of enterprise warehouse storage space. Attached Figure Description
[0040] Figure 1 This is a flowchart of the two-dimensional algorithm in this invention.
[0041] Figure 2 This is a flowchart of the three-dimensional algorithm in this invention.
[0042] Figure 3 This is a schematic diagram of the maximum space cutting used in the three-dimensional algorithm of this invention. Detailed Implementation
[0043] Example 1
[0044] like Figure 1 The method shown is an optimization method for stacking two-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm, which includes the following steps.
[0045] Step 1) Prepare a dataset: This dataset is a set of data that is individually specified and partially randomly generated, including: the length and width of the space to be placed, the rectangle rotation parameters, the rectangle spacing, and 100 sets of randomly generated rectangle length and width data.
[0046] Data processing: The four parameters—length (L), width (W), rectangle rotation parameters, and rectangle spacing (Dist)—are located in the first line of the input file and are responsible for initializing the program. The subsequent 100 sets of randomly generated rectangle length and width data are input as a list, and the area of each rectangle is calculated and stored in this list, List_Instance, during input.
[0047] Step 2) Generate the initial solution: Based on the data in the List_Instance list, using the current system time in milliseconds as the seed, the List_Instance list is shuffled to generate a new rectangle list InitGh. A loop iterates through the data in the rectangle list InitGh. Each time an object to be placed is found, its score is determined. If the score of the current point is higher than the current highest score, the current highest score is replaced with the current point's score. If the current point's score is valid, (if required by the dataset) the rectangle is rotated; the placement point of that point is removed, considered as if an object has been placed there; two placement points are generated and added to the placement point list; the already placed object is removed from the rectangle list; and the placed object is added to the rectangle solution list. When the rectangle list query is complete, the rectangle solution list is the required solution returned to the upper-level function. This solution is considered the initial solution Init_Solution.
[0048] Step 3) Searching the solution space: The initial solution sequence Init_Solution is perturbed using the variable T in the simulated annealing algorithm to generate a new sequence, which is then stored in the tabu list to prevent repeated searches. The utilization rate of the new sequence is also assessed. Repeated search of the solution space is performed. The specific steps are as follows.
[0049] Step 3-1: First, using the temperature T defined in simulated annealing as a perturbation factor, the rectangular arrangement sequence in the obtained initial solution sequence Init_Solutionh is randomly shuffled to generate a new sequence TempGh. This new sequence is then stored in the tabu list. If the new sequence TempGh exists in the tabu list, the order of the initial solution Init_Solution is shuffled again to generate a new sequence TempGh. The new sequence TempGh is the factor sequence that generates the new solution. The generation of the new solution no longer depends on the completely randomly generated rectangular sequence, but is based on a specific reason and evolves from the previous solution.
[0050] Step 2: Secondly, for the new sequence TempGh that has already modified the rectangle sequence, the modified sequence may not be able to be placed correctly according to the placement rules. Multiple rectangles may overlap, or the rectangle spacing may be less than the required value. To address these issues, while forming a new solution based on the old solution, the system will judge whether rectangle overlapping or stacking problems occur based on the difference between the placement position of each rectangle and the current sequence. When rectangle overlapping or overlapping problems occur, this invention will discard the current rectangles and randomly select rectangles that meet the conditions from the input dataset for placement.
[0051] Step 3: During the search, a certain number of search iterations are set for each temperature during simulated annealing. After the search based on the sequence TempGh is completed, a Temp_Solution is obtained. For each temperature, there exists a local optimal solution (Local_Solution) in the search space. The Temp_Solution is compared with the local optimal solution. If the Temp_Solution is better, it is made the local optimal solution. Furthermore, according to the characteristics of the simulated annealing algorithm, if the current solution is lower than the local optimal solution for the current temperature, there is a certain probability P that the current solution is accepted as the local optimal solution. The acceptance formula is as follows:
[0052]
[0053] In the above formula, P is the probability of continuing the iteration, e is the base of the natural logarithm, and E t+1 E represents the current solution utilization rate. t Let k be the utilization rate of the current local optimal solution, k be the iteration coefficient, and T be the current search temperature. Repeat the above operation continuously. Whenever a search is completed at a temperature T, compare the current local optimal solution (Local_Solution) with the global optimal solution (Best_Solution), and select the better one as the new global optimal solution (Best_Solution).
[0054] Step 4) Obtain the optimal solution: When the loop ends, the global optimal solution Best_Solution is the final optimal solution; output parameters such as the utilization rate, best sequence, and computation time of the optimal solution.
[0055] Example 2
[0056] like Figure 2-3 The method shown is an optimization method for stacking three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm, which includes the following steps.
[0057] Step 1) Prepare a dataset: This dataset is a set of data that is individually specified and partially randomly generated, including: the length, width and height of the space to be placed, the cube spacing, and 130 sets of randomly generated cube length, width and height data.
[0058] Data Processing: The four parameters—length L, width W, height H, and cube spacing Dist—are located in the first line of the input file and are responsible for initializing the program. The subsequent 130 sets of randomly generated cube length and width data are input in list form. At the time of input, the volume B of the cube and the area S of its projection onto the ground are calculated and stored in the list List_Instance.
[0059] Step 2) Generate the initial solution, specifically including...
[0060] Step 2-1) First, based on the data in the List_Instance list, using the current system time in milliseconds as the seed for random number generation, the List_Instance list is shuffled to generate a new cube list, InitGhFor3D. The space to be placed is pushed onto the stack as a space object, initialized as (X0, Y0, Z0, L, W, H). Here, X0, Y0, and Z0 are all 0, and L, W, and H are the input dimensions (length, width, and height) of the space to be placed, which differs from the L, W, and H described below.
[0061] Step 2-2) Next, filter the cube list `InitGhFor3D` to select cube objects that can be placed into the current stack space object, generating a new `FitList`. If `FitList` is empty, it is considered that the space object can no longer place any cubes, and the space object is popped from the stack and discarded; if `FitList` is not empty, take a random object from `FitList` and place it at the starting point of the stack top space object. Pop the space object from the stack, and using the maximum space cutting method, whenever a cube is placed, the space object is cut into four parts: the placed space of the same size as the cube object, the upper space above the cube, the right space to the right of the cube, and the lower space to the bottom of the cube. The cube's length, width, and height parameters are (L, W, H), and the space object's coordinates and dimensions are (X0, Y0, Z0, L0, W0, H0). The corresponding four cut space objects are shown below:
[0062]
[0063] The first space object has been placed, and the remaining three space objects are empty. The volume of these three space objects is calculated and sorted, and then pushed onto the stack in descending order of volume.
[0064] Steps 2-3) Repeat the above steps until the current stack is empty. This is considered as the solution space search is complete. Output the current solution cube placement sequence, which is considered as the initial solution Init_Solution.
[0065] Step 3) Searching the solution space: The initial solution sequence Init_Solution is perturbed using the variable T in the simulated annealing algorithm to generate a new sequence, which is then stored in the tabu list to prevent repeated searches. The utilization rate of the new sequence is also assessed. The specific steps for repeatedly searching the solution space are as follows.
[0066] Step 3-1) First, using the temperature T defined in simulated annealing as a perturbation factor, the rectangular arrangement sequence in the obtained initial solution sequence Init_Solution is randomly shuffled to generate a new sequence Temp. This new sequence is then stored in the tabu list. If the new sequence Temp exists in the tabu list, the order of the initial solution Init_Solution is shuffled again to generate a new sequence Temp. The new sequence Temp is the factor sequence that generates the new solution. The generation of the new solution no longer depends on the completely randomly generated rectangular sequence, but is based on a specific reason and evolves from the previous solution.
[0067] Step 3-2) Secondly, shuffling the solution sequence in three-dimensional space can also lead to cube stacking and redundant space occupation. To avoid this problem, this invention performs a simulated placement of the shuffled sequence when solving for it. This simulated placement also conforms to the maximum space cutting method, and the corresponding formula theory is completely consistent with formula (1). When a cube cannot be placed in space during the simulated placement, the current cube is discarded, and a cube that meets the conditions is selected from the cube dataset for placement. If no cube meets the conditions, a stack operation is performed on the current placement space, and the space is regarded as an indivisible space and discarded.
[0068] In step 3-3), during the search, a certain number of search iterations are set for each temperature during simulated annealing. After the search based on the sequence TempGh is completed, a Temp_Solution is obtained. For each temperature, there exists a local optimal solution (Local_Solution) in the search space. The Temp_Solution is compared with the local optimal solution. If the Temp_Solution is better, it is made the local optimal solution. Furthermore, according to the characteristics of the simulated annealing algorithm, if the current solution is lower than the local optimal solution for the current temperature, there is a certain probability P that the current solution is accepted as the local optimal solution. The acceptance formula is as follows:
[0069]
[0070] In the above formula, P is the probability of continuing the iteration, e is the base of the natural logarithm, and E t+1 E represents the current solution utilization rate. t Let k be the utilization rate of the current local optimal solution, k be the iteration coefficient, and T be the current search temperature. Repeat the above operation continuously. Whenever a search is completed at a temperature T, compare the current local optimal solution (Local_Solution) with the global optimal solution (Best_Solution), and select the better one as the new global optimal solution (Best_Solution).
[0071] Step 4) Obtain the optimal solution: When the loop ends, the global optimal solution Best_Solution is the final optimal solution; output parameters such as the utilization rate, best sequence, and computation time of the optimal solution.
[0072] This invention is not limited to the above embodiments. Based on the technical solutions disclosed in this invention, those skilled in the art can make some substitutions and modifications to some of the technical features without creative effort, and all such substitutions and modifications are within the protection scope of this invention.
Claims
1. An optimization method for stacking two-dimensional and three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm, characterized in that, Includes the following steps: Step 1) First, obtain the data table to be stacked, and construct the dataset based on the data table; Step 2) Next, select a two-dimensional or three-dimensional stacking method based on the content of the dataset, and perform a random search of the solution space based on the provided dataset to obtain an initial solution. If the dataset requires a two-dimensional stacking method in Step 2), then the following steps are included: Step 2-1) Construct a list of rectangles based on the dataset; use the current system time in milliseconds as the seed for random number generation, and shuffle the list of rectangles to generate a new list of rectangles, InitGh. Step 2-2) Use a loop to traverse the data in the rectangular list; when each object to be placed is found, score the placement point; if the score of the placement point is higher than the current highest score, replace the current highest score with the score of the placement point; if the score of the current placement point is valid, rotate the rectangle according to the dataset requirements; delete the placement point at that point, as if an object has been placed there; generate two placement points and add them to the placement point list; delete the already placed object from the rectangular list; add the placed object to the rectangular solution list; when the rectangular list query ends, the rectangular solution list is the required solution returned to the upper-level function; this solution is considered the initial solution. If the dataset in step 2) is required to be a three-dimensional stacking method, then the following steps are included: Step 2-3) Construct a list of cubes based on the dataset; use the current system time in milliseconds as the seed for random number generation, and perform a randomization operation on the list of cubes to generate a new list of cubes, InitGhFor3D. Steps 2-4) Push the space to be placed onto the stack as a space object; Steps 2-5) First, filter the cube list to select cubes that can be placed into the current stack space object, generating a new FitList. If FitList is empty, it is considered that the space object can no longer place any cubes, and the space object is popped from the stack and discarded. If FitList is not empty, take a random object from FitList and place it at the starting point of the stack top space object. Pop the space object from the stack, and use the maximum space cutting method to cut the space object into four parts whenever a cube is placed: the placed space of the same size as the cube object, the upper space above the cube, the right space to the right of the cube, and the lower space to the bottom of the cube. The length, width, and height parameters of the cube are (L, W, H), and the coordinates, length, width, and height parameters of the space object are (X0, Y0, Z0, L0, W0, H0). The corresponding four cut space objects are as follows: First space object: (X0, Y0, Z0, L0, W0, H0) Second space object: (X0, Y0, Z0+H, L, W, H0-H) Third-space objects: (X0, Y0+W, Z0, L, W0-W, H0) Fourth-space objects: (X0+L, Y0, Z0, L0-L, W0, H0) The first space object has been placed, and the remaining three space objects are empty. The volume of these three space objects is calculated and sorted, and then pushed onto the stack in descending order of volume. Steps 2-6) Repeat the steps 2-5) until the current stack is empty. This is considered as the solution space search is complete. Output the current cube placement sequence as the initial solution. Step 3) Again, the initial solution sequence is perturbed using the variable T from the simulated annealing algorithm to generate a new sequence. This new sequence is then stored in the tabu list to prevent repeated searches. The utilization rate of the new sequence is then assessed. If the dataset in step 3) requires a two-dimensional stacking method, the following steps are included: Step 3-1) First, using the temperature T value defined in simulated annealing as a disturbance factor, the rectangular arrangement sequence in the initial solution sequence InitGh is randomly shuffled to generate a new sequence, and this new sequence is stored in the tabu list. If the new sequence exists in the tabu list, skip step 3-2), and shuffle the initial solution order again to generate a new sequence. This new sequence is considered to be the random sequence generated in step 2-1), and the function operation in step 2-2) is repeated. The generation of the new solution no longer depends on the completely randomly generated rectangular sequence, but is derived from the previous solution in a definite manner. Step 3-2) Next, while forming a new solution based on the old solution, determine whether there is a rectangle overlapping problem based on the difference between the position of each rectangle and the current sequence; when a rectangle overlapping problem occurs, discard the current rectangle and randomly select a rectangle that meets the conditions from the input dataset to put it in. If the dataset in step 3) is required to be a three-dimensional stacking method, then the following steps are included: Step 3-3) First, for the obtained initial solution sequence InitGhFor3D, the temperature T value defined in simulated annealing is used as a disturbance factor to randomly shuffle the rectangular placement sequence in the initial solution sequence InitGhFor3D to generate a new sequence Temp, and the new sequence is stored in the tabu list. If the new sequence exists in the tabu list, then step 3-4) is skipped, and the initial solution order is shuffled again to generate a new sequence; the new sequence is regarded as the random sequence generated in step 2-3), and the function operation in step 2-5) is repeated. The generation of the new solution no longer depends on the completely randomly generated cube sequence, but is based on the evolution from the previous solution; Steps 3-4) Next, when solving the shuffled sequence, simulate the placement of the sequence; when a cube cannot be placed in the space during the simulation, discard the current cube and select a cube that meets the conditions from the cube dataset to put it in. If no cube meets the conditions, perform a stack operation on the current placement space, regard the space as an indivisible space and discard it. Step 4) Finally, when the loop ends, the global optimal solution is obtained and the placement information of the solution is output.
2. The optimization method for stacking two-dimensional and three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm as described in claim 1, characterized in that, Step 1) specifically involves: the table data contains the length and width of a two-dimensional rectangle and the length, width and height of a three-dimensional cuboid, constructing an ordered dataset. This dataset is a list, and each object is assigned a serial number, length, width and height, and its area and volume are calculated according to the input order.
3. The optimization method for stacking two-dimensional and three-dimensional prefabricated components based on a combination of tabu algorithm and simulated annealing algorithm as described in claim 1, characterized in that, Step 4) specifically refers to: If the dataset requires a two-dimensional stacking method, then repeat steps 3-1) and 3-2). If the dataset requires a three-dimensional stacking method, then repeat steps 3-3) and 3-4). For each temperature during simulated annealing, a certain number of search iterations are set. Each time the step is repeated, the optimal solution in the neighborhood of the current solution and the optimal solution at the current temperature are calculated. Based on the characteristics of the simulated annealing algorithm, if the current solution is lower than the optimal solution in the neighborhood at the current temperature, there is a certain probability P that the current solution will be accepted as the optimal solution in the neighborhood. The acceptance formula is as follows: ; In the above formula, P is the probability of continuing the iteration, e is the base of the natural logarithm, and E t+1 E represents the current solution utilization rate. t The optimal solution utilization rate is given by k, the iteration coefficient, and T, the current search temperature. The above operation is repeated until the temperature T drops to the target value, at which point the search is considered complete. The utilization rate, optimal sequence, and computation time parameters of the optimal solution are output.
Citation Information
Patent Citations
Multi-box type three-dimensional boxing optimization method and system based on multi-way tree search
CN114048926A