Steel mill crown block scheduling method and system based on Hungary algorithm

By applying Hungarian algorithms to perform unmanned vehicle scheduling in steel mills, the problem of inefficient scheduling in the existing technology is solved, efficient resource utilization and production cost reduction are achieved, and production flexibility and responsiveness are improved.

CN119273076AActive Publication Date: 2025-01-07SOUTHERN UNIVERSITY OF SCIENCE AND TECHNOLOGY
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411337128.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2025-01-07
Estimated Expiration
2044-09-25

AI Technical Summary

Technical Problem

The existing technology lacks effective scheduling algorithms in unmanned sky-car scheduling, which leads to insufficient matching between sky-car and the task to be dispatched, and may cause insufficient resource utilization or low scheduling efficiency.

Method used

Using the steel plant skycar scheduling method based on Hungarian algorithm, the optimal task allocation plan is determined by obtaining the original data of the steel mill, and the tasks and skycar are allocated reasonably, the existing resources are maximized, and the idle time and resource waste are reduced, so as to achieve Optimal scheduling solution.

Benefits of technology

Quickly and accurately determine the optimal scheduling plan, reduce scheduling time, improve operational efficiency, reduce production costs and operating expenses, and improve production flexibility and responsiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119273076A_ABST
    Figure CN119273076A_ABST
Patent Text Reader

Abstract

The invention provides a steel plant crown block scheduling method based on a Hungary algorithm, and the method comprises the steps: obtaining the original data of a steel plant; based on a Hungary algorithm, according to the original data of the steel plant, determining an optimal task allocation scheme; and carrying out steel mill crown block scheduling based on the optimal task allocation scheme. According to the Hungary algorithm, the optimal scheduling scheme can be quickly and accurately determined, so that the scheduling time is shortened, and the operation efficiency is improved; through reasonable distribution of tasks and crown blocks, existing resources are utilized to the maximum extent, and idle time and resource waste are reduced; the optimal scheduling scheme reduces scheduling conflicts and equipment idleness, so that the production cost and the operation cost are reduced; the better scheduling management allows the steel mill to quickly adjust when facing production changes, and the production flexibility and the response capability are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of steel plant overhead crane scheduling, and in particular to a steel plant overhead crane scheduling method based on the Hungarian algorithm. Background Art

[0002] As an important part of the metallurgical industry process, the transportation efficiency of unmanned overhead cranes has a direct impact on the overall efficiency. Traditional unmanned overhead crane dispatching is controlled by technicians, who divide the metallurgical area into zones and assign a certain number of overhead cranes to each zone for management. Traditional overhead crane dispatching consumes manpower, has low efficiency and high error rate. On this basis, the problem of unmanned overhead crane intelligent dispatching and its algorithm design are of great significance to improving metallurgical efficiency.

[0003] The unmanned overhead crane consists of two parts: a large vehicle and a small vehicle. The large vehicle is a movable lever with a track for the small vehicle to move. The small vehicle is the direct carrier of the goods and runs on the track provided by the large vehicle. If the metallurgical plant is simplified into a rectangular plane and a plane rectangular coordinate system is established, the overhead crane scheduling problem can be regarded as the shortest path problem between points, where the small vehicle is the control point and the goods are the target point. The large vehicle controls the X-axis coordinate of the small vehicle, and the small vehicle moves on the large vehicle to control its own Y-axis coordinate.

[0004] Regarding the dispatching of unmanned overhead cranes in steel mills, the existing technologies include the patent "A method, device, equipment and readable storage medium for dispatching an overhead crane" (CN116934059B), which directly generates movement instructions by obtaining dispatching information to simplify manual operations; the patent "Overhead crane dispatching method, system, device, electronic equipment and storage medium" (CN116822864A) proposes a solution to the problem of multiple overhead cranes blocking the same track; the patent "A method for dispatching an unmanned overhead crane" (CN115099659A) provides a task priority dispatching method to prevent the overhead crane from being idle for a long time or being too close.

[0005] The disadvantage of the existing technology is the lack of an effective scheduling algorithm, which leads to inefficient matching between the overhead crane and the tasks to be scheduled, and may result in insufficient resource utilization or low scheduling efficiency. Summary of the invention

[0006] One of the purposes of the present invention is to provide a steel plant crane scheduling method based on the Hungarian algorithm. The Hungarian algorithm can quickly and accurately determine the optimal scheduling plan, thereby reducing scheduling time and improving operational efficiency; by reasonably allocating tasks and cranes, the existing resources are maximized and idle time and resource waste are reduced; the optimal scheduling plan reduces scheduling conflicts and equipment idleness, thereby reducing production costs and operating expenses; better scheduling management allows steel plants to quickly adjust in the face of production changes, improving production flexibility and responsiveness.

[0007] The steel plant overhead crane scheduling method based on the Hungarian algorithm provided in an embodiment of the present invention includes:

[0008] Obtain raw data from steel mills;

[0009] Based on the Hungarian algorithm, the optimal task allocation scheme is determined according to the raw data of the steel plant;

[0010] Based on the optimal task allocation plan, overhead crane scheduling is carried out in the steel plant.

[0011] Optionally, the steel plant overhead crane scheduling is performed based on the Hungarian algorithm and the original data of the steel plant, including:

[0012] Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ;

[0013] Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures:

[0014] Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T;

[0015] Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1;

[0016] Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T;

[0017] Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ijWhen it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix;

[0018] Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix;

[0019] Step 8: Use Python's scipy.optimize library to call the linear_sum_assignment function in the library and use the Hungarian algorithm to calculate the distance matrix Q(i,j) to find the optimal task allocation solution a(i,j) to minimize the total distance the overhead crane moves.

[0020] Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

[0021] Optionally, each overhead crane structure and steel coil structure contains at least information on ID and whether they match.

[0022] Optionally, initializing all overhead crane structures and steel coil structures includes:

[0023] From the Skytrain table T crane And steel coil table T coil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

[0024] Optionally, the specific calculation method of the distance moved by the crane arm is:

[0025] d = α|x1-x2|+β|y1-y2|;

[0026] Among them, (x1, y1) is the starting coordinate of the crane arm movement, (x2, y2) is the end coordinate of the crane arm movement, and α and β are the energy consumption coefficients of the crane trolley and the crane carriage, respectively.

[0027] Optionally, the crane table T crane At least include the crane ID, crane X coordinate, crane Y coordinate, whether there is a steel coil, and idle time;

[0028] Steel Coil Table T coil At least include coil ID, weight, production completion time, coil X coordinate, and coil Y coordinate;

[0029] Operation Table T operation It at least includes the ID of the steel coil to be dispatched, the planned dispatch time, and the target location ID.

[0030] The steel plant overhead crane dispatching system based on the Hungarian algorithm provided by the embodiment of the present invention includes:

[0031] Acquisition module, used to obtain raw data of steel mill;

[0032] A determination module, for determining an optimal task allocation scheme based on the Hungarian algorithm and the raw data of the steel plant;

[0033] The scheduling module is used to schedule the steel plant crane based on the optimal task allocation plan.

[0034] Optionally, the scheduling module performs overhead crane scheduling of the steel plant based on the Hungarian algorithm and the original data of the steel plant, including:

[0035] Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ;

[0036] Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures:

[0037] Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T;

[0038] Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1;

[0039] Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T;

[0040] Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix;

[0041] Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix;

[0042] Step 8: Use Python's scipy.optimize library to call the linear_sum_assignment function in the library and use the Hungarian algorithm to calculate the distance matrix Q(i,j) to find the optimal task allocation solution a(i,j) to minimize the total distance the overhead crane moves.

[0043] Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

[0044] Optionally, each overhead crane structure and steel coil structure contains at least information on ID and whether they match.

[0045] Optionally, initializing all overhead crane structures and steel coil structures includes:

[0046] From the Skytrain table T crane And steel coil table Tcoil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

[0047] Other features and advantages of the present invention will be described in the following description, and partly become apparent from the description, or understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings.

[0048] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0050] Figure 1 It is a flow chart of a steel plant overhead crane scheduling method based on the Hungarian algorithm in an embodiment of the present invention;

[0051] Figure 2 It is a schematic diagram of the implementation and application of the steel plant overhead crane scheduling method based on the Hungarian algorithm in an embodiment of the present invention;

[0052] Figure 3 It is a schematic diagram of a specific implementation and application of a steel plant overhead crane scheduling method based on the Hungarian algorithm in an embodiment of the present invention;

[0053] Figure 4 Schematic diagram of a steel plant overhead crane dispatching system based on the Hungarian algorithm in an embodiment of the present invention. DETAILED DESCRIPTION

[0054] The preferred embodiments of the present invention are described below in conjunction with the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present invention, and are not used to limit the present invention.

[0055] The present invention provides a steel plant overhead crane scheduling method based on the Hungarian algorithm, such as Figure 1 As shown, including:

[0056] S1. Obtaining the original data of the steel mill;

[0057] S2. Determine the optimal task allocation scheme based on the Hungarian algorithm and the original data of the steel plant;

[0058] S3. Based on the optimal task allocation plan, the steel plant overhead crane is dispatched.

[0059] First, raw data is collected from the steel mill, including information such as equipment status, production tasks, workshop layout, crane location, and load requirements. This data provides the basis for the steel mill crane scheduling. The scheduling problem is solved using the Hungarian algorithm, which is mainly used to solve the optimal matching problem of bipartite graphs. In the steel mill crane scheduling, the algorithm calculates the optimal task allocation plan by constructing a cost matrix between tasks and cranes to achieve the best match between tasks and cranes.

[0060] The Hungarian algorithm can quickly and accurately determine the optimal scheduling plan, thereby reducing scheduling time and improving operational efficiency; by reasonably allocating tasks and overhead cranes, it can maximize the use of existing resources and reduce idle time and resource waste; the optimal scheduling plan reduces scheduling conflicts and equipment idleness, thereby reducing production costs and operating expenses; better scheduling management allows steel mills to adjust quickly in the face of production changes, improving production flexibility and responsiveness.

[0061] The Hungarian algorithm is used as a scheduling algorithm to match the overhead crane with the tasks to be scheduled. The Hungarian algorithm can adjust the allocation of the overhead crane according to the scheduling requirements, ensuring that the allocation of the overhead crane reaches the global optimum, and maximizing the scheduling efficiency and resource utilization. In addition, the Hungarian algorithm is also flexible and can adjust the allocation of the overhead crane according to the scheduling requirements to cope with different changes in demand, thereby further improving the applicability and performance of the scheduling system.

[0062] In one embodiment, the steel plant overhead crane scheduling is performed based on the Hungarian algorithm and the original data of the steel plant, including:

[0063] Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ;

[0064] Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures:

[0065] Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T;

[0066] Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1;

[0067] Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T;

[0068] Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix;

[0069] Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix;

[0070] Step 8: Use Python's scipy.optimize library to call the linear_sum_assignment function in the library and use the Hungarian algorithm to calculate the distance matrix Q(i,j) to find the optimal task allocation solution a(i,j) to minimize the total distance the overhead crane moves.

[0071] Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

[0072] Each overhead crane structure and steel coil structure at least contains information on ID and whether it matches.

[0073] Initialize all crane structures and coil structures including:

[0074] From the Skytrain table Tcrane And steel coil table T coil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

[0075] like Figure 2 As shown, the algorithm steps include:

[0076] Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ;

[0077] Step 2: According to the crane table T crane 、Steel Coil Table T coil The crane and steel coil are abstracted into crane structure and steel coil structure respectively. Each structure contains relevant information such as id and whether it matches. Initialize all crane and steel coil structures: From the crane table T crane And steel coil table T coil Read the initial state of the crane and the steel coil, set the matching state between the currently idle crane and the steel coil that is not transported by the crane to unmatched, and set the matching state between the scheduled crane and the steel coil that is transported by the crane to matched; in this problem, the crane and the steel coil can be regarded as vertices waiting to be allocated in the bipartite graph, so the "structure" is referred to as "vertex" in the following text;

[0078] Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all the crane vertices whose matching status is unmatched before time t+T, list L coil Contains all coil vertices whose matching status is unmatched before time t+T;

[0079] Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1;

[0080] Step 5: Update list L according to the current time t crane : Add the cranes whose matching status changes from matched to unmatched during the time period from t to t+T (i.e., the cranes whose steel coil transport task is completed and are free again); from the operation table T operation Read the scheduling information from time t to t+T and update the list of steel coils waiting for transportation L coil : Add the steel coils that need to be transported within the time period from t to t+T;

[0081] Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the i-th coil is assigned to the j-th crane, and when it is 0, it means that the i-th coil is not assigned to the j-th crane. m means that there are currently m coils that need to be assigned to the crane, that is, list L coil The length of the list L; n means there are currently n idle cranes, that is, crane The initialization matrix a(i,j) is a full 0 matrix, indicating that no allocation has been made;

[0082] Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm of No. j moves to the crane arm of No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix;

[0083] Step 8: Use the Python "scipy.optimize" library to calculate the distance matrix Q(i,j) using the Hungarian algorithm by calling the "linear_sum_assignment" function in the library. The purpose of this algorithm is to find an optimal task assignment scheme a(i,j) to minimize the total distance the overhead crane moves;

[0084] Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the corresponding moving crane and steel coil status (including matching status), write the scheduled data into the database, and remove the matched crane and steel coil from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

[0085] When the above technical solution is implemented in a specific application, Figure 2 As shown:

[0086] The first step is to pre-process the crane scheduling data and import it into the database. The data of this method includes four parts, namely the crane starting position data, the cross-zone stack coordinates and steel coil storage data, the steel coil production data, and the steel coil out-stack scheduling instruction data. In the pre-processing stage, it is necessary to extract the coordinates and status of the crane, stack, and steel coil from the original data, as well as the production stacking instructions and loading stacking instructions, and establish data tables for the crane, stack, steel coil, and operation for storage.

[0087] The second step is to set the scheduling interval and read the scheduling instructions within the time interval for matching. This step takes each scheduling interval as a cycle for scheduling planning. Read the instructions within the current scheduling time from the database and update the information of the steel coils to be scheduled. Calculate the distance matrix between the overhead crane and the steel coils to be scheduled, use the Hungarian algorithm for matching, and execute the matching results to complete the scheduling. Through the bipartite graph matching mechanism of the Hungarian algorithm, it can ensure that the total distance of the overhead crane movement is minimized, that is, to achieve optimal scheduling.

[0088] The third step is to update the information of the crane, stack and coil after scheduling and enter the next scheduling cycle. Maintain the scheduling information completed in the current cycle, and write the updated crane coordinates, status, stack status, coil coordinates and status into the database. Update the time information, enter the next cycle, and return to the second step to read the new scheduling instructions until the set end time or there are no remaining scheduling instructions.

[0089] In one embodiment, the specific calculation method of the distance moved by the crane arm is:

[0090] d = α|x1-x2|+β|y1-y2|;

[0091] Among them, (x1, y1) is the starting coordinate of the crane arm movement, (x2, y2) is the end coordinate of the crane arm movement, and α and β are the energy consumption coefficients of the crane trolley and the crane carriage, respectively.

[0092] In one embodiment, the overhead travelling car table T crane At least include the crane ID, crane X coordinate, crane Y coordinate, whether there is a steel coil, and idle time;

[0093] Steel Coil Table T coil At least include coil ID, weight, production completion time, coil X coordinate, and coil Y coordinate;

[0094] Operation Table T operation It at least includes the ID of the steel coil to be dispatched, the planned dispatch time, and the target location ID.

[0095] The present invention provides a steel plant overhead crane dispatching system based on the Hungarian algorithm, such as Figure 4 As shown, including:

[0096] Acquisition module 1, used to acquire raw data of the steel plant;

[0097] A determination module 2 is used to determine the optimal task allocation plan based on the Hungarian algorithm and the original data of the steel plant;

[0098] The scheduling module 3 is used to schedule the steel plant crane based on the optimal task allocation plan.

[0099] The scheduling module performs overhead crane scheduling of the steel plant based on the Hungarian algorithm and the original data of the steel plant, including:

[0100] Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ;

[0101] Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures:

[0102] Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T;

[0103] Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1;

[0104] Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T;

[0105] Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix;

[0106] Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix;

[0107] Step 8: Use Python's scipy.optimize library to call the linear_sum_assignment function in the library and use the Hungarian algorithm to calculate the distance matrix Q(i,j) to find the optimal task allocation solution a(i,j) to minimize the total distance the overhead crane moves.

[0108] Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

[0109] Each overhead crane structure and steel coil structure at least contains information on ID and whether it matches.

[0110] Initialize all crane structures and coil structures including:

[0111] From the Skytrain table T crane And steel coil table T coil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

[0112] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A steel plant crane scheduling method based on the Hungarian algorithm, characterized in that: include: Obtain raw data from steel mills; Based on the Hungarian algorithm, the optimal task allocation scheme is determined according to the raw data of the steel plant; Based on the optimal task allocation plan, overhead crane scheduling is carried out in the steel plant.

2. The steel plant overhead crane scheduling method based on the Hungarian algorithm according to claim 1, characterized in that: The Hungarian algorithm is used to dispatch the overhead crane of the steel plant according to the original data of the steel plant, including: Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ; Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures: Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T; Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1; Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T; Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix; Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix; Step 8: Call the linear_sum_assignment function, use the Hungarian algorithm to calculate the distance matrix Q(i,j), and find the optimal task assignment scheme a(i,j) to minimize the total distance the overhead crane moves; Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

3. The steel plant overhead crane scheduling method based on the Hungarian algorithm as claimed in claim 2, characterized in that: Each overhead crane structure and steel coil structure at least contains information on ID and whether it matches.

4. The steel plant overhead crane scheduling method based on the Hungarian algorithm as claimed in claim 2, characterized in that: Initialize all crane structures and coil structures including: From the Skytrain table T crane And steel coil table T coil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

5. The steel plant overhead crane scheduling method based on the Hungarian algorithm as claimed in claim 2, characterized in that: The specific calculation method for the distance the crane arm moves is: d = α|x1-x2|+β|y1-y2|; Among them, (x1, y1) is the starting coordinate of the crane arm movement, (x2, y2) is the end coordinate of the crane arm movement, and α and β are the energy consumption coefficients of the crane trolley and the crane carriage, respectively.

6. The steel plant overhead crane scheduling method based on the Hungarian algorithm as claimed in claim 2, characterized in that: Overhead Crane Table T crane At least include the crane ID, crane X coordinate, crane Y coordinate, whether there is a steel coil, and idle time; Steel Coil Table T coil At least include coil ID, weight, production completion time, coil X coordinate, and coil Y coordinate; Operation Table T operation It at least includes the ID of the steel coil to be dispatched, the planned dispatch time, and the target location ID.

7. The steel plant crane dispatching system based on the Hungarian algorithm is characterized by: include: Acquisition module, used to obtain raw data of steel mill; A determination module, for determining an optimal task allocation scheme based on the Hungarian algorithm and the raw data of the steel plant; The scheduling module is used to schedule the steel plant crane based on the optimal task allocation plan.

8. The steel plant overhead crane dispatching system based on the Hungarian algorithm as claimed in claim 7, characterized in that: The scheduling module is used to: Step 1: Convert the raw data of the steel plant into the crane table T crane 、Steel Coil Table T coil , Operation Table T operation ; Step 2: According to the crane table T crane 、Steel Coil Table T coil Abstract the crane and steel coil into crane structure and steel coil structure respectively, and initialize all crane structures and steel coil structures: Step 3: Set the start time t0, end time t1, time interval T, current time t, initialize t to t0; define list L crane Contains all crane structures whose matching status is unmatched before time t+T, list L coil Contains all steel coil structures whose matching status is unmatched before time t+T; Step 4: Repeat steps 5 to 9 until the current time t exceeds the end time t1; Step 5: Update list L according to the current time t crane : Add the crane structure whose matching status changes from matched to unmatched during the time period from t to t+T; from the operation table T operation Read the scheduling information from time t to t+T, and update the list of steel coils waiting for transportation based on the scheduling information L coil : Add the steel coil structure that needs to be transported within the time period from t to t+T; Step 6: Define matrix a(i,j): Matrix a(i,j) is an m×n dimensional state matrix, which represents the allocation result to be solved, where each element a ij When it is 1, it means that the steel coil structure No. i is assigned to the crane structure No. j, and when it is 0, it means that the steel coil structure No. i is not assigned to the crane structure No. j; m means that there are currently m steel coil structures that need to be assigned to cranes; n means that there are currently n idle crane structures; the initialization matrix a(i,j) is a full 0 matrix; Step 7: Define the distance matrix Q(i,j): The matrix Q(i,j) is an m×n dimensional distance matrix, where each element Q ij represents the distance that the crane arm moves after the crane structure No. j moves to the coil structure No. i; let N = max(m,n), d max is the maximum value in Q(i,j), using d max +1 Fill Q(i,j) into an N×N dimensional distance matrix; Step 8: Call the linear_sum_assignment function, use the Hungarian algorithm to calculate the distance matrix Q(i,j), and find the optimal task assignment scheme a(i,j) to minimize the total distance the overhead crane moves; Step 9: Execute the optimal task allocation plan a(i,j) obtained in step 8 as the scheduling plan, update the status of the corresponding moving crane structure and steel coil structure, write the scheduled data into the database, and remove the matched crane structure and steel coil structure from the list L. crane and L crane Remove it; increase the current time t by interval T and return to step 4.

9. The steel plant overhead crane dispatching system based on the Hungarian algorithm as claimed in claim 7, characterized in that: Each overhead crane structure and steel coil structure at least contains information on ID and whether it matches.

10. The steel plant overhead crane dispatching system based on the Hungarian algorithm as claimed in claim 7, characterized in that: The scheduling module is used to initialize all overhead crane structures and steel coil structures including: From the Skytrain table T crane And steel coil table T coil The initial crane status and steel coil status are read, and based on the initial crane status and steel coil status, the matching status of the currently idle crane and the steel coils that are not transported by the unassigned crane is set to unmatched, and the matching status of the scheduled crane and the steel coils that are transported by the assigned crane is set to matched.

Citation Information

Patent Citations

  • Unmanned crown block scheduling method

    CN115099659A

  • Crown block scheduling method, system and device, electronic equipment and storage medium

    CN116822864A

  • A crane scheduling method, apparatus, equipment, and readable storage medium

    CN116934059B

  • Equipment scheduling and allocating method based on Hungary algorithm

    CN103235990A

  • Optimization method for assignment problem of series-parallel system based on Hungary algorithm

    CN104850909A