A multi-objective evolutionary production scheduling method based on limited buffer constraint
By constructing a multi-objective evolutionary production scheduling model with limited buffer constraints, the problem of production line blockage caused by limited buffer capacity was solved, the stable and efficient operation of the production line was achieved, the workpiece assignment and buffer usage were optimized, and the real-time performance of the production system was improved.
Patent Information
- Application Number
- CN202611144045.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-30
- Publication Date
- 2026-11-06
AI Technical Summary
Existing technologies suffer from NP-hard problems when dealing with the permutation and combination of workpiece processing sequences. This can force upstream equipment to stop operating when the buffer capacity is limited, causing the entire production line to stop or even deadlock. Furthermore, traditional algorithms take too long to solve large-scale problems, making it difficult to meet real-time requirements.
A multi-objective evolutionary production scheduling method based on finite buffer constraints is adopted. By constructing a production line scheduling model, defining parameter variables and objective functions, and using an improved NSGA-II algorithm and a greedy algorithm, combined with a parallel scheduling method, the assignment of workpieces and buffer usage are optimized to avoid blocking and ensure stable operation of the production line.
This effectively avoids production line congestion caused by buffer limitations, improves the stability and efficiency of production scheduling, and ensures the normal operation of the production system.
Smart Images

Figure CN123050907A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of technology, and in particular to a multi-objective evolutionary production scheduling method based on finite cache constraints. Background Technology
[0002] Driven by the lean manufacturing philosophy, China's manufacturing industry is undergoing a wave of production line upgrades and transformations. This transformation aims to build an efficient and collaborative manufacturing system by deepening specialization, shortening production cycles, improving resource utilization, and ensuring the smooth operation of the production process according to a predetermined rhythm. Essentially, a production line is a highly integrated production system that strictly adheres to product design requirements and process specifications, manufacturing and assembling various parts, components, and subsystems in a predetermined sequence to ultimately achieve the efficient output of various products.
[0003] Production line scheduling is an NP-hard problem involving the explosion of permutations and combinations of workpiece processing sequences, characterized by high complexity and numerous constraints. In real-world production lines, the buffer capacity between processes is often limited. When this limited buffer space is full, upstream equipment is forced to stop operating, becoming blocked and unable to release completed workpieces, leading to a halt or even deadlock of the entire production line.
[0004] For production line scheduling problems that consider caching, traditional exact algorithms (such as branch and bound and integer programming) can find optimal solutions for small-scale problems, but as the scale of the scheduling problem continues to increase, the time consumed by the algorithm will increase exponentially, making it difficult to meet the real-time requirements of actual production. Heuristic multi-objective evolutionary algorithms have been widely used in industrial production scheduling scenarios due to their simple construction, fast solution speed, and interpretable solutions, but there is still considerable room for improvement in the overall performance of their optimized solutions. Against this background, multi-objective evolutionary algorithms, with their fast and excellent multi-dimensional optimization capabilities, are gradually becoming an important solution for complex production line scheduling problems. Summary of the Invention
[0005] The purpose of this invention is to provide a multi-objective evolutionary production scheduling method based on finite cache constraints to solve the problems mentioned in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] A multi-objective evolutionary production scheduling method based on finite cache constraints includes the following steps:
[0008] S110, Construct a production line scheduling model and establish a set of work orders in the workshop. Establish resource collections Adjacent resource class sets up cache B, whose cache capacity is ;
[0009] S120 defines the parameter variables of the production line scheduling model with finite buffer constraints, sets the total delay time and the objective function of the manufacturing cycle, and imposes constraints on the parameter variables.
[0010] S130, Work Order Collection Each individual is encoded to generate an initial population P0. The population then evolves iteratively using the improved NSGA-II algorithm to generate the current parent population. and current offspring population To obtain the current parent population and current offspring population The total delay time and the target value of the manufacturing cycle are calculated, and a non-dominated sort is performed based on the target value to select and generate a new parent population; the final parent population is obtained by iterative calculation using a greedy algorithm.
[0011] S140, a parallel scheduling method based on limited buffers, sets a candidate work order set. and cache usage set From the candidate work order set Retrieve the workpiece corresponding to the highest priority process to the appropriate resource class. During production, the real-time cache occupies the set. The optimal solution for the production line scheduling model is determined by selecting the best option from the final parent population.
[0012] Preferably, step S110 includes the following steps:
[0013] S110-1, for each work order Execution process establishes process set Each work order The sequence of processes varies from work order to work order. The delivery period is ;
[0014] S110-2, Resource Category It includes workstations and equipment. Each workstation class corresponds to a equipment class containing multiple identical pieces of equipment. Equipment within the same equipment class has the same processing speed.
[0015] S110-3, for any work order Assign the k-th process to a single workpiece within the process. To the corresponding resource class Corresponding resource class The processing time for a single workpiece is [time], which can be achieved using any one of the machines. ;
[0016] S110-4, in any resource class Its subsequent resource class Set up a buffer B between them, and each buffer B can hold a number of workpieces. If the number of workpieces in cache B is full, the corresponding preceding resource workpiece will be blocked upon completion of processing.
[0017] Preferably, the parameter variables in S120 include:
[0018] : Continuous variable, representing work orders The start time of processing the nth piece in the kth process;
[0019] Continuous variable, work order The completion time of the nth item in the kth process;
[0020] Binary variable, work order Earlier If production begins, the value is 1; otherwise, it is 0.
[0021] : Binary variable, representing a single-piece operation Assigned to the corresponding resource class If the processing is performed on the lower device m, the value is 1; otherwise, the value is 0.
[0022] : The kth process Assigned to the corresponding resource class The processing time of a workpiece on any one of the machines.
[0023] Preferably, the objective function for the total delay time in S120 is:
[0024] (1)
[0025] In equation (1), the minimum total delay time is represented, where the total delay time is the time for each work order. The total delay time is the sum of the delay times of all work orders. The delay time of a single work order is the larger of the difference between the completion time and the delivery date of the work order and 0. The sum of the delay times of all work orders is taken as the total delay time.
[0026] (2)
[0027] Equation (2) represents the minimum manufacturing cycle, where each work order is taken as an example. The maximum value of the completion time of all processes is taken as the manufacturing cycle.
[0028] The constraints on the parameter variables in S120 are as follows:
[0029] (3)
[0030] Equation (3) represents each work order Each workpiece must be assigned to the corresponding resource class in each process. Process on the next piece of equipment;
[0031] (4)
[0032] Equation (4) expresses the same work order In the same process k, if multiple workpieces are assigned to the same machine, they must be processed in sequence, that is, the next workpiece can only be processed after the previous workpiece is completed.
[0033] (5)
[0034] Equation (5) expresses if a work order Earlier than the work order Once production begins and all processes are performed on the same resource class w, the processing priority of all processes can be determined.
[0035] (6)
[0036] Equation (6) expresses if a work order Earlier than the work order Once production begins and all processes are performed on the same resource class w, the processing priority of all processes can be determined.
[0037] (7)
[0038] Equation (7) expresses the relationship based on cache capacity The restriction ensures that when the current resource class finishes processing the workpiece, the corresponding cache B of the subsequent resource class will always have space to accept it, thereby avoiding deadlock or illegal scheduling.
[0039] (8)
[0040] Equation (8) expresses resource categories The number of artifacts that cache B can hold is not greater than the maximum cache capacity. .
[0041] Preferably, step S130 includes the following steps:
[0042] S130-1, Work order set based on process sequence Each individual is coded and designed, and an initial population P0 is generated, with initialization parameters; the initialization parameters include those for each work order. Delivery period is Processing time for a single workpiece and maximum number of iterations;
[0043] S130-2 performs an evolutionary process through selection, crossover, and mutation operations, and iterates in a loop to generate the current parent population. and current offspring population ;
[0044] S130-3, for the current parental population Decoding and offspring population Decode each individual within the population, execute the objective function of total delay time and manufacturing cycle, and obtain the current parent population. and current offspring population The target value for each individual within the group;
[0045] S130-4, the current parent population and current offspring population The target values of all individuals within the group are sorted and grouped in a non-dominated manner.
[0046] S130-5, based on the above non-dominated sorting grouping, each group is sequentially included in the next generation of parent population. In the middle; if the next generation of the parent population When the number of individuals is less than the preset number N, a greedy algorithm is used to calculate the minimum distance of all remaining groups, and the population corresponding to the maximum distance is moved to the next generation parent population. middle;
[0047] S130-6, continue executing steps S130-2~S130-5 until the maximum number of iterations is reached, and obtain the final parent population.
[0048] Preferably, step S140 includes the following steps:
[0049] S140-1, Initialize parameter variables, set the current stage g=1, that is... Set the time to complete the set of work orders. Execution work order set and cache usage set If empty, select a set of candidate work orders. Workpieces with an in-degree of 0 are put into production;
[0050] S140-2, Update current stage g, Update current time. Update the current time The set of execution work orders and the collection of completed work orders Based on the priority of the workpiece, select from the candidate work order set. Select the highest priority process. Dispatch the work orders and set up the candidate work orders. Update; simultaneously, calculate and monitor the updated cache usage set in real time. The capacity;
[0051] S140-3, if the process Available resources If assignment is possible, calculate and set the start time of the workpiece. Completion time, and assign it to the corresponding resource class. Upgrade the processing and update the execution work order set. ;
[0052] S140-4, if the process Available resources Workpieces can be assigned from the previous process. Resource types used Retrieve the corresponding cache B and update the cache usage set synchronously. The number of workpieces;
[0053] S140-5, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is free, the workpiece is temporarily stored in the corresponding cache B;
[0054] S140-6, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is not free, a block will occur, waiting for the required resource class. The corresponding cache B is temporarily stored when it is idle, or it waits for the next process. Resource types used Production is carried out during idle periods;
[0055] S140-7, repeat S140-2 to S140-6 until the candidate work order set is reached. If the set is empty, then the production line scheduling model is complete.
[0056] Preferably, step S130-2 specifically involves: executing a set of work orders. The earliest completion time of the corresponding process for the intermediate workpiece is used to update the current time. And define the current time period, and update the stage g according to its completion time.
[0057] Preferably, the candidate work order set in S130-3 The update includes the following steps: from the candidate work order set Find the highest priority workpiece, and then find the preceding processes from the highest priority workpiece. Completed, or the preceding work order has been executed. If empty, it means selecting work orders that have started but whose next process for the highest priority workpiece has not been assigned, or that have not yet started, as the first process of the highest priority workpiece, and treating it as the highest priority process. Assignments are performed, and the candidate work order set is then updated.
[0058] Preferably, the rule for setting the highest priority workpiece is: the earlier the workpiece is delivered, the higher its priority; when any work order... and Work order and If the delivery times are the same, the one with the shortest total processing time will be selected; if the total processing times are still the same, any work order will be randomly selected. The highest priority workpiece will be the first to be put into production.
[0059] Preferably, in S130, the production line scheduling model, under the condition of satisfying the cache constraint, only starts from any one work order in each iteration. The set of processes for a single workpiece within the scope Assign one.
[0060] Compared with the prior art, the present invention has the following beneficial effects:
[0061] This invention provides a multi-objective evolutionary production scheduling method based on finite cache constraints. Based on a multi-objective evolutionary algorithm with finite cache constraints, the production scheduling model can gradually update the set of completed work orders, the set of executed work orders, the set of candidate work orders, and the set of cache occupancy by setting work order priorities. This ensures that work orders are effectively scheduled under cache constraints, avoids situations where there is no solution and a certain link in the production is forced to stop, thereby improving the stability of the production scheduling process and ensuring the normal operation of the production system. Attached Figure Description
[0062] Figure 1 This is a schematic diagram of the multi-objective evolutionary production scheduling method based on finite cache constraints according to an embodiment of the present invention;
[0063] Figure 2 This is a schematic diagram of the individual decoding scheme for the work order set according to an embodiment of the present invention;
[0064] Figure 3 This is a summary comparison chart of the multi-objective evolutionary production scheduling method based on finite cache constraints and the production scheduling scheme obtained by using heuristic rules, as presented in this invention. Detailed Implementation
[0065] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0066] In the following description of the invention, it should be noted that the terms "upper," "lower," "left," "right," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation or be constructed and operated in a specific orientation. The term "connection" simply indicates a connection between devices and has no special meaning.
[0067] Furthermore, the technical fields and installation methods involved in the embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0068] For specific implementation examples, please refer to: Figure 1 A multi-objective evolutionary production scheduling method based on finite cache constraints includes the following steps:
[0069] Step S110: Construct a production line scheduling model and establish a set of work orders in the workshop. Establish resource collections Adjacent resource class Set up cache B between them, with a cache capacity of . ;
[0070] S110-1, for each work order Execution process establishes process set Each work order The sequence of processes varies from work order to work order. The delivery period is ;
[0071] S110-2, Resource Category It includes workstations and equipment. Each workstation class corresponds to a equipment class containing multiple identical pieces of equipment. Equipment within the same equipment class has the same processing speed.
[0072] See Figure 1 The workstations include ultrasonic cleaning station 1 (cleaning agent), ultrasonic acid cleaning station 2 (acid pickling), ultrasonic cleaning station 3 (megason ultrasonic cleaning), testing station 4 (testing), high-pressure spray cleaning station 5 (high-temperature baking), assembly station 7, assembly station 8, and terminal installation station 9. Each workstation includes equipment with corresponding functions, and multiple pieces of equipment can be set up. The equipment set up in each workstation has the same operating speed.
[0073] S110-3, for any work order Assign the k-th process to a single workpiece within the process. To the corresponding resource class Corresponding resource class The processing time for a single workpiece can be achieved using any one of the following machines: ;
[0074] In this system, individual workpieces flow through the system, and any work order... The set of processes for a single workpiece is ;
[0075] See Figure 1 For any work order, the set of any operation is: The workpieces are sequentially processed from the ultrasonic cleaning station 1 to the mega-ultrasonic cleaning station 3, the testing station 4, the high-pressure spray cleaning station 5, and the high-temperature baking station 6. After processing, the workpieces are sequentially processed to the assembly station 7, the assembly station 8, and the terminal installation station 9 for assembly.
[0076] S110-4, in any resource class Its subsequent resource class Set up a buffer B between them, and each buffer B can hold a number of workpieces. If the number of workpieces in cache B is full, the corresponding preceding resource workpiece will be blocked upon completion of processing.
[0077] Specifically, when the number of workpieces has reached the maximum capacity set in cache B, no more workpieces can be temporarily stored in cache B. If the preceding resource class corresponding to cache B cannot release the processed workpieces, the preceding resource class will stop working until the preceding resource class releases the workpieces.
[0078] Step S120: Define the parameter variables of the production line scheduling model with finite buffer constraints, set the total delay time and the objective function of the manufacturing cycle, and impose constraints on the parameter variables.
[0079] Specifically, set parameter variables for the production line scheduling model:
[0080] : Continuous variable, representing any work order The start time of processing the nth piece in the kth process;
[0081] Continuous variable, any work order The completion time of the nth item in the kth process;
[0082] : Binary variable, any work order Earlier than any work order If production begins, the value is 1; otherwise, it is 0.
[0083] : A binary variable representing the k-th process step of a single workpiece. Assigned to the corresponding resource class If the processing is performed on the lower device m, the value is 1; otherwise, the value is 0.
[0084] The k-th process of a single workpiece Assigned to the corresponding resource class The processing time of a workpiece on any one of the machines;
[0085] Objective function:
[0086] (1)
[0087] (2)
[0088] Constraints:
[0089] (3)
[0090] (4)
[0091] (5)
[0092] (6)
[0093] (7)
[0094] (8)
[0095] (9)
[0096] (10)
[0097] (11)
[0098] (12)
[0099] Formula (1) represents the objective function as minimizing the total delay time, where the total delay time is the time for each work order. The total delay time is the sum of the delay times of all work orders. The delay time of a single work order is the larger of the difference between the completion time and the delivery date of the work order and 0. The sum of the delay times of all work orders is taken as the total delay time.
[0100] Formula (2) represents the objective function as minimizing the manufacturing cycle, where each work order is taken as an example. The maximum value of the completion time of all processes is taken as the manufacturing cycle.
[0101] Formula (3) represents each work order Each process of each workpiece must and can only be assigned to the corresponding resource class. Process on the next piece of equipment;
[0102] Formula (4) expresses the same work order In the same process k, if multiple workpieces are assigned to the same machine, they must be processed in sequence, that is, the next workpiece can only be processed after the previous workpiece is completed.
[0103] Formula (5) expresses that if any work order Earlier than any work order Production has commenced, and all processes involve the same resource category. By analyzing the processing steps, the processing priority can be determined.
[0104] Formula (6) expresses that if any work order Earlier than any work order Production has commenced, and all processes involve the same resource category. By analyzing the processing steps, the processing priority can be determined.
[0105] Formula (7) expresses the relationship based on cache capacity Restrictions ensure the current resource class When the workpiece is finished, the post-resource class The corresponding cache B will always have available space to accept the request, thus avoiding deadlock or illegal scheduling;
[0106] Formula (8) expresses resource classes The number of artifacts that cache B can hold is not greater than the maximum cache capacity. .
[0107] Formula (9) expresses that the completion time of a single workpiece is equal to the start time plus the processing time;
[0108] Formula (10) expresses that the next process for the same workpiece can only begin after the previous process is completed;
[0109] Formula (11) is used to determine the processing sequence on the same machine, work order Earlier than the work order Once production begins, ;otherwise ;
[0110] Formula (12) represents a single-piece operation. Assigned to resource class If the processing is performed on the lower equipment m, then... =1, otherwise .
[0111] S130, Work Order Collection Each individual is encoded to generate an initial population Po. The population then evolves iteratively using the improved NSGA-II algorithm to generate the current parent population. and current offspring population The current parent population is obtained based on the total delay time and the manufacturing cycle objective function. and current offspring population The target value is determined, and a non-dominated sort is performed based on the target value to select and generate a new parent population; the final parent population is obtained by iterative calculation using a greedy algorithm.
[0112] S130-1, Randomly generate an initial population P0, design the encoding of each individual in the initial population P0 based on the process sequence, and initialize the parameters;
[0113] The initialization parameters include each work order. Delivery period is Processing time for a single workpiece, maximum number of iterations, crossover rate, and mutation rate;
[0114] S130-2 performs an evolutionary process through selection, crossover, and mutation operations, and iterates in a loop to generate the current parent population. and current offspring population ;
[0115] Specifically, binary tournament selection is performed sequentially, simulating the evolutionary process of binary crossover (SBX) and polynomial mutation (PM) to obtain the current parent population. Combined with the current parental population The non-dominant ranking hierarchy for the current parent population The current offspring population is generated after selection, crossover, and mutation operations are performed. ;
[0116] S130-3, for the current parental population Decoding and offspring population Decode each individual within the population, execute the objective function of total delay time and manufacturing cycle, and obtain the current parent population. and current offspring population The target value for each individual within the group;
[0117] S130-4, the current parent population and current offspring population The target values of all individuals within the group are sorted and grouped in a non-dominated manner.
[0118] S130-5, based on the above non-dominated sorting grouping, each group is sequentially included in the next generation of parent population. In the middle; if the next generation of the parent population When the number of individuals is less than the preset number N, a greedy algorithm is used to calculate the minimum distance of all remaining groups, and the population corresponding to the maximum distance is moved to the next generation parent population. middle;
[0119] Specifically, the next generation of parent population When the number of individuals is less than the preset number N, iterative selection is performed: for each point in the remaining groups, its next generation parent population is calculated. The minimum distance between all points is denoted as . Find in all points The largest point That is, the next generation of the parent population The farthest point will Move to the next generation of parent population middle.
[0120] S130-6, the algorithm continues to execute steps S130-2 to S130-5 until the maximum number of iterations is reached, and the final parent population is obtained.
[0121] In S130, the process uses full permutation encoding to assign numerical values to the work order priority. For example, as shown in Figure 2, the upper value represents the sequence number of the work order IOB, and the number in the lower box represents the priority of the work order above. It is stipulated that the smaller the number, the higher the priority of the work order. The encoding is used to map the work order priority to the chromosome individual of the evolutionary algorithm to support the execution of genetic operators such as selection, crossover, and mutation. Decoding reverses the chromosome to parse it into the work order priority sequence, completes the production scheduling solution, and realizes the calculation of the objective function value.
[0122] Step S140: Determine the optimal scheme for the production line scheduling model from the final parent population using a parallel scheduling generation method that considers limited buffers.
[0123] Under the condition of satisfying the cache constraint, the production line scheduling model only selects any one work order from the final parent population in each iteration. One is assigned within the scope;
[0124] Specifically, each iteration updates four disjoint sets of work orders, that is, the set of work orders that have been completed at the current moment. Execution work order set And the current set of candidate work orders that can be assigned. and resource categories cache usage set Among them, the cache occupancy set Real-time monitoring and updates;
[0125] S140-1, Initialize parameter variables, set the current stage g=1, that is... Set the time to complete the set of work orders. Execution work order set and cache usage set If empty, select a set of candidate work orders. Workpieces with an in-degree of 0 are put into production;
[0126] Among them, the workpiece with an in-degree of 0 is the workpiece without any preceding process, that is, the workpiece that the current production scheduling model can process immediately.
[0127] S140-2, Update current stage g, Update current time. Update the current time The set of execution work orders and the collection of completed work orders Based on the priority of the workpiece, select from the candidate work order set. Select the highest priority process. Dispatch the work orders and set up the candidate work orders. Update; simultaneously, calculate and monitor the updated cache usage set in real time. The number of workpieces;
[0128] Specifically, the set of execution work orders The earliest completion time of the corresponding process for the intermediate workpiece is used to update the current time. And define the current time period, and update the stage g according to its completion time;
[0129] Specifically, from the candidate work order set Find the highest priority workpiece, and then find the preceding processes from the highest priority workpiece. Completed, or the preceding work order has been executed. If empty, it means selecting work orders that have started but whose next process for the highest priority workpiece has not been assigned, or that have not yet started, as the first process of the highest priority workpiece, and treating it as the highest priority process. Assignments are performed, and the candidate work order set is then updated.
[0130] The rule for setting the highest priority workpiece is: the earlier the workpiece is delivered, the higher its priority.
[0131] Furthermore, when any work order and Work order and If the delivery times are the same, the one with the shortest total processing time will be selected; if the total processing times are still the same, any work order will be randomly selected. Production will begin with the highest priority workpiece; the order of workpiece feeding will be recorded, and the highest priority workpiece will be determined based on the feeding order during subsequent processing, thereby minimizing the workpiece's turnover time on the production line.
[0132] Real-time calculation, monitoring, and updating of cache usage during production scheduling. Assign the highest priority workpiece to the highest priority process. Corresponding resource class Production begins, with the highest priority workpieces being retrieved from the buffer. If retrieved, the cache will be occupied. Add one to the capacity of the workpiece.
[0133] S140-3, if the process Available resources If assignment is possible, calculate and set the start time of the workpiece. Completion time, and assign it to the corresponding resource class. Upgrade the processing and update the execution work order set. ;
[0134] The completion time of the workpiece is calculated by formula (9);
[0135] S140-4, if the process Available resources Workpieces can be assigned from the previous process. Resource types used Retrieve the corresponding cache B and update the cache usage set synchronously. The number of workpieces;
[0136] S140-5, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is free, the workpiece is temporarily stored in the corresponding cache B;
[0137] S140-6, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is not free, a block will occur, waiting for the required resource class. The corresponding cache B is temporarily stored when it is idle, or it waits for the next process. Resource types used Production is carried out during idle periods;
[0138] S140-7, repeat S140-2 to S140-6 until the candidate work order set is reached. If the set is empty, then the production line scheduling model is complete.
[0139] The following describes steps S140-1 to S140-7 above in conjunction with the algorithm:
[0140]
[0141]
[0142]
[0143]
[0144] (1) In the first line, initialize multiple variables, including stage g and initial time. At present process Assigned to the corresponding resource class and two adjacent resource classes The workpiece set stored in cache B is used to calculate the workpiece feeding order based on priority rules;
[0145] (2) In lines 2-6, determine the current time. Update the execution work order set. Completed work order collection and candidate work order set Among them, based on the current stage g, the candidate work order set is updated. When a work order has started but the next process for the highest priority workpiece has not been assigned, or has not yet started, the work order that has started is selected as the first process for the highest priority workpiece and is designated as the highest priority process. ;
[0146] (3) In line 8, in the candidate work order set Select the highest priority process And assign them;
[0147] (4) From lines 9-13, express the process. If there are available machine tools for assignment, the start and finish times of the workpiece are set, and it is assigned to the corresponding resource class. Upgrade the processing and update the set of execution work orders. ;
[0148] (5) Lines 14-16 represent the process steps. If there is an available machine tool to assign workpieces, and the workpieces are retrieved from buffer B during assignment, the number of workpieces in buffer B is incremented by one.
[0149] (6) The process is represented from lines 17-18. If there are no available machine tools to assign the workpiece, and the cache B of the resource group used by the preceding process is available, then the workpiece is placed on cache B.
[0150] (7) The process is represented from lines 19 to 21. If there are no available machine tools to assign to and there is no buffer B, a blockage will occur.
[0151] (8) Repeat the operation from line 2 to line 23 to iterate until the candidate work order set is reached. Until it is empty;
[0152] (9) If all work orders have been assigned, exit the scheduling scheme; otherwise, continue with line 2.
[0153] In this embodiment, the resource class w is set to 31. The number of parallel machines with the same speed and the cache in each resource class are as follows, see Table 1 below;
[0154] Table 1 Resource Information
[0155]
[0156] See Table 2 for information on some incomplete work orders, including the number of workpieces to be processed for each work order and the delivery date for each work order. ;
[0157] Table 2 Work Order Information
[0158]
[0159] See Table 3 for work orders. The corresponding process information includes known processing processes. Required resource type and processing time The unit is minutes, and the subsequent processes used in each process are also included.
[0160] Table 3 Process Information
[0161]
[0162] Each population is set to have N individuals, where N is 100. The maximum number of iterations is set to 100, the crossover rate is set to 0.92, and the mutation rate is set to 0.03. The multi-objective evolutionary production scheduling method based on finite buffer constraints described above is compared with the production scheduling scheme obtained using heuristic rules. (See...) Figure 2Among them, heuristic rules include the Earliest Due Date (EDD) principle and the First In First Out (FIFO) principle;
[0163] The Pareto set using the multi-objective evolutionary production scheduling method based on finite cache constraints and the Pareto set using heuristic rules are compared respectively. Each point corresponds to a scheduling scheme. The production scheduling scheme obtained by the multi-objective evolutionary production scheduling method based on finite cache constraints has significantly better total delay and manufacturing cycle than the production scheduling scheme obtained by heuristic rules.
[0164] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Any simple modifications or equivalent changes made to the above embodiments based on the technical essence of the present invention shall fall within the protection scope of the present invention.
Claims
1. A multi-objective evolutionary production scheduling method based on finite cache constraints, characterized in that: Includes the following steps: S110, Construct a production line scheduling model and establish a set of work orders in the workshop. Establish resource collections Adjacent resource class Set up cache B between them, with a cache capacity of . ; S120 defines the parameter variables of the production line scheduling model with finite buffer constraints, sets the total delay time and the objective function of the manufacturing cycle, and imposes constraints on the parameter variables. S130, Work Order Collection Each individual is encoded to generate an initial population P0. The population then evolves iteratively using the improved NSGA-II algorithm to generate the current parent population. and current offspring population The current parent population is obtained based on the total delay time and the manufacturing cycle objective function. and current offspring population The target value is determined, and a non-dominated sort is performed based on the target value to select and generate a new parent population; the final parent population is obtained by iterative calculation using a greedy algorithm. S140, a parallel scheduling method based on limited buffers, sets a candidate work order set. and cache usage set From the candidate work order set Retrieve the workpiece corresponding to the highest priority process to the appropriate resource class. During production, the real-time cache occupies the set. The optimal solution for the production line scheduling model is determined by selecting the best option from the final parent population.
2. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 1, characterized in that: S110 includes the following steps: S110-1, for each work order Execution process establishes process set Each work order The sequence of processes varies from work order to work order. The delivery period is ; S110-2, Resource Category It includes workstations and equipment. Each workstation class corresponds to a equipment class containing multiple identical pieces of equipment. Equipment within the same equipment class has the same processing speed. S110-3, for any work order Assign the k-th process to a single workpiece within the process. To the corresponding resource class Corresponding resource class The processing time for a single workpiece is [time], which can be achieved using any one of the machines. ; S110-4, in any resource class Its subsequent resource class Set up a buffer B between them, and each buffer B can hold a number of workpieces. If the number of workpieces in cache B is full, the corresponding preceding resource workpiece will be blocked upon completion of processing.
3. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 2, characterized in that: The parameter variables in S120 include: : Continuous variable, representing any work order The start time of processing the nth piece in the kth process; Continuous variable, any work order The completion time of the nth item in the kth process; : Binary variable, any work order Earlier than any work order If production begins, the value is 1; otherwise, it is 0. : A binary variable representing the k-th process of a single workpiece. Assigned to the corresponding resource class If the processing is performed on the lower device m, the value is 1; otherwise, the value is 0. The k-th process of a single workpiece Assigned to the corresponding resource class The processing time on any one of the devices m.
4. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 3, characterized in that: The objective function in S120 is: (1) In equation (1), the minimum total delay time is represented, where the total delay time is the time for each work order. The total tardiness is the sum of the tardiness of n workpieces. The tardiness of a single workpiece is the larger of the differences between the completion time and the delivery date of the workpiece and 0. The sum of the tardiness of all workpieces is taken as the total tardiness. (2) Equation (2) represents the minimum manufacturing cycle, where each work order is taken as an example. The maximum value of the completion time of all processes is taken as the manufacturing cycle. The constraints on the parameter variables in S120 are as follows: (3) Equation (3) represents each work order Each workpiece must be assigned to the corresponding resource class in each process. Process on the next piece of equipment; (4) Equation (4) expresses the same work order In the same process k, if multiple workpieces are assigned to the same machine, they must be processed in sequence, that is, the next workpiece can only be processed after the previous workpiece is completed. (5) Equation (5) expresses if a work order Earlier than the work order Production has commenced, and all processes involve the same resource category. By analyzing the processing steps, the processing priority can be determined. (6) Equation (6) expresses if a work order Earlier than the work order Production has commenced, and all processes involve the same resource category. By analyzing the processing steps, the processing priority can be determined. (7) Equation (7) expresses the relationship based on cache capacity The restriction ensures that when the current resource class finishes processing the workpiece, the corresponding cache B of the subsequent resource class will always have space to accept it, thereby avoiding deadlock or illegal scheduling. (8) Equation (8) expresses resource categories The number of artifacts that cache B can hold is not greater than the maximum cache capacity. .
5. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 4, characterized in that: S130 includes the following steps: S130-1, Work order set based on process sequence Each individual is coded and designed, and an initial population P0 is generated, with initialization parameters; the initialization parameters include those for each work order. Delivery period is Processing time for a single workpiece and maximum number of iterations; S130-2 performs an evolutionary process through selection, crossover, and mutation operations, and iterates in a loop to generate the current parent population. and current offspring population ; S130-3, for the current parental population Decoding and offspring population Decode each individual within the population, execute the objective function of total delay time and manufacturing cycle, and obtain the current parent population. and current offspring population The target value for each individual within the group; S130-4, the current parent population and current offspring population The target values of all individuals within the group are sorted and grouped in a non-dominated manner. S130-5, based on the above non-dominated sorting grouping, each group is sequentially included in the next generation parent population. In the middle; if the next generation of the parent population When the number of individuals is less than the preset number N, a greedy algorithm is used to calculate the minimum distance of all remaining groups, and the population corresponding to the maximum distance is moved to the next generation parent population. middle; S130-6, continue executing steps S130-2~S130-5 until the maximum number of iterations is reached, and obtain the final parent population.
6. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 5, characterized in that: S140 includes the following steps: S140-1, Initialize parameter variables, set the current stage g=1, that is... Set the time to complete the set of work orders. Execution work order set and cache usage set If empty, select a set of candidate work orders. Workpieces with an in-degree of 0 are put into production; S140-2, Update current stage g, Update current time. Update the current time The set of execution work orders and the collection of completed work orders ; Based on the priority of the workpiece, from the candidate work order set Select the highest priority process. Dispatch the work orders and set up the candidate work orders. Update; simultaneously, calculate and monitor the updated cache usage set in real time. The capacity; S140-3, if the process Available resources If assignment is possible, calculate and set the start time of the workpiece. Completion time, and assign it to the corresponding resource class. Upgrade the processing and update the set of execution work orders. ; S140-4, if the process Available resources Workpieces can be assigned from the previous process. Resource types used Retrieve the corresponding cache B and update the cache usage set synchronously. The number of workpieces; S140-5, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is free, the workpiece is temporarily stored in the corresponding cache B; S140-6, if the process No idle resource class It can be assigned, and the process has been completed. Resource types used If the corresponding cache B is not free, a block will occur, waiting for the required resource class. The corresponding cache B is temporarily stored when it is idle, or it waits for the next process. Resource types used Production is carried out during idle periods; S140-7, repeat S140-2 to S140-6 until the candidate work order set is reached. If the set is empty, then the production line scheduling model is complete.
7. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 6, characterized in that: The specific steps in S140-2 are: executing the work order set. The earliest completion time of the corresponding process for the intermediate workpiece is used to update the current time. And define the current time period, and update the stage g according to its completion time.
8. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 7, characterized in that: The candidate work order set in S140-2 The update includes the following steps: from the candidate work order set Find the highest priority workpiece, and then find the preceding processes from the highest priority workpiece. Completed, or the preceding work order has been executed. If empty, it means selecting work orders that have started but whose next process for the highest priority workpiece has not been assigned, or that have not yet started, as the first process of the highest priority workpiece, and making it the highest priority process. Assignments are performed, and the candidate work order set is then updated. .
9. The multi-objective evolutionary production scheduling method based on finite cache constraints according to claim 8, characterized in that: The rule for setting the highest priority workpiece is: the earlier the workpiece is delivered, the higher its priority; when any work order... and If the delivery times are the same, the one with the shortest total processing time will be selected; if the total processing times are still the same, any work order will be randomly selected. Production will begin with the highest priority workpiece.
