Production scheduling plan generation method and apparatus and computer-readable storage medium
By abstracting the production line-task into a bipartite graph and using neural networks to generate production schedules, the problem of slow production schedule generation and results that do not conform to human habits in existing technologies is solved, thus achieving efficient and rapid production schedule generation.
Patent Information
- Application Number
- PCT/CN2025/080989
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-26
- Filing Date
- 2025-03-06
- Publication Date
- 2025-10-30
AI Technical Summary
Existing technologies struggle to quickly generate production plans that align with human habits when creating production schedules for parallel production lines, and optimization-based strategies are unable to incorporate human scheduling preferences.
The production line-task is abstracted into a bipartite graph. The first graph neural network is used for graph embedding processing, and the second neural network is used to predict the scheduling actions to generate the final production schedule.
It enables rapid generation of production scheduling plans with high efficiency and results that align with human habits, avoiding the problem of long waiting times after manual adjustments to the production scheduling plan.
Smart Images

Figure CN2025080989_30102025_PF_FP_ABST
Abstract
Description
Production scheduling generation method, apparatus and computer-readable storage medium
[0001] This application claims priority to Chinese Patent Application No. 202410513058.X, filed on April 26, 2024, entitled “Production Scheduling Method, Apparatus and Computer-Readable Storage Medium”, the contents of which are to be understood as incorporated herein by reference. Technical Field
[0002] This disclosure relates to, but is not limited to, the field of production control technology, and particularly to a production scheduling method, apparatus, and computer-readable storage medium. Background Technology
[0003] The production scheduling problem can be reduced to a discrete lot sizing and scheduling problem of parallel production lines. The current mainstream solution approach is based on mathematical modeling or heuristic strategies. Reinforcement learning-based strategies are still in the early stages of exploration and are limited to the case of a single production line. Summary of the Invention
[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0005] This disclosure provides a production scheduling method, comprising: determining the current workshop state and converting the current workshop state into bipartite graph data, wherein the workshop state includes a first feature of each production line, a second feature of each product, and a third feature of the relationship between each production line and the corresponding product, the bipartite graph including nodes and edges, the nodes including production line nodes and product nodes, and the edges being the lines connecting the production line nodes and the product nodes; inputting the bipartite graph data into a first graph neural network to obtain the embedding vector of each node and edge in the bipartite graph; inputting the embedding vector of each node and edge into a second neural network to obtain the selection probability of each edge, and determining the next production scheduling action based on the selection probability of each edge; returning to the step of determining the current workshop state and converting the current workshop state into bipartite graph data and performing the process cyclically until the production scheduling time of all production lines reaches the final production scheduling date or the demand of all products has been scheduled; and generating the final production scheduling plan based on the next production scheduling action determined by multiple iterations.
[0006] This disclosure also provides a production schedule generation apparatus, including: a processor and a memory storing a computer program executable on the processor, wherein the processor executes the program to implement the steps of the production schedule generation method as described above.
[0007] This disclosure also provides a computer-readable storage medium storing executable instructions that, when executed by a processor, can implement the production scheduling method as described in any of the preceding embodiments.
[0008] This disclosure also provides a computer program product including instructions that, when executed by a computer, perform the production scheduling method as described in any of the preceding embodiments.
[0009] This disclosure also provides a production scheduling device, including a bipartite graph conversion module, an input module, and a cycle detection module. The bipartite graph conversion module is configured to determine the current workshop state and convert it into bipartite graph data. The workshop state includes a first feature of each production line, a second feature of each product, and a third feature representing the relationship between each production line and its corresponding product. The bipartite graph includes nodes and edges. The nodes include production line nodes and product nodes, and the edges are lines connecting the production line nodes and the product nodes. The input module is configured to input the bipartite graph data into a first graph neural network to obtain the embedding direction of each node and edge in the bipartite graph. The embedding vectors of each node and edge are input into the second neural network to obtain the selection probability of each edge. The next production scheduling action is determined based on the selection probability of each edge. The loop detection module is configured to detect whether the production scheduling time of all production lines has reached the final production scheduling date and whether the demand of all products has been scheduled. If the production scheduling time of one or more production lines has not reached the final production scheduling date and the demand of one or more products has not been scheduled, the current workshop status is input into the binary graph conversion module. If the production scheduling time of all production lines has reached the final production scheduling date or the demand of all products has been scheduled, the final production scheduling plan is generated based on the next production scheduling action determined by multiple loops.
[0010] The production scheduling plan generation method, apparatus, and computer-readable storage medium of this disclosure represent the current state of the problem by abstracting the production line-task into a bipartite graph. The bipartite graph is then embedded using a first graph neural network, and the next production scheduling action is predicted using a second neural network. This enables rapid production scheduling plan generation and avoids the problem of long waiting times after manual adjustments. In addition, optimization-based strategies are difficult to incorporate human scheduling preferences. This disclosure, based on a data-driven strategy, can learn the scheduling habits of schedulers, making the results more consistent with human habits.
[0011] Other features and advantages of this disclosure will be set forth in the following description, and will be apparent in part from the description, or may be learned by practicing the disclosure. Other advantages of this disclosure may be realized and obtained by means of the methods described in the description and the accompanying drawings. Attached Figure Description
[0012] The accompanying drawings are used to provide an understanding of the technical solutions of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the technical solutions of this disclosure and do not constitute a limitation on the technical solutions of this disclosure.
[0013] Figure 1 is a flowchart illustrating a production scheduling method according to an exemplary embodiment of this disclosure.
[0014] Figure 2 is a schematic diagram of a production scheduling status in an exemplary embodiment of the present disclosure.
[0015] Figure 3 is a schematic diagram of a model training process according to an exemplary embodiment of the present disclosure.
[0016] Figure 4 is a schematic diagram of a model usage / reasoning process according to an exemplary embodiment of this disclosure.
[0017] Figure 5 is a schematic diagram of the structure of a production scheduling plan generation device according to an exemplary embodiment of the present disclosure.
[0018] Figure 6 is a schematic diagram of another production schedule generation device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0019] This disclosure describes several embodiments, but these descriptions are exemplary and not limiting, and it will be apparent to those skilled in the art that many more embodiments and implementations are possible within the scope of the embodiments described herein. Although many possible combinations of features are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with, or may replace, any feature or element of any other embodiment.
[0020] This disclosure includes and contemplates combinations of features and elements known to those skilled in the art. The embodiments, features, and elements disclosed in this disclosure may also be combined with any conventional features or elements to form a unique inventive scheme as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive schemes to form another unique inventive scheme as defined by the claims. Therefore, it should be understood that any feature shown and / or discussed in this disclosure may be implemented individually or in any suitable combination. Therefore, the embodiments are not limited except by the limitations imposed by the appended claims and their equivalents. Furthermore, various modifications and changes may be made within the scope of the appended claims.
[0021] Furthermore, in describing representative embodiments, the specification may have presented methods and / or processes as a specific sequence of steps. However, the method or process should not be limited to the specific order of steps described herein, to the extent that the method or process does not depend on the specific order of steps described herein. As will be understood by those skilled in the art, other sequences of steps are also possible. Therefore, the specific order of steps set forth in the specification should not be construed as a limitation of the claims. Moreover, the claims relating to the method and / or process should not be limited to the steps performed in the order written, and those skilled in the art will readily understand that these orders can be varied and still remain within the spirit and scope of the embodiments disclosed herein.
[0022] The production scheduling method disclosed in this embodiment can be applied to application scenarios involving multiple production lines and multiple products. This embodiment defines the production scheduling problem as scheduling the demand for n products into m production lines within a specified production time period of T, where n and m are natural numbers greater than or equal to 2, and T is a real number greater than or equal to 1. For example, n is 100, m is 5, and the production time period can be in days or hours; however, this disclosure does not impose any limitations on this.
[0023] This production scheduling problem meets the following constraints:
[0024] 1) Each production line can only be assigned to produce one product per production time period, meaning it is either idle or in the process of producing any one product.
[0025] 2) The demand for each product is distributed across different production scheduling periods. For example, if T=5, the demand for product k is [0, 0, 4, 5, 0], which means that there is no demand for product k on the first, second, and fifth days, and the demand on the third and fourth days is 4 and 5 respectively. If the demand cannot be met, the corresponding delayed quantity will be generated. If the demand is met ahead of schedule or beyond, inventory will be generated.
[0026] 3) Each product can be produced on several production lines, and the production costs of different production lines are different.
[0027] 4) When switching between products, the mold needs to be changed. The production line needs several time periods for switching between product states. During this time, the production line is in a tethered state.
[0028] 5) The daily production line capacity is limited and, depending on the product type, production cannot exceed the capacity.
[0029] The production scheduling plan generation method of this disclosure is used to arrange the production tasks of each production line to meet the needs of different products. The generated production scheduling plan should minimize the number of line cuts, minimize the number of product delays, minimize production costs, and minimize inventory costs.
[0030] This disclosure is based on a neural network model (including a first graph neural network and a second neural network) to learn a production scheduling strategy, which can quickly obtain a suboptimal solution to the production scheduling problem while meeting business needs.
[0031] As shown in Figure 1, this embodiment of the present disclosure provides a production scheduling method, applied to a workshop including multiple production lines and multiple products, where each production line corresponds to one or more products. The method includes:
[0032] Step 101: Determine the current workshop status and convert it into bipartite graph data. The workshop status includes the first feature of each production line, the second feature of each product, and the third feature of the relationship between each production line and the corresponding product. The bipartite graph includes nodes and edges. Nodes include production line nodes and product nodes, and edges are the lines connecting production line nodes and product nodes.
[0033] In some exemplary embodiments, the first feature includes: the production status of the production line and the remaining capacity of the production line; the second feature includes: remaining order demand, inventory, and deferred amount; the third feature includes: production cost, production line cost, inventory cost, and deferred cost.
[0034] A bipartite graph, also known as a bipartite graph, is a special model in graph theory. Let G = (V, E) be an undirected graph. If the vertices V can be partitioned into two disjoint subsets (A, B), and every edge (i, j) in the graph connects vertices i and j to these two distinct sets (i in A, j in B), then graph G is called a bipartite graph. Simply put, if the vertices in a graph can be divided into two groups such that all edges cross the boundaries of the groups, then it is a bipartite graph. Alternatively, if the vertices of a graph can be partitioned into two disjoint subsets such that every edge connects vertices in both sets, then the graph is a bipartite graph.
[0035] Figure 2 is a schematic diagram of a bipartite production scheduling state according to an exemplary embodiment of this disclosure. As shown in Figure 2, node i on the left represents a production line node, node j on the right represents a product node, and line e represents the matching relationship between the production line and the product. No line indicates that the product cannot be produced on the corresponding production line. The characteristics of the production line node include: the production status of the production line and the remaining capacity of the production line; the characteristics of the product node include: remaining order demand, inventory, and delay; the characteristics of the edges between nodes include: production cost, tangent cost, inventory cost, and delay cost. Each time the current workshop state is converted into bipartite graph data, the characteristic values corresponding to the production line node and product node can be updated according to the scheduling action determined in the previous cycle. Generally, the characteristic values of the edges do not change with the scheduling action determined in the previous cycle.
[0036] The production status of the production line includes idle or producing product X. Product X can be any one of all products that the production line can produce.
[0037] The remaining capacity of a production line refers to the amount of production capacity that remains before the final production schedule date. For example, if the total production schedule period is 5 days, and 20 hours of production can be scheduled each day, and 90 hours of production tasks have already been scheduled, then the remaining capacity is 10 hours.
[0038] Remaining order demand refers to the total order demand for a product minus the total planned production capacity for that product.
[0039] Inventory refers to the physical quantity of a product that needs to be stored in a warehouse on a specific production date because production exceeds order demand.
[0040] Delayed quantity refers to the physical quantity of a product that is delayed in delivery on a certain production date because the production volume did not meet the order demand.
[0041] Production cost refers to the cost incurred when a certain production line produces a certain product.
[0042] Tangential costs refer to the costs incurred when a production line switches from producing one product to producing another (such as changing molds, stopping and starting machines, resetting programs, etc.), and can be measured in terms of capacity or expenses.
[0043] Inventory cost refers to the cost incurred when a production line produces a certain product and the product is stored in a warehouse because the production volume exceeds the order demand.
[0044] Delay costs refer to the costs incurred when a production line fails to meet the order demand for a certain product, resulting in delayed delivery.
[0045] Step 102: Input the bipartite graph data into the first graph neural network (GNN) to obtain the embedding vector of each node and edge in the bipartite graph; input the embedding vector of each node and edge into the second neural network to obtain the selection probability of each edge, and determine the next production scheduling action based on the selection probability of each edge.
[0046] In some exemplary embodiments, the first graph neural network can be any of the following: a graph neural network (GNN) without graph convolution, a graph convolutional network (GCN), a graph attention network (GAT), etc.
[0047] Graph Convolutional Neural Networks (GCNNs) are a special type of graph neural network that converts graph data into high-dimensional feature vectors and performs convolution operations on the graph. In this embodiment, the GCNN may include multiple graph convolutional layers, wherein the multiple graph convolutional layers are used to aggregate information from neighboring nodes and update node features to generate high-dimensional feature vectors. For example, in this embodiment, there may be three graph convolutional layers; however, this disclosure is not limited to this.
[0048] In some exemplary embodiments, as shown in FIG3, the second neural network can be a multilayer perceptron (MLP) network.
[0049] A multilayer perceptron (MLP) is a feedforward artificial neural network model that maps multiple input datasets to a single output dataset. An MLP consists of multiple neuron layers, each fully connected to the layer preceding it. Each neuron layer comprises many neurons; the input layer receives input features, the output layer provides the final prediction, and hidden layers extract features and perform nonlinear transformations. Each neuron receives the output of the previous layer, performs a weighted sum and activation function operation to obtain the output of the current layer. Through iterative training, the MLP can automatically learn the complex relationships between input features and make predictions on new data.
[0050] In some exemplary embodiments, the method further includes: training the first graph neural network and the second neural network; wherein the training process of the first graph neural network and the second neural network includes:
[0051] Get the training set, set the number of training rounds x and the batch size of the dataset for each training round, and set the initial value of the intermediate value i to 0, where x is greater than 1 and batch size is greater than 1;
[0052] Check if i is greater than x;
[0053] If i is greater than x, then training ends;
[0054] If i is less than or equal to x, then i is incremented by 1, and batch_size data are randomly selected from the training set to form a batch training set D. The parameters of the first and second neural networks are trained and updated using the batch training set D, and the step of checking whether i is greater than x is returned to continue execution.
[0055] For example, suppose the training set includes 10,000 data points, the number of training rounds x can be set to 100, and the batch size of the dataset for each training session can be set to 1,000. However, this disclosure does not limit this.
[0056] In some exemplary embodiments, when training and updating the neural network parameters using a batch training set D, the parameters of the first and second graph neural networks are updated with the following loss function as the objective function:
[0057] Where loss is the loss function, s is the current state, a is the chosen action, θ represents the parameters of the first and second graph neural networks, and π θ (a|s t ) indicates the current state s t The strategy for selecting the next action (i.e., edge).
[0058] In some exemplary embodiments, during training, the reward signal of the second neural network is set to the negative sum of various costs in the third feature of the action-corresponding edge. Reward learning algorithms are commonly used in reinforcement learning, in which the neural network obtains reward signals by interacting with the environment, and then adjusts the weights and biases of the neural network according to the reward signals to maximize the reward signals.
[0059] In some exemplary implementations, as shown in Figure 3, the training set includes: manually generated historical production scheduling data and / or simulation data optimized based on operations research.
[0060] In this embodiment of the disclosure, the training set may include manual historical production scheduling data and / or operation-based optimized simulation data. The manual historical production scheduling data and the operation-based optimized simulation data have the same data structure, both including workshop status data and the corresponding next production scheduling action. After selecting data, the existing data is used to continuously collect the workshop status and the production scheduling action with the lowest cost in each subsequent action set under that status, and the cost of adding the production scheduling action is calculated based on a pre-defined cost.
[0061] According to the bipartite diagram, the solution process of the production scheduling problem in this disclosure is organized into a Markov decision process:
[0062] (1) Current state s t Given a bipartite graph topology g and production line node features L t Product Features J t Features of the edges E t .
[0063] (2) Action a t The edges are optional. For example, e22 means that product 2 is assigned to production line 2. Each time a decision is made, one edge is selected, and the product is assigned to the corresponding production line. The current state is then recalculated until the production schedule of all production lines reaches the final production schedule date or the demand for all products has been scheduled.
[0064] (3) Reward rt This is the sum of all costs for the edge corresponding to the selected action. Considering that the goal is to maximize the cumulative reward, a negative value is required here.
[0065] (4) The strategy is π θ (a|s t ), used to make decisions in state s t The selection of actions is given by θ, where θ is the parameter of the policy and, in this disclosure, is the parameter of the neural network. The policy output is the probability distribution of each available action (i.e., edge), and the value represents the probability that the action is selected.
[0066] For example, bipartite graph structure data is input into a graph convolutional neural network to obtain the embedding vectors of each node and edge. Then, the embedding vectors of each node and edge are input into an MLP network to obtain the probability value of each edge. Based on the probability value of each edge, sampling is performed or the edge with the highest probability is directly selected as the next scheduling action.
[0067] In some exemplary implementations, determining the next scheduling action based on the selection probability of each edge includes:
[0068] Based on the selection probability of each edge, select one edge according to the probability distribution or select the edge with the highest selection probability;
[0069] The next production scheduling action is determined as follows: based on the selected edge, the corresponding product is assigned to the corresponding production line for production.
[0070] Value-based reinforcement learning methods are generally deterministic; given a state, the reward for each possible action can be calculated (a deterministic value). However, this deterministic approach cannot handle some real-world problems. By outputting the probability distribution of all actions through the policy gradient, and then selecting an action based on this probability distribution (i.e., choosing one edge according to the probability distribution), a degree of randomness is introduced into the selection result. For example, suppose there are ten products, each produced on five production lines. After calculating the probabilities of fifty possible edges, the edge with the highest probability can be selected, or an edge can be randomly selected according to the probability distribution (not necessarily the edge with the highest probability). This makes the neural network model more generalizable.
[0071] Step 103: Return to the step of determining the current workshop status and converting the current workshop status into bipartite diagram data and repeat this process until the scheduling time of all production lines reaches the final scheduling date or the demand of all products has been scheduled. Generate the final scheduling plan based on the next scheduling action determined by multiple iterations.
[0072] In this step, it checks whether the production scheduling time of all production lines has reached the final scheduling date and whether the demand for all products has been scheduled. If the production scheduling time of one or more production lines has not reached the final scheduling date and the demand for one or more products has not been scheduled, it returns to the step of determining the current workshop status and converting the current workshop status into bipartite diagram data to continue execution. If the production scheduling time of all production lines has reached the final scheduling date or the demand for all products has been scheduled, it generates the final production schedule based on the next scheduling action determined by multiple iterations.
[0073] In this embodiment of the disclosure, the final production schedule includes the production arrangements for all production lines at different production times.
[0074] For example, in this embodiment of the disclosure, the final production schedule can be represented as an Excel spreadsheet as shown in Table 1. Production Line 1 plans to produce 500 units of Product A on the first day, 450 units of Product C on the second day, and will be idle on the third day. It plans to produce 200 units of Product E on the fourth day, 300 units of Product B on the fifth day, 350 units of Product D on the sixth day, and 480 units of Product A on the seventh day. Production Line 2 plans to produce 300 units of Product B on the first day, 350 units of Product A on the second day, 350 units of Product C on the third day, and will be idle on the fourth day. It plans to produce 280 units of Product B on the fifth day, 250 units of Product E on the sixth day, and 280 units of Product E on the seventh day. Production Line 3 plans to produce 400 units of Product C on the first day, will be idle on the second day, and will produce 320 units of Product B on the third day, 380 units of Product C on the fourth day, 440 units of Product A on the fifth day, 300 units of Product B on the sixth day, and 320 units of Product B on the seventh day. In this embodiment of the disclosure, the production scheduling time can be in units of n days or n hours, where n is a real number greater than 0; however, this disclosure does not impose any restrictions on this.
[0075] Table 1
[0076] As shown in Figure 4, during actual operation / reasoning, the current workshop state needs to be obtained first. Then, the current workshop state is organized into the form of the aforementioned bipartite graph data. The bipartite graph data is input into the pre-trained first graph neural network to obtain the embedding vector of each node and edge in the bipartite graph. Then, the embedding vector of each node and edge is input into the second neural network. The second neural network gives the probability of each possible action. The action with the highest probability is selected, or one of the actions is selected according to the probability distribution. The current workshop state is updated. Then, the process of converting the current workshop state into the aforementioned bipartite graph data form is repeated until the production scheduling is completed (i.e., the production scheduling time of all production lines reaches the final production scheduling date or the demand of all products has been scheduled).
[0077] For example, suppose there are five production lines, ten product production tasks, and a five-day production schedule. First, the current workshop status is converted into bipartite graph data using a programming language. This bipartite graph data is then input into a first graph neural network to obtain graph embedding vectors. These vectors are then input into a second neural network to obtain the probability distribution of each optional edge. Based on the probability distribution, the next production scheduling action is determined. For example, if the current step is to select product 1 for production line 1 during the first production scheduling time period (assuming 1 hour), the current workshop status is updated. The updated workshop status is then converted back into bipartite graph data and input into both the first and second graph neural networks to obtain the probability distribution of each optional edge. Based on the probability distribution, the next production scheduling action is determined. For example, if the current step is to select product 2 for production line 2 during the first production scheduling time period (assuming 1 hour), the current workshop status is updated, and so on, until the production schedules for all production lines reach the final production date or the demand for all products has been scheduled. At this point, the production scheduling ends, and the final production schedule is generated. When updating the current workshop status, if the currently scheduled production line includes a shunting task (i.e., switching between different products on the same production line), the remaining capacity of that production line needs to be reduced by the shunting cost (assuming it is 0.5 hours). The final production schedule includes the task sequence of processed products for each production line at different scheduling times.
[0078] The production scheduling method disclosed in this embodiment adopts a data-driven approach, learning from the production scheduling schemes and optimization strategies of human planners. The dataset consists of historical data from production schedulers and simulated data from optimization strategies. The current state of the problem is represented by abstracting the production line-task into bipartite graph data. A first-graph neural network is used to embed the current state into a vector of equal length. Then, an MLP is used to predict the optimal production scheduling action, ultimately achieving rapid production scheduling scheme generation. By learning from the historical data of production schedulers, the production scheduling scheme becomes closer to human scheduling habits.
[0079] Compared to manual scheduling methods, this method offers higher scheduling efficiency, generating feasible scheduling plans in a very short time. Compared to optimization-based strategies, this method achieves an order-of-magnitude improvement in scheduling speed, avoiding the long waiting times that often occur after manual adjustments. Furthermore, optimization-based strategies struggle to capture the preferences of manual schedulers, while this data-driven approach learns the scheduling habits of schedulers, resulting in outcomes that more closely align with human habits.
[0080] As shown in Figure 5, this embodiment of the present disclosure also provides a production scheduling plan generation device, including: a binary diagram conversion module 501, an input module 502, a cycle detection module 503, and a plan generation module 504, wherein:
[0081] The bipartite graph conversion module 501 is configured to determine the current workshop state and convert the current workshop state into bipartite graph data. The workshop state includes a first feature of each production line, a second feature of each product, and a third feature of the relationship between each production line and the corresponding product. The nodes include production line nodes and product nodes, and the edges are the lines connecting the production line nodes and the product nodes.
[0082] The input module 502 is configured to input the bipartite graph data into a first graph neural network to obtain the embedding vector of each node and edge in the bipartite graph; input the embedding vector of each node and edge into a second neural network to obtain the selection probability of each edge; and determine the next production scheduling action based on the selection probability of each edge.
[0083] The cycle detection module 503 is configured to detect whether the scheduling time of all production lines has reached the final scheduling date and whether the demand for all products has been scheduled. If the scheduling time of one or more production lines has not reached the final scheduling date and the demand for one or more products has not been scheduled, the current workshop status information is input into the binary diagram conversion module 501. If the scheduling time of all production lines has reached the final scheduling date or the demand for all products has been scheduled, the final scheduling plan is generated based on the next scheduling action determined by multiple cycles.
[0084] In some exemplary embodiments, the first feature includes: the production status of the production line and the remaining capacity of the production line; the second feature includes remaining order demand, inventory, and deferred amount; the third feature includes: production cost, production line cost, inventory cost, and deferred cost.
[0085] In some exemplary embodiments, the first graph neural network is any one of the following: a graph neural network that does not employ graph convolution, a graph convolutional neural network, or a graph attention network.
[0086] In some exemplary embodiments, the input module 502 determines the next scheduling action based on the selection probability of each edge, including:
[0087] Based on the selection probability of each edge, select one edge according to the probability distribution or select the edge with the highest selection probability;
[0088] The next production scheduling action is determined as follows: based on the selected edge, the corresponding product is assigned to the corresponding production line for production.
[0089] In some exemplary embodiments, the second neural network is a multilayer perceptron network.
[0090] In some exemplary embodiments, the production scheduling device further includes a training module, wherein the training module is configured to: train the first graph neural network and the second neural network; wherein the training process of the first graph neural network and the second neural network includes:
[0091] Obtain the training set, set the number of training rounds x and the batch size of the dataset for each training round, and set the initial value of the intermediate value i to 0, where x is an integer greater than 1 and batch_size is an integer greater than 1.
[0092] If i is greater than x, the training ends; if i is less than or equal to x, i is incremented by 1, and batch_size data are randomly selected from the training set to form a batch training set D. The parameters of the first graph neural network and the second neural network are trained and updated using the batch training set D, and the step of checking if i is greater than x is returned to continue execution.
[0093] In some exemplary embodiments, during the process of the training module training and updating the parameters of the first graph neural network and the second neural network using a batch training set D, the reward of the second neural network is the negative value of the sum of various costs in the third feature of the edge corresponding to the selected action.
[0094] In some exemplary embodiments, the training set includes: manually generated historical production scheduling data and simulation data optimized based on operations research.
[0095] This disclosure also provides a production schedule generation apparatus, which may include a processor and a memory storing a computer program executable on the processor. When the processor executes the computer program, it implements the steps of the production schedule generation method as described in any of the preceding claims of this disclosure.
[0096] As shown in Figure 6, in one example, the production schedule generation device may include: a processor 610, a memory 620, a bus system 630, and a transceiver 640. The processor 610, the memory 620, and the transceiver 640 are connected through the bus system 630. The memory 620 is used to store instructions, and the processor 610 is used to execute the instructions stored in the memory 620 to control the transceiver 640 to send signals. Specifically, the processor 610 determines the current workshop state and converts it into bipartite graph data. The workshop state includes a first feature of each production line, a second feature of each product, and a third feature representing the relationship between each production line and its corresponding product. The bipartite graph includes nodes and edges. The nodes include production line nodes and product nodes, and the edges are the connections between production line nodes and product nodes. The bipartite graph data is input into a first graph neural network to obtain the embedding vectors of each node and edge in the bipartite graph. The embedding vectors of each node and edge are input into a second neural network to obtain the selection probability of each edge. The next production scheduling action is determined based on the selection probability of each edge. The process of determining the current workshop state and converting it into bipartite graph data is repeated until the production scheduling time of all production lines reaches the final scheduling date or the demand for all products has been scheduled. The final production schedule is generated based on the next production scheduling action determined by multiple iterations.
[0097] It should be understood that processor 610 can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0098] Memory 620 may include read-only memory and random access memory, and provides instructions and data to processor 610. A portion of memory 620 may also include non-volatile random access memory. For example, memory 620 may also store device type information.
[0099] In addition to the data bus, the bus system 630 may also include a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 630 in Figure 6.
[0100] In the implementation process, the processing performed by the production scheduling generation device can be completed through the integrated logic circuits in the hardware of the processor 610 or through software instructions. That is, the method steps of this embodiment can be implemented by the hardware processor, or by a combination of hardware and software modules in the processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other storage media. This storage medium is located in memory 620, and the processor 610 reads the information in memory 620 and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, a detailed description is not provided here.
[0101] This disclosure also provides a computer-readable storage medium storing executable instructions. When executed by a processor, these executable instructions can implement the production scheduling method provided in any of the above embodiments of this disclosure. This production scheduling method can achieve rapid production scheduling plan generation, avoiding the problem of long waiting times after manual adjustments. Furthermore, optimization-based strategies struggle to incorporate human scheduling preferences; this disclosure's data-driven strategy can learn the scheduling habits of schedulers, making the results more closely aligned with human habits. The method of generating a production schedule by executing executable instructions to drive the production scheduling device is essentially the same as the production scheduling method provided in the above embodiments of this disclosure, and will not be described in detail here.
[0102] In some possible implementations, various aspects of the production schedule generation method provided in this disclosure may also be implemented as a program product comprising program code that, when run on a computer device, causes the computer device to perform the steps in the production schedule generation method according to various exemplary embodiments of this disclosure as described above. For example, the computer device may execute the production schedule generation method described in the embodiments of this disclosure.
[0103] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0104] It will be understood by those skilled in the art that all or some of the steps, systems, or apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0105] It should be noted that the above embodiments or implementation methods are merely exemplary and not restrictive. Therefore, this disclosure is not limited to the content specifically shown and described herein. Various modifications, substitutions, or omissions can be made to the form and details of the implementations without departing from the scope of this disclosure.
Claims
1. A production scheduling method, applied to a workshop comprising multiple production lines and multiple products, each production line corresponding to one or more products, the method comprising: The current workshop status is determined and converted into bipartite graph data. The workshop status includes a first feature of each production line, a second feature of each product, and a third feature of the relationship between each production line and the corresponding product. The bipartite graph includes nodes and edges. The nodes include production line nodes and product nodes, and the edges are the lines connecting the production line nodes and the product nodes. The bipartite graph data is input into a first graph neural network to obtain the embedding vector of each node and edge in the bipartite graph; the embedding vector of each node and edge is input into a second neural network to obtain the selection probability of each edge; and the next production scheduling action is determined based on the selection probability of each edge. The steps of determining the current workshop status and converting the current workshop status into bipartite diagram data are repeated until the production scheduling time of all production lines reaches the final scheduling date or the demand of all products has been scheduled. The final production schedule is generated based on the next production action determined through multiple iterations.
2. The production scheduling method according to claim 1, wherein, The first feature includes: the production status of the production line and the remaining capacity of the production line; the second feature includes: remaining order demand, inventory, and deferred amount; the third feature includes: production cost, production line cost, inventory cost, and deferred cost.
3. The production scheduling method according to claim 1, wherein, The first graph neural network is any one of the following: a graph neural network that does not use graph convolution, a graph convolutional neural network, or a graph attention network.
4. The production scheduling plan generation method according to claim 1, wherein, The step of determining the next production scheduling action based on the selection probability of each edge includes: Based on the selection probability of each edge, select one edge according to the probability distribution or select the edge with the highest selection probability; The next production scheduling action is determined to be: based on the selected edge, the corresponding product is assigned to the corresponding production line for production.
5. The production scheduling plan generation method according to claim 1, wherein, The second neural network is a multilayer perceptron network.
6. The production scheduling plan generation method according to claim 1, wherein, The method further includes: training the first graph neural network and the second neural network, wherein the training process of the first graph neural network and the second neural network includes: Obtain the training set, set the number of training rounds x and the batch size of the dataset for each training round, and set the initial value of the intermediate value i to 0, where x is an integer greater than 1 and batch_size is an integer greater than 1. If i is greater than x, the training ends; if i is less than or equal to x, i is incremented by 1, and batch_size data are randomly selected from the training set to form a batch training set D. The parameters of the first graph neural network and the second neural network are trained and updated using the batch training set D, and the process returns to the step of checking if i is greater than x to continue execution.
7. The production scheduling plan generation method according to claim 6, wherein, During the process of training and updating the parameters of the first and second graph neural networks using the batch training set D, the reward of the second neural network is the negative value of the sum of various costs in the third feature of the edge corresponding to the selected action.
8. The production scheduling method according to claim 6, wherein, The training set includes: historical production scheduling data and / or optimized simulation data based on operations research.
9. The production scheduling method according to claim 1, wherein, The final production schedule includes the production arrangements for all production lines at different scheduling times, where the scheduling time is in units of n days or n hours, and n is a real number greater than 0.
10. A production scheduling device, comprising: The processor and the memory storing a computer program that can run on the processor, wherein the processor executes the computer program to implement the steps of the production scheduling method as described in any one of claims 1 to 9.
11. A computer-readable storage medium storing computer-executable instructions for performing the production scheduling method according to any one of claims 1 to 9.
12. A computer program product comprising instructions that, when executed by a computer, perform the production scheduling method as described in any one of claims 1 to 9.
13. A production scheduling device, comprising: The module consists of a bipartite graph conversion module, an input module, and a loop detection module, among which: The bipartite graph conversion module is configured to determine the current workshop state and convert the current workshop state into bipartite graph data. The workshop state includes a first feature of each production line, a second feature of each product, and a third feature of the relationship between each production line and the corresponding product. The bipartite graph includes nodes and edges. The nodes include production line nodes and product nodes, and the edges are the lines connecting the production line nodes and the product nodes. The input module is configured to input the bipartite graph data into a first graph neural network to obtain the embedding vector of each node and edge in the bipartite graph; input the embedding vector of each node and edge into a second neural network to obtain the selection probability of each edge; and determine the next production scheduling action based on the selection probability of each edge. The cycle detection module is configured to detect whether the scheduling time of all production lines has reached the final scheduling date and whether the demand for all products has been scheduled. If the scheduling time of one or more production lines has not reached the final scheduling date and the demand for one or more products has not been scheduled, the current workshop status is input into the bipartite diagram conversion module. If the scheduling time of all production lines has reached the final scheduling date or the demand for all products has been scheduled, the final scheduling plan is generated based on the next scheduling action determined by multiple cycles.
Citation Information
Patent Citations
Flexible workshop job scheduling method based on reinforcement learning and graph neural network
CN113469491A
Model structure optimization method and device
CN116468099A
Production scheduling plan generation method and device and computer readable storage medium
CN118297345A
Solving mixed integer programs using neural networks
US20240062060A1