A magnetic industry intelligent scheduling optimization system and method
Through the intelligent scheduling optimization system and a variety of heuristic algorithms, the problems of low efficiency and reliance on manual experience in traditional workshop scheduling have been solved, the production process has been made intelligent and efficient, and the flexibility and accuracy of production have been improved.
Patent Information
- Application Number
- CN202511055829.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-30
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2045-07-30
AI Technical Summary
Traditional workshop scheduling lacks flexibility when facing market changes and urgent order demands, has low resource utilization efficiency, poor information communication, and relies on manual experience, making it difficult to meet the requirements of efficient, low-cost, and high-quality production.
An intelligent scheduling optimization system is adopted, including a database, a preprocessing module, an intelligent scheduling module, a manual scheduling verification module, a result optimization module and an indicator calculation module. It uses rule-based heuristic algorithms and multiple heuristic algorithms to optimize task scheduling, and combines data analysis and manual adjustment to generate a reasonable production plan.
It improves the efficiency and quality of scheduling, reduces labor costs, reduces human errors, supports dynamic adjustment and comprehensive consideration of multiple constraints, and improves production flexibility and accuracy.
Smart Images

Figure CN120562833B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of discrete manufacturing technology in the magnetic industry, and in particular to a workshop intelligent scheduling optimization method and system for a multi-wire cutting process in the magnetic industry. Background Art
[0002] As a key component of modern industry, magnetic materials play a vital role in a wide range of fields, including electronics, communications, automotive, and energy. With technological advancements and growing market demand, the magnetics industry faces challenges in product diversification, order customization, and shortened production cycles. Multi-wire cutting processes present particularly severe challenges.
[0003] Traditional shop floor scheduling has the following limitations:
[0004] (1) Rigid production plan: Traditional workshop scheduling is often based on fixed production plans, which lacks flexibility and cannot quickly respond to market changes and urgent order demands.
[0005] (2) Low resource utilization efficiency: The allocation of equipment and human resources is usually not sophisticated enough, resulting in waste of production capacity, especially in the environment of high-variety small-batch production, where production line switching is frequent and inefficient.
[0006] (3) Information islands: Information communication between various links in the workshop is not smooth, and data updates are delayed, which affects the timeliness and accuracy of decision-making.
[0007] (4) Dependence on human experience: Scheduling decisions are highly dependent on the experience and intuition of managers, lack scientific basis, and are prone to errors and deviations.
[0008] Traditional production models and workshop scheduling methods can no longer meet the current high-efficiency, low-cost, and high-quality production requirements. Therefore, developing advanced workshop scheduling technology has become the key to improving the competitiveness of the magnetic industry. Summary of the Invention
[0009] The purpose of the present invention is to address the shortcomings of the prior art. Focusing on the existing deficiencies in the multi-wire cutting process scheduling in magnetic industry workshops, the present invention uses intelligent optimization technology to solve the problems of slow efficiency, high cost and untimely response in the current scheduling, and to realize the intelligence, flexibility and efficiency of the production process to meet the challenges of the future market. A magnetic industry intelligent scheduling optimization system and method are proposed.
[0010] To achieve the above object, the present invention adopts the following technical solutions:
[0011] An intelligent scheduling optimization system for the magnetic industry, including a database, a preprocessing module, an intelligent scheduling module, a manual scheduling verification module, a result optimization module, an indicator calculation module and a front-end page;
[0012] The pre-processing module is used to perform pre-processing calculations on the production orders to be processed, including matching of tooling and molds, calculation of scheduling quantity, calculation of order capacity, and determination of the arrangement of the blanks to be processed;
[0013] The intelligent scheduling module performs task scheduling on task orders based on a rule-based heuristic algorithm;
[0014] The manual scheduling verification module is used to verify the rationality of the manual scheduling results; the front-end page is used to display the scheduling results and interact with the user to manually edit the scheduling results;
[0015] The result optimization module is used to optimize the scheduling results after manual adjustment, and to perform tight scheduling to improve actual production efficiency while keeping the processing sequence unchanged;
[0016] The indicator calculation module is used to calculate indicators based on the results of intelligent scheduling and manual scheduling to determine the quality of the scheduling plan;
[0017] The database is used to store data required for scheduling; the data stored in the database include order data and processing result data.
[0018] Furthermore, the order data includes the order number, order product name, order product quantity, order start time, delivery date, and planned completion date;
[0019] The processing result data is in table form and is used to store the preprocessing calculation results;
[0020] The database also includes equipment data, including equipment code, equipment name, equipment quantity, equipment and tooling matching, cutting efficiency, equipment corresponding marble specifications, equipment material number P; equipment corresponding marble specifications include equipment corresponding marble specification cutting thickness and equipment corresponding marble specification width;
[0021] The database also stores the raw material information, production process, process parameters and production schedule of the ordered products. The production process includes the ordered product name, production tooling, product size and production mold. The raw material information includes the blank, blank specifications and blank quantity. The blank specifications include the length, width and height of the blank.
[0022] Process parameters include the order product name, blank cutting thickness, and slice length and width specifications;
[0023] Production schedule includes equipment shifts; the equipment shifts include working periods, durations and sequences.
[0024] An intelligent scheduling optimization method for the magnetic industry, based on an intelligent scheduling optimization system for the magnetic industry;
[0025] The following steps are involved:
[0026] S1: data preprocessing;
[0027] Select pending production orders, create task order scheduling requests, respond to task order scheduling requests, obtain corresponding order data from the database, and perform pre-processing calculations on the order data, including tooling and mold matching, scheduling quantity calculation, order capacity calculation, and determination of the arrangement of the blanks to be processed. After the calculations are completed, the results are stored in the specified table in the database.
[0028] Including: S11: Matching of tooling and mold;
[0029] Obtain the order product name, and according to the production process, obtain the production tooling and production mold corresponding to the order product name;
[0030] S12: Schedule quantity calculation;
[0031] According to the order quantity, the quantity of the ordered products is obtained, and the scheduling quantity of the raw materials is calculated based on the obtained quantity of the ordered products;
[0032] S13: Order capacity calculation;
[0033] Calculate the order capacity of the two arrangement methods respectively;
[0034] S14: determining the arrangement of the blanks to be processed;
[0035] According to the order capacity calculated by the two stacking heights, the stacking height arrangement with higher order capacity is obtained as the arrangement method of the blanks to be processed;
[0036] S2: Intelligent Scheduling;
[0037] A rule-based heuristic algorithm is used to arrange task orders. A heuristic algorithm based on minimizing tooling switching times and a heuristic algorithm based on order delivery priority are combined to generate a scheduling result.
[0038] S3: Manual scheduling result inspection;
[0039] The scheduling results are pushed to the front-end for display. The dispatcher's permission for scheduling results is set to editable. Manual adjustments and editing are performed on the scheduling results. After the manual scheduling is completed, the save command is responded to and the scheduling results are pushed to the verification algorithm through the interface. The verification algorithm is started to verify the scheduling results. After the verification is completed, the scheduling results are input into the optimization interface.
[0040] S4: Manual scheduling result optimization;
[0041] When data input is detected in the optimization interface, the result optimization algorithm is called to detect whether there are time gaps between manually scheduled tasks. If time gaps appear between manually scheduled tasks, the time gaps are eliminated.
[0042] S5: indicator calculation;
[0043] The scheduling results of intelligent scheduling and manual scheduling are transmitted through the interface, the indicator verification request is responded to, and the indicator calculation is performed on the received scheduling results;
[0044] Indicators include: number of overdue tasks, overdue risk, and equipment utilization rate.
[0045] Furthermore, step S12 includes:
[0046] S121: Production synchronization calculation;
[0047] Obtain the work report data and the latest published scheduling results. Based on the work report data, determine the number of unfinished tasks in the scheduled tasks and whether the unfinished tasks have been produced by the designated equipment. If so, schedule the unfinished tasks as new tasks on the designated equipment. If not, merge the unfinished tasks with the new tasks.
[0048] S122: Calculate the quantity of ordered products;
[0049] Get the product quantity in the order of the new task, and according to the work report data, get the remaining order product quantity in the scheduled result and add them together to get the total order product quantity;
[0050] S123: Calculate the number of schedules;
[0051] Obtain the process parameters of the order product from the database, obtain the blank cutting thickness and the length and width specifications of the slice according to the order product name, and obtain the blank that meets the length and width specifications of the slice from the raw material information; obtain the difference between the length and width of the blank and the length, width and height of the slice length and width specifications, and the smallest blank as the target blank;
[0052] According to the target blank, calculate the number of slices that can be obtained for the target blank; according to the scheduling quantity ≥ total order product quantity / number of slices that can be obtained for the blank, the scheduling quantity is a positive integer, and the scheduling quantity is obtained.
[0053] Furthermore, step S13 includes:
[0054] S131: Calculate the number of single board blanks;
[0055] Based on the target blank, obtain the blank processing direction; assume the blank specifications are A*B*C; A is the processing direction, take max(B,C) as the stacking height, and calculate the number of single board blanks;
[0056] S132: Calculate the time for each board;
[0057] Time per board T0=(t* max(B,C)+ (cutting thickness of marble corresponding to the equipment specification)) / cutting efficiency+arc extinguishing time;
[0058] t is the number of stacks in the stacking direction, and max(B,C) is the stacking height. The arc extinction time is 10 minutes, and the cutting efficiency is obtained from the equipment data.
[0059] S133: Calculate the output of each board;
[0060] The output per board is calculated based on the formula: output per board = number of slices that can be obtained from the blank * number of single board blanks;
[0061] S134: Calculate order capacity;
[0062] Calculate the order capacity according to order capacity = output per board / time per board T0;
[0063] S135: Take min(B,C) as the stack height and calculate the order capacity using the same method.
[0064] Furthermore, step S2 includes: S21: scheduling based on a heuristic algorithm that minimizes the number of tooling switches, scheduling according to the tooling used by the current equipment, and determining whether all tasks meet the delivery date. If so, output the current scheduling result; if not, proceed to S22;
[0065] S22: Scheduling is performed based on the priority of the heuristic algorithm based on the order delivery priority, and sorting is performed according to the production order priority to determine whether all tasks meet the delivery date. If so, the current scheduling result is output; if not, the scheduling result of the tooling used by the current equipment is output.
[0066] Furthermore, step S21 includes:
[0067] S211: Determine the priority of the tooling group;
[0068] Based on the pre-processing results, the tools are grouped according to the tools used, and the processing quantity of each tooling group is calculated. If the processing quantities are different, each group is prioritized in descending order of processing quantity. If the processing quantities are the same, determine whether the earliest delivery date of all order data in each tooling group is the same. If they are not the same, the tooling groups with the same processing quantity are prioritized in descending order of delivery date. If the delivery dates of each group are also the same, they are sorted according to the default processing order to finally determine the priority of each tooling group. A pool of tooling tasks to be scheduled is created, and the tooling groups used for the tasks are recorded and sorted according to priority.
[0069] S212: After determining the priority of each tooling group, group the orders in the tooling group according to the order of their delivery dates;
[0070] S213: Find the device with the earliest processing completion time among the current devices, obtain the tooling information carried by the device at the time of processing completion, and determine whether the tooling information used by the current device is compatible with the tooling group with determined priority. Furthermore, based on the device data, determine whether the device can be loaded with the tooling group with determined priority. If so, the device is treated as an idle device waiting for random assignment; otherwise, the device is not considered.
[0071] S214: The tooling information used by the current equipment is matched with the tooling group with determined priority. It is determined whether the processing quantities of the tooling groups of the matched equipment are the same. If the processing quantities are the same, the equipment corresponding to the tooling group with a closer delivery date is selected. If the processing quantities are different, the equipment corresponding to the tooling with a larger processing quantity is selected for scheduling.
[0072] Calculate the processing start time of the task: processing start time = max(max(processing end time of the "previous" process of the batch of tasks), processing end time of the current task of the equipment);
[0073] S215: If the tooling information used by the current device does not match the existing prioritized tooling group, the tooling group with the highest priority is selected and assigned to a randomly selected idle device. The tooling group is assigned in the order of the order delivery dates within the tooling group.
[0074] The task processing start time is calculated as max(max(the end time of the previous process of the batch of tasks), the end time of the current task of the equipment). The calculated task start time is then subtracted from the end time of the current task to obtain the time interval. If the time interval is greater than the loading and unloading changeover time, the task start time remains unchanged. If the time interval is less than the loading and unloading changeover time, the difference between the loading and unloading changeover time and the time interval is added to the calculated task start time to obtain the new task start time.
[0075] S216: Calculate task processing end time;
[0076] The processing end time is calculated based on the processing completion time = processing start time + processing time; processing time = the number of processing units in the tooling group / the order capacity of the arrangement method of the blanks to be processed;
[0077] S217: Update the tooling task pool to be scheduled, delete the tooling groups that have been scheduled from the tooling task pool to be scheduled, and determine whether the tooling groups in the tooling task pool to be scheduled are zero. If so, output the scheduling result. Otherwise, repeat S213-S217 until the tooling groups in the tooling task pool to be scheduled are zero, and output the scheduling result.
[0078] S218: Determine whether the scheduling result meets the delivery date;
[0079] Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if the processing completion time does not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, execute step S22.
[0080] Furthermore, step S22 includes:
[0081] S221: Prioritize all orders in descending order of delivery time to form work orders to be processed;
[0082] S222: All work orders to be processed are traversed. If all the processes to be processed in the current work order have been scheduled, the work order with the lowest priority is entered for scheduling. If there are processes to be scheduled in the current work order, the tooling used for all the directions to be processed in the current order is grouped, and the total quantity required for each group of tooling is calculated. It is also determined whether the quantities to be processed by each group of tooling are the same. If they are not the same, they are sorted in descending order according to the priority of the processing quantity. If there are groups with the same processing quantity, they are sorted in the default processing order. After the sorting is completed, the tooling group with the highest priority is selected as the direction to be cut.
[0083] S223: Find the device with the earliest processing completion time among all current devices. Based on the tooling information carried by the device at the time of processing completion, determine whether the device is among the devices corresponding to the tooling to be processed. If not, find the corresponding device that can process the tooling based on the device data. It is also necessary to determine whether the number of devices exceeds two.
[0084] S224: If there are more than two machines, the number of products to be processed by the current tooling group is grouped according to the number of available machines. The output per board of the current tooling group is compared with the number of products to be processed after grouping to determine whether the number of used machines is greater than or equal to the number of available machines. It is also determined whether there are any unassigned tasks. If so, the tasks are evenly distributed among the machines that have been assigned tasks. If not, a machine with the same number of machines as the number of products to be processed by the current tooling group is randomly selected for processing.
[0085] S225: Calculate the processing start time;
[0086] When scheduling tasks for equipment, first determine whether the tooling used by the current equipment is the same as that of the tooling group to be processed. If they are the same, calculate the start time. If the tooling used by the current equipment is different from that of the tooling group to be processed, first calculate the processing start time of the current task. Then determine the difference between the calculated processing start time and the processing end time of the task on the current equipment to obtain the time interval. If the time interval exceeds the loading and unloading changeover time, the calculated start time will not be changed. If it does not exceed the loading and unloading changeover time, the difference between the loading and unloading changeover time and the time interval needs to be added to the calculated start time.
[0087] S226: Calculate processing completion time;
[0088] Calculate the processing completion time of the current tooling of the equipment, update the tasks, update the scheduled tasks, and delete the orders of the scheduled tasks from the work orders to be processed;
[0089] S227: Determine whether all the cutting processes in the current work order to be processed have been completed. If not, filter out all the tooling in all the directions to be processed in the current work order to be processed, jump to S232, and repeat S232-S237. If all are completed, determine whether all the work orders have been traversed based on whether the work order to be processed contains an order. If not, repeat S232-S237 until all the work orders in the work order to be processed have been traversed and the scheduling result is output.
[0090] S228: Determine whether the scheduling result meets the delivery date;
[0091] Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if all processing completion times do not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, the scheduling result of S21 is output as the final scheduling result of the intelligent scheduling.
[0092] Furthermore, step S3 specifically includes:
[0093] S31: extended verification;
[0094] Fill in color blocks for tasks that are overdue or at risk of being overdue as a reminder, and mark the reminder as "Task Overdue";
[0095] Overdue reminder: Obtain work report data, and for unfinished tasks, if the current scheduled completion date is later than the deadline, fill in the orange block to issue a warning; if the current deadline is later than the deadline, fill in the red block to issue a warning;
[0096] Overdue risk reminder: Get the scheduling results. If the task processing end time is later than the planned completion date, fill in the orange block to issue a warning. If the task processing end time is later than the task delivery date, fill in the red block to issue a warning.
[0097] S32: plan deviation check;
[0098] According to the work report data, the processing start time of the processed tasks is arranged later than the processing start time of the unstarted tasks in the new scheduling results. The red block is filled as an early warning, and the reminder content is marked as "the plan of the started tasks has deviated";
[0099] S33: device status check;
[0100] Get the device status in real time. If the device status of the task is "maintenance / abnormal", it will prompt "device unavailable" and mark a red block as an early warning.
[0101] Furthermore, step S4 is specifically as follows: responding to the optimization instruction, determining the first task of each device according to the device code, and calculating the shift start time and end time of each device according to the working period of the device shift; the start time of the first task is the shift start time of the device, and judging whether the task processing time is greater than the remaining time of the current shift, if not, the processing end time of the first task = the current task start time + processing time; if greater, the processing end time of the first task = the start time after the cross-shift + processing time - np.ceil (processing time / shift time) * shift time, the np.ceil() function is a rounding function that returns the smallest integer greater than or equal to the value;
[0102] Next, determine whether the current task is the last one. If not, calculate the time difference between the task end time and the current shift end time, and determine whether the time difference is greater than or equal to the tooling group's loading and unloading changeover time. If so, the start time of the current task = the end time of the previous task + the loading and unloading changeover time. If not, the start time of the current task = the start time of the next shift + (loading and unloading changeover time - time difference);
[0103] Then determine whether the processing time of the current task is greater than the remaining time of the current shift. If not, the processing end time of the task = the start time of the current task + the processing time. If greater, the processing end time of the task = the start time after the cross-shift + the processing time - np.ceil (processing time / shift time) * shift time;
[0104] Continue to determine whether the current task is the last task. If not, repeat the process to obtain the start time and processing end time of all tasks until it is determined to be the last task and output the result of time gap filling.
[0105] Compared with existing technologies, the present invention offers the following advantages: it supports both fully automatic and manual scheduling, while also providing for verification and quality assessment of scheduling results. This system not only improves scheduling efficiency and quality, but also retains the flexibility of manual scheduling. Its overall operational process is user-friendly, while also lowering the professional barriers to shop floor scheduling and reducing labor costs, thereby improving customer satisfaction. It offers the following advantages:
[0106] 1. Accuracy: Based on precise data analysis and calculation, the present invention can generate a more reasonable plan than manual scheduling.
[0107] 2. Real-time: Ability to make dynamic adjustments based on actual conditions to ensure that the scheduling plan can guide actual production.
[0108] 3. Comprehensive Consideration: Multiple constraints (such as shifts, resource limits, priorities, etc.) can be considered simultaneously, making decisions that are more comprehensive than manual scheduling.
[0109] 4. Scalability: Easily adaptable to scheduling needs of different scales and complexities.
[0110] 5. Decision support: Provide data support to managers to help them make decisions that are in line with production reality.
[0111] 6. Reduce human errors: Reduce errors and omissions caused by human factors. BRIEF DESCRIPTION OF THE DRAWINGS
[0112] Figure 1 This is a flowchart of the steps of a magnetic industry intelligent scheduling optimization method of the present invention;
[0113] Figure 2 A flowchart of the steps of production synchronization calculation of a magnetic industry intelligent scheduling optimization method of the present invention;
[0114] Figure 3 A flowchart of the steps of intelligent scheduling of a magnetic industry intelligent scheduling optimization method of the present invention;
[0115] Figure 4 This is a calculation flow chart of the MMC heuristic algorithm for the magnetic industry intelligent scheduling optimization method of the present invention;
[0116] Figure 5 This is a calculation flow chart of the WOP heuristic algorithm for the magnetic industry intelligent scheduling optimization method of the present invention;
[0117] Figure 6 A flowchart of optimizing manual scheduling results of a magnetic industry intelligent scheduling optimization method according to the present invention;
[0118] Figure 7This is a schematic diagram of the arrangement method of the magnetic industry intelligent scheduling optimization method of the present invention. DETAILED DESCRIPTION
[0119] In order to provide a further understanding of the purpose, structure, features, and functions of the present invention, the present invention is described in detail below with reference to the embodiments.
[0120] like Figures 1-6 , an intelligent scheduling optimization method for the magnetic industry, based on the intelligent scheduling optimization system for the magnetic industry, the intelligent scheduling optimization system for the magnetic industry includes a database, a preprocessing module, an intelligent scheduling module, a manual scheduling verification module, a result optimization module, an indicator calculation module and a front-end page, etc.;
[0121] The database is used to store data required for scheduling;
[0122] The pre-processing module is used to perform pre-processing calculations on the production orders to be processed, including matching of tooling and molds, calculation of scheduling quantity, calculation of order capacity, and determination of the arrangement of the blanks to be processed;
[0123] The intelligent scheduling module performs task scheduling on task orders based on a rule-based heuristic algorithm;
[0124] The manual scheduling verification module is used to verify the rationality of the manual scheduling results; the front-end page is used to display the scheduling results and interact with the user to manually edit the scheduling results;
[0125] The result optimization module is used to optimize the scheduling results after manual adjustment, and to perform tight scheduling to improve actual production efficiency while keeping the processing sequence unchanged.
[0126] The indicator calculation module is used to calculate indicators for the results of intelligent scheduling and manual scheduling to determine the quality of the scheduling plan. The indicator calculation content includes: the number of overdue tasks, overdue risks, and equipment utilization rate.
[0127] The specific steps include:
[0128] S1: data preprocessing;
[0129] Select pending production orders, create task order scheduling requests, respond to task order scheduling requests, obtain corresponding order data from the database, and perform pre-processing calculations on the order data, including tooling and mold matching, scheduling quantity calculation, order capacity calculation, and determination of the arrangement of the blanks to be processed. After the calculations are completed, the results are stored in the specified table in the database.
[0130] The database stores order data and processing result data;
[0131] Order data is the production order information stored in the database. Order data includes order number, order product name, order product quantity, order start time, delivery date, planned completion date, etc.
[0132] The processing result data is in table form and is used to store the preprocessing calculation results.
[0133] The database also includes equipment data, including equipment code, equipment name, equipment quantity, equipment and tooling matching, cutting efficiency, equipment corresponding marble specifications, and equipment material number P. Equipment corresponding marble specifications include equipment corresponding marble specification cutting thickness and equipment corresponding marble specification width.
[0134] The database also stores the raw material information, production process and process parameters of the order products. The production process includes the order product name, production tooling, product size, production mold, etc.
[0135] Raw material information includes blank, blank specifications, blank quantity, etc. Blank specifications include three parameters: length, width, and height.
[0136] The process parameters include the order product name, blank cutting thickness, slice length and width specifications, etc.
[0137] The database also stores production schedules, which include equipment shifts; the equipment shifts include working periods, durations, and sequences.
[0138] S11: Matching of tooling and molds;
[0139] Obtain the order product name, and according to the production process, obtain the production tooling and production mold corresponding to the order product name.
[0140] S12: Schedule quantity calculation;
[0141] According to the order quantity, the quantity of the ordered products is obtained, and the scheduling quantity of the raw materials is calculated based on the obtained quantity of the ordered products.
[0142] Specifically include:
[0143] like Figure 2 , S121: production synchronization calculation;
[0144] Obtain the work report data and the latest published scheduling results, determine the number of unfinished tasks in the scheduled tasks based on the work report data, and determine whether the unfinished tasks have been produced by the designated equipment. If so, schedule the unfinished tasks as new tasks on the designated equipment. If not, schedule the unfinished tasks together with the new tasks.
[0145] This method synchronizes the issued scheduling results with the actual production execution status to ensure that each rolling schedule is based on the actual production conditions, thereby ensuring that the results obtained through the scheduling algorithm can guide actual production.
[0146] Work report data is the actual execution results recorded and reported in real time by production personnel during the execution of tasks.
[0147] The specific implementation method is as follows: obtain the reporting time and number of reported work from the reporting data, and compare them with the latest scheduling results that have been issued. The issued scheduling results include the target production quantity for each device. If the reported number of work reaches the target production quantity of the device issued in the scheduling results, the scheduled tasks on the device have completed production. Similarly, the task completion status of each device is determined. If all scheduled tasks on the device are completed, it can be assumed that the tooling finally loaded on the device is the tooling required for the last task in the issued results, and the tooling information carried by the device is recorded. If the reported number of work reaches the target production quantity issued in the scheduling results, the task has completed production. If the reported number of work for the task is less than the target production quantity, the remaining unfinished quantity and unstarted tasks need to be scheduled as pending tasks and included in the new pending tasks. During the scheduling process, the scheduling constraints for unfinished tasks need to be prioritized. Add judgment constraints: whether there is a designated device for processing, etc. If so, the unfinished task is scheduled on the designated device and the unfinished task is merged with the new task. If not, there is no designated device, and the unfinished task is merged with the new task normally.
[0148] S122: Calculate the quantity of ordered products;
[0149] Get the product quantity in the order of the new task, and according to the work report data, get the remaining order product quantity in the scheduled result and add them together to get the total order product quantity;
[0150] S123: Calculate the number of schedules;
[0151] Obtain the process parameters of the order product from the database, obtain the blank cutting thickness and the length and width specifications of the slice according to the order product name, obtain the blank that meets the length and width specifications of the slice from the raw material information, that is, two of the length, width and height of the blank are greater than the length and width in the length and width specifications of the slice, and the other parameter is greater than the blank cutting thickness, obtain the difference between the length and width of the blank and the length, width and height in the length and width specifications of the slice and the smallest blank as the target blank.
[0152] According to the target blank, calculate the number of slices that can be obtained from the target blank, that is, obtain the ratio of another parameter that meets the length and width specifications of the slice to the blank cutting thickness, take the integer as the number of slices that can be obtained from the blank, and according to the scheduling quantity ≥ total order product quantity / number of slices that can be obtained from the blank, the scheduling quantity is a positive integer, and the scheduling quantity is obtained.
[0153] S13: Order capacity calculation;
[0154] S131: Calculate the number of single board blanks;
[0155] Based on the target blank, determine the blank's machining direction (another parameter besides the slice's length and width). Assuming the blank's specifications are A*B*C, A is the machining direction. The stacking direction can be either B or C. Currently, max(B,C) is used as the stacking height. The number of single-board blanks = m*n*t*p.
[0156] Here, m is the number of material orientations, m = int(marble cutting thickness corresponding to the equipment specification * 0.8 / blank specification A). The int() function converts a value to an integer, directly truncating the decimal point.
[0157] n is the number of rows perpendicular to the material being processed, n = int(marble width * 0.8 / material size min(B, C)). 0.8 is an elastic coefficient that can be adjusted and optimized based on actual conditions. If the panels are very small, they should be grouped and evenly spaced, leaving gaps to facilitate chip removal during multi-wire cutting.
[0158] t is the number of stacks in the stack height direction, and the number of panels is t = min(int(119.9 / max(B,C))+1, int(79.9 / max(B,C))+1). (79.9 is used to avoid the situation where the integer is exactly the same.)
[0159] p is the number of plates P obtained from the equipment data. For a single plate, p=1, and for a double plate, p=2 (some equipment can cut two plates simultaneously). The value is determined by the Plate Number field on the equipment marble specification configuration page.
[0160] S132: Calculate the time for each board;
[0161] Time per board T0=(t* max(B,C)+ (cutting thickness of marble corresponding to the equipment specification)) / cutting efficiency+arc extinguishing time;
[0162] The arc extinction time is 10 min, t is the number of stacks in the stack height direction, and the cutting efficiency is obtained from the equipment data.
[0163] S133: Calculate the output of each board;
[0164] The output per board is calculated based on the following formula: output per board = number of slices that can be obtained from the blank * number of single board blanks.
[0165] S134: Calculate order capacity;
[0166] Order capacity is calculated based on order capacity = output per board / time per board T0.
[0167] S135: Take min(B,C) as the stack height and calculate the order capacity using the same method.
[0168] S14: determining the arrangement of the blanks to be processed;
[0169] According to the order capacity calculated by the two stacking heights, the stacking height arrangement with high order capacity is obtained as the arrangement of the blanks to be processed. Figure 7 In S13, the order capacity of arrangement method A and arrangement method B are calculated respectively, and then the arrangement method is confirmed according to the size of the order capacity. The calculation logic of this method defaults to arranging according to the method with the fastest processing efficiency, ensuring the efficiency of equipment production.
[0170] S2: Intelligent Scheduling;
[0171] like Figure 3 ,The task orders are arranged based on a rule-based heuristic algorithm and ,generates scheduling results.
[0172] The specific factors to be considered are as follows:
[0173] (1) Minimize tooling switching times;
[0174] (2) Meeting delivery dates for as many orders as possible;
[0175] (3) In view of the unique processing characteristics of the multi-line process in the magnetic industry, the equipment is required to continue the processing task after the shift ends, but no new processing tasks can be added.
[0176] (4) The start and end time points of the processing of the same work order cannot overlap;
[0177] (5) The same device can only process one task at a time, and a task can only be processed on one device at a time.
[0178] The present invention takes multiple factors into consideration to ensure the rationality of the scheduling results, avoid conflicts in scheduling results, and is more comprehensive and suitable for scheduling in complex scenarios.
[0179] S21: Scheduling based on the MMC (Minimum Mold Changes, MMC) heuristic algorithm that minimizes the number of tooling changes (e.g. Figure 4), schedule according to the tooling used by the current equipment, and determine whether all tasks meet the delivery date. If so, output the current scheduling result; if not, proceed to S22;
[0180] Specifically:
[0181] S211: Determine the priority of the tooling group;
[0182] Based on the preprocessing results, the tools are grouped according to the tooling used, and the processing quantity of each tooling group is calculated. If the processing quantities vary, each group is prioritized from highest to lowest processing quantity. If the processing quantities are the same, determine whether the earliest delivery date of all order data in each tooling group is the same. If not, prioritize tooling groups with the same processing quantity from closest to furthest delivery date. If the delivery dates are the same for each group, they are sorted according to the default processing order, ultimately determining the priority of each tooling group. Create a pool of pending tooling tasks, record the tooling used for each task, and sort them by priority.
[0183] S212: After determining the priority of each tooling group, group the orders in the tooling group according to the order of their delivery dates;
[0184] S213: Find the device with the earliest processing completion time among the current devices, obtain the tooling information carried by the device at the end of processing, and determine whether the tooling information used by the current device is compatible with the tooling group with a determined priority; and determine whether the device can be loaded with the tooling group with a determined priority based on the device data. If so, it will be treated as an idle device waiting for random assignment, otherwise the device will not be considered.
[0185] S214: If the tooling information used by the current device matches the tooling group with a determined priority, it is necessary to determine whether the processing quantities of the tooling groups of the matched devices are the same. If the processing quantities are the same, the device corresponding to the tooling group with a closer delivery date is selected (if multiple devices meet the requirements and have the same tooling, a random device is selected for scheduling). If the processing quantities are different, the device corresponding to the tooling with the larger processing quantity is selected for scheduling.
[0186] Calculate the processing start time of the task: obtain the processing start time of the batch of tasks based on processing start time = max(max(processing end time of the "previous" process of the batch of tasks), processing end time of the current task of the equipment).
[0187] S215: If the tooling information used by the current device does not match the existing tooling group with determined priority, the tooling group with the highest priority is taken and arranged on a randomly selected idle device if it can be installed, and is assigned in the order of the delivery date of each order in the tooling group.
[0188] The task processing start time is calculated based on the processing start time = max(max(the processing end time of the "previous" process of this batch of tasks), the processing end time of the current task of the equipment); at the same time, the calculated task start time and the end time of the current task are subtracted to obtain the time interval. If the time interval is greater than the loading and unloading changeover time, the task start time is not changed; if the time interval is less than the loading and unloading changeover time, the difference between the loading and unloading changeover time and the time interval is added to the calculated task start time as the new task start time.
[0189] The loading and unloading changeover time is the time it takes for equipment to change tooling. A loading and unloading changeover schedule is created in the database to record the loading and unloading changeover time for each equipment to change each tooling group.
[0190] S216: Calculate task processing end time;
[0191] The processing end time is calculated based on the processing completion time = processing start time + processing time; processing time = the number of processing units in the tooling group / the order capacity of the arrangement method of the blanks to be processed;
[0192] S217: Update the tooling task pool to be scheduled, delete the tooling groups that have been scheduled from the tooling task pool to be scheduled, and determine whether the tooling groups in the tooling pool to be scheduled are zero, that is, they have all been scheduled. If so, output the scheduling result. Otherwise, repeat S213-S217 until the tooling groups in the tooling pool to be scheduled are zero, and output the scheduling result.
[0193] S218: Determine whether the scheduling result meets the delivery date;
[0194] Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if the processing completion time does not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, execute step S23.
[0195] S22: Scheduling based on the priority of the WOP (Work order priority, WOP) heuristic algorithm of order delivery priority (such as Figure 5 ), sort by production order priority, and determine whether all tasks meet the delivery date. If so, output the current scheduling result; if not, output the scheduling result of the tooling used by the current equipment.
[0196] Specifically include:
[0197] S221: Prioritize all orders according to the delivery date from nearest to farthest, and form work orders to be processed.
[0198] S222: All pending work orders are traversed. If all pending processes of the current pending work order have been scheduled, the work order with a lower priority is entered for scheduling. If the current pending work order still has pending processes, the tooling used for all pending directions of the current order is grouped, and the total number of processes required for each group of tooling is calculated. It is also determined whether the processing quantities of each group of tooling are the same. If they are not the same, they are sorted by priority from high to low according to the processing quantity. If there are groups with the same processing quantity, they are sorted by priority according to the default processing order. After sorting is completed, the tooling group with the highest priority is selected as the direction to be cut.
[0199] S223: Find the device with the earliest processing completion time among all current devices. Based on the tooling information carried by the device at the time of processing completion, determine whether the device is among the devices corresponding to the tooling to be processed. If not, find the corresponding device that can process the tooling based on the device data. It is also necessary to determine whether the number of devices exceeds two.
[0200] S224: If there are more than two machines, the number of products to be processed by the current tooling group is grouped according to the number of available machines. The current tooling group's per-board output is compared with the number of products to be processed after grouping to determine whether the number of used machines is greater than or equal to the number of available machines. It is also determined whether there are any unassigned tasks. If so, the tasks are evenly distributed among the assigned machines, and the same number of groups as the number of available machines are assigned to different machines in the order of delivery priority within the tooling group. If not, a machine with the same number of machines as the number of products to be processed by the current tooling group is randomly selected for processing. The number of machines used can be obtained by using the formula: number of used machines = np.ceil(number of products to be processed by the current tooling group / per-board output of the current tooling group).
[0201] S225: Calculate the processing start time;
[0202] When arranging tasks for equipment, first determine whether the tooling used by the current equipment is the same as the tooling of the tooling group to be processed. If they are the same, calculate the start time, which is calculated as: max(max(completion time of the "previous" process of the work order assigned to the equipment), completion time of the current equipment); if the tooling used by the current equipment is different from the tooling of the tooling group to be processed, that is, the tooling of the current equipment and the tooling of the cutting direction are different, then first calculate the processing start time of the current task according to the formula: max(max(completion time of the "previous" process of the work order assigned to the equipment), completion time of the current equipment), then determine the difference between the calculated processing start time and the task processing end time on the current equipment to obtain the time interval. If the time interval exceeds the loading and unloading changeover time, the calculated start time will not be changed. If it does not exceed the loading and unloading changeover time, the difference between the loading and unloading changeover time and the time interval needs to be added to the calculated start time.
[0203] S226: Calculate processing completion time;
[0204] Calculate the processing completion time of the current tooling of the equipment using the following formula: processing completion time = processing start time + processing time, where processing time = tooling group processing quantity / order capacity of the blank arrangement method to be processed. Then, perform task updates, update the scheduled tasks, and delete the orders of the scheduled tasks from the pending work orders.
[0205] S227: Determine whether all the cutting processes of the current work order to be processed have been completed. If not, filter out all the tooling for all the processing directions in the current work order to be processed, jump to S232, and repeat S232-S237. If all are completed, determine whether all the work orders have been traversed based on whether the work order to be processed contains an order. If not, repeat S232-S237 until all the work orders in the work order to be processed have been traversed, output the scheduling result, and end the WOP (Work Order Priority, WOP) heuristic algorithm based on order delivery priority.
[0206] S228: Determine whether the scheduling result meets the delivery date;
[0207] Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if all processing completion times do not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, the scheduling result of S22 is output as the final scheduling result of the intelligent scheduling.
[0208] The present invention combines two appropriate rule-based heuristic algorithms for scheduling, solving the problems of traditional scheduling results, such as the difficulty in matching tooling with equipment, the increased proportion of tooling loading and unloading changeover time, which leads to a large amount of production time being occupied, and improving the production efficiency of scheduling. It also ensures that the scheduling results meet the delivery date as much as possible through delivery constraints, avoids delays, responds promptly, and can cope with complex and diverse working conditions. When the scheduling results meet the delivery date, the results are optimized to ensure that the number of tooling switches is minimized, and the purpose of continuous production is achieved as much as possible. At the same time, in order to ensure that as many work orders as possible meet the delivery date, the present invention also allows processing and production to be carried out simultaneously on different devices when the number of tasks to be processed exceeds the production capacity of a single device.
[0209] S3: Manual scheduling result inspection;
[0210] The scheduling results are pushed to the front-end for display. The scheduler's permission to edit the scheduling results is set to allow the scheduler to manually adjust and edit the scheduling results based on actual production conditions. When manual scheduling is completed, the scheduler responds to the save command and pushes the scheduling results to the verification algorithm through the interface. The verification algorithm is activated to verify the scheduling results. After the verification is completed, the scheduling results are input into the optimization interface.
[0211] The system supports both automated scheduling driven by intelligent algorithms and manual scheduling by dispatchers. It also supports editable automated scheduling results, complementing the results of intelligent scheduling. This function verifies the rationality of these results, ensuring that tasks are not produced on inoperable equipment or at unreasonable times. This ensures that scheduling results are always based on the actual execution of shop floor operations, eliminating situations where theoretical scheduling cannot guide actual operations.
[0212] Specifically include:
[0213] S31: extended verification;
[0214] Fill in color blocks for tasks that are overdue or at risk of being overdue as a reminder.
[0215] Overdue reminder: Obtain work report data, for unfinished tasks, if the current scheduled completion date is later than the task due date, fill in orange blocks for warning, if the current time is later than the task due date, fill in red blocks for warning.
[0216] Overdue risk alert: Obtain the scheduling results and compare the task's planned completion time with the planned completion date. If the planned completion time is later than the planned completion date, an orange block will be displayed as an alert. If the planned completion time is later than the due date, a red block will be displayed as an alert. The alert will be marked as "Task Overdue." The alert will be displayed above the task details.
[0217] S32: plan deviation check;
[0218] According to the work report data, the processing start time of the processed tasks is arranged behind the processing start time of the unstarted tasks in the new scheduling results. The red block is filled in for warning, and the reminder content is marked as "the plan of the started tasks has deviated."
[0219] S33: device status check;
[0220] Get the device status in real time. If the status of the device where the task is located is "maintenance / abnormal", it will prompt "device unavailable" and mark a red block for early warning (the device status will change over time and is monitored in real time).
[0221] S4: Manual scheduling result optimization;
[0222] When data input is detected in the optimization interface, the received scheduling result data is converted into the specified data format, and the result optimization algorithm is called to detect whether there are time gaps between manually scheduled tasks. When time gaps appear between manually scheduled tasks, the time gaps are eliminated while ensuring that the processing order remains unchanged, thereby achieving tight scheduling of the results.
[0223] like Figure 6 In response to the optimization instruction, the first task for each device is determined based on the device code, and the start and end times of each device's shift are calculated based on the device's shift work period. The start time of the first task is the device's shift start time. The task's processing duration is determined to be greater than the remaining duration of the current shift. If not, the processing end time of the first task is calculated as the current task's start time + processing duration. If greater, the processing end time of the first task is calculated as the start time after the cross-shift + processing duration - np.ceil (processing duration / shift time) * shift duration. The np.ceil() function is a ceiling function that returns the smallest integer greater than or equal to the value.
[0224] Then determine whether the current task is the last task. If not, calculate the time difference between the task end time and the current shift end time, and determine whether the time difference is greater than or equal to the loading and unloading changeover time of the tooling group. If so, the start time of the current task = the end time of the previous task + the loading and unloading changeover time. If not, the start time of the current task = the start time of the next shift + (loading and unloading changeover time - time difference).
[0225] Then determine whether the processing time of the current task is greater than the remaining time of the current shift. If not, the processing end time of the task = the start time of the current task + the processing time. If greater, the processing end time of the task = the start time after the cross-shift + the processing time - np.ceil (processing time / shift time) * shift time.
[0226] The start time after crossing shifts = the start time of the subsequent shift + (task start time - the start time of the current shift in which the task is located);
[0227] Shift time = shift duration + remaining duration of the current shift. This invention provides a feasible method for calculating task processing end time, which is suitable for calculating tasks across shifts. It has a faster calculation speed and is suitable for complex scenarios. It can calculate actual calculations across multiple shifts.
[0228] You can also first calculate how long it will take to process in the next shift (processing time - working time of the current shift), and then push back the "time required for processing" from the start time of the next shift. The end time of task processing = the start time of the next shift + the time required for processing, and calculate the end time of task processing across a shift. When spanning a shift, it is less likely to make mistakes and the calculation is simpler.
[0229] Continue to determine whether the current task is the last task. If not, repeat the process to obtain the start time and processing end time of all tasks until it is determined to be the last task and output the result of time gap filling.
[0230] The system can support optimization of manually adjusted scheduling results. Specifically, when gaps appear between manually scheduled tasks, the system can eliminate the gaps while ensuring that the processing order remains unchanged, thereby achieving tight scheduling of the results and improving actual production efficiency.
[0231] S5: indicator calculation;
[0232] The scheduling results of intelligent scheduling and manual scheduling are transmitted through the interface, responding to indicator verification requests, converting the received data into the specific format required to calculate the indicator results, and performing indicator calculations on the received scheduling results.
[0233] Indicators include: number of overdue tasks, overdue risk, and equipment utilization rate.
[0234] Specifically include:
[0235] S51: Calculate the number of overdue tasks;
[0236] Because the schedule is rolled over over time, it is necessary to calculate the number of overdue tasks among the scheduled tasks and display it as an indicator of actual execution, according to the following algorithm:
[0237]
[0238] Where delivery_time_i is the task's delivery date, and actual_finish_time_i is the scheduled task's actual processing finish time. The task's actual processing finish time is obtained from the work report data.
[0239] If the task due date is less than the actual task processing end time, add 1; otherwise, add 0. Traverse all the tasks in the scheduling results to obtain the number of overdue tasks.
[0240] S52: Calculate overdue risk;
[0241] To measure the quality of the scheduling results, it is necessary to calculate the number of tasks that failed to be delivered on time in this scheduling result. The specific calculation formula is:
[0242]
[0243] Among them, delivery_time_i is the delivery date of the task, and plan_finish_time_i is the planned completion time of the task, that is, the task processing end time calculated by the scheduling.
[0244] If the task delivery date is less than the task planned completion time, add 1; otherwise, add 0. Traverse all the tasks in the scheduling results to obtain the number of tasks that failed to be delivered on time in this scheduling result.
[0245] S53: Calculate equipment utilization rate;
[0246] According to the formula: Calculate the equipment utilization rate, where working_time_i is the processing time required for the equipment to complete this schedule, total_shift_time is the total shift time, and M' is the number of equipment.
[0247] Calculate the ratio of the processing time required for each machine to complete the current schedule to the total shift duration. The average of these percentages is used as the machine utilization rate for the current schedule. A higher machine utilization rate indicates less idle time and lower production costs.
[0248] The present invention has been described with reference to the above embodiments. However, the above embodiments are merely exemplary embodiments of the present invention. It should be noted that the disclosed embodiments do not limit the scope of the present invention. On the contrary, modifications and improvements that do not depart from the spirit and scope of the present invention are intended to be protected by the present invention.
Claims
1. A magnetic industry intelligent scheduling optimization method, characterized by: Based on the intelligent scheduling optimization system of the magnetic industry; The intelligent scheduling optimization system for the magnetic industry includes a database, a preprocessing module, an intelligent scheduling module, a manual scheduling verification module, a result optimization module, an indicator calculation module, and a front-end page; The pre-processing module is used to perform pre-processing calculations on the production orders to be processed, including matching of tooling and molds, calculation of scheduling quantity, calculation of order capacity, and determination of the arrangement of the blanks to be processed; The intelligent scheduling module performs task scheduling on task orders based on a rule-based heuristic algorithm; The manual scheduling verification module is used to verify the rationality of the manual scheduling results; the front-end page is used to display the scheduling results and interact with the user to manually edit the scheduling results; The result optimization module is used to optimize the scheduling results after manual adjustment, and to perform tight scheduling to improve actual production efficiency while keeping the processing sequence unchanged; The indicator calculation module is used to calculate indicators based on the results of intelligent scheduling and manual scheduling to determine the quality of the scheduling plan; The database is used to store data required for scheduling; the database stores order data and processing result data; Order data includes order number, order product name, order product quantity, order start time, delivery date, and planned completion date; The processing result data is in table form and is used to store the preprocessing calculation results; The database also includes equipment data, including equipment code, equipment name, equipment quantity, equipment and tooling matching, cutting efficiency, equipment corresponding marble specifications, equipment material number P; equipment corresponding marble specifications include equipment corresponding marble specification cutting thickness and equipment corresponding marble specification width; The database also stores the raw material information, production process, process parameters and production schedule of the ordered products. The production process includes the ordered product name, production tooling, product size and production mold. The raw material information includes the blank, blank specifications and blank quantity. The blank specifications include the length, width and height of the blank. Process parameters include the order product name, blank cutting thickness, and slice length and width specifications; Production arrangements include equipment shifts; the equipment shifts include working periods, durations, and sequences; The following steps are involved: S1: data preprocessing; Select pending production orders, create task order scheduling requests, respond to task order scheduling requests, obtain corresponding order data from the database, and perform pre-processing calculations on the order data, including tooling and mold matching, scheduling quantity calculation, order capacity calculation, and determination of the arrangement of the blanks to be processed. After the calculations are completed, the results are stored in the specified table in the database. Including: S11: Matching of tooling and mold; Obtain the order product name, and according to the production process, obtain the production tooling and production mold corresponding to the order product name; S12: Schedule quantity calculation; According to the order quantity, the quantity of the ordered products is obtained, and the scheduling quantity of the raw materials is calculated based on the obtained quantity of the ordered products; S13: Order capacity calculation; Calculate the order capacity of the two arrangement methods respectively; S14: determining the arrangement of the blanks to be processed; According to the order capacity calculated by the two stacking heights, the stacking height arrangement with higher order capacity is obtained as the arrangement method of the blanks to be processed; S2: Intelligent Scheduling; A rule-based heuristic algorithm is used to arrange task orders. A heuristic algorithm based on minimizing tooling switching times and a heuristic algorithm based on order delivery priority are combined to generate a scheduling result. S3: Manual scheduling result inspection; The scheduling results are pushed to the front-end for display. The dispatcher's permission for scheduling results is set to editable. Manual adjustments and editing are performed on the scheduling results. After the manual scheduling is completed, the save command is responded to and the scheduling results are pushed to the verification algorithm through the interface. The verification algorithm is started to verify the scheduling results. After the verification is completed, the scheduling results are input into the optimization interface. S4: Manual scheduling result optimization; When data input is detected in the optimization interface, the result optimization algorithm is called to detect whether there are time gaps between manually scheduled tasks. If time gaps appear between manually scheduled tasks, the time gaps are eliminated. S5: indicator calculation; The scheduling results of intelligent scheduling and manual scheduling are transmitted through the interface, the indicator verification request is responded to, and the indicator calculation is performed on the received scheduling results; Indicators include: number of overdue tasks, overdue risk, and equipment utilization rate.
2. The magnetic industry intelligent scheduling optimization method according to claim 1, characterized in that: Step S12 includes: S121: Production synchronization calculation; Obtain the work report data and the latest published scheduling results. Based on the work report data, determine the number of unfinished tasks in the scheduled tasks and whether the unfinished tasks have been produced by the designated equipment. If so, schedule the unfinished tasks as new tasks on the designated equipment. If not, merge the unfinished tasks with the new tasks. S122: Calculate the quantity of ordered products; Get the product quantity in the order of the new task, and according to the work report data, get the remaining order product quantity in the scheduled result and add them together to get the total order product quantity; S123: Calculate the number of schedules; Obtain the process parameters of the order product from the database, obtain the blank cutting thickness and the length and width specifications of the slice according to the order product name, and obtain the blank that meets the length and width specifications of the slice from the raw material information; obtain the difference between the length and width of the blank and the length, width and height of the slice length and width specifications, and the smallest blank as the target blank; According to the target blank, calculate the number of slices that can be obtained for the target blank; according to the scheduling quantity ≥ total order product quantity / number of slices that can be obtained for the blank, the scheduling quantity is a positive integer, and the scheduling quantity is obtained.
3. The magnetic industry intelligent scheduling optimization method according to claim 1, characterized in that: Step S13 includes: S131: Calculate the number of single board blanks; Based on the target blank, obtain the blank processing direction; assume the blank specifications are A*B*C; A is the processing direction, take max(B,C) as the stacking height, and calculate the number of single board blanks; S132: Calculate the time for each board; Time per board T0=(t* max(B,C)+ (cutting thickness of marble corresponding to the equipment specification)) / cutting efficiency+arc extinguishing time; t is the number of stacks in the stacking direction, and max(B,C) is the stacking height. The arc extinction time is 10 minutes, and the cutting efficiency is obtained from the equipment data. S133: Calculate the output of each board; The output per board is calculated based on the formula: output per board = number of slices that can be obtained from the blank * number of single board blanks; S134: Calculate order capacity; Calculate the order capacity according to order capacity = output per board / time per board T0; S135: Take min(B,C) as the stack height and calculate the order capacity using the same method.
4. The magnetic industry intelligent scheduling optimization method according to claim 3, characterized in that: Step S2 includes: S21: Scheduling based on a heuristic algorithm that minimizes the number of tooling switches, scheduling according to the tooling used by the current equipment, and determining whether all tasks meet the delivery date. If so, outputting the current scheduling result; if not, proceeding to S22; S22: Scheduling is performed based on the priority of the heuristic algorithm based on the order delivery priority, and sorting is performed according to the production order priority to determine whether all tasks meet the delivery date. If so, the current scheduling result is output; if not, the scheduling result of the tooling used by the current equipment is output.
5. The magnetic industry intelligent scheduling optimization method according to claim 4, characterized in that: Step S21 includes: S211: Determine the priority of the tooling group; Based on the pre-processing results, the tools are grouped according to the tools used, and the processing quantity of each tooling group is calculated. If the processing quantities are different, each group is prioritized in descending order of processing quantity. If the processing quantities are the same, determine whether the earliest delivery date of all order data in each tooling group is the same. If they are not the same, the tooling groups with the same processing quantity are prioritized in descending order of delivery date. If the delivery dates of each group are also the same, they are sorted according to the default processing order to finally determine the priority of each tooling group. A pool of tooling tasks to be scheduled is created, and the tooling groups used for the tasks are recorded and sorted according to priority. S212: After determining the priority of each tooling group, group the orders in the tooling group according to the order of their delivery dates; S213: Find the device with the earliest processing completion time among the current devices, obtain the tooling information carried by the device at the time of processing completion, and determine whether the tooling information used by the current device is compatible with the tooling group with determined priority. Furthermore, based on the device data, determine whether the device can be loaded with the tooling group with determined priority. If so, the device is treated as an idle device waiting for random assignment; otherwise, the device is not considered. S214: The tooling information used by the current equipment is matched with the tooling group with determined priority. It is determined whether the processing quantities of the tooling groups of the matched equipment are the same. If the processing quantities are the same, the equipment corresponding to the tooling group with a closer delivery date is selected. If the processing quantities are different, the equipment corresponding to the tooling with a larger processing quantity is selected for scheduling. Calculate the processing start time of the task: processing start time = max(max(processing end time of the "previous" process of the batch of tasks), processing end time of the current task of the equipment); S215: If the tooling information used by the current device does not match the existing prioritized tooling group, the tooling group with the highest priority is selected and assigned to a randomly selected idle device. The tooling group is assigned in the order of the order delivery dates within the tooling group. The task processing start time is calculated using the formula: processing start time = max(max(the processing end time of the previous process of the batch of tasks), processing end time of the current task of the equipment). The calculated task start time is then subtracted from the current task end time to obtain the time interval. If the time interval is greater than the loading / unloading changeover time, the task start time remains unchanged. If the time interval is less than the loading / unloading changeover time, the difference between the loading / unloading changeover time and the time interval is added to the calculated task start time to create the new task start time. S216: Calculate task processing end time; The processing end time is calculated based on the processing completion time = processing start time + processing time; processing time = the number of processing units in the tooling group / the order capacity of the arrangement method of the blanks to be processed; S217: Update the tooling task pool to be scheduled, delete the tooling groups that have been scheduled from the tooling task pool to be scheduled, and determine whether the tooling groups in the tooling task pool to be scheduled are zero. If so, output the scheduling result. Otherwise, repeat S213-S217 until the tooling groups in the tooling task pool to be scheduled are zero, and output the scheduling result. S218: Determine whether the scheduling result meets the delivery date; Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if the processing completion time does not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, execute step S22.
6. The magnetic industry intelligent scheduling optimization method according to claim 4, characterized in that: Step S22 includes: S221: Prioritize all orders in descending order of delivery time to form work orders to be processed; S222: All work orders to be processed are traversed. If all the processes to be processed in the current work order have been scheduled, the work order with the lowest priority is entered for scheduling. If there are processes to be scheduled in the current work order, the tooling used for all the directions to be processed in the current order is grouped, and the total quantity required for each group of tooling is calculated. It is also determined whether the quantities to be processed by each group of tooling are the same. If they are not the same, they are sorted in descending order according to the priority of the processing quantity. If there are groups with the same processing quantity, they are sorted in the default processing order. After the sorting is completed, the tooling group with the highest priority is selected as the direction to be cut. S223: Find the device with the earliest processing completion time among all current devices. Based on the tooling information carried by the device at the time of processing completion, determine whether the device is among the devices corresponding to the tooling to be processed. If not, find the corresponding device that can process the tooling based on the device data. It is also necessary to determine whether the number of devices exceeds two. S224: If there are more than two machines, the number of products to be processed by the current tooling group is grouped according to the number of available machines. The output per board of the current tooling group is compared with the number of products to be processed after grouping to determine whether the number of used machines is greater than or equal to the number of available machines. It is also determined whether there are any unassigned tasks. If so, the tasks are evenly distributed among the machines that have been assigned tasks. If not, a machine with the same number of machines as the number of products to be processed by the current tooling group is randomly selected for processing. S225: Calculate the processing start time; When scheduling tasks for equipment, first determine whether the tooling used by the current equipment is the same as that of the tooling group to be processed. If they are the same, calculate the start time. If the tooling used by the current equipment is different from that of the tooling group to be processed, first calculate the processing start time of the current task. Then determine the difference between the calculated processing start time and the processing end time of the task on the current equipment to obtain the time interval. If the time interval exceeds the loading and unloading changeover time, the calculated start time will not be changed. If it does not exceed the loading and unloading changeover time, the difference between the loading and unloading changeover time and the time interval needs to be added to the calculated start time. S226: Calculate processing completion time; Calculate the processing completion time of the current tooling of the equipment, update the tasks, update the scheduled tasks, and delete the orders of the scheduled tasks from the work orders to be processed; S227: Determine whether all the cutting processes in the current work order to be processed have been completed. If not, filter out all the tooling in all the directions to be processed in the current work order to be processed, jump to S232, and repeat S232-S237. If all are completed, determine whether all the work orders have been traversed based on whether the work order to be processed contains an order. If not, repeat S232-S237 until all the work orders in the work order to be processed have been traversed and the scheduling result is output. S228: Determine whether the scheduling result meets the delivery date; Obtain the processing completion time, compare the processing completion time with the delivery date in the order data corresponding to the task, if all processing completion times do not exceed the delivery date, the delivery date is met, and the current scheduling result is output; otherwise, the scheduling result of S21 is output as the final scheduling result of the intelligent scheduling.
7. The magnetic industry intelligent scheduling optimization method according to claim 6, characterized in that: Step S3 specifically includes: S31: extended verification; Fill in color blocks for tasks that are overdue or at risk of being overdue as a reminder, and mark the reminder as "Task Overdue"; Overdue reminder: Obtain work report data, and for unfinished tasks, if the current scheduled completion date is later than the deadline, fill in the orange block to issue a warning; if the current deadline is later than the deadline, fill in the red block to issue a warning; Overdue risk reminder: Get the scheduling results. If the task processing end time is later than the planned completion date, fill in the orange block to issue a warning. If the task processing end time is later than the task delivery date, fill in the red block to issue a warning. S32: plan deviation check; According to the work report data, the processing start time of the processed tasks is placed after the processing start time of the unstarted tasks in the new scheduling results. The red block is filled as an alert, and the reminder content is marked as "Departure from the plan of the started tasks"; S33: device status check; Get the device status in real time. If the device status of the task is "Maintenance / Abnormal", the prompt "Device Unavailable" will be displayed and a red block will be marked as an early warning.
8. The magnetic industry intelligent scheduling optimization method according to claim 1, characterized in that: Step S4 is specifically as follows: respond to the optimization instruction, determine the first task of each device according to the device code, calculate the shift start time and end time of each device according to the working period of the device shift; the start time of the first task is the shift start time of the device, and determine whether the task processing time is greater than the remaining time of the current shift. If not, the processing end time of the first task = the current task start time + processing time; if greater, the processing end time of the first task = the start time after the cross-shift + processing time - np.ceil (processing time / shift time) * shift time. The np.ceil() function is a rounding function that returns the smallest integer greater than or equal to the value. Next, determine whether the current task is the last one. If not, calculate the time difference between the task end time and the current shift end time, and determine whether the time difference is greater than or equal to the tooling group's loading and unloading changeover time. If so, the start time of the current task = the end time of the previous task + the loading and unloading changeover time. If not, the start time of the current task = the start time of the next shift + (loading and unloading changeover time - time difference); Then determine whether the processing time of the current task is greater than the remaining time of the current shift. If not, the processing end time of the task = the start time of the current task + the processing time. If greater, the processing end time of the task = the start time after the cross-shift + the processing time - np.ceil (processing time / shift time) * shift time; Continue to determine whether the current task is the last task. If not, repeat the process to obtain the start time and processing end time of all tasks until it is determined to be the last task and output the result of time gap filling.
Citation Information
Patent Citations
Intelligent reverse scheduling optimization system and method for traditional manufacturing industry
CN119599370A