A flexible job-shop scheduling method based on material process consistency
By designing a material matching determination algorithm and an improved NSGA-II algorithm, combined with a three-segment encoding and decoding scheme, the production scheduling of the flexible workshop was optimized, solving the problems of long production cycles and inventory backlog caused by incomplete material matching, and realizing resource utilization and efficiency improvement.
Patent Information
- Application Number
- CN202211626748.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-16
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-12-16
AI Technical Summary
When flexible workshops are made to order, the long material procurement period can easily lead to some processes having incomplete material sets, resulting in long production cycles and inventory backlogs, which existing technologies cannot effectively solve.
A flexible workshop scheduling method based on material process kitting is adopted. By designing a material kitting determination algorithm and an improved NSGA-II algorithm, combined with a three-stage encoding and decoding scheme, the production scheduling of the flexible workshop is optimized to ensure that materials are kitted before the process.
It enables full utilization of production resources under material constraints, shortens production cycles, reduces inventory backlog, and improves production efficiency.
Smart Images

Figure CN115952896B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of material matching and production scheduling of flexible job shop, in particular to a flexible job shop scheduling method based on material process matching. BACKGROUND
[0002] Flexible job shop adopts flexible production mode to meet the diversified needs of customers, and at the same time improves production flexibility and reduces production cost. The production capacity of flexible job shop is limited, and the material is limited. The production mode of customer customization and order orientation has strong variability. Due to the long procurement period and stock period of materials, it is easy to occur that part of the product in the production process is in the state of material not matching. If the global matching production mode is adopted, it will lead to the problems of long production cycle and more inventory. SUMMARY
[0003] In order to improve production efficiency, the material allocation and production scheduling in the flexible job shop need to be reasonably arranged. The present application proposes a flexible job shop scheduling method based on material process matching, which considers the matching of materials by taking the process as the basic unit. The flexible job shop scheduling optimization model is solved by designing material matching determination algorithm, using three-stage encoding and decoding scheme and improving the elite reservation strategy of NSGA-II algorithm, fully utilizing the production resources of the workshop, and providing a technical scheme for production scheduling in flexible job shop based on material restriction.
[0004] The present application aims at the shortcomings of the existing flexible job shop matching production mode, and proposes a flexible job shop scheduling method based on material process matching. The technical scheme flow chart is shown in Figure 1. The strategy includes the following steps:
[0005] Step 1: Establish state representation matrix and state representation vector related to product and material, and design material matching determination algorithm to obtain predicted material matching time matrix;
[0006] Step 2: Establish flexible job shop scheduling optimization model, and set the constraint condition of material matching according to the predicted material matching time matrix obtained in step 1;
[0007] Step 3: Develop three-stage encoding and decoding scheme, improve the elite reservation strategy of NSGA-II algorithm, use the improved NSGA-II algorithm to solve and obtain the scheduling scheme, and implement rescheduling for the new material delay arrival.
[0008] The said step 1 is specifically:
[0009] Step 1.1: Establish state representation matrix and state representation vector related to product and material, including material demand matrix, process material shortage matrix, material existing vector, predicted material arrival time vector and predicted material matching time matrix.
[0010] Let the total demand for products in a period of time be The demand for the th product is , , The total demand for products is The first is the first product, the th to the th is the second product, and so on, and they are numbered in order as ; the number of types of materials required for production in the workshop is , and the materials are numbered by type as , and let the number of processes required for the production of the th product be ;
[0011] For the th product, the material demand matrix is:
[0012] ;
[0013] represents the amount of the th material required by the th product in its th process, and the values of elements beyond the th row are all 0, where ;
[0014] For the th product, the process material shortage matrix is:
[0015] ;
[0016] is a 01 matrix, represents the shortage of the th material required by the th product in its th process, and the values of elements beyond the th row are all 0, , is the maximum number of processes required for the production of all products;
[0017] The existing material vector is:
[0018] ;
[0019] represents the existing amount of the th material;
[0020] The estimated material delivery time vector is:
[0021] ;
[0022] This indicates the time when each type of material is out of stock. One-time delivery, if the r-th material is in stock. This is the initial time.
[0023] The expected material fulfillment time matrix is as follows:
[0024] ;
[0025] No. More than in the row The element value is the initial time.
[0026] Step 1.2: Design a material kitting determination algorithm and obtain the expected material kitting time matrix according to three different material allocation strategies;
[0027] Assign priority to existing product material allocation ,set up The production quantity of each product The greatest common factor, calculate Then the set of quantities This represents the minimum production cycle. For each material, materials are allocated according to the following three strategies:
[0028] (1) Based on the product material allocation priority, materials for producing one unit of each product are allocated sequentially and cyclically;
[0029] (2) Based on the product material allocation priority, first meet the material requirements of higher priority products in one go, and then meet the material requirements of subsequent lower priority products.
[0030] (3) The material is allocated in a cyclical manner based on the product quantity of the minimum production cycle, in the quantity set. Internally, materials are still allocated according to their priority.
[0031] During the execution of each allocation strategy, if the first... The product in the first The process is missing the first step For this type of material, then place After all materials have been allocated, the calculation of the first... The product in the first The estimated time for material preparation for each process is:
[0032] ;
[0033] denotes the material of each kind of material shortage at time One-time delivery, set the corresponding product processing constraints in the scheduling algorithm, namely the product in the process before its material must be complete, ;
[0034] The step 2 is specifically:
[0035] Step 2.1: Establishing a flexible job shop scheduling optimization model
[0036] The flexible job shop scheduling optimization model can be described as: according to workpiece process path and selectable processing machines, each process needs to select a processing machine, and each machine is assigned to the process task for sorting, where the processing machine can also be a workstation in the workshop according to the actual situation, and each workpiece corresponds to a final finished product.
[0037] Related symbol definition:
[0038] denotes the total product demand;
[0039] denotes the total number of machines;
[0040] denotes the workpiece set, wherein ;
[0041] denotes the machine set, wherein ;
[0042] denotes the number of processes of workpiece ;
[0043] denotes the completion time of workpiece ;
[0044] denotes the delivery period of workpiece ;
[0045] denotes the process of workpiece ;
[0046] denotes the process of workpiece ; the processing time on the machine;
[0047] the start time of the first operation of the workpiece on the machine ; the start time of the first operation of the workpiece on the machine ;
[0048] the finish time of the first operation of the workpiece on the machine ; the finish time of the first operation of the workpiece on the machine ;
[0049] if the workpiece is processed on the machine , otherwise .
[0050] The objective of the scheduling algorithm optimization is to shorten the maximum finish time and reduce the total tardiness time, the maximum finish time function is:
[0051] ;
[0052] wherein, the finish time of the workpiece ;
[0053] the total tardiness time function is:
[0054] ;
[0055] wherein, the finish time of the workpiece , the delivery time of the workpiece .
[0056] The adjacent operations of the same workpiece need to satisfy the processing sequence, the constraint condition is as follows:
[0057] ;
[0058] wherein, the finish time of the first operation of the workpiece on the machine , the start time of the first operation of the workpiece on the machine , the finish time of the first operation of the workpiece on the machine , the start time of the first operation of the workpiece on the machine , , , , , ;
[0059] Machine occupancy constraints indicate machines that can be processed only after one process is completed:
[0060] ;
[0061] where, denotes the completion time of the i-th process of the workpiece on the machine , denotes the completion time of the i-th process of the workpiece on the machine , , , , , , , and and are not simultaneously true;
[0062] If the processes are not allowed to be interrupted during processing, then
[0063] ;
[0064] where, denotes the completion time of the i-th process of the workpiece on the machine , denotes the start time of the i-th process of the workpiece on the machine , denotes the processing time of the i-th process of the workpiece on the machine , , , ; , , ;
[0065] If only one machine is allowed to process the same process at the same time, then
[0066] ;
[0067] where, , , .
[0068] Basic non-negative conditions
[0069] ;
[0070] wherein, , , .
[0071] Step 2.2: Set the constraint condition of material set
[0072] After determining the material allocation priority of the product, the expected material set time matrix is calculated according to the material set determination algorithm in step 1 In the material set determination algorithm, there are three material allocation strategies, so there are three corresponding matrices respectively, and the material set constraint conditions established are
[0073] ;
[0074] wherein, .
[0075] The step 3 is specifically:
[0076] Step 3.1: Develop a three-section coding and decoding scheme
[0077] The three-section coding of product-process-machine is adopted for the chromosome in the NSGA-II algorithm, the first section of product coding corresponds to the material allocation priority of the product, scanning from left to right, the product type number appearing earlier, the priority of material allocation is greater; in the second section of process coding, the process of each workpiece is represented by the corresponding workpiece serial number, scanning from left to right, the workpiece serial number appearing for the first time represents the first process of the workpiece; the third section of machine coding is the processing machine of each workpiece in each process from left to right.
[0078] Three-section coding examples are shown in Figure 2 In Figure 2 , the material allocation priority of the product is , and the process and machine sequence can be obtained according to the process coding , , , , , , , .
[0079] The crossover operation of workpiece coding adopts APX crossover operation, and an example of APX crossover operation is shown in Figure 3 As shown, first select the first gene in parent 1 to put into the first position of offspring 1, then select the first gene in parent 2 to try to put into the second position of offspring 1, and so on, if the element has appeared before, give up this time, until the sequence of offspring 1 is generated, and the generation of offspring 2 is the same, only the starting order is changed.
[0080] The crossover operation of the process code adopts IPOX crossover operation, and an example of IPOX crossover operation is shown in the following table: Figure 4 As shown, the specific process is: randomly divide the workpiece sequence number into two sets and When crossover operation, offspring 1 retains the position of parent 1 in set , and other position genes are filled in turn by the position genes in parent 2 , offspring 2 retains the position of parent 2 in set , and other position genes are filled in turn by the position genes in parent 1 .
[0081] The crossover operation of the machine code adopts MPX operation, and an example of MPX crossover operation is shown in the following table: Figure 5 As shown, the specific process is: randomly generate a code with the same length as the machine code, the genes corresponding to the 0 position on the two parent machine codes are unchanged, and the genes corresponding to the 1 position on the two machine chromosomes are exchanged to generate two offspring.
[0082] The product code and process code both adopt insertion mutation operation, and an example of the operation is shown in the following table: Figure 6 That is, a gene is randomly selected and inserted into a random position, and for machine code, a processable machine number is randomly selected to replace the gene on the process, and an example of the operation is shown in the following table: Figure 7 In Figure 7 , the process machine in the selected process position is changed from to .
[0083] According to the constraint conditions in the scheduling optimization model, the insertion greedy decoding algorithm is used when calculating the objective function value, the chromosome is decoded to generate active scheduling, and the active scheduling contains the constraint of material matching, that is, the material is matched before the process.
[0084] Step 3.2: Improve the elite reservation strategy
[0085] The elite reservation strategy of NSGA-II algorithm is improved, and the number of elite individuals in each generation is limited to a fixed level by designing a segmented function, and the segmented function is as follows:
[0086] ;
[0087] wherein, is a non-dominated rank, , denotes the number of individuals selected on the non-dominated surface of the th rank, denotes the number of individuals on the non-dominated surface of the th rank, are all constants, and , for the calculated if there is a decimal rounding operation, if the selected number does not meet the population number, then the unselected individuals are selected in each dominated layer until the population number requirement is met;
[0088] Step 3.3: Solving the scheduling optimization model
[0089] The NSGA-II algorithm with improved elitist strategy in step 3.2 is used to solve the optimization model established in step 2. Before solving, it is necessary to know which machines can process the process of each product and the corresponding processing time, which are respectively denoted by and , and the rows in and that exceed are all 0, and the matrix has the following meanings:
[0090] (1) denotes that the th process of the th product can be processed by , and the processing time is ;
[0091] (2) denotes that the th process of the th product cannot be processed by , and .
[0092] The implementation of the NSGA-II algorithm with improved elitist strategy includes the following steps:
[0093] (1) Set the number of algorithm iterations , the population size , the crossover probability and mutation probability of three-section coding, randomly generate the population , use non-dominated quick sort and crowding degree calculation to obtain the partial order relation between individuals, set , and jump to step (2);
[0094] (2) for New population of the same size is generated by binary tournament selection, crossover and mutation operation , jump to step (3);
[0095] (3) merge population and , denoted as , adopt non-dominated fast sorting and crowding degree calculation, if , the algorithm terminates, and the Pareto optimal solution set is output, otherwise, the improved elite reservation strategy is adopted to screen a new population of size from , and let , jump to step (2).
[0096] The above algorithm is executed once for different material allocation strategies, the three Pareto optimal solution sets after execution three times are merged, and the Pareto optimal solution set is regenerated by non-dominated fast sorting, and the material allocation scheme and the processing task scheduling scheme are determined according to the Pareto optimal solution set under the condition that the material is timely delivered, and the scheme is preliminarily executed.
[0097] Step 3.4: Re-scheduling for new material delay arrival
[0098] If new material delay arrival occurs in the production process, which leads to the situation that the preliminary scheduling scheme obtained in step 3.3 is no longer applicable, after locking the current ongoing process, the material existing vector and the expected material arrival time vector are updated, and the scheduling scheme is determined again. When calculating the process material shortage matrix, the workpiece that has been completed before re-scheduling still occupies one position in the material allocation order, and the workpiece that has completed part of the process starts to calculate the material shortage type from the next process to the last process.
[0099] The present application adds the material set constraint to the scheduling optimization model in units of processes, adopts a flexible job shop scheduling scheme based on material process set, obtains an excellent flexible job shop scheduling scheme under material constraints, and realizes the purpose of fully utilizing production resources and shortening product production cycle. BRIEF DESCRIPTION OF DRAWINGS
[0100] Figure 1 The technical scheme of the present application is implemented in a flowchart;
[0101] Figure 2 It is a three-stage encoding example;
[0102] Figure 3 It is an APX crossover operation example;
[0103] Figure 4 Example of IPOX cross-operation;
[0104] Figure 5 This is an example of an MPX crossover operation;
[0105] Figure 6 Example of an insertion mutation operation;
[0106] Figure 7 This is an example of a mutation operation based on machine coding;
[0107] Figure 8 Gantt chart of the preliminary scheduling plan;
[0108] Figure 9 A Gantt chart for rescheduling schemes under the condition of delayed arrival of new materials. Detailed Implementation
[0109] The following is a detailed description of the embodiments of the present invention. These embodiments are implemented based on the technical solution of the present invention, and provide detailed implementation methods and specific operating procedures. However, the scope of protection of the present invention is not limited to the following embodiments. The embodiments can be mainly divided into the following steps:
[0110] Step 1:
[0111] Set the number of product types The demand for each product is 3, 6, and 3 respectively. Therefore, the minimum production cycle is {1 product 1, 2 products 2, 1 product 3}, and the total product demand is... The delivery times for each product are 60, 80, and 70 days respectively. The total number of different types of materials required to produce the three products is... The number of processes for each product is 5, 5, and 6 respectively, with a maximum number of processes. The material requirements matrix for the three products is set as follows:
[0112] ;
[0113] ;
[0114] ;
[0115] For a given material allocation priority (Corresponding to the first segment of the three-segment coding in this invention), different material allocation strategies are selected, and the process material shortage matrix is calculated based on the material demand matrix and the material inventory. The material existing vector is set to
[0116] ;
[0117] The total demand and the existing amount of the contrast material can be obtained as the material number , and the expected material delivery time vector is set as
[0118] ;
[0119] According to the vector and the matrix , the expected material completion time matrix can be calculated, and for three different material allocation strategies, three different expected material completion time matrices can be calculated respectively.
[0120] Step 2:
[0121] Corresponding to the data values set in step 1, each product and workpiece in the production process corresponds one by one, the set of processed workpieces , the number of machines is set as , and the set of processing machines is . The optimization objective of the scheduling algorithm is
[0122] ;
[0123] wherein represents the completion time of the workpiece ;
[0124] ;
[0125] wherein represents the completion time of the workpiece , and represents the delivery period of the workpiece .
[0126] Step 3:
[0127] The segment function of the improved elitist strategy is set as
[0128] ;
[0129] wherein is the non-dominated level, , represents the number of individuals selected on the non-dominated surface of the th level, represents the number of individuals on the non-dominated surface of the th level, and for the calculated , if there is a decimal, rounding operation is required;
[0130] The corresponding matrix of the machine that can process the process of each product is set
[0131] ;
[0132] ;
[0133] ;
[0134] Matrix The position of 1 in the matrix corresponds to the position of non-zero in the matrix The value of non-zero element in the matrix is obtained by adding the reference value of the row where the element locates to a random integer uniformly distributed in the range of The reference value of each row is generated by a random integer uniformly distributed in the range of
[0135] The scheduling optimization model is solved by the NSGA-II algorithm with improved elitist strategy, the iteration number of the algorithm is set to , the population size is set to , the crossover probability of the three-part encoding is 0.7, and the mutation probability of the three-part encoding is 0.02, all the Pareto solutions obtained by the algorithm under the three allocation strategies are re-ordered and re-quickly sorted, and the first position individuals in the Pareto solution set are selected, the corresponding maximum completion time and total delay are 86 and 14 respectively, the material allocation priority is , the selected material allocation strategy is the second one, and the preliminary scheduling scheme Gantt chart obtained is shown in Figure 8 , in which the numbers in the form of (product number, process number) in each process task are shown, and the process tasks in the same product production process have the same color.
[0136] Suppose that the third and sixth materials are newly delayed to arrive, and the arrival times are updated to 60 and 65 respectively, since the original plan is to arrive at 30, the process tasks starting from time 30 and the subsequent process tasks need to be rescheduled, the corresponding maximum completion time and total delay of the finally selected Pareto optimal solution are 94 and 65 respectively, the material allocation priority is still , the material allocation strategy is determined to be the third one, and the rescheduling scheme Gantt chart obtained is shown in Figure 9 .
Claims
1. A flexible job shop scheduling method based on material process kitting, characterized in that, include: Step 1: Establish the state representation matrix and state representation vector related to products and materials, and design an algorithm to determine material kitting; Step 1.1: Establish state representation matrices and state representation vectors related to products and materials, including material requirements matrix, process shortage matrix, material availability vector, estimated material delivery time vector, and estimated material availability time matrix; Suppose that the total production required over a period of time is... This product, The product is recorded as , No. The demand for this product is , The total product demand is ,forward The first one is the first type of product, the second one is the third type of product. To the The first one is the second type of product, and they are numbered sequentially thereafter. The types and quantities of materials required for workshop production are as follows: The materials are numbered according to their type. Suppose that the production of the first The number of processes required for this product is ; Step 1.2: Design a material kitting determination algorithm and obtain the expected material kitting time matrix according to three different material allocation strategies; Assign priority to existing product material allocation ,set up The production quantity of each product The greatest common factor, calculate Then the set of quantities This represents the minimum production cycle. For each material, materials are allocated according to the following three strategies: (1) Based on the product material allocation priority, materials for producing one unit of each product are allocated sequentially and cyclically; (2) Based on the product material allocation priority, first meet the material requirements of higher priority products in one go, and then meet the material requirements of subsequent lower priority products. (3) The material is allocated in a cyclical manner based on the product quantity of the minimum production cycle, in the quantity set. Internally, materials are still allocated according to their priority. During the execution of each allocation strategy, if the first... The product in the first The process is missing the first step For this type of material, then place After all materials have been allocated, the calculation of the first... The product in the first The estimated time for material preparation for each process is: ; This indicates the time when each type of material is out of stock. For one-time delivery, corresponding product processing constraints are set in the scheduling algorithm, i.e., the first... The product in the first Before each process, all materials must be in place. ; Step 2: Establish a flexible workshop scheduling optimization model, and set material fulfillment constraints based on the expected material fulfillment time matrix obtained in Step 1. Step 2.1: Establish a flexible workshop scheduling optimization model; Step 2.2: Set the constraints for material kitting based on the expected material kitting time matrix obtained in Step 1; Step 3: Develop a three-segment encoding and decoding scheme, improve the elite retention strategy of the NSGA-II algorithm, use the improved NSGA-II algorithm to solve the scheduling scheme, and implement rescheduling for the delayed arrival of new materials. Step 3.1: Develop a three-segment encoding / decoding scheme; Step 3.2: Improve elite retention strategies; An improvement to the elite retention strategy of the NSGA-II algorithm is made by designing a piecewise function to limit the number of elite individuals in each generation to a fixed level. The piecewise function is as follows: ; in, It is a non-dominant class. , Indicates the first Level non-dominated surface The number of individuals selected above, Indicates the first The number of individuals on the non-dominated surface of the layer. All are constants, and For the calculated If there are decimals, rounding is required. If the selected number does not meet the population size requirement, then unselected individuals are selected sequentially in each dominion layer until the population size requirement is met. Step 3.3: Use the improved NSGA-II algorithm to solve for the scheduling scheme; Step 3.4: Reschedule the arrival of new materials if there is a delay.
2. The scheduling algorithm according to claim 1, characterized in that, Step 1.1, which establishes the state representation matrix and state representation vector related to the product and materials, includes: For the The material requirements matrix for this product is as follows: ; Indicates the first The product in its first The first step required by the process The quantity of this material exceeds All elements in the row are 0, where... ; For the For each product, the process material shortage matrix is as follows: ; It is a 0-1 matrix. Indicates the first The product in the first The first step required by the process There is a shortage of certain materials, exceeding All elements in the row are 0. , The maximum number of processes required to produce all products; The current material vector is: ; Indicates the first The current stock of the material; The estimated material delivery time vector is: ; This indicates the time when each type of material is out of stock. One-time delivery, if the r-th material is in stock. This is the initial time. The expected material fulfillment time matrix is as follows: ; No. More than in the row The element value is the initial time.
3. The scheduling algorithm according to claim 2, characterized in that, The material kitting constraints set in step 2.2 include: After determining the material allocation priority for the product, the expected material kitting time matrix is calculated based on the material kitting determination algorithm in step 1. There are three material allocation strategies in the material kitting determination algorithm, therefore the corresponding matrix There are three separate material kitting constraints, each with its own set of constraints: ; in, , Indicates the first Product The This process is done on the machine. The start time of the project This indicates the total number of machines.
4. The scheduling algorithm according to claim 2, characterized in that, The three-segment encoding / decoding scheme formulated in step 3.1 for solving the scheduling optimization model includes: In the NSGA-II algorithm, chromosomes are encoded using a three-segment system: product-process-machine. The first segment, product coding, corresponds to the priority of product material allocation, scanned from left to right; the earlier the product type number appears, the higher its material allocation priority. In the second segment, process coding, the process for each workpiece is represented by a corresponding workpiece number, scanned from left to right... The serial number of the workpiece that appears for the first time indicates the number of the workpiece. The first process step; in the third machine code, from left to right, are the processing machines for each workpiece in each process step; according to the constraints in the scheduling optimization model, an insertion-type greedy decoding algorithm is used when calculating the objective function value. After decoding the chromosome, active scheduling is generated, and the active scheduling includes the constraint of material matching, that is, the materials are already matched before the process.
Citation Information
Patent Citations
Multi-target flexible job shop multi-dynamic scheduling method and system
CN115169799A
Scheduling method for reentry process of aero-engine assembly workshop
CN115438929A