Roller three-dimensional warehouse scheduling method

By using a three-dimensional roll storage scheduling method, and optimizing roll pairing through data modeling and recursive pruning algorithms, the problem of low roll management efficiency in steel rolling mills was solved, achieving efficient pairing with minimal pallet usage while meeting the roll reserve requirements of the rolling mill.

CN120509637BActive Publication Date: 2026-08-25ANSHAN KEDE ROLL SURFACE TREATMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510543728.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2026-08-25
Estimated Expiration
2045-04-28

AI Technical Summary

Technical Problem

The existing management of rolls in steel rolling mills has problems such as complex roll matching, low AGV handling efficiency, traditional scheduling does not consider the coupling relationship between roll matching conditions and pallet loading, and roll matching algorithms cannot achieve multi-objective optimization.

Method used

A three-dimensional roll library scheduling method is adopted, which involves roll data modeling, calculating the theoretical minimum number of trays, generating candidate roll pairing data and performing fast sorting, and combining it with an improved recursive pruning algorithm for multi-objective optimization matching to achieve tray-roll coupling optimization.

Benefits of technology

It improved the efficiency of roll pairing, reduced the number of AGV handling operations, optimized the number of pallets used, met the needs of the rolling mill for spare rolls, and improved production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120509637B_ABST
    Figure CN120509637B_ABST
Patent Text Reader

Abstract

The present application relates to the field of steel plate or strip production, and particularly relates to a roller three-dimensional warehouse scheduling method, which specifically comprises the following steps: roller data modeling; calculating the theoretical minimum tray number; generating roller candidate pairing data and saving in an array; quickly sorting the candidate pairing; multi-objective optimization matching; S6, outputting the selected tray result, and completing the standby roller task assignment. The present application has the following advantages: a tray-roller coupling optimization model is adopted, the least tray set covering all target rollers is found by traversing the roller tray combination, the roller pairing principle and the number of standby rollers are satisfied, and the demand for the least number of trays to be discharged from the warehouse is also satisfied; a multi-objective optimization matching is adopted: an improved recursive pruning algorithm is used, the "minimum tray number to be discharged from the warehouse" is taken as the main target, and the "small-diameter roller pairing priority" is taken as the secondary target, so that the optimal roller combination scheme is determined, the specific roller tray discharge combination scheme is generated, and the AGV carrying frequency is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of steel plate or strip production, and more particularly to a method for scheduling a three-dimensional roll storage system. Background Technology

[0002] The roll room of a multi-roll mill is an important part of a steel rolling plant, mainly used for the storage, turnover, and maintenance of rolls. However, many production plants currently have the following problems and deficiencies in roll management:

[0003] 1. Current Management Status and Problems:

[0004] The use of rolls on the mill requires a combination of conditions, including diameter range, roll diameter difference, roll type, and surface roughness, which makes roll matching complex and requires a lot of manual intervention.

[0005] In conventional automated warehouses, the specifications of the rolls stored on the same pallet are scattered, which means that different pallets need to be called up multiple times for each production run, resulting in low AGV handling efficiency.

[0006] 2. Limitations of traditional scheduling:

[0007] Traditional automated warehouse scheduling operates on simple rules of "first-in, first-out" or manual selection, without considering the coupling relationship between roll pairing conditions and pallet loading.

[0008] 3. Shortcomings of the roller matching algorithm:

[0009] Existing roll matching algorithms mostly rely on manual matching outside the roll storage system, which cannot achieve multi-objective collaborative optimization of "minimum number of pallets to be dispatched" and "automatic roll matching by the roll matching algorithm". Summary of the Invention

[0010] The purpose of this invention is to provide a method for scheduling rolls in an automated warehouse, which combines an automatic roll allocation algorithm with dynamic inventory management to optimize roll scheduling.

[0011] To achieve the above objectives, the present invention provides the following technical solution:

[0012] A method for scheduling a three-dimensional roll storage system, specifically including:

[0013] S1, Roll data modeling;

[0014] S2. Calculate the theoretical minimum number of trays;

[0015] S3. Generate candidate roll pairing data and save it in an array;

[0016] S4. Perform quick sorting on candidate pairs;

[0017] S5. Multi-objective optimization matching;

[0018] S6. Output the selected pallet result and complete the roll preparation task.

[0019] In S1, the roll data modeling includes:

[0020] S11 establishes a roll database to record the parameters of each roll, the pallet number of each roll, and the position of each roll within the pallet;

[0021] S12. Define a pairing rule base and pair the rolls according to the rolling mill's roll pairing principle.

[0022] In S11, the parameters of each roll include diameter, roll type, and roughness. When the rolls are loaded into the tray, rolls with the same roll type and roughness and whose diameter difference is less than or equal to the set value must be loaded into the same tray. Based on the number of trays and the number of rolls in each tray (the number of rolls in each tray is equal), a two-dimensional array RollList is generated. The number of rows in the two-dimensional array RollList corresponds to the number of trays, the number of columns in the two-dimensional array RollList corresponds to the number of rolls in each tray, and the elements in the two-dimensional array RollList are the corresponding roll diameters.

[0023] In S12, the principles for roller matching include:

[0024] The roller type and surface roughness must be the same;

[0025] The diameter difference between each pair of rolls is less than or equal to the set value;

[0026] The average diameter of each pair of rolls is within the target set diameter range;

[0027] Prepare rolls according to the number of roll pairs required by the rolling mill;

[0028] Small-diameter rolls are preferred.

[0029] In S2, the theoretical minimum number of trays is calculated using the following formula:

[0030] theoreticalMin=Ceil(MAX_PAIRS*2 / Row_VAL) ⑤

[0031] In Formula ⑤, theoreticalMin represents the minimum number of pallets theoretically required for spare rolls, which is the minimum number of rows theoretically required for the two-dimensional array, in units of 1; MAX_PAIRS represents the number of spare rolls required, in units of 1 pair; Row_VAL represents the number of rolls in each pallet, in units of 1 piece, which is the number of columns in the two-dimensional array; Ceil() is the round-up function, Ceil() = -Int(-num), where num = MAX_PAIRS * 2 / Row_VAL.

[0032] In S3, candidate roll pairing data is generated and stored in an array, as follows:

[0033] S31. Define a two-dimensional array pairList and pre-allocate storage space;

[0034] Iterate through the two-dimensional array RollList, generating value pairs. Pack the six variables of the value pairs that meet the conditions into a two-dimensional array pairList. The parameters of the two-dimensional array pairList are as follows:

[0035] pairList(pairCount)=Array(num1,num2,iRow1,iCol1,iRow2,iCol2) ⑥

[0036] In parameter ⑥, num1 and num2 represent the diameter values ​​of the candidate roll pair; iRow1 and iCol1 represent the positions (row and column) of the first roll diameter value in the candidate pair; iRow2 and iCol2 represent the positions (row and column) of the second roll diameter value in the candidate pair; and pairCount represents the current roll candidate pair counter, used to determine the storage location of the corresponding row.

[0037] S32, Layered Traversal Mechanism

[0038] The RollList array is traversed sequentially from the outermost to the innermost layer using a four-level nested loop structure.

[0039] The outer loop (iRow1) iterates through all tray (rows);

[0040] The second loop (iCol1) iterates through all columns of the current row (corresponding to the rollers in the tray);

[0041] The third loop (iRow2) iterates through the paired trays (rows, including the current row);

[0042] The inner loop (iCol2) iterates through the columns (corresponding rollers within the pallets) of the paired pallets (rows);

[0043] S33, Optimization of the starting column of the paired pallet (row) (i.e., the corresponding roller in the pallet);

[0044] The IIF function is used to select the starting column (i.e., the corresponding roller within the pallet) of the paired pallet (row). The formula is as follows:

[0045] startCol=IIf(iRow2=iRow1,iCol1+1,1) ⑦

[0046] In formula ⑦, startCol represents the starting column of the paired tray (row);

[0047] When comparing the same pallet (row) (iRow2 = iRow1), the roller pairing is traversed starting from the next column (i.e. the corresponding roller in the pallet) to avoid self-pairing;

[0048] When comparing different pallets (rows), pairing begins with the first column (i.e., the corresponding roller within the pallet).

[0049] S34. The pairing process employs a dual-verification optimization mechanism, with the specific steps as follows:

[0050] First, filter the pallets containing rolls that meet the requirements of the rolling mill by using conditional queries;

[0051] First, verify the validity of the individual roll diameter value. The verification condition is that the traversed individual roll diameter value dia should meet the following conditions:

[0052] MIN_VAL-DELTA_LIMIT / 2≤dia≤MAX_VAL+DELTA_LIMIT / 2 ①

[0053] In Formula ①, MIN_VAL represents the lower limit of the target set diameter range in mm, DELTA_LIMIT represents the maximum target set roller diameter difference in mm, and MAX_VAL represents the upper limit of the target set diameter range in mm.

[0054] Next, verify the pairing conditions for the two roll diameter values, namely the average roll diameter Avg and the roll diameter difference Delta. The specific calculation formula is as follows:

[0055] Avg=(num1+num2) / 2 ②

[0056] Delta = Abs(num1 - num2) ③

[0057] Conditions to be met:

[0058] Delta ≤ DELTA_LIMIT and

[0059] MIN_VAL≤avg≤MAX_VAL ④

[0060] In Formula ②, num1 represents the diameter of the first roll in mm, num2 represents the diameter of the second roll in mm, Abs() is the absolute value function, Avg represents the average diameter of the rolls in mm, and Delta represents the difference in roll diameter in mm.

[0061] In S4, candidate pairs are quickly sorted using a divide-and-conquer strategy. The paired roll diameter values ​​in the two-dimensional array `pairList` are then quickly sorted, as follows:

[0062] By selecting a pivot element, the array is divided into two parts such that all elements in the left part are less than or equal to the pivot element, and all elements in the right part are greater than or equal to the pivot element. Then, the left and right parts are sorted recursively.

[0063] Two different sorting rules were set during recursive sorting:

[0064] If "small diameter rolls are preferred for pairing" is selected, then each pair of values ​​is compared with the smaller of the other pairs of values ​​and sorted in ascending order. This is used to prioritize the search for pairing schemes that include small diameter rolls when searching for pairing schemes in the future.

[0065] If "small diameter roll priority pairing" is not selected, then priority sorting within the same pallet (row) is used to complete priority pairing within the same pallet (row).

[0066] In S5, an improved recursive pruning algorithm is used to traverse the sorted two-dimensional array pairList. The primary objective is to achieve the minimum number of pallets to be shipped out, and the secondary objective is to prioritize the pairing of small-diameter rolls. This generates a roll pallet shipping combination scheme. The multi-objective optimization matching includes analyzing and setting pruning conditions and using an improved recursive pruning algorithm to search for candidate pairs.

[0067] S51. Analyze and set pruning conditions, including:

[0068] 1) Pruning of remaining resources

[0069] When the sum of the remaining candidate pair count (UBound-pos+1) and the current selected pair count currentCount is less than the required spare roller count MAX_PAIRS, the path that cannot achieve the goal is terminated early.

[0070] Where UBound represents the total number of candidate pairs, and pos represents the current search position;

[0071] 2) Theoretical Limit Pruning

[0072] The theoretical minimum number of rows (theoreticalMin) is calculated based on the number of rolls in each tray (Row_VAL), as shown in formula ⑤. When a solution that reaches the theoretical optimal value is found, all recursive branches are terminated immediately.

[0073] 3) Real-time optimal pruning

[0074] The row count g_MinUsedRows of the known minimum row count scheme is dynamically updated, and compared with the row count currentRows of the current scheme and the row count g_MinUsedRows of the minimum row count scheme, as shown in the following formula:

[0075] currentRows>=g_MinUsedRows ⑧

[0076] currentRows represents the number of rows in the current scheme, and g_MinUsedRows represents the number of rows in the scheme with the minimum number of rows.

[0077] If the condition in formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch should be terminated immediately.

[0078] 4) Incremental evaluation of pruning

[0079] Dynamically calculate the number of new rows newRows. If the number of new rows newRows exceeds the current minimum number of rows g_MinUsedRows, immediately backtrack.

[0080] S52. Search for candidate pairs, including:

[0081] The main loop iterates through the candidate pairs, extracts the corresponding row and column information from the two-dimensional array pairList for each pair, performs conflict checks to ensure that the two rolls are not occupied. If there is an occupation conflict, it jumps to the next pair to continue.

[0082] Record the usage status of rows (corresponding trays) in the two-dimensional array pairList into a one-dimensional array g_UsedRowsTracker. Use backtracking to save the previous state of rows (corresponding trays) in the two-dimensional array for restoration when recursively returning.

[0083] Record the usage status of columns (corresponding to the rollers in the tray) in the two-dimensional array pairList into the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts from 1, and the upper bound is determined by the number of trays that meet the filtering conditions. This is used to track the usage status of each roller for recovery when recursively returning.

[0084] Store the pairing information of the current solution into a one-dimensional array g_CurrentSolution;

[0085] If a better solution is found, update the minimum number of rows g_MinUsedRows and check if the theoretical minimum value has been reached. If so, terminate the loop; otherwise, continue the recursive search until the array has been completely traversed.

[0086] In S6, the selected pallet result is output, and the backup roller task is completed. The content is as follows:

[0087] Based on the pallet information used, the AGV is dispatched to take the corresponding pallet out of the warehouse and transport it to the rolling mill;

[0088] The roll pairing information is synchronized to the mill control system to complete the roll preparation process.

[0089] Compared with the prior art, the beneficial effects of the present invention are:

[0090] 1. By adopting a pallet-roll coupling optimization model, the roll pairing problem is transformed into a set covering problem. By traversing the roll pallet combination, the minimum pallet set that covers all target rolls is found, which satisfies both the roll matching principle and the number of spare rolls, and also meets the requirement of minimizing the number of pallets that need to be shipped out.

[0091] 2. An improved recursive pruning algorithm is adopted, which can preset pruning conditions in the recursive algorithm (such as terminating the branch when the current number of outbound roll pallets is greater than or equal to the historical best solution), and dynamically update the pruning threshold based on historical data, thereby improving computational efficiency.

[0092] 3. By generating candidate roll pairings, it is possible to select a set of rolls that meet the process parameters and diameter range based on the current roll requirements of the rolling mill (such as the average diameter range of the upper and lower rolls, roll type, and roughness), thus meeting the roll reserve requirements of the rolling mill.

[0093] 4. Multi-objective optimization matching: Using an improved recursive pruning algorithm, with "minimum number of pallets to be dispatched" as the primary objective and "priority pairing of small-diameter rolls" as the secondary objective, the optimal roll combination scheme is determined and a specific roll pallet dispatch combination scheme is generated, which effectively reduces the number of times the AGV handles the rolls and improves the efficiency of the roll preparation. Attached Figure Description

[0094] Figure 1 This is a diagram of the roller-type automated warehouse scheduling system.

[0095] Figure 2 This is a flowchart of the scheduling method for the automated roll storage system.

[0096] Figure 3 This is a diagram showing the global variable declarations in the roll storage scheduling method program.

[0097] Figure 4 This is the main program flowchart of the roll storage scheduling method.

[0098] Figure 5 This is a flowchart of the process for generating candidate pairings.

[0099] Figure 6 This is the flowchart of the candidate pair quicksort procedure.

[0100] Figure 7 This is a flowchart of the pruning and recursive backtracking algorithm for searching candidate pairs and generating pallet outbound solutions.

[0101] Figure 8 It is a flowchart of auxiliary procedures such as row count, updating the optimal solution and pairing conditions.

[0102] Figure 9This is a flowchart of the tray search results output process.

[0103] In the diagram: 101, Operation terminal; 102, Roll matching algorithm platform; 103, Rolling mill system; 104, Roll 3D library; 105, Roll grinding machine; 1021, Server. Detailed Implementation

[0104] The present invention will now be described in detail with reference to the accompanying drawings, but it should be noted that the implementation of the present invention is not limited to the following embodiments.

[0105] The following embodiments are implemented based on the technical solution of the present invention, providing detailed implementation methods and specific operation processes. However, the scope of protection of the present invention is not limited to the following embodiments. Unless otherwise specified, the methods used in the following embodiments are conventional methods.

[0106] Example 1

[0107] See Figure 2 Taking the work rolls of a 20-roll mill (hereinafter referred to as rolls) as an example, assuming that each pallet has 6 roll positions (containing 6 rolls, numbered 1-6), the pallets are stored in the racks of the roll automated storage and retrieval system, and the pallets are dispatched using AGVs (Automated Guided Vehicles). Rolls are used in pairs on the mill. When matching rolls for the mill, the rolls need to be paired according to the mill's roll matching principles.

[0108] Analysis of roll pairing requirements, as follows:

[0109] 1) When preparing rolls, it is necessary to schedule the release of pallets that meet the production conditions. In order to improve the system operating efficiency and reduce the number of AGV handling operations, the roll matching algorithm platform 102 needs to be able to automatically select pallets that meet the roll matching conditions, and it should be the solution that uses the fewest number of pallets.

[0110] 2) The roll matching task needs to be analyzed:

[0111] First, any two rolls can be paired if other conditions are met. They can be paired within a pallet or across pallets to minimize the number of pallets required. However, under the same conditions, pairing within a pallet is preferred to facilitate roll preparation.

[0112] Secondly, the rolls that meet the production conditions should be matched using the roll storage scheduling method, and the pallets that meet the production conditions should be found quickly. The matching scheme with the fewest pallets should be selected.

[0113] A method for scheduling a three-dimensional roll storage system includes:

[0114] S1. Roll data modeling, the content of which is as follows:

[0115] S11. Establish a roll database to record the parameters of each roll, the pallet number of each roll, and the position of each roll in the pallet. The parameters of each roll include diameter, roll type, and roughness. When loading rolls into the pallet, rolls with the same roll type and roughness and a diameter difference less than or equal to the set value (e.g., diameter difference less than or equal to 3mm, the set value can be modified) should be loaded into the same pallet, as shown in Table 1.

[0116] Table 1: Roll Database Parameter Table.

[0117]

[0118]

[0119] Based on the screening criteria (roughness, roll type), select the rolls and the trays containing the rolls that meet the criteria. Based on the coupling information between the trays and the rolls, namely the roll diameter, the number of trays, and the number of rolls in each tray, generate a two-dimensional array RollList. The number of rows in the two-dimensional array RollList corresponds to the number of trays, the number of columns in the two-dimensional array RollList corresponds to the number of rolls in each tray, and the elements in the two-dimensional array RollList are the corresponding roll diameters. The parameters of the two-dimensional array RollList are shown in Table 2.

[0120] Table 2: Two-dimensional array RollList for pallet and roll coupling information.

[0121]

[0122] As shown in the table above, the two-dimensional array RollList has 10 rows and 6 columns, representing a total of 10 pallets, each with 6 rollers, and the elements in the array are the diameters of the corresponding rollers.

[0123] S12. Define a pairing rule library and pair the rolls according to the rolling mill's roll matching principle;

[0124] The principles of roller matching include:

[0125] The diameter difference between each pair of rolls, DELTA_LIMIT, is less than or equal to the set value, and DELTA_LIMIT ≤ 3mm.

[0126] The average diameter of each pair of rolls is within the target set diameter range (MIN_VAL to MAX_VAL), 61.5-62.8 mm;

[0127] Prepare 6 pairs of rolls according to the required number of roll pairs MAX_PAIRS for the rolling mill.

[0128] The decision on whether to prioritize the use of small-diameter rolls is based on the "small-diameter rolls priority pairing" option in the mill's spare roll requirements, assuming that the option has been selected.

[0129] S2. Calculate the theoretical minimum number of rows, see Figure 4 The formula is as follows:

[0130] theoreticalMin=Ceil(MAX_PAIRS*2 / Row_VAL) ⑤

[0131] In formula ⑤, theoreticalMin represents the minimum number of pallets theoretically required for spare rolls, which is the minimum number of rows theoretically required in the two-dimensional array, in units of 1; MAX_PAIRS represents the required number of spare rolls, in units of 1 pair; Row_VAL represents the number of rolls in each pallet, in units of 1 roll, which is the number of columns in the two-dimensional array; Ceil() is the floor function, Ceil() = -Int(-num), where num = MAX_PAIRS * 2 / Row_VAL. Substituting the above values:

[0132] theoreticalMin=Ceil(6*2 / 6)=-Int(-6*2 / 6)=2, therefore the theoretical minimum number of trays is 2.

[0133] S3. Initialize the tracking array

[0134] See Figure 3 and Figure 4 Three dynamic arrays are used for conditional search, named g_UsedRowsTracker, g_UsedCellsTracker and g_CurrentSolution respectively;

[0135] Where: g_UsedRowsTracker is a one-dimensional array whose size is equal to the number of trays in the three-dimensional library that meet the filtering criteria. This array is used to mark the row (tray) that has been used.

[0136] g_UsedCellsTracker is a two-dimensional array. The lower bound of the array starts from 1, and the upper bound is determined by the number of trays that meet the screening criteria. It is used to track the usage status of each data point (roller diameter).

[0137] g_CurrentSolution is a one-dimensional array whose size is determined by MAX_PAIRS, used to store the pairing information of the current solution.

[0138] S4. Generate candidate roll pairs and write them into a two-dimensional array pairList. Figure 5 ;

[0139] Numeric pairs are generated by iterating through a two-dimensional array RollList using nested loops. Conditional checks (see formulas ① and ④) are used to filter pairs that meet the criteria, and these pairs are then stored in a two-dimensional array pairList of Variant data type. Storage space is pre-allocated for the pairList array (assuming 10,000 elements). During iteration, the six variables of each matching pair are packaged and stored in the pairList array. The parameters of pairList are as follows:

[0140] pairList(pairCount)=Array(num1, num2, iRow1, iCol1, iRow2, iCol2) ⑥

[0141] In parameter ⑥, num1 and num2 represent the diameter values ​​of the candidate roll pair; iRow1 and iCol1 represent the positions (row and column) of the first roll diameter value in the candidate pair; iRow2 and iCol2 represent the positions (row and column) of the second roll diameter value in the candidate pair; and pairCount represents the current roll candidate pair counter, used to determine the storage location of the corresponding row.

[0142] S41. Pre-allocate storage space for the two-dimensional array pairList;

[0143] First, pre-allocate sufficient storage space for the array pairList (assuming 10,000 elements) to prevent frequent adjustments to the storage space size during traversal, which would reduce computational efficiency.

[0144] S42, Layered traversal mechanism;

[0145] The RollList array is traversed sequentially from the outermost to the innermost layer using a four-level nested loop structure.

[0146] The outer loop (iRow1) iterates through all tray (rows);

[0147] The second loop (iCol1) iterates through all columns of the current row (corresponding to the rollers in the tray);

[0148] The third loop (iRow2) iterates through the paired trays (rows, including the current row);

[0149] The inner loop (iCol2) iterates through the columns (corresponding rollers within the pallets) of the paired pallets (rows);

[0150] This hierarchical design ensures that each element is paired only with subsequent elements, avoiding duplicate and reverse pairings.

[0151] S43. Optimize the starting column of the paired pallet (row) (i.e., the corresponding roller in the pallet);

[0152] The IIF function is used to select the starting column (i.e., the corresponding roller within the pallet) of the paired pallet (row). The formula is as follows:

[0153] startCol=IIf(iRow2=iRow1, iCol1+1, 1) ⑦

[0154] In formula ⑦, startCol represents the starting column of the paired tray (row);

[0155] When comparing the same pallet (row) (iRow2 = iRow1), the roller pairing is traversed starting from the next column (i.e. the corresponding roller in the pallet) to avoid self-pairing;

[0156] When comparing different pallets (rows), full pairing starts from the first column (i.e. the corresponding roller in the pallet), which significantly reduces the number of unnecessary comparisons;

[0157] After the two-dimensional array RollList has been traversed and all valid pairs have been stored in the two-dimensional array pairList, the unused storage space of the array pairList is released to ensure that the array size matches the actual amount of data precisely, which facilitates the subsequent transmission of data processing results.

[0158] S44. The pairing process employs a dual-verification optimization mechanism, using two levels of verification. See [link / reference] Figure 8 The specific steps are as follows:

[0159] First, verify the validity of the individual roll diameter value. The verification condition is that the traversed individual roll diameter value dia should meet the following conditions:

[0160] MIN_VAL-DELTA_LIMIT / 2≤dia≤MAX_VAL+DELTA_LIMIT / 2 ①

[0161] In Formula ①, MIN_VAL represents the lower limit of the target set diameter range in mm, DELTA_LIMIT represents the target set maximum roll diameter difference in mm, and MAX_VAL represents the upper limit of the target set diameter range in mm. Substituting the above data, the effective range of dia is 60.0mm≤dia≤64.3mm. Therefore, rolls smaller than 60.0mm and larger than 64.3mm do not meet the pairing requirements and are skipped during the traversal without participating in the pairing process.

[0162] Next, verify the pairing conditions for the two roll diameter values, namely the average roll diameter Avg and the roll diameter difference Delta. The specific calculation formula is as follows:

[0163] Avg=(num1+num2) / 2 ②

[0164] Delta = Abs(num1 - num2) ③

[0165] Conditions to be met:

[0166] Delta ≤ DELTA_LIMIT and

[0167] MIN_VAL≤avg≤MAX_VAL ④

[0168] In Formula ②, num1 represents the diameter of the first paired roll in mm, num2 represents the diameter of the second paired roll in mm, Abs() is the absolute value function, Avg represents the average diameter of the rolls in mm, and Delta represents the difference in roll diameter in mm. Therefore, only pairs that meet both conditions will be written into the two-dimensional array pairList as candidate pairs.

[0169] For values ​​that do not meet the above conditions, using GoTo to jump to the next value can effectively reduce nesting depth and improve pairing efficiency;

[0170] For example, taking the first and second rolls of tray 1 as an example, the roll diameters are 60.13mm and 61.51mm respectively, then:

[0171] Avg=(num1+num2) / 2=(60.13+61.51) / 2=60.82mm

[0172] Delta=Abs(60.13-61.51)=1.38mm

[0173] Since the average diameter of 60.82 mm does not meet the diameter range of 61.5-62.8 mm, the first and second rolls of tray 1 cannot be used as candidate pairs.

[0174] The data in Table 2 were used in the above method to generate a total of 206 candidate pairs, which were stored in a two-dimensional array pairList. The array format is detailed in Table 3.

[0175] Table 3 shows the candidate pairs stored in a two-dimensional array, pairList.

[0176] 1 60.13 63.1 1 1 2 3 2 60.13 63.00 1 1 2 6 ... ... ... ... ... ... ... 205 63.00 60.99 10 4 10 6 206 62.56 60.99 10 5 10 6

[0177] S5. Perform quick sorting on candidate pairs;

[0178] See Figure 6To perform quicksort on candidate pairs, a divide-and-conquer strategy is used to quickly sort the paired values ​​in the two-dimensional array `pairList`. A pivot element is selected, dividing the array into two parts such that all elements in the left part are less than or equal to the pivot element, and all elements in the right part are greater than or equal to the pivot element. Then, the left and right parts are recursively sorted, as follows:

[0179] 1) Receive array pairList and boundary index (low, high). According to Table 3, low = 1 and high = 206.

[0180] Using the Lomuto partitioning scheme, the last element of the subarray, arr(high), is selected as the pivot value, i.e., pivot = arr(high) = arr(206). Then, i is used to mark the right boundary of the region less than the pivot value, initially pointing to the invalid index low-1. The pointer j is traversed from low to high-1, comparing each element with the pivot value. The elements from low to high-1 are traversed in a loop. If arr(j) is less than the pivot value, i is shifted one position to the right, and arr(i) and arr(j) are swapped. The effect of this operation is that all elements to the left of i (including i) are less than the pivot value, and all elements from i+1 to j-1 are greater than or equal to the pivot value. After the traversal, the pivot value arr(high) is swapped with the element at position i+1, ensuring that all elements to the left of the pivot value are less than it, and all elements to the right of it are greater than or equal to it. Its index is then returned, and the final index of the pivot value, Partition = i+1, is used as the dividing point for subsequent recursive sorting. Then, the left and right subarrays are recursively sorted.

[0181] The recursion stops when low >= high, indicating that the subarray has only 1 or 0 elements left and is naturally ordered.

[0182] Two different sorting rules were set during recursive sorting:

[0183] If "small diameter roll priority pairing" is selected, the smaller one in each value pair is compared with the smaller one in other value pairs and sorted in ascending order so that when searching for pairing schemes later, pairing schemes containing small diameter rolls are generated first.

[0184] If "small diameter rolls are not selected for priority pairing", then the same row will be prioritized for sorting in order to achieve priority pairing within the same row.

[0185] The two-dimensional array pairList in Table 3 has a large number of rows. For ease of explanation, we assume that the two-dimensional array pairList that needs to be sorted has 5 rows. See Table 4 for details.

[0186] Table 4: Example of sorting data in a two-dimensional array pairList.

[0187] 1 60.13 63.10 1 1 2 3 2 62.50 61.82 2 1 1 3 3 61.90 61.89 2 5 9 4 4 63.00 60.99 10 4 10 6 5 61.25 62.38 9 2 10 3

[0188] If the equipment roll requirements have selected "small diameter rolls preferred for pairing", then the sorting process is as follows:

[0189] According to the data in Table 4, low = 1, high = 5, and the initial value of i is low-1 = 0. In the "small diameter priority" mode, the reference value pivot = arr(high) = min(61.25, 62.38) = 61.25.

[0190] Traversal process:

[0191] When j=1, arr(1)=min(60.13,63.10)=60.13, which satisfies arr(1)<pivot, i.e. 60.13<61.25. Then, after i is incremented by 1, i=1, and arr(1) and itself are swapped, the array remains unchanged.

[0192] When j=2, arr(2)=min(62.5,61.82)=61.82, which does not satisfy arr(2)<pivot, i.e. 61.82>61.25. Therefore, i=1 remains unchanged, and the array remains unchanged.

[0193] When j=3, arr(3)=min(61.9,61.89)=61.89, which does not satisfy arr(3)<pivot, i.e. 61.89>61.25. Therefore, i=1 remains unchanged, and the array remains unchanged.

[0194] When j=4, arr(4)=min(63,60.99)=60.99, which satisfies arr(4)<pivot, i.e. 60.99<61.25. Then i is incremented by 1 and i=2. Then arr(2) and arr(4) are swapped.

[0195] After the traversal is complete, swap arr(high) and arr(i+1), that is, swap arr(5) and arr(3). At this time, the final index of the pivot value is Partition = i+1 = 3.

[0196] Then, the left and right subarrays are recursively sorted using the same method, and the final sorted array becomes the state shown in Table 5.

[0197] Table 5 shows the sorted state of the two-dimensional array pairList.

[0198]

[0199]

[0200] S6. Multi-objective optimization matching;

[0201] See Figure 7 An improved recursive pruning algorithm is adopted, with "minimum number of pallets leaving the warehouse" as the primary objective and "priority pairing of small-diameter rolls" as the secondary objective, to determine the optimal roll combination scheme and generate specific roll pallet leaving combination schemes; multi-objective optimization matching includes analyzing and setting pruning conditions and searching for candidate pairings;

[0202] S61. Analyze and set pruning conditions;

[0203] To optimize the efficiency of subsequent recursive search, four pruning strategies are employed to optimize the recursive backtracking algorithm's traversal of candidate pairs, including:

[0204] 1) Pruning of remaining resources

[0205] When the sum of the remaining candidate pair count (UBound-pos+1) and the current selected pair count currentCount is less than the required spare roller count MAX_PAIRS, the path that cannot achieve the goal is terminated early.

[0206] Where UBound represents the total number of candidate pairs, and pos represents the current search position;

[0207] Assuming the total number of candidate pairs UBound = 20, the current search position pos = 17, the number of selected pairs currentCount = 3, and the required number of spare rollers (pairs) MAX_PAIRS = 8, then 20-17+1+3<8. Therefore, even if all remaining candidate pairs are searched, it will not be possible to reach 8 pairs. Thus, this path cannot achieve the goal and needs to be terminated early to improve recursion efficiency.

[0208] 2) Theoretical Limit Pruning

[0209] The theoretical minimum number of rows (theoreticalMin) is calculated based on the number of rolls in each tray (Row_VAL), as shown in formula ⑤. When a solution that reaches the theoretical optimal value is found, all recursive branches are terminated immediately.

[0210] Assuming that the number of rollers in each pallet is Row_VAL=6 and the required number of spare rollers (pairs) is MAX_PAIRS=6, then the theoretical minimum number of rows theoreticalMin=Ceil(6*2 / 6)=-Int(-6*2 / 6)=2. Therefore, as long as the current recursive search result is a scheme using 2 pallets, it is considered to meet the condition of "minimum number of pallets to be dispatched" and can be output as a result without continuing the recursive search.

[0211] 3) Real-time optimal pruning

[0212] The row count g_MinUsedRows of the known minimum row count scheme is dynamically updated, and compared with the row count currentRows of the current scheme and the row count g_MinUsedRows of the minimum row count scheme, as shown in the following formula:

[0213] currentRows>=g_MinUsedRows ⑧

[0214] currentRows represents the number of rows in the current scheme, and g_MinUsedRows represents the number of rows in the scheme with the minimum number of rows.

[0215] If the condition in formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch should be terminated immediately.

[0216] If the current minimum number of rows is known to be 3, and the number of rows in the search results being executed has reached 3 or more, then the current search solution cannot be better than the known minimum number of rows solution, so there is no need to continue executing the current recursive search.

[0217] 4) Incremental evaluation of pruning

[0218] The number of new rows, newRows, is dynamically calculated. If the number of new rows, newRows, exceeds the current optimal value, g_MinUsedRows, backtracking is performed immediately.

[0219] S62. Search for candidate pairs, including:

[0220] The main loop iterates through the candidate pairs. For each pair, it extracts the row and column information from the two-dimensional array pairList, performs a conflict check to ensure that the two pairs of values ​​are not occupied. If there is an occupation conflict, it jumps to the next pair to continue.

[0221] Record the usage status of rows (corresponding trays) in the two-dimensional array pairList into the one-dimensional array g_UsedRowsTracker. Use backtracking to save the previous state of rows (corresponding trays) in the two-dimensional array pairList for restoration when recursively returning.

[0222] Record the usage status of columns (corresponding to the rollers in the tray) in the two-dimensional array pairList into the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts from 1, and the upper bound is determined by the number of roller baskets that meet the filtering conditions. This is used to track the usage status of each roller for recovery when recursively returning.

[0223] Store the pairing information of the current solution into a one-dimensional array g_CurrentSolution;

[0224] If a better solution is found, update the minimum number of rows g_MinUsedRows and check if the theoretical minimum value has been reached. If so, terminate the loop; otherwise, continue the recursive search until the array has been completely traversed.

[0225] During backtracking, the usage state of rows and columns is restored to ensure correct backtracking. All possible solutions are explored through recursion and state management, while pruning strategies are used to reduce computation.

[0226] The above process is the pallet-roll coupling optimization model, which transforms the roll pairing problem into a set coverage problem. By traversing the roll pallet combination, it finds the minimum pallet set that covers all target rolls, thus satisfying both the roll pairing principle and the number of spare rolls, and minimizing the number of pallets that need to be shipped out.

[0227] The roll data listed in S1, after going through processes S1-S6, yields the roll pairing and roll-frame coupling results, as detailed in Table 6:

[0228] Table 6: Results of roll pairing and roll-basin coupling (small diameter priority mode).

[0229]

[0230] As shown in Table 6, a total of 2 trays (rows) were used for pairing 6 pairs of rolls, namely tray 1 and tray 2, which meets the requirements of using the fewest number of trays, having an average diameter of 61.5-62.8 mm per pair of rolls, having a roll diameter difference of ≤3 mm per pair of rolls, and prioritizing smaller diameters.

[0231] S7. Output the selected tray result, see Figure 9 The task of completing the roll preparation has been assigned, and the details are as follows:

[0232] Once the optimal solution (minimum number of rows) is found, the AGV is dispatched to take the corresponding pallet out of the warehouse and transport it to the rolling mill based on the pallet (row) information used.

[0233] If the selected pallet (row) numbers in Table 6 are 1 and 2, then the AGV of the roll storage system will dispatch pallet 1 and pallet 2 to be taken out of the storage and transported to the mill.

[0234] The roll storage and scheduling system synchronizes roll pairing information to the rolling mill control system through an interface with the rolling mill control system, thus completing the roll preparation process.

[0235] S8. Exception handling mechanism, the contents of which are as follows:

[0236] S81, Conflict Resolution Model

[0237] If a pallet has been reserved by another outbound plan, when a new roll outbound plan is added, the reserved pallet will no longer participate in outbound pairing, the spare pallet will be activated, and the pallet roll coupling will be recalculated.

[0238] S82, AGV malfunction or occupancy

[0239] Switch to the backup AGV and replan the route based on the remaining AGV positions.

[0240] S83, insufficient roll inventory

[0241] When there is a shortage of rolls in stock, the exception handling module will automatically trigger an early warning and prompt the timing to put new rolls into operation.

[0242] Example 2

[0243] In this embodiment, a three-dimensional roll storage scheduling method is the same as in Embodiment 1, but a three-dimensional roll storage scheduling system is added.

[0244] See Figure 1 A rolling mill automated warehouse scheduling system includes an operation terminal 101, a roll allocation algorithm platform 102, and a rolling mill control system 103. The roll allocation algorithm platform 102 is equipped with an application program for roll allocation algorithms. The operation terminal 101 can be selected from at least one of a desktop computer, an all-in-one computer, a handheld PDA (Personal Digital Assistant, with integrated RFID tag scanning function), a smartphone, or a tablet computer. The operation terminal 101 has an application program that supports the roll allocation algorithm installed and running, for example, the application program has a browser application. The operation terminal 101 can realize functions such as binding roll and pallet information, AGV calling, issuing scheduling instructions, intelligent production scheduling, intelligent roll allocation optimization, anomaly handling (such as triggering an early warning when roll inventory is insufficient), and real-time monitoring. The operation terminal 101 provides computing power services and data services to the roll allocation algorithm platform 102.

[0245] The roll matching algorithm platform 102 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. The roll matching algorithm platform 102 provides computing power and data services to applications supporting the roll matching algorithm. The roll matching algorithm platform 102 includes at least one server 1021, which contains a database 1022. The database 1022 stores various roll types, roll numbers, roll profiles, surface roughness, pallet numbers, pallet position numbers, roll matching rules, etc., providing data services to the at least one server 1021. The server 1021 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The number of operating terminals 101 and servers 1021 can be more or less; for example, there can be only one operating terminal 101 and server 1021, or there can be dozens or hundreds of terminals 101 and servers 1021, or even more.

[0246] The rolling mill control system 103 refers to a platform that provides computing power and data services for the rolling mill, and consists of servers and terminal equipment. The roll matching algorithm platform 102 is used to collect roll entry and exit history data (including entry time, exit time, rolling mileage, product grade, etc.) from the rolling mill control system, and push roll matching data (roll number, matching roll number, diameter, roll type, roughness, etc.) to the rolling mill control system. The roll matching algorithm platform 102 has a communication interface with the control system of the roll grinding machine 105, collects the actual rolling performance data of the roll grinding machine 105 (roll type deviation, roundness deviation, grinding time, pre-grinding diameter, post-grinding diameter, etc.), and sends the roll grinding process (roll type, roughness, grinding amount, etc.) to the roll grinding machine 105. The roll three-dimensional warehouse scheduling system also includes a roll three-dimensional warehouse 104, a roll grinding machine 105, and an AGV (Automated Guided Vehicle). The roll grinding machine 105 includes a grinding machine line edge warehouse, a roll-specific pallet, and a roll RFID (Radio Frequency Identification).

[0247] This invention employs a pallet-roll coupling optimization model, transforming the roll pairing problem into a set covering problem. By traversing the roll pallet combinations, it finds the minimum pallet set covering all target rolls, thus satisfying both the roll matching principles and the number of spare rolls, while minimizing the number of pallets required for roll dispatch. An improved recursive pruning algorithm is used, which can preset pruning conditions in the recursive algorithm (e.g., terminating the branch when the current number of dispatched roll pallets is greater than or equal to the historical best solution) and dynamically update the pruning threshold based on historical data, improving computational efficiency. A candidate roll pairing generation method is used, which can filter roll sets that meet the process parameters and diameter range based on the current mill production roll requirements (e.g., the average diameter range of the upper and lower rolls, roll type, and roughness), satisfying the mill's spare roll requirements. A multi-objective optimization matching method is employed: using the improved recursive pruning algorithm, with "minimum number of dispatched pallets" as the primary objective and "priority to pairing small-diameter rolls" as the secondary objective, the optimal roll combination scheme is determined, generating a specific roll pallet dispatch combination scheme, effectively reducing the number of AGV handling operations and improving spare roll efficiency.

Claims

1. A method for scheduling a three-dimensional roll storage facility, characterized in that, Specifically, it includes: S1, Roll data modeling; S2. Calculate the theoretical minimum number of trays; The theoretical minimum number of trays can be calculated using the following formula: theoreticalMin = Ceil(MAX_PAIRS * 2 / Row_VAL) ⑤ In Formula ⑤, theoreticalMin represents the minimum number of trays theoretically required for spare rolls, in units of individual rolls; MAX_PAIRS represents the required number of spare rolls, in units of pairs; Row_VAL represents the number of rolls in each tray, in units of individual rolls; and Ceil() is the round-up function, Ceil() = -Int(-num), where num = MAX_PAIRS * 2 / Row_VAL. S3. Generate candidate roll pairing data and save it in an array; S4. Perform quick sorting on candidate pairs; S5. Multi-objective optimization matching; With "minimum number of pallets to be dispatched" as the primary objective and "priority pairing of small-diameter rolls" as the secondary objective, a roll pallet dispatching combination scheme is generated; multi-objective optimization matching includes analyzing and setting pruning conditions and using an improved recursive pruning algorithm to search for candidate pairings; S6. Output the selected pallet result and complete the roll preparation task assignment; In S5, an improved recursive pruning algorithm is used to traverse the sorted two-dimensional array, with "minimum number of pallets to be dispatched" as the primary objective and "priority pairing of small-diameter rolls" as the secondary objective, to generate a roll pallet dispatching combination scheme; the multi-objective optimization matching includes analyzing and setting pruning conditions and using an improved recursive pruning algorithm to search for candidate pairings. S51. Analyze and set pruning conditions, including: 1) Pruning of remaining resources When the sum of the remaining candidate pair count and the current selected pair count (currentCount) is less than the required spare roller count (MAX_PAIRS), the path that cannot achieve the goal is terminated early, and the remaining candidate pair count = UBound - pos + 1. Where UBound represents the total number of candidate pairs, and pos represents the current search position; 2) Theoretical Limit Pruning The theoretical minimum number of pallets (theoreticalMin) is calculated based on the number of rolls in each pallet (Row_VAL), as shown in Formula ⑤. When a solution that reaches the theoretical optimal value is found, all recursive branches are terminated immediately. 3) Real-time optimal pruning The row count g_MinUsedRows of the known minimum row count scheme is dynamically updated, and compared with the row count currentRows of the current scheme and the row count g_MinUsedRows of the minimum row count scheme, as shown in the following formula: currentRows >= g_MinUsedRows ⑧ currentRows represents the number of rows in the current scheme, and g_MinUsedRows represents the number of rows in the scheme with the minimum number of rows. If the condition in formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch should be terminated immediately. 4) Incremental evaluation of pruning Dynamically calculate the new row number newRows. If the new row number newRows exceeds the current minimum row number g_MinUsedRows, immediately backtrack. S52. Search for candidate pairs, including: The main loop iterates through the candidate pairs. For each pair, it extracts the corresponding row and column information from the two-dimensional array, performs a conflict check to ensure that the two rolls are not occupied. If there is an occupation conflict, it jumps to the next pair to continue. Record the usage status of the corresponding tray in the two-dimensional array into the one-dimensional array g_UsedRowsTracker. Use backtracking to save the previous state of the rows in the two-dimensional array for restoration when recursively returning. Record the usage status of the rollers in the corresponding pallets in the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts from 1, and the upper bound is determined by the number of pallets that meet the filtering conditions. This is used to track the usage status of each roller and to restore it when recursively returning. Store the pairing information of the current solution into a one-dimensional array g_CurrentSolution; If a better solution is found, update the minimum number of rows g_MinUsedRows and check if the theoretical minimum value has been reached. If so, terminate the loop; otherwise, continue the recursive search until the array has been completely traversed.

2. The method for scheduling a three-dimensional roll storage facility according to claim 1, characterized in that, In S1, the roll data modeling includes: S11 establishes a roll database to record the parameters of each roll, the pallet number of each roll, and the position of each roll within the pallet; S12. Define a pairing rule base and pair the rolls according to the rolling mill's roll pairing principle.

3. The method for scheduling a three-dimensional roll storage system according to claim 2, characterized in that, In S11, the parameters of each roll include diameter, roll type, and roughness. When the rolls are loaded into the tray, rolls with the same roll type and roughness and a diameter difference less than or equal to a set value must be loaded into the same tray. Based on the number of trays and the number of rolls in each tray, a two-dimensional array RollList is generated. The number of rows in the two-dimensional array RollList corresponds to the number of trays, the number of columns in the two-dimensional array RollList corresponds to the number of rolls in each tray, and the elements in the two-dimensional array RollList are the corresponding roll diameters. The number of rollers in each tray is equal.

4. The method for scheduling a three-dimensional roll storage system according to claim 2, characterized in that, In S12, the roller matching principle includes: The roller type and surface roughness must be the same; The diameter difference between each pair of rolls is less than or equal to the set value; The average diameter of each pair of rolls is within the target set diameter range; Prepare rolls according to the number of roll pairs required by the rolling mill; Small-diameter rolls should be used preferentially.

5. The method for scheduling a three-dimensional roll storage facility according to claim 1, characterized in that, In S3, the generation and storage of candidate roll pairing data in an array are as follows: S31. Define a two-dimensional array pairList and pre-allocate storage space; Iterate through the two-dimensional array RollList, generating value pairs. Pack the six variables of the value pairs that meet the conditions into a two-dimensional array pairList. The parameters of the two-dimensional array pairList are as follows: pairList(pairCount) = Array(num1, num2, iRow1, iCol1, iRow2, iCol2) ⑥ In parameter ⑥, num1 and num2 represent the diameter values ​​of the candidate roll pair; iRow1 and iCol1 represent the row and column of the diameter value of the first roll in the candidate pair, respectively; iRow2 and iCol2 represent the row and column of the diameter value of the second roll in the candidate pair, respectively; pairCount represents the current roll candidate pair counter, used to determine the storage location of the corresponding row. S32, Layered Traversal Mechanism The RollList array is traversed sequentially from the outermost to the innermost layer using a four-level nested loop structure. The outer loop iRow1 iterates through all trays; The second loop, iCol1, iterates through all columns of the current row; The third loop, iRow2, iterates through the paired trays; The inner loop iCol2 iterates through the columns of the paired trays; S33, Optimization of the starting column for paired trays; The IIF function is used to select the starting column for the paired tray, as shown in the formula below: startCol = IIf(iRow2 = iRow1, iCol1 + 1, 1) ⑦ In formula ⑦, startCol represents the starting column of the paired tray; When comparing the same pallet iRow2=iRow1, the roll pairing is traversed starting from the next column to avoid self-pairing; When comparing different trays, pair them all starting from the first column; S34. The pairing process employs a dual verification optimization mechanism, with the specific steps as follows: First, filter the pallets containing rolls that meet the requirements of the rolling mill by using conditional queries; First, verify the validity of the individual roll diameter value. The verification condition is that the traversed individual roll diameter value dia should meet the following conditions: MIN_VAL - DELTA_LIMIT / 2≤ dia ≤ MAX_VAL + DELTA_LIMIT / 2 ① In Formula ①, MIN_VAL represents the lower limit of the target set diameter range in mm, DELTA_LIMIT represents the maximum target set roller diameter difference in mm, and MAX_VAL represents the upper limit of the target set diameter range in mm. Next, verify the pairing conditions for the two roll diameter values, namely the average roll diameter Avg and the roll diameter difference Delta. The specific calculation formula is as follows: Avg = (num1 + num2) / 2 ② Delta = Abs(num1 - num2) ③ Conditions to be met: Delta ≤ DELTA_LIMIT and MIN_VAL ≤ avg ≤ MAX_VAL ④ In Formula ②, num1 represents the diameter of the first roll in mm, num2 represents the diameter of the second roll in mm, Abs() is the absolute value function, Avg represents the average diameter of the rolls in mm, and Delta represents the difference in roll diameter in mm.

6. The method for scheduling a three-dimensional roll storage facility according to claim 1, characterized in that, In S4, the fast sorting of candidate pairs is performed using a divide-and-conquer strategy to quickly sort the paired roll diameter values ​​in the two-dimensional array pairList, as follows: By selecting a pivot element, the array is divided into two parts such that all elements in the left part are less than or equal to the pivot element, and all elements in the right part are greater than or equal to the pivot element. Then, the left and right parts are sorted recursively. Two different sorting rules were set during recursive sorting: If "small diameter rolls are preferred for pairing" is selected, then each pair of values ​​is compared with the smaller of the other pairs of values ​​and sorted in ascending order. This is used to prioritize the search for pairing schemes that include small diameter rolls when searching for pairing schemes in the future. If "small diameter roll priority pairing" is not selected, then priority sorting within the same pallet is used to complete priority pairing within the same pallet.

7. The method for scheduling a three-dimensional roll storage facility according to claim 1, characterized in that, In S6, the output of the selected pallet result completes the assignment of the spare roller task, as follows: Based on the pallet information used, the AGV is dispatched to take the corresponding pallet out of the warehouse and transport it to the rolling mill; The roll pairing information is synchronized to the mill control system to complete the roll preparation process.

Citation Information

Patent Citations

  • Article ex-warehouse dispatching method and device and storage medium

    CN113408771A

  • Goods delivery method and system for cabinet arranging, goods tallying and warehouse-out of automatic three-dimensional warehouse

    CN117985382A