Scheduling method for roller stereoscopic warehouse
Through the roll three-dimensional library scheduling method, data modeling and multi-objective optimization algorithm are used to generate the optimal roll combination solution, which solves the problems of complex roll distribution and low AGV handling efficiency in roll management, and realizes automated and efficient roll scheduling.
Patent Information
- Application Number
- CN202510543728.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-28
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2045-04-28
AI Technical Summary
In the roll management of existing steel rolling mills, there are problems such as complex rolling roll matching, many manual interventions, low AGV handling efficiency, traditional scheduling does not consider the coupling relationship between roll matching conditions and pallet loading, and the roll matching algorithm cannot achieve multi-objective optimization.
The three-dimensional roll library scheduling method is used to model the roll data, calculate the theoretical minimum number of pallets, generate roll candidate pairing data, quickly sort and multi-objective optimization matching, and use the improved recursive pruning algorithm to generate the optimal roll combination scheme to meet the roll roll matching principle and minimum number of pallets.
It realizes the automation of roll pairing problems, reduces the number of AGV handling times, improves the efficiency of roll backup, and meets the requirements of roll matching principles and the minimum number of pallets.
Smart Images

Figure CN120509637A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of steel plate or strip steel production, and in particular to a method for scheduling a rolling mill stereoscopic warehouse. Background Art
[0002] The roll shop of a multi-roll mill is an important part of a steel mill, primarily used for roll storage, turnover, and maintenance. However, many mills currently have the following roll management issues and deficiencies:
[0003] 1. Management status and problems:
[0004] Roller operation on the mill must meet a combination of conditions, including diameter range, roll diameter difference, roll shape, and roughness, which makes roll matching complex and requires a lot of manual intervention.
[0005] Conventional high-bay warehouses store rollers of varying specifications on the same pallet, requiring multiple calls for different pallets for each production run, leading to low AGV handling efficiency.
[0006] 2. Limitations of traditional scheduling:
[0007] Traditional high-bay warehouse scheduling only operates according to the simple rule of "first in, first out" or manual selection, without considering the coupling relationship between roll pairing conditions and pallet loading;
[0008] 3. Deficiencies of the roller matching algorithm:
[0009] Most existing roll matching algorithms rely on manual pairing outside the roll warehouse, and are unable to achieve multi-objective collaborative optimization of "minimum number of pallets out of the warehouse" and "automatic roll matching by roll matching algorithm". Summary of the Invention
[0010] The purpose of the present invention is to provide a method for scheduling a roll stereoscopic warehouse, which combines an automatic roll matching algorithm with dynamic inventory management to achieve roll scheduling optimization.
[0011] To achieve the above object, the present invention is implemented through the following technical solutions:
[0012] A method for scheduling a roll storage system, comprising:
[0013] S1, roll data modeling;
[0014] S2. Calculate the theoretical minimum number of pallets;
[0015] S3, generating candidate pairing data of rollers and saving them in an array;
[0016] S4, quickly sort the candidate pairs;
[0017] S5, multi-objective optimization matching;
[0018] S6. Output the selected pallet results and complete the roller preparation task.
[0019] In S1, roll data modeling includes:
[0020] S11 establishes a roll database for recording the parameters of each roll, the pallet number of each roll, and the position of each roll in the pallet;
[0021] S12. Define a pairing rule library and pair the rolls according to the roll matching principle of the rolling mill.
[0022] In S11, the parameters of each roller include diameter, roller shape, and roughness. When the rollers are loaded into pallets, rollers with the same roller shape and roughness and a diameter difference less than or equal to the set value must be loaded into the same pallet. According to the number of pallets and the number of rollers in each pallet (the number of rollers in each pallet is equal), a two-dimensional array RollList is generated. The number of rows of the two-dimensional array RollList corresponds to the number of pallets, and the number of columns of the two-dimensional array RollList corresponds to the number of rollers in each pallet. The elements in the two-dimensional array RollList are the corresponding roller diameters.
[0023] In S12, the principles of roller matching include:
[0024] Roller shape and roughness must be the same;
[0025] The roller diameter difference of each pair of rollers is less than or equal to the set value;
[0026] The average diameter of each pair of rollers is within the target 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 pallets is calculated using the following formula:
[0030] theoreticalMin=Ceil(MAX_PAIRS*2 / Row_VAL) ⑤
[0031] In formula ⑤, theoreticalMin represents the theoretical minimum number of pallets required for spare rollers, that is, the theoretical minimum number of rows required for the two-dimensional array, in pieces; MAX_PAIRS represents the required number of spare rollers, in pairs; Row_VAL represents the number of rollers in each pallet, in pieces, that is, the number of columns in the two-dimensional array; Ceil() is a rounding-up function, Ceil() = -Int(-num), where num = MAX_PAIRS*2 / Row_VAL.
[0032] In S3, the candidate pairing data of the rollers is generated and saved in an array. The content is as follows:
[0033] S31. Define a two-dimensional array pairList and pre-allocate storage space;
[0034] Traverse the two-dimensional array RollList, generate value pairs, and pack the six variables of the value pairs that meet the conditions into the 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 position (row, column) of the first roll diameter value in the candidate pair; iRow2 and iCol2 represent the position (row, column) of the second roll diameter value in the candidate pair; pairCount represents the current roll candidate pair counter, which is used to determine the storage location of the corresponding row;
[0037] S32. Hierarchical traversal mechanism
[0038] Use a four-layer nested loop structure to traverse the two-dimensional array RollList from the outside to the inside:
[0039] The outer loop (iRow1) traverses all pallets (rows);
[0040] The second loop (iCol1) iterates over all columns of the current row (corresponding to the rollers in the tray);
[0041] The third loop (iRow2) traverses the paired tray (rows, including the current row);
[0042] The inner loop (iCol2) traverses the columns (corresponding to the rollers in the pallet) of the paired pallet (row);
[0043] S33, optimizing 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 of the paired pallet (row) (i.e. the corresponding roller in the pallet). 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), traverse the roller pairing starting from the next column (i.e. the corresponding roller in the pallet) to avoid self-pairing;
[0048] When comparing different pallets (rows), start with the first column (i.e., the corresponding rollers within the pallet) and perform a full pairing.
[0049] S34. Pairing uses a dual verification optimization mechanism. The specific steps are as follows:
[0050] First, through conditional query, the pallet containing the rolls with the roll shape and roughness that meet the requirements of the rolling mill is selected;
[0051] First, verify the validity of the single roller diameter value. The verification condition is that the traversed single roller 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 diameter range, in mm, DELTA_LIMIT represents the maximum roller diameter difference of the target setting, in mm, and MAX_VAL represents the upper limit of the target diameter range, in mm;
[0054] Then verify the pairing conditions of 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] Requirements:
[0058] Delta ≤ DELTA_LIMIT and
[0059] MIN_VAL≤avg≤MAX_VAL ④
[0060] In formula ②, num1 represents the value of the first roller diameter, in mm, num2 represents the value of the second roller diameter, in mm, Abs() is the absolute value function, Avg represents the average roller diameter, in mm, and Delta represents the roller diameter difference, in mm.
[0061] In S4, the candidate pairs are quickly sorted, and the divide-and-conquer strategy is used to quickly sort the pairs of roller diameter values in the two-dimensional array pairList. The content is as follows:
[0062] By selecting a pivot element, the array is divided into two parts, so 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, and then the left and right parts are sorted recursively;
[0063] Two different sorting rules are set for recursive sorting:
[0064] If "Prioritize pairing of small diameter rolls" is selected, the smaller value in each pair is compared with the smaller value in other pairs and sorted in ascending order. This is used to prioritize pairing solutions that include small diameter rolls when searching for pairing solutions later.
[0065] If "small diameter rollers priority pairing" is not selected, the same pallet (row) will be prioritized to complete the 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, with "minimum number of pallets shipped out" as the primary goal and "prioritized pairing of small-diameter rollers" as the secondary goal, to generate a roll pallet shipping combination plan. The multi-objective optimization matching includes analyzing and setting pruning conditions and using the 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 pairings (UBound-pos+1) and the currently selected pairings (currentCount) is less than the required number of backup rollers (MAX_PAIRS), the path that cannot reach the goal is terminated early;
[0070] Among them, UBound represents the total number of candidate pairs, and pos represents the current search position;
[0071] 2) Theoretical limit pruning
[0072] Calculate the theoretical minimum number of rows theoreticalMin based on the number of rollers Row_VAL in each tray, see formula ⑤. When a solution that reaches the theoretical optimal value is found, terminate all recursive branches immediately.
[0073] 3) Real-time optimal pruning
[0074] Dynamically update the number of rows in the known minimum number of rows scheme g_MinUsedRows, and compare the number of rows in the current scheme currentRows with the number of rows in the minimum number of rows scheme g_MinUsedRows. The formula is as follows:
[0075] currentRows>=g_MinUsedRows ⑧
[0076] currentRows indicates the number of rows in the current solution, and g_MinUsedRows indicates the number of rows in the minimum solution;
[0077] If the condition of formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch is terminated immediately;
[0078] 4) Incremental evaluation 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, backtrack immediately.
[0080] S52: Searching for candidate pairs, including:
[0081] The main loop traverses the candidate pairs, extracts the corresponding row and column information in the two-dimensional array pairList for each pair, performs a conflict check to ensure that the two rollers are not occupied, and if there is an occupation conflict, jumps to the next pair to continue;
[0082] Record the usage status of the rows (corresponding to pallets) in the two-dimensional array pairList into the one-dimensional array g_UsedRowsTracker. Use the backtracking method to save the status of the rows (corresponding to pallets) in the previous two-dimensional array for restoration when recursively returning.
[0083] Record the usage status of the columns in the two-dimensional array pairList (corresponding to the rollers in the pallet) into the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts at 1, and the upper bound is determined by the number of pallets that meet the screening conditions. It is used to track the usage status of each roller for restoration when recursively returning.
[0084] Store the pairing information of the current solution into the one-dimensional array g_CurrentSolution;
[0085] If a better solution is found, update the minimum number of rows g_MinUsedRows and check whether it reaches the theoretical minimum. If so, terminate the loop; otherwise, continue the recursive search until the array is completely traversed.
[0086] In S6, the selected pallet result is output and the spare roller task is issued. The content is as follows:
[0087] According to the pallet information used, the AGV is dispatched to remove the corresponding pallet from the warehouse and transport it to the rolling mill;
[0088] Synchronize the roll pairing information to the rolling mill control system to complete the roll preparation process.
[0089] Compared with the prior art, the present invention has the following beneficial effects:
[0090] 1. Using the pallet-roller coupling optimization model, the roll pairing problem is transformed into a set covering problem. By traversing the roll-pallet combinations, the minimum pallet set covering all target rolls is found. This achieves the goal of satisfying the roll pairing principle and the number of spare rolls while also meeting the requirement of minimizing the number of pallets that need to be shipped out.
[0091] 2. An improved recursive pruning algorithm is used, which can preset pruning conditions in the recursive algorithm (such as terminating the branch when the current number of outbound roller pallets is ≥ the historical optimal solution) and dynamically update the pruning threshold based on historical data to improve computing efficiency;
[0092] 3. By generating candidate roll pairs, it is possible to screen roll sets that meet the process parameters and diameter range based on the current mill production roll requirements (such as the average diameter range, roll shape, and roughness of the upper and lower working rolls) to meet the mill's spare roll needs;
[0093] 4. Adopt multi-objective optimization matching: Using the improved recursive pruning algorithm, with "minimum number of outbound pallets" as the main goal and "prioritized pairing of small-diameter rollers" as the secondary goal, the optimal roller combination plan is determined and a specific roller pallet outbound combination plan is generated, which effectively reduces the number of AGV handling times and improves roller preparation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0094] Figure 1 This is a diagram of the roller warehouse scheduling system.
[0095] Figure 2 It is a flow chart of the scheduling method of the roller warehouse.
[0096] Figure 3 This is the global variable declaration diagram of the roller warehouse scheduling method program.
[0097] Figure 4 It is the main program flow chart of the roller warehouse scheduling method.
[0098] Figure 5 It is a flowchart of the procedure for generating candidate pairings.
[0099] Figure 6 This is the flowchart of the candidate pair quick sort program.
[0100] Figure 7 This is a flowchart of the pruning and recursive backtracking algorithm to search for candidate pairs and generate pallet outbound solutions.
[0101] Figure 8 It is a flowchart of auxiliary programs such as row number statistics, updating optimal solutions and pairing conditions.
[0102] Figure 9This is a flowchart of the tray search result output program.
[0103] In the figure: 101, operation terminal; 102, roll matching algorithm platform; 103, rolling mill system; 104, roll warehouse; 105, roll grinder; 1021, server. DETAILED DESCRIPTION
[0104] The present invention will be described in detail below 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 examples are implemented under the premise of the technical solution of the present invention, and provide detailed implementation methods and specific operating processes, but the scope of protection of the present invention is not limited to the following examples. The methods used in the following examples are conventional methods unless otherwise specified.
[0106] Example 1
[0107] See Figure 2 Taking the working rolls of a twenty-high mill (hereafter referred to as rolls) as an example, assume that each pallet has six roll positions (equipped with six rolls, numbered 1-6). The pallets are stored in the roll storage racks, and the pallets are dispatched using AGVs (Automated Guided Vehicles). Rolls are used in pairs, and when matching rolls for the mill, they must be matched according to the mill's roll matching principles.
[0108] Roller pairing demand analysis, the contents are as follows:
[0109] 1) When preparing rollers, it is necessary to dispatch pallets that meet production conditions. In order to improve the system operation efficiency and reduce the number of AGV transportations, the roller matching algorithm platform 102 needs to be able to automatically screen out pallets that meet the roller matching conditions, and it should be a solution that uses the least number of pallets.
[0110] 2) The roller matching task needs to be analyzed:
[0111] First, any two rolls can be paired if they meet other conditions. They can be paired within a pallet or across pallets. This can minimize the number of pallets required. However, under the same conditions, pairing within a pallet is preferred to facilitate roll preparation.
[0112] Secondly, the roller stereoscopic warehouse scheduling method should be used to find rollers that meet the production conditions for pairing, quickly find pallets that meet the production conditions, and require the selection of a pairing scheme with the least number of pallets.
[0113] A method for scheduling a roller stereoscopic warehouse, comprising:
[0114] S1. Roller data modeling, the content 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 shape, and roughness. When the rolls are loaded into the pallet, rolls with the same roll shape and roughness and a diameter difference less than or equal to the set value (for example: the diameter difference is less than or equal to 3mm, and the set value can be modified) must be loaded into the same pallet, see Table 1.
[0116] Table 1: Roller database parameter table.
[0117]
[0118]
[0119] According to the screening conditions (roughness, roll shape), the qualified rolls and the pallets where the rolls are located are screened. According to the coupling information of the pallets and rolls, that is, the roll diameter, the number of pallets and the number of rolls in each pallet, a two-dimensional array RollList is generated. The number of rows in the two-dimensional array RollList corresponds to the number of pallets, and the number of columns in the two-dimensional array RollList corresponds to the number of rolls in each pallet. The elements in the two-dimensional array RollList correspond to the corresponding roll diameters. The parameters of the two-dimensional array RollList are shown in Table 2.
[0120] Table 2: Two-dimensional array RollList of pallet and roller 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. 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 roll matching principle of the rolling mill;
[0124] Roller matching principles include:
[0125] The roller diameter difference DELTA_LIMIT of each pair of rollers is less than or equal to the set value, DELTA_LIMIT≤3mm;
[0126] The average diameter of each pair of rollers is within the target set diameter range (MIN_VAL to MAX_VAL), 61.5-62.8mm;
[0127] Prepare rolls according to the number of roll pairs MAX_PAIRS required by the rolling mill, with 6 pairs of rolls;
[0128] Whether small diameter rolls are used first is determined by the "Small diameter rolls are paired first" option in the mill spare roll requirements, assuming the option is 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 theoretical minimum number of pallets required for spare rolls, that is, the theoretical minimum number of rows required for the two-dimensional array, in units of pieces; MAX_PAIRS represents the required number of spare rolls, in pairs; Row_VAL represents the number of rolls in each pallet, in units of pieces, that is, the number of columns in the two-dimensional array; Ceil() is a rounding function, Ceil() = -Int(-num), where num = MAX_PAIRS*2 / Row_VAL. After substituting the above values:
[0132] theoreticalMin=Ceil(6*2 / 6)=-Int(-6*2 / 6)=2, so the theoretical minimum number of pallets is 2.
[0133] S3. Initialize the tracking array
[0134] See Figure 3 and Figure 4 , a total of three dynamic arrays are used in conditional search, named g_UsedRowsTracker, g_UsedCellsTracker and g_CurrentSolution;
[0135] Among them: g_UsedRowsTracker is a one-dimensional array whose size is equal to the number of pallets in the three-dimensional library that meet the screening conditions. This array is used to mark that the row (pallet) has been used;
[0136] g_UsedCellsTracker is a two-dimensional array. The lower bound of the array starts at 1 and the upper bound is determined by the number of pallets that meet the screening conditions. It is used to track the usage status of each data (roller diameter);
[0137] g_CurrentSolution is a one-dimensional array whose size is determined by MAX_PAIRS and is used to store the pairing information of the current solution.
[0138] S4. Generate candidate pairs of rollers and write them into the two-dimensional array pairList, see Figure 5 ;
[0139] The two-dimensional array RollList is traversed through a multi-layer nested loop to generate value pairs. The matching value pairs are screened using conditional judgment (see formulas 1 and 4 for conditional judgment) and saved into the two-dimensional array pairList, whose data type is Variant. First, pre-allocate storage space for the array pairList (assuming 10,000 elements). When traversing the value pairs, the six variables of the matching value pairs are packaged and stored into the two-dimensional array pairList. The pairList parameter content is 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 position (row, column) of the first roll diameter value in the candidate pair; iRow2 and iCol2 represent the position (row, column) of the second roll diameter value in the candidate pair; pairCount represents the current roll candidate pair counter, which is 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 enough storage space for the pairList array (assuming 10,000 elements) to prevent the traversal process from frequently adjusting the size of the storage space and reducing computing efficiency;
[0144] S42, hierarchical traversal mechanism;
[0145] Use a four-layer nested loop structure to traverse the two-dimensional array RollList from the outside to the inside:
[0146] The outer loop (iRow1) traverses all pallets (rows);
[0147] The second loop (iCol1) iterates over all columns of the current row (corresponding to the rollers in the tray);
[0148] The third loop (iRow2) traverses the paired tray (rows, including the current row);
[0149] The inner loop (iCol2) traverses the columns (corresponding to the rollers in the pallet) of the paired pallet (row);
[0150] This hierarchical design ensures that each element will only be paired with subsequent elements, avoiding duplicate and reverse pairings;
[0151] S43, optimizing 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 of the paired pallet (row) (i.e. the corresponding roller in the pallet). 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), traverse the roller pairing 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 rollers in the pallet). This optimization significantly reduces the number of unnecessary comparisons.
[0157] After the two-dimensional array RollList is traversed and all valid pairs are saved in the two-dimensional array pairList, the unused storage space of the array pairList is released to ensure that the array size accurately matches the actual data volume, which facilitates the subsequent transmission of data processing results;
[0158] S44, pairing adopts a double verification optimization mechanism, and the pairing process adopts two-level verification, see Figure 8 , the specific steps are as follows:
[0159] First, verify the validity of the single roller diameter value. The verification condition is that the traversed single roller 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 diameter range, in mm, DELTA_LIMIT represents the maximum roller diameter difference, in mm, and MAX_VAL represents the upper limit of the target diameter range, in mm. Substituting the above data, the effective range of dia is 60.0mm≤dia≤64.3mm. Therefore, rollers smaller than 60.0mm and larger than 64.3mm do not meet the pairing requirements and are directly skipped during traversal without participating in the pairing process.
[0162] Then verify the pairing conditions of 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] Requirements:
[0166] Delta ≤ DELTA_LIMIT and
[0167] MIN_VAL≤avg≤MAX_VAL ④
[0168] In formula ②, num1 represents the diameter value of the first roller in the pairing, in mm, num2 represents the diameter value of the second roller in the pairing, in mm, Abs() is the absolute value function, Avg represents the average roller diameter, in mm, and Delta represents the roller diameter difference, 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, use GoTo to jump to the next value, which can effectively reduce the nesting depth and improve the matching efficiency;
[0170] For example, taking the first and second rollers of pallet 1 as an example, the roller diameter values 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 rollers of tray 1 cannot be used as candidate pairs.
[0174] According to the above method, the data in Table 2 generates a total of 206 candidate pairs and saves them in the two-dimensional array pairList. The array format is detailed in Table 3;
[0175] Table 3 shows the candidate pairs stored in the two-dimensional array pairList.
[0176] Line number Roller 1 diameter Roller 2 diameter Roller 1 row Roller 1 column Roller 2 row Roller 2 column 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. Quickly sort the candidate pairs;
[0178] See Figure 6, quickly sort the candidate pairs, and use the divide-and-conquer strategy to quickly sort the pairs of values in the two-dimensional array pairList. By selecting a pivot element, the array is divided into two parts, so 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. The process is as follows:
[0179] 1) Receive the array pairList and the boundary index (low, high). According to Table 3, low = 1, high = 206;
[0180] Adopting the Lomuto partitioning scheme, select the last element of the subarray, arr(high), as the pivot value, i.e., pivot = arr(high) = arr(206). Then use i to mark the right boundary of the region less than the pivot value, with i initially pointing to the invalid index low-1. Traverse the pointer j from low to high-1, compare it with the pivot value one by one, and loop through the elements from low to high-1. If arr(j) is less than the pivot value, then shift i right by one position and swap arr(i) and arr(j). The effect of the 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 is completed, swap the pivot value arr(high) with the element at position i+1 to ensure that the left side of the pivot value is less than it and the right side is greater than or equal to it, and return its index. The final index of the pivot value, Partition = i+1, serves as the dividing point for the subsequent recursive sorting, and then recursively sort the left and right subarrays.
[0181] When low>=high, stop recursion, which means that there are only 1 or 0 elements left in the subarray, which is naturally ordered;
[0182] Two different sorting rules are set for recursive sorting:
[0183] If "Prioritize pairing of small diameter rolls" is selected, the smaller value in each pair is compared with the smaller values in other pairs and sorted in ascending order, so that when searching for pairing solutions later, pairing solutions that include small diameter rolls are generated first;
[0184] If "small diameter rolls priority pairing" is not selected, the same industry will be prioritized to achieve priority pairing within the same industry.
[0185] The two-dimensional array pairList in Table 3 has many rows. For the sake of convenience, it is assumed that the two-dimensional array pairList to be sorted has 5 rows, see Table 4 for details;
[0186] Table 4: Example of sorting data in the two-dimensional array pairList.
[0187] Line number Roller 1 diameter Roller 2 diameter Roller 1 row Roller 1 column Roller 2 row Roller 2 column 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] Assuming that the equipment roll requirement selects "small diameter roll priority pairing", the sorting process is as follows
[0189] According to the data in Table 4, low = 1, high = 5, the initial value of i is low-1 = 0, and the reference value pivot = arr(high) = min(61.25, 62.38) = 61.25 in the "small diameter priority" mode;
[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 i is incremented by 1 and becomes 1. Arr(1) and itself are swapped, and the array remains unchanged.
[0192] When j=2, arr(2)=min(62.5,61.82)=61.82, which does not satisfy arr(2)<pivot, that is, 61.82>61.25, then 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, that is, 61.89>61.25, then 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, that is, 60.99 < 61.25. Then i is incremented by 1 and becomes i = 2, and arr(2) and arr(4) are swapped.
[0195] After the traversal is completed, arr(high) and arr(i+1) are exchanged, that is, arr(5) and arr(3) are exchanged. At this time, the final index of the benchmark value Partition=i+1=3.
[0196] Then use the same method to recursively sort the left and right subarrays, and finally the array becomes the state shown in Table 5 after sorting.
[0197] Table 5 shows the state of the two-dimensional array pairList after sorting.
[0198]
[0199]
[0200] S6, multi-objective optimization matching;
[0201] See Figure 7 , using an improved recursive pruning algorithm, with "minimum number of pallets shipped out" as the main goal and "small diameter roller priority pairing" as the secondary goal, to determine the optimal roller combination plan and generate a specific roller pallet shipping combination plan; multi-objective optimization matching includes analyzing and setting pruning conditions and searching for candidate pairings;
[0202] S61, analyzing and setting pruning conditions;
[0203] In order to optimize the efficiency of subsequent recursive search, four major pruning strategies are used to optimize the search of candidate pairs by the recursive backtracking algorithm, including:
[0204] 1) Pruning of remaining resources
[0205] When the sum of the remaining candidate pairings (UBound-pos+1) and the currently selected pairings (currentCount) is less than the required number of backup rollers (MAX_PAIRS), the path that cannot reach the goal is terminated early;
[0206] Among them, UBound represents the total number of candidate pairs, and pos represents the current search position;
[0207] Assume that 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 backup pairs MAX_PAIRS = 8. 20-17+1+3<8, so even if all remaining candidate pairs are searched, the number of pairs cannot reach 8. Therefore, this path cannot achieve the goal and needs to be terminated early to improve the recursion efficiency.
[0208] 2) Theoretical limit pruning
[0209] Calculate the theoretical minimum number of rows theoreticalMin based on the number of rollers Row_VAL in each tray, see formula ⑤. When a solution that reaches the theoretical optimal value is found, terminate all recursive branches 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 is theoreticalMin = Ceil(6*2 / 6) = -Int(-6*2 / 6) = 2. Therefore, as long as the current recursive search result is a solution using 2 pallets, it is considered that the "minimum number of pallets to be shipped" condition is met and can be output as the result without continuing the recursive search;
[0211] 3) Real-time optimal pruning
[0212] Dynamically update the number of rows in the known minimum number of rows scheme g_MinUsedRows, and compare the number of rows in the current scheme currentRows with the number of rows in the minimum number of rows scheme g_MinUsedRows. The formula is as follows:
[0213] currentRows>=g_MinUsedRows ⑧
[0214] currentRows indicates the number of rows in the current solution, and g_MinUsedRows indicates the number of rows in the minimum solution;
[0215] If the condition of formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch is terminated immediately;
[0216] Assume that the current minimum number of pallets (rows) is known to be 3 rows, and the number of rows of the search result being executed has reached 3 rows or more, then the search solution being executed cannot be better than the known minimum number of rows solution, so there is no need to continue the current recursive search;
[0217] 4) Incremental evaluation pruning
[0218] Dynamically calculate the number of new rows newRows. If the number of new rows newRows exceeds the current optimal value g_MinUsedRows, backtrack immediately.
[0219] S62: Searching for candidate pairs, including:
[0220] The main loop traverses the candidate pairs, extracts the row and column information from the two-dimensional array pairList for each pair, performs a conflict check to ensure that the two pair values are not occupied, and if there is an occupation conflict, jumps to the next pair to continue;
[0221] Record the usage status of the rows (corresponding to pallets) in the two-dimensional array pairList into the one-dimensional array g_UsedRowsTracker. Use the backtracking method to save the previous status of the rows (corresponding to pallets) in the two-dimensional array pairList for restoration when recursively returning.
[0222] Record the usage status of the columns in the two-dimensional array pairList (corresponding to the rollers in the tray) into the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts at 1, and the upper bound is determined by the number of roller baskets that meet the screening conditions. It is used to track the usage status of each roller for restoration when recursively returning.
[0223] Store the pairing information of the current solution into the one-dimensional array g_CurrentSolution;
[0224] If a better solution is found, update the minimum number of rows g_MinUsedRows and check whether it reaches the theoretical minimum. If so, terminate the loop; otherwise, continue the recursive search until the array is completely traversed.
[0225] During backtracking, the usage status 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 the amount of computation.
[0226] The above process is the pallet-roller coupling optimization model, which transforms the roll pairing problem into a set covering problem. By traversing the roll-pallet combination to find the minimum pallet set covering all target rolls, it achieves the requirements of satisfying the roll matching principle and the number of spare rolls, while meeting the minimum number of pallets that need to be shipped out.
[0227] The roll data listed in S1, after the process S1-S6, the roll pairing and roll basket coupling results are shown in Table 6:
[0228] Table 6: Roll pairing and roll basket coupling results (small diameter priority mode).
[0229]
[0230] According to Table 6, a total of 2 pallets (rows) are used for the 6 pairs of rollers, namely pallet 1 and pallet 2, which meets the requirements of using the least number of pallets, the average diameter of each pair of rollers being 61.5-62.8 mm, the roller diameter difference of each pair of rollers being ≤3 mm, and the priority being given to smaller diameters.
[0231] S7, output the selected pallet results, see Figure 9 , complete the roll standby task and the content is as follows:
[0232] When the optimal solution (with the least number of rows) is found, the AGV is dispatched to remove the corresponding pallet from the warehouse and transport it to the rolling mill based on the pallet (row) information used;
[0233] The selected pallets (rows) in Table 6 are numbered 1 and 2, so the roll warehouse scheduling system dispatches the AGV to take pallet 1 and pallet 2 out of the warehouse respectively and transport them to the rolling mill;
[0234] The roll warehouse scheduling system synchronizes the roll pairing information to the rolling mill control system through the interface with the rolling mill control system to complete the roll preparation process.
[0235] S8, exception handling mechanism, the contents are as follows:
[0236] S81. Conflict Resolution Model
[0237] If a pallet has been reserved for other delivery plans, when a new roll delivery plan is added, the reserved pallet will no longer participate in the delivery pairing, the spare pallet will be activated and the pallet-roller coupling will be recalculated.
[0238] S82, AGV failure or occupation
[0239] Switch to the backup AGV and re-plan the path based on the remaining AGV positions.
[0240] S83, insufficient roll inventory
[0241] When the roll inventory is insufficient, the abnormality handling module automatically triggers an early warning, prompting the timing to put new rolls in.
[0242] Example 2
[0243] In this embodiment, a scheduling method for a three-dimensional roller warehouse is the same as that in embodiment 1, and a scheduling system for a three-dimensional roller warehouse is added thereto.
[0244] See Figure 1 A roll stereoscopic warehouse scheduling system includes an operation terminal 101, a roll matching algorithm platform 102, and a rolling mill control system 103. The roll matching algorithm platform 102 is provided with an application for the roll matching algorithm. The operation terminal 101 selects at least one of a desktop computer, an all-in-one computer, a handheld PDA (Personal Digital Assistant, integrated with RFID tag scanning function), a smart phone, and a tablet computer. The operation terminal 101 installs and runs an application that supports the roll matching algorithm. For example, the application for the roll matching algorithm 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 matching optimization, exception handling (such as triggering an early warning when the roll inventory is insufficient), and real-time monitoring; the operation terminal 101 provides it with computing power services and data services through the roll matching 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 is used to provide computing power and data services for applications that support the roll matching algorithm. The roll matching algorithm platform 102 includes at least one server 1021, which has a database 1022 within it. The database 1022 is used to store various roll types, roll numbers, roll shapes, roughness, pallet numbers, position numbers within pallets, roll matching rules, etc., providing data services for the at least one server 1021. Server 1021 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The number of operation terminals 101 and servers 1021 can be more or less; for example, there can be only one operation terminal 101 or server 1021, or there can be dozens or hundreds of terminals 101 or servers 1021, or a larger number.
[0246] The rolling mill control system 103 refers to a platform that provides computing power services and data services for the rolling mill, and is composed of servers and terminal devices. The roll matching algorithm platform 102 is used to collect the roll loading and unloading history data (including loading and unloading time, rolling mileage, product brand, etc.) of the rolling mill control system, and push the roll matching data (roll number, matching roll number, diameter, roll shape, roughness, etc.) to the rolling mill control system; there is a communication interface between the roll matching algorithm platform 102 and the control system of the roll grinder 105, which collects the roll grinding performance data of the roll grinder 105 (roll shape deviation, roundness deviation, grinding time, pre-grinding diameter, post-grinding diameter, etc.), and sends the roll grinding process (roll shape, roughness, grinding amount, etc.) to the roll grinder 105; the roll three-dimensional warehouse scheduling system also includes a roll three-dimensional warehouse 104, a roll grinder 105, and an AGV (Automated Guided Vehicle). The roll grinder 105 includes a grinder line side warehouse, a special roll pallet, and a roll RFID (Radio Frequency Identification).
[0247] The present invention adopts a pallet-roller coupling optimization model to transform the roll pairing problem into a set covering problem. By traversing the roll pallet combination to find the minimum pallet set covering all target rolls, it achieves the goal of satisfying the roll matching principle and the number of spare rolls, and meeting the requirement of the minimum number of pallets that need to be shipped out. 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 shipped roll pallets is ≥ the historical optimal solution), and dynamically updating the pruning threshold based on historical data to improve calculation efficiency. The method adopts the method of generating candidate roll pairings, which can screen the roll set that meets the process parameters and diameter range according to the current production roll requirements of the rolling mill (such as the average diameter range, roll shape, and roughness of the upper and lower rolls of the working rolls) to meet the spare roll requirements of the rolling mill. Multi-objective optimization matching is adopted: using the improved recursive pruning algorithm, with "minimum number of shipped pallets" as the main goal and "small diameter roll pairing priority" as the secondary goal, the optimal roll combination plan is determined, and a specific roll pallet shipping combination plan is generated, which effectively reduces the number of AGV transportation times and improves the roll preparation efficiency.
Claims
1. A method for scheduling a roll stereoscopic warehouse, characterized in that: Specifically include: S1, roll data modeling; S2. Calculate the theoretical minimum number of pallets; S3, generating candidate pairing data of rollers and saving them in an array; S4, quickly sort the candidate pairs; S5, multi-objective optimization matching; S6. Output the selected pallet results and complete the roller preparation task.
2. A method for scheduling a roll stereoscopic warehouse according to claim 1, characterized in that: In S1, the roll data modeling includes: S11 establishes a roll database for recording the parameters of each roll, the pallet number of each roll, and the position of each roll in the pallet; S12. Define a pairing rule library and pair the rolls according to the roll matching principle of the rolling mill.
3. A method for scheduling a roll stereoscopic warehouse according to claim 2, characterized in that: In S11, the parameters of each roller include diameter, roller shape, and roughness. When the rollers are loaded into a pallet, rollers with the same roller shape and roughness and a diameter difference less than or equal to a set value must be loaded into the same pallet. A two-dimensional array RollList is generated based on the number of pallets and the number of rollers in each pallet. The number of rows of the two-dimensional array RollList corresponds to the number of pallets, the number of columns of the two-dimensional array RollList corresponds to the number of rollers in each pallet, and the elements in the two-dimensional array RollList are the corresponding roller diameters. The number of rollers in each tray is equal.
4. A method for scheduling a roll storage system according to claim 2, characterized in that: In S12, the roller matching principle includes: Roller shape and roughness must be the same; The roller diameter difference of each pair of rollers is less than or equal to the set value; The average diameter of each pair of rollers is within the target diameter range; Prepare rolls according to the number of roll pairs required by the rolling mill; Small diameter rolls are preferred.
5. The method for scheduling a roll stereoscopic warehouse according to claim 1, characterized in that: In S2, the theoretical minimum number of pallets is calculated as follows: theoreticalMin=Ceil(MAX_PAIRS*2 / Row_VAL) ⑤ In formula ⑤, theoreticalMin represents the theoretical minimum number of pallets required for spare rollers, that is, the theoretical minimum number of rows required for the two-dimensional array, in pieces; MAX_PAIRS represents the required number of spare rollers, in pairs; Row_VAL represents the number of rollers in each pallet, in pieces, that is, the number of columns in the two-dimensional array; Ceil() is a rounding-up function, Ceil() = -Int(-num), where num = MAX_PAIRS*2 / Row_VAL.
6. The method for scheduling a roll storage system according to claim 1, characterized in that: In S3, the candidate roller pairing data is generated and stored in an array, the content of which is as follows: S31. Define a two-dimensional array pairList and pre-allocate storage space; Traverse the two-dimensional array RollList, generate value pairs, and pack the six variables of the value pairs that meet the conditions into the 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 position (row, column) of the first roll diameter value in the candidate pair; iRow2 and iCol2 represent the position (row, column) of the second roll diameter value in the candidate pair; pairCount represents the current roll candidate pair counter, which is used to determine the storage location of the corresponding row; S32. Hierarchical traversal mechanism Use a four-layer nested loop structure to traverse the two-dimensional array RollList from the outside to the inside: The outer loop (iRow1) traverses all pallets (rows); The second loop (iCol1) iterates over all columns of the current row (corresponding to the rollers in the tray); The third loop (iRow2) traverses the paired tray (rows, including the current row); The inner loop (iCol2) traverses the columns (corresponding to the rollers in the pallet) of the paired pallet (row); S33, optimizing the starting column of the paired pallet (row) (i.e., the corresponding roller in the pallet); The IIF function is used to select the starting column of the paired pallet (row) (i.e. the corresponding roller in the pallet). The formula is as follows: startCol=IIf(iRow2=iRow1,iCol1+1,1) ⑦ In formula ⑦, startCol represents the starting column of the paired tray (row); When comparing the same pallet (row) (iRow2=iRow1), traverse the roller pairing starting from the next column (i.e. the corresponding roller in the pallet) to avoid self-pairing; When comparing different pallets (rows), start with the first column (i.e., the corresponding rollers within the pallet) and perform a full pairing. S34. The pairing adopts a double verification optimization mechanism, and the specific steps are as follows: First, through conditional query, the pallet containing the rolls with the roll shape and roughness that meet the requirements of the rolling mill is selected; First, verify the validity of the single roller diameter value. The verification condition is that the traversed single roller 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 diameter range, in mm, DELTA_LIMIT represents the maximum roller diameter difference of the target setting, in mm, and MAX_VAL represents the upper limit of the target diameter range, in mm; Then verify the pairing conditions of 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) ③ Requirements: Delta ≤ DELTA_LIMIT and MIN_VAL≤avg≤MAX_VAL ④ In formula ②, num1 represents the value of the first roller diameter, in mm, num2 represents the value of the second roller diameter, in mm, Abs() is the absolute value function, Avg represents the average roller diameter, in mm, and Delta represents the roller diameter difference, in mm.
7. The method for scheduling a roll stereoscopic warehouse according to claim 1, characterized in that: In S4, the candidate pairs are quickly sorted, and the paired roller diameter value pairs in the two-dimensional array pairList are quickly sorted using a divide-and-conquer strategy, as follows: By selecting a pivot element, the array is divided into two parts, so 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, and then the left and right parts are sorted recursively; Two different sorting rules are set for recursive sorting: If "Prioritize pairing of small diameter rolls" is selected, the smaller value in each pair is compared with the smaller value in other pairs and sorted in ascending order. This is used to prioritize pairing solutions that include small diameter rolls when searching for pairing solutions later. If "Prioritized pairing of small diameter rolls" is not selected, the same pallet (row) will be prioritized for pairing within the same pallet (row).
8. The method for scheduling a roll storage system according to claim 1, characterized in that: In S5, an improved recursive pruning algorithm is used to traverse the sorted two-dimensional array pairList, with "minimum number of pallets shipped out" as the primary goal and "small diameter rollers prioritized for pairing" as the secondary goal, to generate a roll pallet shipping combination plan. The multi-objective optimization matching includes analyzing and setting pruning conditions and searching for candidate pairings using the improved recursive pruning algorithm. S51. Analyze and set pruning conditions, including: 1) Pruning of remaining resources When the sum of the remaining candidate pairings (UBound-pos+1) and the currently selected pairings (currentCount) is less than the required number of backup rollers (MAX_PAIRS), the path that cannot reach the goal is terminated early; Among them, UBound represents the total number of candidate pairs, and pos represents the current search position; 2) Theoretical limit pruning Calculate the theoretical minimum number of rows theoreticalMin based on the number of rollers Row_VAL in each tray, see formula ⑤. When a solution that reaches the theoretical optimal value is found, terminate all recursive branches immediately. 3) Real-time optimal pruning Dynamically update the number of rows in the known minimum number of rows scheme g_MinUsedRows, and compare the number of rows in the current scheme currentRows with the number of rows in the minimum number of rows scheme g_MinUsedRows. The formula is as follows: currentRows>=g_MinUsedRows ⑧ currentRows indicates the number of rows in the current solution, and g_MinUsedRows indicates the number of rows in the minimum solution; If the condition of formula ⑧ is met, it means that the current solution is not a better solution, and the current recursive branch is terminated immediately; 4) Incremental evaluation pruning Dynamically calculate the number of new rows newRows. If the number of new rows newRows exceeds the current minimum number of rows g_MinUsedRows, backtrack immediately. S52: Searching for candidate pairs, including: The main loop traverses the candidate pairings, extracts the corresponding row and column information in the two-dimensional array pairList for each pairing, performs a conflict check to ensure that the two rollers are not occupied, and if there is an occupation conflict, jumps to the next pairing to continue; Record the usage status of the rows (corresponding to pallets) in the two-dimensional array pairList into the one-dimensional array g_UsedRowsTracker. Use the backtracking method to save the status of the rows (corresponding to pallets) in the previous two-dimensional array for restoration when recursively returning. Record the usage status of the columns in the two-dimensional array pairList (corresponding to the rollers in the pallet) into the two-dimensional array g_UsedCellsTracker. The lower bound of the array starts at 1, and the upper bound is determined by the number of pallets that meet the screening conditions. It is used to track the usage status of each roller for restoration when recursively returning. Store the pairing information of the current solution into the one-dimensional array g_CurrentSolution; If a better solution is found, update the minimum number of rows g_MinUsedRows and check whether it reaches the theoretical minimum. If so, terminate the loop; otherwise, continue the recursive search until the array is completely traversed.
9. The method for scheduling a roll storage system according to claim 1, wherein: In S6, the selected pallet result is outputted to complete the roll standby task, and the content is as follows: According to the pallet information used, the AGV is dispatched to remove the corresponding pallet from the warehouse and transport it to the rolling mill; Synchronize the roll pairing information to the rolling mill control system to complete the roll preparation process.
Citation Information
Patent Citations
Article ex-warehouse dispatching method and device and storage medium
CN113408771A
Multi-objective integrated optimization method for goods allocation and job scheduling of stereoscopic warehouse
CN115859785A
Dense warehouse delivery positioning method, electronic equipment and storage medium
CN116946608A
Goods delivery method and system for cabinet arranging, goods tallying and warehouse-out of automatic three-dimensional warehouse
CN117985382A
System and method of optimizing rolling mill roll inventory
CN1190220A