Flexible job shop production scheduling method and system based on adaptive learning

By generating directed acyclic graphs using an adaptive learning method, the problems of high computational complexity and poor adaptability in production scheduling in flexible workshops are solved, achieving efficient and low-cost production scheduling that can adapt to various production habits and scenarios.

CN117973799BActive Publication Date: 2025-11-07HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410224363.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-29
Publication Date
2025-11-07
Estimated Expiration
2044-02-29

AI Technical Summary

Technical Problem

Existing technologies for production scheduling in flexible workshops suffer from high computational complexity, high cost, and difficulty in adapting to various scheduling scenarios and production habits. In particular, reinforcement learning methods involve large computational loads and high training difficulty, resulting in high application costs and making large-scale application difficult.

Method used

An adaptive learning method is adopted to generate a directed graph of processes by establishing sequence labels, and to handle conflicts and update the sequence. A directed acyclic graph is generated by using a machine learning model, and cycle detection and conflict handling are performed by combining topological sorting and degree centrality algorithms to generate a production scheduling table.

Benefits of technology

It improves the efficiency and adaptability of production scheduling, reduces computing costs, enhances system robustness, can quickly learn user habits, reduce migration costs, and adapt to various scheduling scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117973799B_ABST
    Figure CN117973799B_ABST
Patent Text Reader

Abstract

The application discloses a flexible job shop production scheduling method and system based on adaptive learning, and the method comprises the following steps: extracting a process by using an order information list, then generating a process pair set by using a full permutation method according to the process; inputting the process pair set into a trained machine learning model to obtain a sequence label set of all process pairs; sorting all processes according to the sequence label set to generate a process directed graph; after ring detection, performing conflict processing on the process directed graph with a ring to generate a directed acyclic graph; calculating the in-degree of nodes in the directed acyclic graph to obtain a node in-degree set; updating the sorting according to the node in-degree set to obtain a process production sequence; and distributing processing equipment and calculating specific production time according to the process production sequence to generate a production scheduling table. The application can better realize customization of learning user production scheduling systems and reduce the cost of production scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of intelligent manufacturing, and particularly relates to a flexible job shop production scheduling method and system based on adaptive learning. BACKGROUND

[0002] Flexible job shop production scheduling refers to planning and allocating production tasks of multiple different products on the basis of meeting process constraints, limited material constraints, limited production resource constraints, delivery dates and other conditions, so as to obtain a production plan that best meets the business objectives. The flexible job shop production scheduling problem is a typical NP-hard problem, and it is impossible to obtain an optimal solution in polynomial time. For this task, there are four technical paths, namely, exact solution, expert system, meta-heuristic algorithm and reinforcement learning. The exact solution algorithm can only be applied to scenarios with low real-time requirements or small-scale scheduling due to its high computational complexity, and the production scheduling system based on this method needs to be developed by business experts and researchers, and has weak generalization performance. The expert system needs to be developed by business experts who are very familiar with the production scene and developers to formulate many business rules, resulting in high development cost, high customization level and difficult system upgrade of the production scheduling system based on the expert system. The production scheduling system based on the meta-heuristic algorithm is the current mainstream solution, and the solution is suitable for medium and large-scale production scheduling problems. However, due to the iterative solving method of the meta-heuristic algorithm, the solving time and computational complexity cannot meet the real-time requirements of the production site. In addition, it is difficult to embed various production knowledge to adapt to various scheduling scenes and production habits, and only mathematical optimization can be performed, so it cannot adapt to many personalized production scenes. The reinforcement learning method can learn personalized scheduling habits, but the large amount of calculation, high training difficulty and weak optimization performance of the method result in that the production scheduling system based on the method can only adapt to a few scenes, has high application cost, and is difficult to be applied on a large scale. SUMMARY

[0003] The main purpose of the present application is to overcome the shortcomings and deficiencies of the prior art, and to provide a flexible job shop production scheduling method and system based on adaptive learning. By establishing a sequence label to generate a process directed graph, and then through conflict processing and sequence updating processing, the production scheduling habit of the user can be better adapted to learn, and the cost of production scheduling can be reduced.

[0004] In order to achieve the above purpose, the technical scheme adopted by the present application is as follows:

[0005] In a first aspect, the present application provides a flexible job shop production scheduling method based on adaptive learning, comprising the following steps:

[0006] Preprocessing the order information list to be processed, extracting all the processes that need to be generated; using the full permutation method to pair all the processes two by two to form a process pair set;

[0007] Input the process pair set into the trained machine learning model to obtain the order label set of all process pairs;

[0008] According to the order label set, all processes are sorted to generate a process directed graph; after ring detection, the process directed graph with a ring is processed for conflict to generate a directed acyclic graph; the conflict processing includes double node processing and multi-node processing, the double node processing is used to constrain the double node sequence of the same process, and the multi-node processing is used to remove the ring in the process directed graph;

[0009] Calculate the in-degree of the node in the directed acyclic graph to obtain the node in-degree set; update the order according to the node in-degree set to obtain the process production order sequence; according to the process production order sequence, allocate the processing equipment and calculate the specific production time to generate the production scheduling table.

[0010] As a preferred technical solution, the order information list includes batch order number, process number, previous process quantity, quantity, average total processing time of equipment processing, available equipment quantity, available production time, order weight and batch order weight.

[0011] The process pair set is input into the trained machine learning model to obtain the order label set of all process pairs, including the following steps:

[0012] An Encoder-Classifier architecture is adopted, the Encoder extracts features from each process pair, and a fully connected layer is used to obtain the feature hidden vector;

[0013] The Classifier takes the feature hidden vector as input, takes l i as the loss function, obtains the order label of the process pair, and the loss function is as follows:

[0014]

[0015] Where, a j represents the jth feature hidden vector, a i represents the ith feature hidden vector;

[0016] In the training process, the cross-entropy loss is used to calculate the prediction loss, and the optimizer is used to optimize the model parameters.

[0017] As a preferred technical solution, the construction of the process directed graph is specifically:

[0018] Randomly selecting a process pair, the process pair including a first node and a second node, checking whether the first node exists in the directed graph, if yes, skipping the first node; otherwise, newly creating the first node;

[0019] Checking whether the second node exists in the directed graph in the same way, if yes, skipping the second node; otherwise, newly creating the second node;

[0020] After the node creation ends, determining the directions of the first node and the second node;

[0021] Processing all process pairs in the same way, thereby constructing the process directed graph.

[0022] As a preferred technical solution, the loop detection specifically comprises:

[0023] Calculating the in-degree and out-degree of the nodes in the process directed graph;

[0024] Finding the nodes with only out-degree in the process directed graph, pushing the nodes with only out-degree into a stack or a queue, deleting the edges with the nodes with only out-degree as predecessors, and increasing the counter by 1, until no node with only out-degree can be detected, and the loop detection ends;

[0025] When the counter is equal to the number of vertices in the process directed graph, the process directed graph has no loop; otherwise, the process directed graph has a loop.

[0026] As a preferred technical solution, the double-node processing specifically comprises:

[0027] When the nodes of two same processes exist in a loop in the process directed graph, checking the precedence constraint relationship between the two nodes in the input data, if the two nodes have a precedence constraint relationship, modifying the process directed graph according to the precedence constraint relationship, and if not, randomly deleting a directed edge.

[0028] As a preferred technical solution, the multi-node processing specifically comprises:

[0029] When multiple nodes exist in a loop in the process directed graph, in any loop of the looped process directed graph, calculating the degree centrality of each node participating in the loop, obtaining the degree centrality value, sorting each node participating in the loop in descending order according to the degree centrality value, and deleting the directed edges with the central node as the starting point in sequence until the loop is eliminated.

[0030] When all loops are eliminated, the process directed graph includes at least one node with an in-degree of 0.

[0031] As a preferred technical solution, the generation of the process production order sequence specifically comprises:

[0032] Sorting the in-degree set D of the nodes of the directed acyclic graph in ascending order to obtain an ascendingly sorted in-degree set D′ of the nodes.

[0033] From the ascendingly sorted node in-degree set D', take the nodes with in-degree 0 one by one, if there is only a single node with in-degree 0, update the predicted ranking value of the node and delete the node; if there are multiple nodes with in-degree 0, sort them according to the importance of the process and update the predicted ranking values of the nodes.

[0034] The allocation processing equipment and the specific production time are calculated, specifically:

[0035] The processing equipment is selected according to the process production order sequence;

[0036] From the process production order sequence, the process is obtained in turn, the process time is simulated and inserted into the time sequence of the same kind of processing equipment running in the same process by using the insertion method, the shortest time of the running time of the same kind of processing equipment in a single process is calculated and screened, the running time of a single process is obtained, until the running time of all processes is calculated, and a production scheduling table is obtained;

[0037] When the process time is inserted into the time sequence of the processing equipment running, the insertion position meets the process processing sequence constraint condition and the machine load constraint condition, as follows:

[0038]

[0039] Wherein, End time of process O j(h-1) , processing time of process O jh , start time of idle time period T, end time of idle time period T. S E

[0040] In a second aspect, the present application also provides a flexible job shop production scheduling system based on adaptive learning, which is applied to the flexible job shop production scheduling method based on adaptive learning, and includes a preprocessing module, a sequence label set generation module, a process directed graph generation module and a production scheduling module.

[0041] The preprocessing module is used for preprocessing the order information list to be processed, and extracting all the processes to be generated; all the processes are paired two by two using a full permutation method to form a process pair set.

[0042] The training label set generation module is used for inputting the process pair set into the trained machine learning model to obtain the sequence label set of all the process pairs.

[0043] ​​​The process directed graph generation module is used for sequencing all processes according to the sequence label set, generating a process directed graph; after the process directed graph is subjected to ring detection, the process directed graph with a ring is subjected to conflict processing, generating a directed acyclic graph; the conflict processing includes double-node processing and multi-node processing, the double-node processing is used for constraining the double-node subsequent dependency relationship of the same process, and the multi-node processing is used for removing the ring in the process directed graph;

[0044] The production scheduling module is used for calculating the in-degree of the node in the directed acyclic graph, obtaining a node in-degree set; updating the sequence according to the node in-degree set, and obtaining a process production sequence; according to the process production sequence, a processing equipment is distributed and a specific production time is calculated, and a production scheduling table is generated.

[0045] Compared with the prior art, the present application has the following advantages and beneficial effects:

[0046] (1) The production process is labeled through adaptive learning in the present application, and a process directed graph is formed after training, so that the efficiency of process sequence generation and updating is improved; the method can learn the habits of users at low cost, quickly and conveniently; when a new user comes, only part of the historical data of the new user is needed to learn the scheduling habits of the new user through training, so that the migration cost required by other methods is saved, and the adaptability of the user production scheduling system is enhanced.

[0047] (2) The present application can effectively solve the problems of double-node ring and multi-node ring in the directed graph through topological sorting algorithm and degree centrality algorithm for ring detection and conflict processing, so that the calculation cost is saved, and the system robustness is improved. BRIEF DESCRIPTION OF DRAWINGS

[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0049] Figure 1 The flowchart of the flexible job shop production scheduling method based on adaptive learning of the embodiment of the present application;

[0050] Figure 2 The structural schematic diagram of a process directed graph generated by the embodiment of the present application;

[0051] Figure 3 The structural schematic diagram of a complete directed graph of the embodiment of the present application;

[0052] Figure 4 The structural schematic diagram of a complete directed graph of the embodiment of the present application; Figure 3Structure schematic diagram of directed acyclic graph after deleting loop;

[0053] Figure 5 Process flow schematic diagram of process sequence ordering for embodiment of the application;

[0054] Figure 6 Process equipment distribution schematic diagram of insertion method for embodiment of the application;

[0055] Figure 7 Structure schematic diagram of flexible job shop production scheduling system based on adaptive learning for embodiment of the application. DETAILED DESCRIPTION

[0056] In order for those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0057] In the present application, the phrase "embodiment" means that the specific features, structures or characteristics described in conjunction with the embodiment can be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily mean the same embodiment, nor is it an independent or alternative embodiment to other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described in the present application can be combined with other embodiments.

[0058] Please refer to Figure 1 In the present embodiment, a flexible job shop production scheduling method based on adaptive learning is provided, comprising the following steps:

[0059] S1, preprocessing using order information list, extracting all the processes to be generated, using full permutation method to pair all the processes to form a process pair set.

[0060] In the present embodiment, the order information list includes the following data: batch order number, process number, number of previous processes, quantity, average total processing time of equipment processing, number of available equipment, available production time, order weight and batch order weight.

[0061] The calculation of the average total processing time of equipment processing is as follows:

[0062] In one example, the order information list can be represented in the style of Table 1.

[0063] Table 1

[0064]

[0065] Order ID (OO i ): unique ID of the order in the manufacturer; batch ID (OO i ): batch ID of the order after batch production; process ID (OO ij ): unique ID of a process of the target product of the batch order; previous process ID (OO p ij ): previous dependent process of the current process, and the production of the current process must wait for the completion of the previous process; quantity (Q ij ): target production quantity of the process; available equipment (M h ): equipment ID available for producing the process; available equipment processing time (T ijh ): processing time required for producing one of the processes on the corresponding equipment, corresponding to the available equipment; available production time (R ij ): available time for producing the batch order, i.e., the delivery date = current date + available production time; order weight (OO w i ): importance of the order, with a value range of 0-5, and a larger value tends to prioritize the order; batch weight (OO w i ): importance of the batch order, with a value range of 0-5, and a larger value tends to prioritize the batch order; sorting order (S ij ): label column, representing the process production order in the scheduling personnel or final production result, and the order is a global order.

[0066] Further, according to the order information list, the data in the list is processed, converted, and transformed into quantity according to the number or address data, and the time measurement unit is converted, so that the data such as previous process, available equipment, and production time can be more intuitive and convenient for subsequent labeling and scheduling processing. In order to more easily understand the processed features, see Table 2 below:

[0067] Table 2

[0068] Batch number Process number Number of previous processes Quantity Available equipment Average total processing time Production available time / second Order weight Batch weight Ordering sequence 5 2 2 100 1 20000 1123200 2 0 57 5 5 1 200 2 4000 1123200 2 0 20 5 7 2 200 2 28000 1123200 2 0 53 5 3 0 400 8 40000 1123200 2 0 19 5 4 1 400 2 42000 1123200 2 0 27 5 6 2 400 5 72000 1123200 2 0 51

[0069] Next, all process pairs P are generated using full permutation combination. If the number of all processes is M, the number of all process pairs is M!, as follows:

[0070] P = {(O 11 , O 12 , 1), (O 12 , O 11 , 0), …, (O nm-1, O nm , 2)}

[0071] wherein, O hm-1 and O nm both represent a process, element 0, 1 or 2 represents a sequence label between two processes, which is used to represent the sequence of two processes. According to the sequence, the sequence label "0" between two processes indicates that A is after B, "1" indicates that A is before B, and "2" indicates that the two processes are irrelevant.

[0072] S2, input the process pair set into the trained machine learning model to obtain a sequence label set of all process pairs;

[0073] It can be understood that for the machine learning model, the embodiment adopts a DNN model and a Softmax classifier, and of course other models are also applicable to the present application.

[0074] Further, in the process of obtaining the sequence label set of the process pair, the embodiment adopts a two-stage method, wherein the encoder-classifier architecture is adopted in the stage of obtaining the sequence of all process pairs, and specifically:

[0075] In the first stage, the encoder Encoder of the DNN model extracts features for each process pair, and finally uses a fully connected layer to obtain a feature hidden vector a, specifically, a is as follows:

[0076] a = Encoder(f);

[0077] In the second stage, the Sofimax classifier is used to classify the feature hidden vector, and the loss function is l' i As a loss function, the sequence label of the process pair is obtained, and the loss function is as follows:

[0078]

[0079] wherein, a j represents the jth feature hidden vector, and a i represents the ith feature hidden vector.

[0080] In one embodiment, during training, in order to effectively update the model parameters, cross entropy is used as the loss function, the prediction loss is calculated, and Adam is used as the optimizer to optimize the model parameters. For the use of the loss function, in other embodiments, the present application can adopt other loss functions such as Focal Loss, Perceptron Loss, etc. And for the optimizer, in other embodiments, the present application can also use SGD, AdaGrad, etc.

[0081] In the prediction process, all the process pairs in the process pair set F are input into the trained classification model one by one, and the process pair prediction result set L' = [(o 11 ,o 12 ,l′1),(o 12 ,o 11 ,l′2),…,(o nm-1 ,o nm ,l′ g )] is obtained.

[0082] It should be noted that the machine learning model and the Encoder-Classifier architecture used in the present application are not a single type or a combination of a single type, but any machine learning model or combination of machine learning models that can achieve the process pair sequence acquisition. For example, in the Encoder-Classifier architecture, the Encoder can use multiple machine learning models, in addition to the DNN used in the present embodiment, decision trees, random forests, support vector machines, etc. can also be used; the Classifier can use LogSumExp, Sigmod, etc.

[0083] S3, according to the sequence label set, all processes are sorted to generate a process directed graph; after loop detection, the process directed graph with a loop is processed for conflict, to generate a directed acyclic graph; the conflict processing includes double node processing and multi-node processing, the double node processing is used to constrain the double node after and before dependence relationship of the same process, and the multi-node processing is used to remove the loop in the process directed graph.

[0084] Further, according to the process pair sequence prediction result set L', the directed graph G is constructed. The node in the directed graph represents a process, and the directed edge represents the sequence of two related processes. In the process of constructing the directed graph, a process pair (o 11 ,o 12 ,1) is randomly selected, and it is checked whether the node o 11 exists in the directed graph G, if it exists, it is skipped, otherwise a new node o 11 is created, o 12 is added to the node o 11 . In this way, the directed graph of a process pair is as shown in Figure 2 . After the node is added, the relationship between o 12 is created, and the direction is from o 11 to o 12 . In this way, the directed graph relationship operation of a group of process pairs is completed, and all the process pairs are added to the directed graph G to generate a complete process directed graph as shown in Figure 3 .

[0085] It can be understood that in the construction process, the directed graph can be looped, that is, the directed edges between two or more nodes form a loop, and in the sequencing problem, if there is a loop, it proves that there is a conflict in the node order. In production scheduling, there is a reasonable loop, that is, two processes have no precedence relationship, but in the only production process scheduling scheme, if there is a loop, a unique scheduling scheme cannot be generated, so conflict resolution is needed.

[0086] Before conflict resolution, loop detection needs to be performed on the process directed graph, and if there is no loop in the graph, it is directly classified as a directed acyclic graph; if there is a loop in the graph, further conflict processing is needed. Specifically, the embodiment adopts a topological sorting algorithm, that is, a breadth-first algorithm, to perform loop detection on the directed graph G. First, the in-degree and out-degree of the nodes in the process directed graph are calculated; second, only the nodes with out-degree in the process directed graph are found, the nodes with only out-degree are pushed into a stack or a queue, the edges with the nodes with only out-degree as predecessors are deleted, and the counter is incremented by 1, until no node with only out-degree can be detected, and the loop detection ends. When the counter and the number of vertices in the process directed graph are the same, there is no loop in the process directed graph, otherwise there is a loop.

[0087] Further, when a loop is detected, all nodes and directed edges participating in the construction of the loop are detected, and a conflict resolution algorithm is used to eliminate the loop, as follows:

[0088] The double-node processing: different permutations of the same two processes can produce opposite order prediction results, such as Figure 4 , as shown, there is an opposite order direction between processes o 11 and o 12 , which produces a loop, but in actual production, only when two processes have no precedence relationship can this situation occur, so the precedence constraints of o 11 and o 12 nodes in the input data are checked, if they exist, the directed graph G is corrected according to the precedence constraints, and if they do not exist, one edge is randomly deleted.

[0089] The multi-node processing: loops composed of multiple nodes are common, and the degree centrality algorithm (Degree Centrality) is used here to calculate the importance of the nodes in the loop in the directed graph. In a directed graph, the degree centrality measures the degree to which a node is directly connected to all other nodes. For a directed graph with g nodes, the in-degree centrality and out-degree centrality of the nodes need to be calculated respectively. The in-degree centrality of node o 12 is the total number of other g-1 nodes that have a direct connection and point to o 12 from other nodes. Conversely, the out-degree centrality is the total number of other g-1 nodes that have a direct connection and point to o 12The total number of pointers to other nodes. The degree centrality is the sum of the out-degree centrality and the in-degree centrality, and the degree centrality algorithm is as follows:

[0090]

[0091] In this embodiment, the degree centrality is calculated mainly to remove the loop in the directed graph, so in the process of calculating the degree centrality, the in-degree centrality and the out-degree centrality only calculate the in-degree and the out-degree of the directed edge participating in the loop. After the degree centrality of each node participating in the loop is calculated, the degree centrality values are sorted in descending order, and the directed edge with the central node as the starting point is deleted in turn until the loop is eliminated. When all loops are eliminated, there must be at least one node with an in-degree of 0 in the directed graph.

[0092] In addition, in order to better measure the importance of the node, in other embodiments, the present application can use closeness centrality, eigenvector centrality, PageRank and the like to calculate the importance of the node.

[0093] S4, calculating the in-degree of the node in the directed acyclic graph, obtaining the node in-degree set; updating the ranking according to the node in-degree set, obtaining the process production order sequence; according to the process production order sequence, allocating the processing equipment and calculating the specific production time, generating the production scheduling table.

[0094] After obtaining the directed acyclic graph, it needs to be further processed to obtain the work control sequence that can be used for equipment production. Specifically, the in-degree of each node is calculated according to the directed acyclic graph, the node in-degree set D is obtained, and the node in-degree set D is sorted in ascending order to obtain the ascendingly sorted node in-degree set D'. The in-degree of 0 node is taken out from D' one by one, if there is an in-degree of 0 node, the predicted ranking value is updated, and the node is deleted in the directed graph; if there are multiple in-degree of 0 nodes, they are sorted in the order of available processing time, batch order weight and order weight, and the predicted ranking value is updated.

[0095] In a more specific embodiment, the updating of the process ranking includes four steps. Please refer to Figure 5 In steps 1 to 2, the node o 11 , o 21 with an in-degree of 0 is first deleted from the directed acyclic graph G' in turn and its predicted ranking value is updated, and stored in the predicted ranking value set S = [(o 11 , 1), (o 21 , 2)], and the directed acyclic graph G' is changed to that shown in step 2. At this time, the node with an in-degree of 0 is o 12 , so the node o 11 and the nodes o 13 , o 14 , o 22The connected directed edges are deleted from G', and G' is changed to Figure 5 In Step 3, S = [(o 11 ,1), (o 21 ,2), (o 12 ,3)]. In this way, G' is changed to Figure 5 In Step 4, S = [(o 11 ,1), (o 21 ,2), (o 12 ,3), (o 14 ,4)], and finally S = [(o 11 ,1), (o 21 ,2), (o 12 ,3), (o 14 ,4), (o 13 ,5), (o 22 ,6), (o 15 ,7), (o 23 ,8)]. After the update of all steps, the set of predicted sorting values is the process production order sequence.

[0096] After the above process is completed, the sequence for controlling the production of the equipment needs to be implemented into the processing equipment. This needs to consider several problems, first, what processing equipment is needed in the job shop production; second, how much processing equipment is needed; third, how much processing equipment is available now; and fourth, how can the obtained process production order sequence be used to control the processing equipment to complete the production job.

[0097] To answer the above problems, the embodiment uses the global selection method + the insertion method to allocate the sorted processes to the processing equipment. The global selection method is responsible for selecting the equipment, and the insertion method is responsible for calculating the specific production start and end time of the process. The global selection method is to set an array equal to the number of machines, and the order of the array corresponds to the order of the processing machines in turn. The value on each bit corresponds to the existing processing time on the corresponding machine. From S, the processes are obtained in turn, and the insertion method is used to simulate the insertion of the current process into multiple selectable equipment, and the processing time of the current process is added to the corresponding time in the array. The machine with the smallest time is selected as the processing machine of the current process, and the array is updated. The processing time of the current process on the selected equipment is added to the corresponding position in the array. In this way, until all processes in S are arranged, the final scheduling scheme is obtained.

[0098] In an embodiment, the insertion method decoding is selected for processing. The insertion method decoding method is as shown in Figure 6 An inserted process O ij is taken, and a suitable insertion position is found on the target machine in the scheduling scheme to be inserted. There are two constraint conditions for judging whether the current position can perform the insertion operation, as follows:

[0099]

[0100] wherein, denotes the end time of the process O j(h-1) , and denotes the processing time of the process O jh , TF S denotes the start time of the idle time period T; TF E denotes the end time of the idle time period T.

[0101] It needs to be explained that, for the formula , it denotes the end time of the preceding process of the current inserted process plus the processing time of the current inserted process and less than the end time of the current idle time period; and for the formula , it denotes that the end time of the preceding process of the current inserted process is within the current idle time. When inserting the process production order sequence, the process must be inserted into the machine idle time period that meets the process processing order constraint and the machine load constraint at the same time, that is, it needs to meet the above two formulas at the same time.

[0102] In addition, in the task of calculating the specific production start and end time of the process, other embodiments of the present application can adopt left shift method, sequential allocation method and the like to allocate the processing equipment operation.

[0103] It needs to be explained that, for the aforementioned method embodiments, in order to facilitate description, they are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited by the order of the described actions, because according to the present application, certain steps can be performed in other order or simultaneously.

[0104] Based on the same idea as the adaptive learning-based flexible job shop production scheduling method in the above embodiment, the present application also provides an adaptive learning-based flexible job shop production scheduling system, which can be used to execute the adaptive learning-based flexible job shop production scheduling method described above. In order to facilitate illustration, in the structural schematic diagram of the adaptive learning-based flexible job shop production scheduling system embodiment, only the parts related to the embodiments of the present application are shown, and those skilled in the art can understand that the illustrated structure does not constitute a limitation on the device, and can include more or fewer components than the illustrated, or combine certain components, or different component arrangements.

[0105] Please refer to Figure 7 , in another embodiment of the present application, an adaptive learning-based flexible job shop production scheduling system 10 is provided, which includes a preprocessing module 11, a sequence label set generation module 12, a process directed graph generation module 13 and a production scheduling module 14;

[0106] The preprocessing module 11 is configured to preprocess the order information list to be processed, extract all the processes to be generated, and use a full permutation method to pair all the processes two by two to form a process pair set.

[0107] The sequential label set generation module 12 is configured to input the process pair set into a trained machine learning model to obtain a sequential label set of all the process pairs.

[0108] The process directed graph generation module 13 is configured to sort all the processes according to the sequential label set to generate a process directed graph, perform conflict processing on the process directed graph with a loop after loop detection to generate a directed acyclic graph, and the conflict processing includes double-node processing and multi-node processing.

[0109] The production scheduling module 14 is configured to calculate the in-degree of the nodes in the directed acyclic graph to obtain a node in-degree set, update the sorting according to the node in-degree set to obtain a process production order sequence, allocate processing equipment and calculate specific production time according to the process production order sequence, and generate a production scheduling table.

[0110] It should be noted that the flexible job shop production scheduling system based on adaptive learning of the present application corresponds to the flexible job shop production scheduling method based on adaptive learning of the present application, and the technical features and advantages described in the above embodiments of the flexible job shop production scheduling method based on adaptive learning are applicable to the embodiments of the flexible job shop production scheduling method based on adaptive learning, and the specific content can be referred to the description in the method embodiments of the present application, which will not be repeated here.

[0111] The technical features of the above embodiments can be combined arbitrarily, and to make the description concise, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.

[0112] The above embodiments are the preferred embodiments of the present application, but the embodiments of the present application are not limited to the above embodiments, and any changes, modifications, substitutions, combinations, simplifications made without departing from the spirit and principles of the present application should be considered as equivalent replacement, and all are included in the protection scope of the present application.

Claims

1. A flexible job shop production scheduling method based on adaptive learning, characterized in that, The method comprises the following steps: Preprocessing the order information list to be processed to extract all the processes that need to be generated; using a full permutation method to pair all the processes two by two to form a process pair set; Inputting the process pair set into a trained machine learning model to obtain a sequence label set of all the process pairs; According to the sequence label set, all the processes are sorted to generate a process directed graph; after ring detection, the process directed graph with a ring is processed to generate a directed acyclic graph; the conflict processing includes double node processing and multi-node processing, the double node processing is used to constrain the double node sequence dependence relationship of the same process, and the multi-node processing is used to remove the ring in the process directed graph; the multi-node processing is specifically: When there are multiple nodes in a ring in the process directed graph, in any ring of the process directed graph with a ring, the degree centrality of each node participating in the ring is calculated to obtain a degree centrality value, each node participating in the ring is sorted in descending order according to the degree centrality value, and the directed edges starting from the central node are sequentially deleted until the ring is eliminated; After all the rings are eliminated, the process directed graph includes at least one node with an in-degree of 0; The degree centrality of the nodes in the ring in the directed graph is calculated using a degree centrality algorithm, and the degree centrality is the sum of the out-degree centrality and the in-degree centrality; for a node o, the in-degree centrality is the total number of other nodes that have a direct connection and point to the node o, and the out-degree centrality is the total number of other nodes that have a direct connection and point to the node o; The in-degree of the nodes in the directed acyclic graph is calculated to obtain a node in-degree set; the order is updated according to the node in-degree set to obtain a process production order sequence; according to the process production order sequence, the processing equipment is allocated and the specific production time is calculated to generate a production scheduling table.

2. The method of claim 1, wherein, The order information list includes batch order number, process number, previous process quantity, quantity, average total processing time of equipment processing, available equipment quantity, available production time, order weight and batch order weight. 3.The flexible job-shop production scheduling method based on adaptive learning of claim 1, wherein, The inputting of the process pair set into the trained machine learning model to obtain the sequence label set of all the process pairs comprises the following steps: An Encoder-Classifier architecture is adopted, the Encoder extracts features of each process pair, and a fully connected layer is used to obtain a feature hidden vector; The classifier takes the feature hidden vector as input, and takes l' i As a loss function, the order label of the process pair is obtained, and the loss function is as follows: wherein a j represents the jth feature hidden vector, a i represents the ith feature hidden vector; In the training process, a cross-entropy loss is used to calculate a prediction loss, and an optimizer is used to optimize the model parameters.

4. The method of claim 1, wherein the method further comprises: The construction of the process directed graph is specifically: A process pair is randomly selected, the process pair includes a first node and a second node, it is checked whether the first node exists in the directed graph, if yes, the first node is skipped; otherwise, the first node is newly created; Similarly, it is checked whether the second node exists in the directed graph, if yes, the second node is skipped; Otherwise, the second node is newly created; After the node creation is completed, the directions of the first node and the second node are determined; All the process pairs are processed in the same way to construct the process directed graph.

5. The adaptive learning based flexible job shop production scheduling method of claim 1, wherein, The ring detection is specifically: The in-degree and the out-degree of the nodes in the process directed graph are calculated; Finding the node with only out-degree in the process directed graph, pushing the node with only out-degree into the stack or queue, deleting the edge with the node with only out-degree as predecessor, and adding 1 to the counter until no node with only out-degree is detected, and the loop detection ends; When the counter is equal to the number of vertices in the process directed graph, there is no loop in the process directed graph, otherwise there is a loop.

6. The adaptive learning based flexible job shop production scheduling method of claim 1, wherein, The double-node processing specifically comprises: When the nodes of the same two processes form a loop in the process directed graph, the prior and subsequent dependency constraint relationship between the two nodes in the input data is checked, if the prior and subsequent dependency constraint relationship exists between the two nodes, the process directed graph is revised according to the prior and subsequent constraint relationship, and if the prior and subsequent dependency constraint relationship does not exist, a directed edge is randomly deleted.

7. The adaptive learning based flexible job shop production scheduling method of claim 1, wherein, The generation of the process production order sequence specifically comprises: The in-degree set D of the node of the directed acyclic graph is sorted in ascending order to obtain an ascendingly sorted in-degree set D'; The nodes with in-degree 0 are taken from the ascendingly sorted in-degree set D' one by one, if there is only a single node with in-degree 0, the predicted order value of the node is updated and the node is deleted, and if there are multiple nodes with in-degree 0, the nodes are sorted according to the importance of the processes and the predicted order values of the nodes are updated. 8.The flexible job-shop production scheduling method based on adaptive learning of claim 1, wherein, The allocation of the processing equipment and the calculation of the specific production time specifically comprise: The processing equipment is selected according to the process production order sequence; The processes are obtained from the process production order sequence one by one, the process time is simulated and inserted into the time sequence of the same kind of processing equipment running in the same process by using the insertion method, the shortest running time of the same kind of processing equipment in a single process is calculated and screened, the running time of a single process is obtained, and until the running time of all processes is calculated, a production scheduling table is obtained; When the process time is inserted into the time sequence of the processing equipment running, the insertion position satisfies the process processing order constraint condition and the machine load constraint condition, and the following formula is satisfied: wherein, represents the end time of the process O j(h-1) represents the processing time of the process O jh S represents the start time of the idle time period T; TF E represents the end time of the idle time period T.​​ 9. A flexible job shop production scheduling system based on adaptive learning, characterized by, The adaptive learning-based flexible job shop production scheduling method is applied to any one of claims 1-8, comprising a preprocessing module, a sequence label set generation module, a process directed graph generation module and a production scheduling module; The preprocessing module is used for preprocessing the order information list to be processed, and extracting all the processes to be generated; All processes are paired with each other using a full permutation method to form a process pair set; The sequence label set generation module is used for inputting the process pair set into a trained machine learning model to obtain a sequence label set of all process pairs; The process directed graph generation module is used for sorting all processes according to the sequence label set to generate a process directed graph; after loop detection, the process directed graph with a loop is processed to generate a directed acyclic graph; the conflict processing comprises double-node processing and multi-node processing, the double-node processing is used for constraining the prior and subsequent dependency relationship between the double nodes of the same process, and the multi-node processing is used for removing the loop in the process directed graph; The production scheduling module is used for calculating the in-degree of the node in the directed acyclic graph to obtain a node in-degree set; the order is updated according to the node in-degree set to obtain a process production order sequence; the processing equipment is allocated and the specific production time is calculated according to the process production order sequence to generate a production scheduling table.

Citation Information

Patent Citations

  • Accurate operation design method

    CN115455173A

  • Distributed manufacturing execution method and system for adaptively optimizing production plan

    CN116862206A