A furniture order splitting processing method, terminal device and storage medium
By constructing a directed graph and optimizing the order dismantling strategy using reinforcement learning models, the production imbalance problem caused by subjectivity in furniture production due to the part dismantling orders based on parts is solved, and the effect of reasonably splitting production orders and improving production efficiency is achieved.
Patent Information
- Application Number
- CN202411230819.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-03
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-09-03
AI Technical Summary
In furniture production, due to the subjectivity of disassembly of parts, production is imbalanced, and some equipment accumulates a large number of small orders, while some equipment has small orders and is facing clearing, which reduces overall production efficiency.
By constructing a directed graph, screening production equipment, dividing production units, counting the total load, and using reinforcement learning models to optimize the order disassembly strategy, reasonably split production orders.
The compatibility of dynamic single-dismantling framework is achieved. By continuously strengthening the optimization of the learning model, we associate the single-dismantling strategy with the total load of the production equipment, select the optimal single-dismantling strategy, maintain the stability of the processing parts of the production equipment, and improve the overall efficiency of the production furniture.
Smart Images

Figure CN119228018B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application belong to the field of furniture manufacturing technology, and in particular, relate to a method for splitting and processing furniture orders, a terminal device, and a storage medium. Background Art
[0002] With the development of the economy, furniture has gradually become a fast-moving consumer product. Furniture has shown a trend of small scale and rapid model changes, resulting in a huge number of orders for furniture production in production workshops.
[0003] Most furniture is made up of multiple parts. Technicians will split the total order into multiple small orders based on the parts so that the processing equipment can produce the parts independently.
[0004] However, the situation of parts production by processing equipment changes in real time. There is a certain degree of subjectivity in splitting orders based on parts, which can easily lead to an imbalance in the production of furniture. Some processing equipment has a large number of small orders piled up, while some processing equipment has a small number of small orders and is facing clearance, which reduces the efficiency of furniture production as a whole. Summary of the invention
[0005] In view of this, the embodiments of the present application provide a method for splitting and processing furniture orders, a terminal device and a storage medium, so as to reasonably split furniture production orders and improve the efficiency of furniture production as a whole.
[0006] A first aspect of an embodiment of the present application provides a method for splitting and processing a furniture order, comprising:
[0007] When receiving a production order for furniture, select production equipment on the production line for processing each component of the furniture;
[0008] According to the production order, a directed graph is constructed with the production equipment as nodes and the processing flow of the parts between the production equipment as edges;
[0009] Dividing one or more of the production equipment in the directed graph into independent production units;
[0010] Counting the total load of each of the production units when executing the sub-orders;
[0011] A reinforcement learning model is constructed by taking the production line as an environment, the total load as a state of the environment, and splitting the production order into sub-orders adapted to at least one of the production units as an action;
[0012] Starting the reinforcement learning model to optimize the total load and generate an order splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0013] Splitting the production order into multiple sub-orders according to the order splitting strategy;
[0014] For each of the sub-orders, the sub-order is assigned to at least one of the production units, and the production equipment in at least one of the production units is called in turn to process the parts.
[0015] A second aspect of an embodiment of the present application provides a furniture order splitting and processing device, including:
[0016] A production equipment screening module is used to screen out production equipment for processing various parts of the furniture on the production line when receiving a production order for the furniture;
[0017] A directed graph construction module, used to construct a directed graph based on the production order, with the production equipment as nodes and the processing flow of the parts between the production equipment as edges;
[0018] A production unit segmentation module, used to segment one or more of the production equipment in the directed graph into independent production units;
[0019] A total load statistics module, used to count the total load of each production unit when executing a sub-order;
[0020] A reinforcement learning model building module, used to build a reinforcement learning model with the production line as the environment, the total load as the state of the environment, and splitting the production order into sub-orders adapted to at least one of the production units as an action;
[0021] A reinforcement learning model starting module, used to start the reinforcement learning model, with the goal of optimizing the total load, and to generate an order splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0022] A production order splitting module, used to split the production order into multiple sub-orders according to the order splitting strategy;
[0023] The sub-order allocation module is used to allocate the sub-order to at least one of the production units for each of the sub-orders, and sequentially call the production equipment in at least one of the production units to process the parts.
[0024] A third aspect of an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method for splitting and processing furniture orders as described in the first aspect above is implemented.
[0025] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for splitting and processing furniture orders as described in the first aspect above is implemented.
[0026] A fifth aspect of the embodiments of the present application provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the method for splitting and processing furniture orders described in the first aspect.
[0027] Compared with the prior art, the embodiments of the present application have the following beneficial effects:
[0028] In this embodiment, when receiving a production order for furniture, the production equipment used to process each component of the furniture is screened out on the production line; according to the production order, a directed graph is constructed with the production equipment as a node and the processing flow of the components between the production equipment as an edge; one or more production equipment in the directed graph is divided into independent production units; the total load of each production unit when executing a sub-order is counted; a reinforcement learning model is constructed with the production line as the environment, the total load as the state of the environment, and the production order split into sub-orders adapted to at least one production unit as an action; the reinforcement learning model is started, with the total load as the goal, and a splitting strategy for splitting the production order into sub-orders assigned to at least one production unit for execution is generated; the production order is split into multiple sub-orders according to the splitting strategy; for each sub-order, the sub-order is assigned to at least one production unit, and the production equipment in at least one production unit is called in sequence to process the components. This embodiment proposes a dynamic splitting framework with strong compatibility, which continuously strengthens the association between the splitting strategy and the total load of each production equipment, can select the optimal splitting strategy, reasonably split the production order, keep the production equipment stable when processing components, and improve the efficiency of furniture production as a whole. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or prior art descriptions. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0030] Figure 1 is a schematic diagram of a furniture order splitting method provided in an embodiment of the present application;
[0031] Figure 2 It is an example diagram of constructing a directed graph provided in an embodiment of the present application;
[0032] Figure 3This is a schematic diagram of a change in an incentive provided by an embodiment of the present application;
[0033] Figure 4 is a schematic diagram of a furniture order splitting device provided in an embodiment of the present application;
[0034] Figure 5 It is a schematic diagram of a terminal device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0035] In the following description, specific details such as specific system structures, technologies, etc. are proposed for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from hindering the description of the present application.
[0036] The technical solution of the present application is described below through specific embodiments.
[0037] Reference Figure 1 , showing a schematic diagram of a furniture order splitting processing method provided in an embodiment of the present application, which may specifically include the following steps:
[0038] Step 101: When receiving a production order for furniture, select production equipment on the production line for processing various components of the furniture.
[0039] In this embodiment, one or more production lines are arranged in a production workshop, one of which can produce one or more models of furniture. A plurality of fully automatic or semi-automatic processing equipment are arranged on the production line, and each processing equipment is used to process furniture parts, such as pressing, cutting, punching, polishing, painting, etc.
[0040] Among them, furniture parts refer to the components of furniture. For example, the parts of a bed include the headboard, bed board, bed beams, bed feet, etc.
[0041] When receiving a furniture production order, the production equipment used to process the various components of the furniture can be screened out on the production line in systems such as EAP (Equipment Automation Programming).
[0042] Step 102: Based on the production order, a directed graph is constructed with the production equipment as nodes and the processing flow of parts between the production equipment as edges.
[0043] In practical applications, the content of the production order can be parsed to construct a directed graph. The directed graph includes nodes and edges, and the edges have directions. In this embodiment, the production equipment is the node, and the processing flow of parts between the production equipment is the edge. The direction of the edge represents the processing flow of parts between the production equipment. Then, the directed graph can reflect the production process of furniture at a macro level.
[0044] In one embodiment of the present application, step 102 may include the following steps:
[0045] Step 1021: Identify the order of processing parts between production equipment in the production order.
[0046] In systems such as EAP, scheduling is performed when a production order is generated for a production device, and the order in which each production device produces parts is recorded in a field specified in the production device (such as Order_stage).
[0047] Therefore, the specified fields in the production order (such as Order_stage) can be parsed to identify the order in which the parts are produced by each production equipment.
[0048] Step 1022: construct a directed graph with production equipment as nodes and the order of producing parts between production equipment as edges.
[0049] In practical applications, an initial directed graph can be constructed with production equipment as nodes and the order in which parts are produced between production equipment as edges (the direction of the edge represents the order in which parts are produced between production equipment).
[0050] Generally speaking, the scheduling operations performed in systems such as EAP mainly consider the actual sequence of parts processing by production equipment, which makes the initial directed graph mainly present a serial pattern, while in fact some production equipment processing is optional.
[0051] For example, in systems such as EAP, it is scheduled to punch holes in the window first and then chamfer the headboard. In fact, you can choose to do either of the two. Chamfering the headboard first and then punching holes in the window will have little effect on the processing effect of the headboard.
[0052] Step 1023: Build a knowledge base using production process information related to production equipment.
[0053] In this embodiment, the production process information related to the production equipment can be obtained from channels such as the production equipment manual, professional forums, and maintenance work orders of the production equipment, wherein the production process information is corpus describing the processing technology involved in the production equipment.
[0054] The production process information is cleaned, such as removing punctuation marks, special characters, stop words, and standardization. The cleaned production process information is segmented to obtain multiple process corpora, which are converted into process vectors, and these vectors are used to build a knowledge base.
[0055] Step 1024: extract production requirement information related to the parts processed by the production equipment from the production order.
[0056] In this embodiment, the fields specified in the production order (such as content, etc.) are parsed and the production requirement information related to the production equipment processing parts is extracted from the fields specified in the production order (such as content, etc.), wherein the production requirement information is a corpus describing the requirements for the production equipment processing parts.
[0057] The production requirement information is cleaned, such as removing punctuation marks, special characters, stop words, and standardization. The cleaned production requirement information is segmented to obtain multiple requirement corpus blocks, and the requirement corpus blocks are converted into requirement vectors.
[0058] Step 1025: Search the knowledge base for production process information similar to the production requirement information as target process information.
[0059] In this embodiment, the similarity between the requirement vector of the production requirement information and the process vector of the production process information in the knowledge base is calculated using algorithms such as cosine angle. If the similarity is greater than or equal to a preset threshold, the production requirement information can be considered to be similar to the production process information in the knowledge base.
[0060] In the knowledge base, multiple production process information with the highest similarity to the production requirement information can be cumulatively searched out as target process information.
[0061] Step 1026: Substitute the production requirement information and target process information into a preset template to obtain instructions.
[0062] In this embodiment, the production requirement information and the target process information can be simultaneously written into the template of the instruction to obtain the actual instruction Prompt.
[0063] Step 1027: Input the instruction into a preset language model to identify the dependency between production equipment in producing parts.
[0064] In this embodiment, the instruction Prompt is input into a preset language model, especially LLM (Large Language Model), to identify the dependency relationship between production equipment in the production of parts. The so-called dependency relationship means that the latter production equipment depends on the former production equipment to process parts. For example, painting the foot of a bed depends on drilling holes in the foot of the bed, that is, the foot of the bed is drilled first and then painted. If the order is reversed, the paint will be damaged when drilling.
[0065] Since the prompt contains relatively rich information (i.e., production requirement information and target process information), it can assist the language model in overcoming its performance weaknesses of strong generality and weak specialization, and improve the accuracy of the language model in identifying the dependencies between production equipment in production parts.
[0066] Step 1028: Adjust the edges in the directed graph according to the dependency relationship.
[0067] In this embodiment, the dependency relationship imposes certain constraints on the order of processing parts between production equipment. Therefore, the edges in the directed graph can be adjusted (such as adding, deleting, etc.) according to the dependency relationship to improve the accuracy of the directed graph.
[0068] In a specific implementation, for each edge in the directed graph, the production equipment located at the starting point of the edge is marked as the first target device, and the production equipment located at the end point of the edge is marked as the second target device.
[0069] If there is a dependency relationship between the first target device and the second target device, the edge between the first target device and the second target device is retained.
[0070] If there is no dependency relationship between the first target device and the second target device, the edge between the first target device and the second target device is deleted.
[0071] If the deletion is completed, a production device that has a dependency relationship with the second target device is searched as the third target device.
[0072] A new edge is constructed with the third target device as the starting point and the second target device as the end point.
[0073] For example, Figure 2 As shown, the initial directed graph includes nodes A, B, C, D, E, F and G connected in series. If there is a dependency relationship between A and B, B and C, C and D, E and F, F and G, B and E, and D and G, then the edge between A and B, the edge between B and C, the edge between C and D, the edge between E and F, and the edge between F and G can be retained, the edge between D and E can be deleted, and a new edge can be constructed between B and E, and a new edge can be constructed between D and G.
[0074] Step 103: Divide one or more production equipment in the directed graph into independent production units.
[0075] In this embodiment, one or more production equipment in the directed graph may be divided into independent production units as the minimum unit for allocating subtasks.
[0076] In a specific implementation, in a directed graph, the in-degree and out-degree of the production equipment as a node are counted.
[0077] If the in-degree of a node is greater than or equal to 2, it means that the parts processed by the production equipment to which the node belongs can choose other processing equipment for the next step of processing, and have the margin to dynamically adjust the production tasks. In this case, the edge with the production equipment as the end point is cut off.
[0078] If the out-degree of a node is greater than or equal to 2, it means that the production equipment to which the node belongs can choose to process parts processed by other processing equipment for the next step, and has the margin to dynamically adjust the production tasks. In this case, the edge starting from the production equipment is cut off.
[0079] If the cut edge is completed, a single production device and multiple production devices connected by the existing edge are determined as a production unit.
[0080] For example, Figure 2 As shown, the in-degree of node G is 2, which can cut off the edge between node F and node G, and the edge between node D and node G. The out-degree of node B is 2, which can cut off the edge between node B and node E, and the edge between node B and node C. At this time, A and B are a production unit, C and D are a production unit, E and F are a production unit, and G is a production unit.
[0081] Step 104: Count the total load of each production unit when executing the sub-order.
[0082] In the production workshop, the production equipment in each production unit runs in real time to execute sub-orders split from other production orders.
[0083] In one embodiment of the present application, step 104 may include the following steps:
[0084] Step 1041: for the same sub-order, query the number of parts to be processed by each production equipment in the production unit.
[0085] In this embodiment, each unfinished sub-order can be traversed, and for the same sub-order, the sub-order can be parsed to query the number of parts to be processed in each production equipment in the current production unit, which is recorded as the number of parts.
[0086] Step 1042: For the same sub-order, calculate the product of the number of parts and the average time for the production equipment to process the parts as the sub-load of the production equipment.
[0087] In systems such as EAP, the historical information (such as time, quantity, etc.) of each production equipment processing parts can be recorded, and the average time for each production equipment to process parts can be calculated based on the historical information.
[0088] For the same sub-order, the product of the number of parts and the average time it takes for the production equipment to process the parts is calculated as the sub-load of the current production equipment.
[0089] Step 1043: For the same sub-order, the sub-loads are attenuated according to the order in which the production equipment executes the sub-orders, so as to obtain the adjusted load of the production equipment.
[0090] For the same sub-order, the order of sub-orders executed by the current production equipment can be queried in the information recorded when the sub-orders are allocated, for example Figure 2 As shown, if a sub-order is assigned to the production unit consisting of E and F for execution, the ranking of the sub-order executed by E is 1, and the ranking of the sub-order executed by F is 2.
[0091] It should be noted that due to different production processes, the same production equipment can be divided into different production units in different production orders. In this case, the order in which the same production equipment executes different sub-orders may be different.
[0092] In the same production unit, parts are processed in turn in different production equipment according to the order of the production equipment. When the production equipment in the front order is processing parts, the production equipment in the back order is in a state of waiting for processing parts and does not actually undertake the work of processing parts. Therefore, the sub-load can be attenuated according to the order in which the production equipment executes the sub-order to obtain the adjusted load of the production equipment.
[0093] In an attenuation method, in one or more production units that undertake the same sub-order, the number of equipment of all production equipment is counted, and multiple descending original weights configured for the number of equipment are loaded. The so-called descending order means that the higher the ranking, the higher the original weight, and the later the ranking, the lower the original weight.
[0094] In one or more production units that undertake the same sub-order, determine the order of the sub-order executed by the current production equipment, and read the original weight adapted to the order of the current production equipment as the target weight.
[0095] For example, Figure 2As shown, a sub-order is assigned to the production unit composed of A and B, and the production unit composed of E and F at the same time. At this time, the number of production equipment is 4, and the original weights can be configured as 0.4, 0.3, 0.2, and 0.1. The target weight of A is 0.4, the target weight of B is 0.3, the target weight of C is 0.2, and the target weight of D is 0.1.
[0096] For the current production equipment, the product between its sub-load and the corresponding target weight is calculated as the adjustment load of the current production equipment to achieve sub-load attenuation.
[0097] Step 1044: For the same sub-order, sum the adjustment loads of the various production equipment in the production unit to obtain the unit load of the production unit.
[0098] Traverse each sub-order, and for the same sub-order, sum the adjustment load of each production equipment in each production unit that undertakes the same sub-order to obtain the unit load of each production unit that undertakes the same sub-order.
[0099] Step 1045: For the same production unit, sum up all unit loads to obtain the total load of the production unit executing the sub-order.
[0100] For the same production unit, sum up all unit loads of all sub-orders it undertakes to obtain the total load of the production unit executing sub-orders.
[0101] Step 105: construct a reinforcement learning model with the production line as the environment, the total load as the state of the environment, and splitting the production order into sub-orders adapted to at least one production unit as an action.
[0102] In this embodiment, a reinforcement learning model can be constructed for the task of splitting orders, where reinforcement learning refers to understanding information, obtaining a mapping from input to output, continuously learning from one's past experience to acquire new knowledge, and providing feedback through a reward and punishment mechanism that evaluates good or bad behavior.
[0103] Reinforcement learning models are usually described using a Markov Decision Process (MDP), that is, the machine is in an environment, and each state is the machine's perception of the current environment; the machine affects the environment through actions, and when the machine performs an action, the environment will transfer to another state with a certain probability; at the same time, the environment will feedback an incentive to the machine based on the potential incentive function.
[0104] In the specific implementation, the reinforcement learning model includes four basic elements: agent, environment, action and reward.
[0105] The agent uses the incentives provided by the environment as feedback to learn a series of mappings from the state of the environment to actions. The principle of action selection is to maximize the probability of future accumulated incentives. The selected action not only affects the incentives at the current moment, but also affects the incentives at the next moment and even in the future. Therefore, the basic rule of the agent in the learning process is: if an action brings positive incentives from the environment, then this action will be strengthened, and if an action brings negative incentives from the environment, then this action will be weakened.
[0106] The environment receives a series of actions performed by the agent, evaluates the quality of the actions, and converts them into a quantifiable (scalar signal) incentive to feed back to the agent. At the same time, the environment also provides the agent with its state.
[0107] Incentives are quantifiable scalar feedback signals provided by the environment to the agent, which are used to evaluate the quality of the actions performed by the agent at a certain time. Reinforcement learning is based on the assumption of maximizing cumulative incentives, that is, in reinforcement learning, the goal of the agent in making a series of action choices is to maximize future cumulative incentives.
[0108] The state contains the information that the agent uses to select actions, and it is a function of the history.
[0109] Then, the Markov decision process can be expressed as: M = (S, A, P sa ,R), where S represents the set of states of the environment, A represents the set of actions, and P sa It represents the state transition probability, that is, the probability distribution of transitioning to other states after taking action a in state s.
[0110] The learning goal of the reinforcement learning model is to find the optimal strategy π for the Markov decision process: π(a|s)=P[A t =a|S t =s], that is, at time t, for a given state s, find the optimal strategy for executing action a in the state s.
[0111] In this embodiment, when constructing a reinforcement learning model, systems such as EAP are set as intelligent agents, the production line is set as the environment, the total load of the production unit is set as the state of the environment, the production order is split into sub-orders adapted to at least one production unit and set as actions, and the change in the total load of the production unit is set as an incentive.
[0112] Step 106: Start the reinforcement learning model to generate a splitting strategy for splitting the production order into sub-orders assigned to at least one production unit for execution, with the goal of optimizing the total load.
[0113] In practical applications, the reinforcement learning model is started for iterative learning. Systems such as EAP act as intelligent agents and receive the total load detected by each production unit on the production line when executing sub-orders as the state of the production line environment. With the goal of optimizing the total load, the optimal strategy for splitting the production order into sub-orders assigned to at least one production unit for execution is learned, which is recorded as the order splitting strategy.
[0114] In one embodiment of the present invention, step 106 may include the following steps:
[0115] Step 1061: At the current moment, a first value is calculated based on the order splitting strategy for splitting the production order into sub-orders assigned to at least one production unit for execution with reference to the total load.
[0116] In the specific implementation, algorithms such as DQN (Deep Q-Learing) can be used to iteratively learn the reinforcement learning model. At this time, the action value function Q(s) can be defined in advance for the reinforcement learning model. t ,a t ;ω), where s t represents the state of the environment at the current time t, that is, the total load at the current time, a t represents the action performed at the current time t, that is, the order splitting strategy selected at the current time t to split the production order into sub-orders assigned to at least one production unit for execution, and ω is a hyperparameter.
[0117] Among them, the action value function can also be called Q network, and Q network can apply neural network, for example, Convolutional Neural Networks (CNN), Recurrent Neural Network (RNN), and so on.
[0118] The total load, order splitting strategy and other information are input into the action value function for calculation, thereby outputting the first value (i.e., Q value) of each order splitting strategy.
[0119] Step 1062: Filter out the order splitting strategy with the highest value.
[0120] The first values of each order splitting strategy are compared, and the order splitting strategy with the highest first value is selected as the order splitting strategy applied at the current moment.
[0121] Step 1063: At the next moment, the second value is calculated by referring to the total load and using the order splitting strategy to split the production order into sub-orders assigned to at least one production unit for execution.
[0122] In reinforcement learning models, the hyperparameters of the action-value function (such as DQN) can be trained using the temporal difference (TD) method.
[0123] In the specific implementation, strategies such as ε-greddy (greedy method) can be used to select an action (i.e., a splitting strategy that splits the production order into sub-orders assigned to at least one production unit for execution), input the action into the environment (i.e., the production line), and obtain the state at the next moment (i.e., the total load of each production unit) and incentives.
[0124] The total load, order splitting strategy and other information are input into the action value function for calculation, thereby outputting the second value (i.e., Q value) of each order splitting strategy.
[0125] Step 1064, calculate the product of the second value with the largest value and the preset attenuation factor to obtain the third value.
[0126] The second values of each splitting strategy are compared, the second value with the largest value is screened out, the product of the second value with the largest value and the preset attenuation factor is calculated, and the third value (ie, Q value) is obtained.
[0127] Step 1065: Calculate incentives for the order splitting strategy based on the total load.
[0128] In this embodiment, the incentive for the order splitting strategy can be calculated based on the total load at the next moment.
[0129] In a specific implementation, for each production unit, a load deviation can be calculated. The load deviation is the difference between the total load at the current moment and the total load at the next moment. The ratio between the load deviation and the total load at the current moment is calculated as the load change rate.
[0130] The load change rate of each production unit is averaged to obtain the average change rate.
[0131] The average rate of change is mapped to the incentive of the split order strategy, where the mapped strategy is:
[0132] When the average change rate is positive, the incentive is negatively correlated with the average change rate, that is, the larger the average change rate, the lower the incentive, and conversely, the smaller the average change rate, the higher the incentive, in the hope of maintaining a smooth transition of the production status on the production line.
[0133] When the average rate of change is 0, the excitation is the specified value.
[0134] When the average change rate is negative, the incentive is positively correlated with the average change rate, that is, the greater the average change rate, the higher the incentive, and conversely, the smaller the average change rate, the lower the incentive, in order to maintain a smooth transition of the production status on the production line.
[0135] Furthermore, if Figure 3 As shown, when the average change rate is a positive value, the excitation shows a decreasing trend, and its value gradually decreases from a positive value to a negative value, and the excitation tends to the first upper limit value T1. When the average change rate is a negative value, the excitation shows an increasing trend, and its value gradually increases from a negative value to a positive value, and the excitation tends to the second upper limit value T2. The first upper limit value T1 is greater than the second upper limit value T2, and the specified value T3 is between the first upper limit value T1 and the second upper limit value T2.
[0136] Step 1066: Calculate the sum of the incentive and the third value as the fourth value.
[0137] In this embodiment, the sum of the incentive and the third value is calculated to obtain the time difference target, which is recorded as the fourth value. Then, the fourth value can be expressed as: t =r t +λ*Max a∈A Q(s t+1 ,a;ω), where y t is the fourth value, r t is the excitation, λ is the attenuation factor, Max is the function of taking the maximum value, Q(s t+1 ,a;ω) is the second value at the next moment t+1.
[0138] Step 1067: Calculate the square root of the ratio between the value deviation and the preset adjustment coefficient to obtain the loss value.
[0139] In this embodiment, the value deviation can be calculated. The value deviation is the absolute value of the difference between the first value and the fourth value. The square root of the ratio between the value deviation and the preset adjustment coefficient is taken as the loss value. At this time, the amplitude of the iteration of the reinforcement learning model can be reduced, in the hope of maintaining a smooth transition of the production status on the production line.
[0140] Then, the loss value can be expressed as:
[0141]
[0142] Among them, L is the loss value, q t is the first value, y t is the fourth value, and δ is the adjustment coefficient.
[0143] Step 1068: Iteratively train the reinforcement learning model based on the loss value.
[0144] In this embodiment, the loss value can be substituted into an optimization algorithm such as stochastic gradient descent, the reinforcement learning model can be iteratively trained, and the parameters in the reinforcement learning model (especially the hyperparameters in the action-value function) can be updated.
[0145] Step 107: Split the production order into multiple sub-orders according to the order splitting strategy.
[0146] In this embodiment, the production order is split into multiple sub-orders according to the screened order splitting strategy. At this time, the corresponding fields of the production order are mapped to the multiple sub-orders, for example, the product number (product_code), customer number (customer_code), and so on.
[0147] In addition, a new source order field (such as origin_order_code) is added to the child order to record the number of the production order, making it easier to trace the production order from the child order.
[0148] Step 108: For each sub-order, assign the sub-order to at least one production unit, and call the production equipment in the at least one production unit in turn to process the parts.
[0149] In this embodiment, each sub-order is traversed according to the screened order splitting strategy, and the sub-order is assigned to the corresponding production unit for execution. The production equipment in at least one production order executes the sub-orders in sequence and processes the corresponding parts according to the information in the sub-orders.
[0150] In the actual production process, systems such as EAP can dynamically schedule sub-orders based on the status of each production equipment (such as the number of parts waiting to be processed, whether there are any abnormalities, etc.) to achieve load balancing of each production equipment.
[0151] In this embodiment, when receiving a production order for furniture, the production equipment used to process each component of the furniture is screened out on the production line; according to the production order, a directed graph is constructed with the production equipment as a node and the processing flow of the components between the production equipment as an edge; one or more production equipment in the directed graph is divided into independent production units; the total load of each production unit when executing a sub-order is counted; a reinforcement learning model is constructed with the production line as the environment, the total load as the state of the environment, and the production order split into sub-orders adapted to at least one production unit as an action; the reinforcement learning model is started, with the total load as the goal, and a splitting strategy for splitting the production order into sub-orders assigned to at least one production unit for execution is generated; the production order is split into multiple sub-orders according to the splitting strategy; for each sub-order, the sub-order is assigned to at least one production unit, and the production equipment in at least one production unit is called in sequence to process the components. This embodiment proposes a dynamic splitting framework with strong compatibility, which continuously strengthens the association between the splitting strategy and the total load of each production equipment, can select the optimal splitting strategy, reasonably split the production order, keep the production equipment stable when processing components, and improve the efficiency of furniture production as a whole.
[0152] It should be noted that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0153] Reference Figure 4 , shows a schematic diagram of a furniture order splitting and processing device provided in an embodiment of the present application, which may specifically include the following modules:
[0154] The production equipment screening module 401 is used to screen out the production equipment used for processing each component of the furniture on the production line when receiving the production order of the furniture;
[0155] A directed graph construction module 402 is used to construct a directed graph based on the production order, with the production equipment as nodes and the processing flow of the parts between the production equipment as edges;
[0156] A production unit segmentation module 403 is used to segment one or more of the production equipment in the directed graph into independent production units;
[0157] A total load statistics module 404 is used to count the total load of each production unit when executing a sub-order;
[0158] A reinforcement learning model building module 405 is used to build a reinforcement learning model with the production line as the environment, the total load as the state of the environment, and splitting the production order into sub-orders adapted to at least one of the production units as an action;
[0159] A reinforcement learning model starting module 406 is used to start the reinforcement learning model, with the goal of optimizing the total load, and generate an order splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0160] A production order splitting module 407 is used to split the production order into multiple sub-orders according to the order splitting strategy;
[0161] The sub-order allocation module 408 is used to allocate the sub-order to at least one of the production units for each of the sub-orders, and sequentially call the production equipment in at least one of the production units to process the parts.
[0162] In one embodiment of the present application, the directed graph construction module 402 includes:
[0163] A sequence identification module, used to identify the sequence of processing the parts between the production equipment in the production order;
[0164] A directed graph initialization module, used to construct a directed graph with the production equipment as nodes and the order of processing the parts between the production equipment as edges;
[0165] A knowledge base construction module, used to construct a knowledge base using production process information related to the production equipment;
[0166] A production requirement information extraction module, used to extract production requirement information related to the production equipment processing the parts from the production order;
[0167] A target process information search module, used to search the knowledge base for production process information similar to the production requirement information as target process information;
[0168] An instruction generation module, used for writing the production requirement information and the target process information into a preset template to obtain instructions;
[0169] A dependency identification module, used for inputting the instruction into a preset language model to identify the dependency between the production equipment in producing the parts;
[0170] An edge adjustment module is used to adjust the edges in the directed graph according to the dependency relationship.
[0171] In one embodiment of the present application, the edge adjustment module includes:
[0172] A device marking module, used for marking, for each edge in the directed graph, the production device located at the starting point of the edge as a first target device, and marking the production device located at the end point of the edge as a second target device;
[0173] an edge reservation module, configured to reserve an edge between the first target device and the second target device if the dependency relationship exists between the first target device and the second target device;
[0174] an edge deletion module, configured to delete the edge between the first target device and the second target device if the dependency relationship does not exist between the first target device and the second target device;
[0175] a target device search module, configured to search for the production device having the dependency relationship with the second target device as the third target device if the deletion is completed;
[0176] An edge construction module is used to construct a new edge with the third target device as a starting point and the second target device as an end point.
[0177] In one embodiment of the present application, the production unit segmentation module 403 includes:
[0178] A node degree statistics module, used for counting the in-degree and out-degree of the production equipment as the node in the directed graph;
[0179] A first cutting module, used for cutting the edge with the production equipment as the end point if the in-degree is greater than or equal to 2;
[0180] A second cutting module, configured to cut the edge starting from the production equipment if the out-degree is greater than or equal to 2;
[0181] The production unit determination module is used to determine that a single production device and a plurality of production devices connected to the existing edge are a production unit if the cutting edge is completed.
[0182] In one embodiment of the present application, the total load statistics module 404 includes:
[0183] A parts quantity statistics module, used for querying the number of parts to be processed by each of the production equipment in the production unit for the same sub-order;
[0184] A sub-load calculation module, used for calculating, for the same sub-order, the product of the number of parts and the average time for the production equipment to process the parts as the sub-load of the production equipment;
[0185] A regulating load calculation module, for attenuating the sub-loads according to the order in which the production equipment executes the sub-orders for the same sub-order, to obtain the regulating load of the production equipment;
[0186] A unit load calculation module, used for summing the adjustment loads of the various production equipments in the production unit for the same sub-order to obtain the unit load of the production unit;
[0187] The total load calculation module is used to sum up all the unit loads of the same production unit to obtain the total load of the production unit executing the sub-order.
[0188] In one embodiment of the present application, the load adjustment calculation module includes:
[0189] An equipment quantity statistics module, used for counting the equipment quantity of all the production equipment in one or more production units that undertake the same sub-order;
[0190] An original weight loading module, used to load a plurality of descending original weights configured for the number of devices;
[0191] A sequence determination module, used to determine the sequence of the sub-orders being executed by the current production equipment in one or more production units that undertake the same sub-order;
[0192] A target weight reading module, used for reading the original weight adapted to the current order of the production equipment as the target weight;
[0193] The weighted calculation module is used to calculate the product between the sub-load and the target weight as the regulation load of the production equipment.
[0194] In one embodiment of the present application, the reinforcement learning model startup module 406 includes:
[0195] A first value calculation module is used to calculate a first value at a current moment by referring to the total load and splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0196] An order splitting strategy screening module, used for screening out the order splitting strategy with the highest first value;
[0197] A second value calculation module is used to calculate a second value at a next moment by referring to the total load and splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0198] A third value calculation module, used for calculating the product of the second value with the largest value and a preset attenuation factor to obtain a third value;
[0199] An incentive calculation module, used for calculating incentives for the order splitting strategy according to the total load;
[0200] A fourth value calculation module, used for calculating the sum of the incentive and the third value as a fourth value;
[0201] A loss value calculation module, used for taking the square root of the ratio between the value deviation and the preset adjustment coefficient to obtain the loss value; the value deviation is the absolute value of the difference between the first value and the fourth value;
[0202] The reinforcement learning model training module is used to iteratively train the reinforcement learning model according to the loss value.
[0203] In one embodiment of the present application, the incentive calculation module includes:
[0204] A load change rate calculation module, used to calculate, for each of the production units, a ratio between a load deviation and the total load at a current moment as a load change rate; the load deviation is a difference between the total load at a current moment and the total load at a next moment;
[0205] An average change rate calculation module, used to calculate an average value of the load change rate to obtain an average change rate;
[0206] The average change rate mapping module is used to map the average change rate into the incentive of the order splitting strategy; when the average change rate is a positive value, the incentive is negatively correlated with the average change rate, when the average change rate is 0, the incentive is a specified value, and when the average change rate is a negative value, the incentive is positively correlated with the average change rate.
[0207] An embodiment of the present application provides a device for splitting and processing furniture orders. By using the device, each step in the aforementioned method embodiments can be implemented.
[0208] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment part.
[0209] Reference Figure 5 , shows a schematic diagram of a terminal device provided in an embodiment of the present application. Figure 5 As shown, the terminal device 500 in the embodiment of the present application includes: a processor 510, a memory 520, and a computer program 521 stored in the memory 520 and executable on the processor 510. When the processor 510 executes the computer program 521, the steps in each embodiment of the above-mentioned furniture order splitting processing method are implemented, such as Figure 1 Alternatively, when the processor 510 executes the computer program 521, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 4 The functions of the production equipment screening module 401, the directed graph construction module 402, the production unit segmentation module 403, the total load statistics module 404, the reinforcement learning model construction module 405, the reinforcement learning model startup module 406, the production order splitting module 407 and the sub-order allocation module 408 are shown.
[0210] Exemplarily, the computer program 521 can be divided into one or more modules / units, and the one or more modules / units are stored in the memory 520 and executed by the processor 510 to complete the present application. The one or more modules / units can be a series of computer program instruction segments that can complete specific functions, and the instruction segments can be used to describe the execution process of the computer program 521 in the terminal device 500. For example, the computer program 521 can be divided into a production equipment screening module, a directed graph construction module, a production unit segmentation module, a total load statistics module, a reinforcement learning model construction module, a reinforcement learning model startup module, a production order splitting module and a sub-order allocation module. The specific functions of each module are as follows:
[0211] A production equipment screening module is used to screen out production equipment for processing various parts of the furniture on the production line when receiving a production order for the furniture;
[0212] A directed graph construction module, used to construct a directed graph based on the production order, with the production equipment as nodes and the processing flow of the parts between the production equipment as edges;
[0213] A production unit segmentation module, used to segment one or more of the production equipment in the directed graph into independent production units;
[0214] A total load statistics module, used to count the total load of each production unit when executing a sub-order;
[0215] A reinforcement learning model building module, used to build a reinforcement learning model with the production line as the environment, the total load as the state of the environment, and splitting the production order into sub-orders adapted to at least one of the production units as an action;
[0216] A reinforcement learning model starting module, used to start the reinforcement learning model, with the goal of optimizing the total load, and to generate an order splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution;
[0217] A production order splitting module, used to split the production order into multiple sub-orders according to the order splitting strategy;
[0218] The sub-order allocation module is used to allocate the sub-order to at least one of the production units for each of the sub-orders, and sequentially call the production equipment in at least one of the production units to process the parts.
[0219] The terminal device 500 may be the furniture order splitting and processing device in the above-mentioned embodiments, and the furniture order splitting and processing device may be a computing device such as a desktop computer or a cloud server. The terminal device 500 may include, but is not limited to, a processor 510 and a memory 520. Those skilled in the art will understand that Figure 5 It is only an example of the terminal device 500 and does not constitute a limitation of the terminal device 500. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the terminal device 500 may also include input and output devices, network access devices, buses, etc.
[0220] The processor 510 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0221] The memory 520 may be an internal storage unit of the terminal device 500, such as a hard disk or memory of the terminal device 500. The memory 520 may also be an external storage device of the terminal device 500, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the terminal device 500. Further, the memory 520 may also include both an internal storage unit of the terminal device 500 and an external storage device. The memory 520 is used to store the computer program 521 and other programs and data required by the terminal device 500. The memory 520 may also be used to temporarily store data that has been output or is to be output.
[0222] An embodiment of the present application also discloses a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method for splitting and processing furniture orders as described in the aforementioned embodiments is implemented.
[0223] The embodiment of the present application further discloses a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for splitting and processing furniture orders as described in the above-mentioned embodiments is implemented.
[0224] The embodiment of the present application further discloses a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the furniture order splitting processing method described in the above-mentioned embodiments.
[0225] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application is described in detail with reference to the above-mentioned embodiments, a person skilled in the art should understand that the technical solutions described in the above-mentioned embodiments can still be modified, or some of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A method for splitting and processing furniture orders, characterized in that: include: When receiving a production order for furniture, select production equipment on the production line for processing each component of the furniture; According to the production order, a directed graph is constructed with the production equipment as nodes and the processing flow of the parts between the production equipment as edges; Dividing one or more of the production equipment in the directed graph into independent production units; Counting the total load of each of the production units when executing the sub-orders; A reinforcement learning model is constructed by taking the production line as an environment, the total load as a state of the environment, and splitting the production order into sub-orders adapted to at least one of the production units as an action; Starting the reinforcement learning model to optimize the total load and generate an order splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution; Splitting the production order into multiple sub-orders according to the order splitting strategy; For each of the sub-orders, the sub-order is assigned to at least one of the production units, and the production equipment in at least one of the production units is called in sequence to process the parts; Wherein, dividing one or more of the production equipment in the directed graph into independent production units includes: In the directed graph, counting the in-degree and out-degree of the production equipment as the node; If the in-degree is greater than or equal to 2, the edge ending at the production equipment is cut off; If the out-degree is greater than or equal to 2, the edge starting from the production equipment is cut off; If the cut edge is completed, a single production device and a plurality of production devices connected by the existing edge are determined as a production unit; The counting of the total load of each production unit when executing the sub-order includes: For the same sub-order, query the number of parts to be processed by each of the production equipment in the production unit; For the same sub-order, the product of the number of parts and the average time for the production equipment to process the parts is calculated as the sub-load of the production equipment; For the same sub-order, the sub-loads are attenuated according to the order in which the production equipment executes the sub-orders, so as to obtain the regulated load of the production equipment; For the same sub-order, summing the adjustment loads of the various production equipments in the production unit to obtain the unit load of the production unit; For the same production unit, all the unit loads are summed up to obtain the total load of the production unit executing the sub-order.
2. The method according to claim 1, characterized in that The step of constructing a directed graph based on the production order, taking the production equipment as nodes and the processing flow directions of the parts between the production equipment as edges, includes: identifying in the production order the sequence in which the parts are to be processed between the production equipment; Constructing a directed graph with the production equipment as nodes and the order of processing the parts between the production equipment as edges; Building a knowledge base using production process information related to the production equipment; Extracting production requirement information related to processing of the parts by the production equipment from the production order; Searching the knowledge base for production process information similar to the production requirement information as target process information; Writing the production requirement information and the target process information into a preset template to obtain instructions; Inputting the instruction into a preset language model to identify the dependency relationship between the production equipment in producing the parts; The edges in the directed graph are adjusted according to the dependency relationship.
3. The method according to claim 2, characterized in that The adjusting the edges in the directed graph according to the dependency relationship comprises: For each edge in the directed graph, marking the production equipment located at the starting point of the edge as a first target device, and marking the production equipment located at the end point of the edge as a second target device; If the dependency relationship exists between the first target device and the second target device, retaining the edge between the first target device and the second target device; If the dependency relationship does not exist between the first target device and the second target device, deleting the edge between the first target device and the second target device; If the deletion is completed, searching for the production device having the dependency relationship with the second target device as the third target device; A new edge is constructed with the third target device as a starting point and the second target device as an end point.
4. The method according to claim 1, characterized in that The step of attenuating the sub-loads according to the order in which the production equipment executes the sub-orders for the same sub-order to obtain the adjusted load of the production equipment includes: In one or more production units that undertake the same sub-order, counting the number of equipment of all the production equipment; Loading a plurality of descending original weights configured for the number of devices; In one or more of the production units that undertake the same sub-order, determining the order in which the production equipment is currently executing the sub-order; Reading the original weight adapted to the current order of the production equipment as the target weight; The product between the sub-load and the target weight is calculated as the regulation load of the production equipment.
5. The method according to claim 1, characterized in that The step of starting the reinforcement learning model to optimize the total load and generate a splitting strategy for splitting the production order into sub-orders assigned to at least one of the production units for execution includes: At the current moment, a first value is calculated by referring to the total load and using an order splitting strategy to split the production order into sub-orders assigned to at least one of the production units for execution; Filter out the order splitting strategy with the highest first value; At the next moment, a second value is calculated by referring to the total load and using an order splitting strategy to split the production order into sub-orders assigned to at least one of the production units for execution; Calculate the product of the second value with the largest value and a preset attenuation factor to obtain a third value; Calculating incentives for the order splitting strategy based on the total load; Calculating a sum of the incentive and the third value as a fourth value; The loss value is obtained by taking the square root of the ratio between the value deviation and the preset adjustment coefficient; the value deviation is the absolute value of the difference between the first value and the fourth value; The reinforcement learning model is iteratively trained according to the loss value.
6. The method according to claim 5, characterized in that The calculating incentive for the order splitting strategy according to the total load includes: For each of the production units, the ratio between the load deviation and the total load at the current moment is calculated as the load change rate; the load deviation is the difference between the total load at the current moment and the total load at the next moment; Calculating an average value of the load change rate to obtain an average change rate; The average change rate is mapped to the incentive of the order splitting strategy; when the average change rate is a positive value, the incentive is negatively correlated with the average change rate, when the average change rate is 0, the incentive is a specified value, and when the average change rate is a negative value, the incentive is positively correlated with the average change rate.
7. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method for splitting and processing furniture orders as described in any one of claims 1 to 6 is implemented.
8. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for splitting and processing furniture orders as described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Order delay punishment cost determination method and device and computer storage medium
CN110570086A
Flexible job shop production scheduling method and system based on adaptive learning
CN117973799A