Optimization method for flexible job shop scheduling problem considering adjustment time

Through the combination of collaborative variable neighborhood search algorithm and constraint planning model, the scheduling scheme of the flexible work workshop is optimized, and the impact of sequence dependence adjustment time on production efficiency is solved, and the effect of improving equipment utilization and reducing production costs is achieved.

CN119228072BActive Publication Date: 2025-05-09YANCHENG FENGMANG TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411721996.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-05-09
Estimated Expiration
2044-11-28

AI Technical Summary

Technical Problem

The prior art is difficult to effectively deal with the adjustment time of sequence dependence in flexible operation workshops, resulting in low equipment utilization and increasing production costs.

Method used

A collaborative variable neighborhood search algorithm (C-VNS-CP) is proposed, combining the constraint planning model, and 8 neighborhood structures are designed. By combining the cross operator and the variable neighborhood search algorithm, the scheduling scheme is optimized and the impact of adjustment time on production efficiency is reduced.

Benefits of technology

By optimizing the scheduling plan, improving machine utilization rate, reducing production costs, and improving overall resource utilization efficiency, the production efficiency of the flexible operation workshop is significantly optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119228072B_ABST
    Figure CN119228072B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of flexible job shop scheduling in intelligent manufacturing, and in particular to an optimization method for a flexible job shop scheduling problem considering adjustment time, including: initializing parameters of a collaborative variable neighborhood search algorithm; initializing a population; performing a jitter operation, generating two new solutions through the jitter operation; performing a variable neighborhood descent operation; updating the current algebra; judging whether to execute a restart strategy; selecting a solution with a smaller maximum completion time from the improved solution generated by the collaborative variable neighborhood search algorithm as the initial solution of a constraint programming model, and further optimizing the quality of the solution through the constraint programming model. The present invention provides an effective method for solving the flexible job shop scheduling problem considering the adjustment time of sequence dependence, and has made substantial progress in reducing the maximum completion time of the workshop.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of flexible job shop scheduling in intelligent manufacturing, and in particular to an optimization method for a flexible job shop scheduling problem taking adjustment time into consideration. Background Art

[0002] Under the current dramatic changes in the global manufacturing competition landscape, intelligent manufacturing is the key development direction. Its core lies in building intelligent factories and realizing intelligent production, and workshop scheduling is one of the key links in intelligent production. With the development of the times, the type of workshop has expanded from traditional job workshops to flexible job workshops. The Flexible Job Shop Scheduling Problem (FJSP) takes into account the flexibility of the machine, that is, the same process can be processed on multiple machines. This scheduling method is more in line with the actual needs of the workshop. The traditional FJSP does not take into account the actual production situation of the processing workshop. For example, in the actual production process, when the machine continuously processes two different workpieces, some adjustment tasks need to be performed, such as installation work or tool replacement. The time spent on processing these adjustment tasks cannot be ignored. There are many ways to calculate the adjustment time. The sequence-dependent setup time (SDST) depends on the processes that are processed one after another, which is more in line with the actual situation of the production line. Therefore, based on the characteristics and actual needs of FJSP, the Flexible Job Shop Scheduling Problem With Sequence-Dependent Setup Times (FJSP-SDST) is more practical.

[0003] In FJSP-SDST, unreasonable task allocation and operational errors lead to low equipment utilization and increased production costs. The typical problem is how to select machine tools for processing workpieces to minimize completion time and improve production efficiency. Scholars have designed different algorithms, such as genetic algorithms (GA) and variable neighborhood search algorithms (VNS), to generate different scheduling schemes to solve FJSP related problems. Some scholars have also proposed scheduling methods based on mathematical models, such as mixed integer linear programming models (MILP) and constraint programming models (CP), to solve FJSP related problems. However, with the rapid development of my country's economy, a single heuristic algorithm or mathematical model cannot meet the needs of today's workshops. A more effective hybrid algorithm is needed to optimize the scheduling scheme and improve production efficiency. Therefore, considering the adjustment time of sequence dependence, it is of great practical significance for enterprises to study a collaborative variable neighborhood search algorithm to solve the flexible job shop scheduling problem. Summary of the invention

[0004] The purpose of the present invention is to propose an optimization method for the scheduling problem of a flexible job shop taking adjustment time into consideration, which solves the problem that the existing shop scheduling scheme cannot effectively handle the adjustment time of sequence dependence in the flexible job shop. By optimizing the scheduling scheme, the impact of the adjustment time on production efficiency is reduced, resources are reasonably allocated, and machine utilization is improved, thereby achieving the purpose of increasing production capacity and reducing production costs.

[0005] The present invention provides an optimization method for a flexible job shop scheduling problem considering adjustment time, which is characterized by comprising the following steps:

[0006] Step 1: Initialize the parameters of the cooperative variable neighborhood search algorithm and set the initial population size P , the algebraic limit for the successive updates of the current solution RN , the number of times the neighborhood operation is performed on an individual SN and the current algebra for which the current solution is not updated continuously gen ;

[0007] Step 2: Initialize the population and randomly generate the population size according to the active decoding rule P solutions, and select two initial solutions with the smallest maximum completion time as the current solutions of the cooperative variable neighborhood search algorithm; set the current algebra gen = 0, repeat steps 3-6 until the termination time of the collaborative variable neighborhood search algorithm is met, where the maximum completion time is the maximum value of the time required for all workpieces to complete their processing procedures;

[0008] Step 3, performing a dithering operation to generate two new solutions as initial solutions for the variable neighborhood descent operation;

[0009] Step 4: Perform variable neighborhood descent operations on the two initial solutions, repeating steps 4-1 to 4-3 until the neighborhood exploration counter reaches k Greater than 8,

[0010] Step 4-1, set the neighborhood exploration counter k The value of is 1,

[0011] Step 4-2, perform local search operation to optimize the solution,

[0012] Step 4-3, update the neighborhood exploration counter k ;

[0013] Step 5: Update the current generation gen ;

[0014] Step 6: Determine whether to execute the restart strategy. If the current generation gen Greater than the algebraic limit RN , then execute the restart strategy and set gen = 0 , otherwise continue to the next step;

[0015] Step 7: Select a solution with a smaller maximum completion time from the improved solutions generated by the collaborative variable neighborhood search algorithm as the initial solution of the constraint programming model, and further optimize the quality of the solution through the constraint programming model.

[0016] Furthermore, in step 2, the active decoding rule is to determine the process O i,j In the machine m i,j Processing, including O i,j Representation of workpiece i No. j A process, m i,j Indicates the process O i,j Processing machines, in the machine m i,j Traverse the idle time period [ t s , t e ], check whether there is enough time to process the process in the idle time period Oi,j ,in t s Indicates the start time of the idle time period. t e Indicates the end time of the idle time period. If the idle time period [ t s , t e ] If there is enough time, the process O i,j Insert into idle time slot[ t s , t e ], the formula is satisfied at this time ,in E i,j-1 Indicates when the process O i,j Not an artifact i The first process is the process O i,j-1 The completion time, Indicates the process O i,j and in the machine m i,j The processing time on Indicates on the machine m i,j Continuous processing steps and process O i,j The adjustment time between Indicates the machine m i,j Continuous processing steps O i,j and process Adjustment time between workpieces i 1 Indicates on the machine m i,j Idle time period t s , t e ]Pre-processed workpiece, workpiece i 2 Indicates on the machine m i,j Idle time period t s , t e ] After the workpiece is processed, if the process O i,j During free time [ t s ,t e ] if there is no suitable time to insert it, the process O i,j Insert into the machine m i,j After the last operation of the current processing.

[0017] Furthermore, in step 3, a neighborhood is randomly selected to generate an initial solution X 1 Neighborhood solution X 1 ' and initial solution X 2 Neighborhood solution X 2 ' , as the initial solution for variable neighborhood descent;

[0018] Eight neighborhood structures are used in the jitter operation and variable neighborhood descent operation, namely, exchange neighborhood, insertion neighborhood, inversion neighborhood, redistribution neighborhood, priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood and uniform intersection neighborhood; priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood and uniform intersection neighborhood are collaborative neighborhood structures. The collaborative neighborhood structure uses the crossover operator when performing neighborhood operations so that the two initial solutions of the collaborative variable neighborhood search algorithm can communicate with each other. The operation steps are as follows:

[0019] The operation process of exchanging neighbors is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected and the selected processes are exchanged;

[0020] The operation process of inserting the neighborhood is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected and the initial solution X 1 The later process selected is inserted into the previous process of the earlier process selected;

[0021] The operation process of reversing the neighborhood is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected, and the process order between the two selected processes is reversed;

[0022] The process of redistributing the neighborhood is as follows:X 1 and initial solution X 2 In the machine sequence, randomly select a machine respectively, and reallocate the position of the selected machine to a machine that can process;

[0023] The operation process of the priority process crossover neighborhood is to randomly place the workpiece set I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X 2 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence;

[0024] The operation process based on the job cross neighborhood is to randomly assign the workpiece set I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X 2 The process sequence belongs to the workpiece set It2 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t1 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence;

[0025] The operation process of the intersection neighborhood of two points is to randomly generate [0, N-1 ] between two numbers num 1 and num 2 ,in num 1 Less than num 2 , as the initial solution X 1 and initial solution X 2 The process sequence index, N Represents the total number of processes, retaining the initial solution X 1 and initial solution X 2 The process sequence is in the interval [0, num 1 ]and[ num 2 , N-1 ] remains unchanged, in the initial solution X 1 The process sequence of num 1 , num 2 ] interval, the initial solution X 2 The process sequence replaces the initial solution in turn X 1 The process sequence [0, num 1 ]and[ num 2 , N-1 ] interval, in the initial solution X 2 The process sequence of num 1 , num 2 ] interval, the initial solution X 1 The process sequence replaces the initial solution X 2 The process sequence [0, num1 ]and[ num 2 , N-1 ]The process does not exist in the interval;

[0026] The operation process of uniform crossover neighborhood is to randomly generate and initialize the solution X 1 and initial solution X 2 The machine sequence length is equal to the binary sequence, the initial solution X 1 and initial solution X 2 The machine sequence corresponding to the binary sequence value of 1 remains unchanged, and the initial solution X 1 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 2 The same position of the machine sequence is replaced, and the initial solution X 2 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 1 The same position replacement of the machine sequence.

[0027] Further, in step 4-2, the local search operation steps are as follows: according to the neighborhood exploration counter k The value of selects the neighborhood structure, k The values ​​of range from 1 to 8, corresponding to the exchange neighborhood, insertion neighborhood, reversal neighborhood, redistribution neighborhood, priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood, and uniform intersection neighborhood, and repeat the process. SN The corresponding neighborhood operation is performed to select the initial solution X 1 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutions X 1 '' , select the initial solution X 2 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutions X 2 '' .

[0028] Furthermore, in step 4-3, the neighborhood exploration counter is updated k The steps are to determine the neighborhood solution generated in step 4-2 X 1 '' Is it better than the initial solution? X 1 , neighborhood solutionX 2 '' Is it better than the initial solution? X 2 , if the neighborhood solution X 1 '' Better than the initial solution X 1 , then the initial solution X 1 Update to neighborhood solution X 1 '' , if the neighborhood solution X 2 '' Better than the initial solution X 2 , then the initial solution X 2 Update to neighborhood solution X 2 '', If the initial solution X 1 Or the initial solution X 2 is updated, the neighborhood exploration counter k Reset to 1, otherwise the neighborhood exploration counter k Increment by 1 and continue exploring the next neighborhood.

[0029] Further, in step 5, if the initial solution after executing step 4 is X 1 and initial solution X 2 are not updated, then the current generation gen Add 1 to the current algebra gen Reset to 0.

[0030] Furthermore, in step 6, the restart strategy operates by randomly generating a population size P solutions, select the solution with the smallest maximum completion time to replace the initial solution X 1 and initial solution X 2 The solution with the larger maximum completion time.

[0031] Furthermore, in step 7, the variables of the constraint programming model include, Ops i,j For process O i,j interval variable; mod i,j,m For process O i,j Optional interval variable for ;mchs m For machines m Optional interval variable mod i,j,m Sequential decision variables of Cmax is the continuous decision variable for the maximum completion time;

[0032] The constraint programming model needs to satisfy constraints (1) - constraints (4)

[0033] (1)

[0034] (2)

[0035] (3)

[0036] (4)

[0037] in, n i Representation of workpiece i The number of processes; I Represents the set of all artifacts; m Represents the machine index; M represents the set of all machines; T m represents the set of adjustment times; constraint (1) represents the goal of minimizing the maximum completion time, function endof(Ops i,j ) Used to calculate and return interval variables Ops i,j The completion time of the workpiece i Each process, process O i,j The previous process O i,j-1 After completion, the process O i,j Before you can start processing, function endBeforeStart(Ops i,j , Ops i,j+1 ) Used to calculate and return interval variables Ops i,j+1 The start time is not less than Ops i,j The end time of the process; constraint (3) indicates that a process can only be processed by one machine, function alternative (Ops i,j , mod i,j,m) Expressed as, for each interval variable Ops i,j , only one optional interval variable can be selected mod i,j,m ; Constraint (4) means that each machine m At any time, only one process can be processed. m When processing, the adjustment time of sequence dependence must be considered. noOverlap(mchs m, T m ,1) Expressed as, considering the adjustment time, the sequence decision variable mchs m Optional interval variable mod i,j,m are non-overlapping.

[0038] The present invention provides an optimization method for the flexible job shop scheduling problem considering the adjustment time. Compared with the prior art, the present invention solves the optimization problem of the flexible job shop scheduling problem considering the adjustment time and has the following positive effects:

[0039] (1) This paper proposes a new meta-heuristic hybrid algorithm (A Constraint Programming assisted Cooperative Variable Neighborhood Search Algorithm, C-VNS-CP), which combines the cooperative variable neighborhood search algorithm with the constraint programming model (Constraint Programming, CP). Based on the better solution obtained by the cooperative variable neighborhood search algorithm, the CP model is used for search to further expand the solution space and obtain a better optimal solution.

[0040] (2) The present invention designs 8 neighborhood structures. When performing neighborhood operations, the crossover operator and the variable neighborhood search algorithm are combined to comprehensively utilize the advantages of both, reduce the risk of falling into the local optimum, and thus minimize the maximum completion time of the obtained solution;

[0041] (3) The present invention develops a constraint programming model suitable for the flexible job shop scheduling problem considering the adjustment time of sequence dependence.

[0042] In summary, the present invention effectively solves the problem of flexible job shop scheduling optimization considering adjustment time. By designing the C-VNS-CP algorithm, the processing sequence and processing machines of workpieces can be reasonably arranged, the utilization rate of machine tools can be improved, and then the resource utilization efficiency of the entire factory can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 It is a flow chart for realizing the present invention;

[0044] Figure 2 It is the average scatter plot of the comparison algorithm with s / p of 0.1 in 20 standard embodiments of the present invention;

[0045] Figure 3 It is the average scatter plot of the comparison algorithm with s / p of 0.3 in 20 standard embodiments of the present invention;

[0046] Figure 4 It is the average scatter plot of the comparison algorithm with s / p of 0.5 in 20 standard embodiments of the present invention. DETAILED DESCRIPTION

[0047] like Figure 1 As shown, the present invention provides an optimization method for the flexible job shop scheduling problem considering the adjustment time, which is mainly achieved through the following process.

[0048] Step 1: Initialize the parameters of the cooperative variable neighborhood search algorithm and set the initial population size P , the algebraic limit for the successive updates of the current solution RN , the number of times the neighborhood operation is performed on an individual SN and the current algebra for which the current solution is not updated continuously gen .

[0049] Step 2: Initialize the population and randomly generate the population size according to the active decoding rule P solutions, and select two initial solutions with the smallest maximum completion time as the current solutions of the cooperative variable neighborhood search algorithm; set the current algebra gen = 0 , repeat steps 3-6 until the termination time of the collaborative variable neighborhood search algorithm is met, where the maximum completion time is the maximum value of the time required for all workpieces to complete their processing procedures. Specifically, the active decoding rules are as follows: Determine the process O i,j In the machine m i,j Processing, including O i,j Representation of workpiece i No. j A process, m i,j Indicates the process O i,j Processing machines, in the machine m i,j Traverse the idle time period [ t s , t e], check whether there is enough time to process the process in the idle time period O i,j ,in t s Indicates the start time of the idle time period. t e Indicates the end time of the idle time period. If the idle time period [ t s , t e ] If there is enough time, the process O i,j Insert into idle time slot[ t s , t e ], the formula is satisfied at this time ,in E i,j-1 Indicates when the process O i,j Not an artifact i The first process is the process O i,j-1 The completion time, Indicates the process O i,j and in the machine m i,j The processing time on Indicates on the machine m i,j Continuous processing steps and process O i,j The adjustment time between Indicates the machine m i,j Continuous processing steps O i,j and process Adjustment time between workpieces i 1 Indicates on the machine m i,j Idle time period t s , t e ]Pre-processed workpiece, workpiece i 2 Indicates on the machine m i,j Idle time period t s , t e ] After the workpiece is processed, if the process O i,jDuring free time [ t s , t e ] if there is no suitable time to insert it, the process O i,j Insert into the machine m i,j After the last operation of the current processing.

[0050] Step 3: Perform a dithering operation to generate two new solutions as the initial solutions for the variable neighborhood descent operation. Specifically, a neighborhood is randomly selected to generate the initial solution X 1 Neighborhood solution X 1 ' and initial solution X 2 Neighborhood solution X 2 ' , as the initial solution of variable neighborhood descent. Among them, 8 kinds of neighborhood structures are used in the jitter operation and variable neighborhood descent operation, namely, exchange neighborhood, insertion neighborhood, inversion neighborhood, redistribution neighborhood, priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood and uniform intersection neighborhood; priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood and uniform intersection neighborhood are cooperative neighborhood structures. The cooperative neighborhood structure is to use the crossover operator when performing neighborhood operations so that the two initial solutions of the cooperative variable neighborhood search algorithm can communicate with each other. The operation steps are as follows.

[0051] The operation process of exchanging neighbors is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected and the selected processes are exchanged;

[0052] The operation process of inserting the neighborhood is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected and the initial solution X 1 The later process selected is inserted into the previous process of the earlier process selected;

[0053] The operation process of reversing the neighborhood is as follows: X 1 and initial solution X 2 In the process sequence, two different processes are randomly selected, and the process order between the two selected processes is reversed;

[0054] The process of redistributing the neighborhood is as follows: X 1 and initial solution X 2 In the machine sequence, randomly select a machine respectively, and reallocate the position of the selected machine to a machine that can process;

[0055] The operation process of the priority process crossover neighborhood is to randomly place the workpiece set I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X 2 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence;

[0056] The operation process based on the job cross neighborhood is to randomly assign the workpiece set I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X2 The process sequence belongs to the workpiece set I t2 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t1 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence;

[0057] The operation process of the intersection neighborhood of two points is to randomly generate [0, N-1 ] between two numbers num 1 and num 2 ,in num 1 Less than num 2 , as the initial solution X 1 and initial solution X 2 The process sequence index, N Represents the total number of processes, retaining the initial solution X 1 and initial solution X 2 The process sequence is in the interval [0, num 1 ]and[ num 2 , N-1 ] remains unchanged, in the initial solution X 1 The process sequence of num 1 , num 2 ] interval, the initial solution X 2 The process sequence replaces the initial solution X 1 The process sequence [0, num 1 ]and[ num 2 , N-1 ] interval, in the initial solution X 2 The process sequence of num 1 , num 2 ] interval, the initial solution X 1 The process sequence replaces the initial solution X2 The process sequence [0, num 1 ]and[ num 2 , N-1 ]The process does not exist in the interval;

[0058] The operation process of uniform crossover neighborhood is to randomly generate and initialize the solution X 1 and initial solution X 2 The machine sequence length is equal to the binary sequence, the initial solution X 1 and initial solution X 2 The machine sequence corresponding to the binary sequence value of 1 remains unchanged, and the initial solution X 1 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 2 The same position of the machine sequence is replaced, and the initial solution X 2 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 1 The same position replacement of the machine sequence.

[0059] Step 4: Perform variable neighborhood descent operations on the two initial solutions, repeating steps 4-1 to 4-3 until the neighborhood exploration counter reaches k Greater than 8, including:

[0060] Step 4-1, set the neighborhood exploration counter k The value of is 1.

[0061] Step 4-2, perform a local search operation to optimize the solution, wherein the local search operation steps are as follows: according to the neighborhood exploration counter k The value of selects the neighborhood structure, k The values ​​of range from 1 to 8, corresponding to the exchange neighborhood, insertion neighborhood, reversal neighborhood, redistribution neighborhood, priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood, and uniform intersection neighborhood, and repeat the process. SN The corresponding neighborhood operation is performed to select the initial solution X 1 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutions X 1 '' , select the initial solution X 2 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutionsX 2 '' ,

[0062] Step 4-3, update the neighborhood exploration counter k , where the neighborhood exploration counter is updated k The steps are to determine the neighborhood solution generated in step 4-2 X 1 '' Is it better than the initial solution? X 1 , neighborhood solution X 2 '' Is it better than the initial solution? X 2 , if the neighborhood solution X 1 '' Better than the initial solution X 1 , then the initial solution X 1 Update to neighborhood solution X 1 '' , if the neighborhood solution X 2 '' Better than the initial solution X 2 , then the initial solution X 2 Update to neighborhood solution X 2 '', If the initial solution X 1 Or the initial solution X 2 is updated, the neighborhood exploration counter k Reset to 1, otherwise the neighborhood exploration counter k Increment by 1 and continue exploring the next neighborhood.

[0063] Step 5: Update the current generation gen Specifically, if the initial solution after executing step 4 is X 1 and initial solution X 2 are not updated, then the current generation gen Add 1 to the current algebra gen Reset to 0.

[0064] Step 6: Determine whether to execute the restart strategy. If the current generation gen Greater than the algebraic limit RN , then execute the restart strategy and set gen = 0Otherwise, proceed to the next step. The restart strategy is to randomly generate a population size. P solutions, select the solution with the smallest maximum completion time to replace the initial solution X 1 and initial solution X 2 The solution with the larger maximum completion time.

[0065] Step 7: Select a solution with a smaller maximum completion time from the improved solutions generated by the cooperative variable neighborhood search algorithm as the initial solution of the constraint programming model, and further optimize the quality of the solution through the constraint programming model. Specifically, the variables of the constraint programming model include: Ops i,j For process O i,j interval variable; mod i,j,m For process O i,j Optional interval variable for ; mchs m For machines m Optional interval variable mod i,j,m Sequential decision variables of Cmax is the continuous decision variable of the maximum completion time.

[0066] The constraint programming model needs to satisfy constraints (1) - constraints (4)

[0067] (1)

[0068] (2)

[0069] (3)

[0070] (4)

[0071] in, n i Representation of workpiece i The number of processes; I Represents the set of all artifacts; m Represents the machine index; M represents the set of all machines; T m represents the set of adjustment times; constraint (1) represents the goal of minimizing the maximum completion time, function endof(Ops i,j ) Used to calculate and return interval variables Ops i,jConstraint (2) means that for workpiece i Each process, process O i,j The previous process O i,j-1 After completion, the process O i,j Before you can start processing, function endBeforeStart(Ops i,j , Ops i,j+1 ) Used to calculate and return interval variables Ops i,j+1 The start time is not less than Ops i,j The end time of . Constraint (3) indicates that a process can only be processed by one machine, and the function alternative (Ops i,j , mod i,j,m ) Meaning: For each interval variable Ops i,j , only one optional interval variable can be selected mod i,j,m Constraint (4) means that each machine m At any time, only one process can be processed. m When processing, the adjustment time of sequence dependence must be considered. noOverlap(mchs m, T m ,1) Indicates: When considering the adjustment time, the sequence decision variable mchs m Optional interval variable mod i,j,m are non-overlapping.

[0072] The present invention is further described below through a specific example.

[0073] First, the CP model is verified and compared with the existing MILP model. The MILP model and the CP model are coded in OPL language, and the simulation experiment is tested in the IBM CPLEX Studio IDE 12.7.1 environment, and the experimental results are collected. The test cases used in the simulation experiment are 20 standard instances of MFJS01-MFJS10 and MK01-MK10, and the stop time is 2 N. "NB", "NC" and "NCT" represent the number of binary decision variables, continuous decision variables and constraints, respectively. "NV" represents the number of interval decision variables of the CP model. "Gap" represents the relative deviation. If the value of "Gap" is 0, it means that the solution with the minimum maximum completion time has been found. "Cmax" represents the solution found within the time limit. "Time" is the CPU time. The solution marked with "*" is the solution with the minimum maximum completion time. The comparison results of the mixed integer programming model and the constraint model are shown in Table 1:

[0074] Table 1 Comparison results between mixed integer programming model and constraint programming model

[0075]

[0076] As can be seen from Table 1, the NB, NC, and NTC of the MILP model increase significantly with the increase in instance size. The MILP model can solve 8 instances (i.e., MFJS01-MFJS07 and MK01) to the solution with the minimum maximum completion time within the time limit. The instances MK06, MK09, and MK10 are large in size, and the MILP model does not find a feasible solution within the time limit. The CP model can obtain the same solution with the minimum maximum completion time as the MILP model for instances MFJS01-MFJS07 and instance MK01. For other instances, the CP model can obtain a solution with a smaller maximum completion time than the MILP model. In addition, the CP model is faster than the MILP model in speed. For all instances with the minimum maximum completion time (MFJS01- MFJS07 and MK01), the CP model has a faster solution speed. Therefore, the CP model outperforms the existing MILP model in performance.

[0077] The C-VNS-CP algorithm proposed in the present invention is compared with the GA algorithm and the CP model to verify the effectiveness of the present invention. P is 3000, algebraic limit RN is 400, the number of times the neighborhood operation is performed on an individual SN 8 is taken as an example to verify the effectiveness of the hybrid algorithm proposed in the present invention. The ratio s / p between the adjustment time and the processing time is set to 0.1, 0.3 and 0.5 respectively. The test examples used in the simulation experiment are 20 standard instances of MFJS01-MFJS10 and MK01-MK10, and each instance is repeated 10 times.

[0078] The present invention uses the minimum value Best and average value AV of the maximum completion time of 20 standard instances of MFJS01-MFJS10 and MK01-MK10 repeatedly executed ten times by analyzing the C-VNS-CP algorithm, the GA algorithm and the CP model as the standard for algorithm performance evaluation. The statistical results are shown in Tables 2 to 4 below:

[0079] Table 2 Experimental results of 20 standard examples with s / p of 0.1

[0080]

[0081] Table 3 Experimental results of 20 standard examples with s / p of 0.3

[0082]

[0083] Table 4 Experimental results of 20 standard examples with s / p of 0.5

[0084]

[0085] It can be seen from Table 2 that when s / p is 0.1, when comparing the minimum value Best of the C-VNS-CP algorithm and the GA algorithm, the maximum completion time of the C-VNS-CP algorithm in the MFJS03-MFJS10, MK01-MK02, MK04-MK07 and MK09-MK10 instances is less than that of the GA algorithm; the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS02, MK03 and MK08 instances is equal to that of the GA algorithm; there is no instance in which the C-VNS-CP algorithm has a larger maximum completion time than the GA algorithm. When comparing the average AV between the C-VNS-CP algorithm and the GA algorithm, the maximum completion time of the C-VNS-CP algorithm is less than that of the GA algorithm in the MFJS02-MFJS10, MK01-MK02, MK04-MK07 and MK09 instances respectively; the maximum completion time of the C-VNS-CP algorithm is equal to that of the GA algorithm in the MFJS01, MK03 and MK08 instances; the maximum completion time of the C-VNS-CP algorithm is greater than that of the GA algorithm in the MK10 instance. Therefore, the C-VNS-CP algorithm has a significant advantage over the GA algorithm in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0086] When the C-VNS-CP algorithm and the CP model compare the minimum value Best, the maximum completion time of the C-VNS-CP algorithm in the MFJS09-MFJS10, MK05, MK07 and MK09-MK10 instances is less than that of the CP model, the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS08, MK01-MK04, MK08 instances is equal to that of the CP model, and the maximum completion time of the C-VNS-CP algorithm in the MK06 instance is greater than that of the CP model. Therefore, the C-VNS-CP algorithm has certain advantages over the CP model in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0087] It can be seen from Table 3 that when s / p is 0.3, when comparing the minimum value Best between the C-VNS-CP algorithm and the GA algorithm, the maximum completion time of the C-VNS-CP algorithm in the MFJS04-MFJS10, MK01-MK02 and MK04-MK07 instances is less than that of the GA algorithm; the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS03, MK03 and MK08- MK10 instances is equal to that of the GA algorithm; there is no instance in which the C-VNS-CP algorithm has a maximum completion time greater than that of the GA algorithm. When comparing the average AV between the C-VNS-CP algorithm and the GA algorithm, the maximum completion time of the C-VNS-CP algorithm in the MFJS02-MFJS10, MK01-MK02, MK04-MK07, and MK09-MK10 instances is smaller than that of the GA algorithm; the maximum completion time of the C-VNS-CP algorithm in the MFJS01, MK03, and MK08 instances is equal to that of the GA algorithm; there is no instance where the maximum completion time of the C-VNS-CP algorithm is larger than that of the GA algorithm. Therefore, the C-VNS-CP algorithm has a significant advantage over the GA algorithm in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0088] When the C-VNS-CP algorithm and the CP model compare the minimum value Best, the maximum completion time of the C-VNS-CP algorithm in the MFJS09-MFJS10, MK06 and MK10 instances is less than that of the CP model, the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS08, MK01-MK04 and MK07-MK09 instances is equal to that of the CP model, and the maximum completion time of the C-VNS-CP algorithm in the instance MK05 is greater than that of the CP model. Therefore, the C-VNS-CP algorithm has certain advantages over the CP model in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0089] It can be seen from Table 4 that when s / p is 0.5, when the C-VNS-CP algorithm and the GA algorithm compare the minimum value Best, the maximum completion time of the C-VNS-CP algorithm in the MFJS01, MFJS03-MFJS10, MK01-MK02, MK04-MK07 and MK09-MK10 instances is less than that of the GA algorithm; the maximum completion time of the C-VNS-CP algorithm in the MFJS02, MK03 and MK08 instances is equal to that of the GA algorithm; there is no instance of the C-VNS-CP algorithm with a larger maximum completion time than the GA algorithm. When the C-VNS-CP algorithm and the GA algorithm compare the average value AV, the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS10, MK01-MK02 and MK04-MK10 instances is less than that of the GA algorithm; the maximum completion time of the C-VNS-CP algorithm in the MK03 instance is equal to that of the GA algorithm; there is no instance of the C-VNS-CP algorithm with a larger maximum completion time than the GA algorithm. Therefore, the C-VNS-CP algorithm has significant advantages over the GA algorithm in dealing with the flexible job shop scheduling problem with sequence-dependent adjustment time.

[0090] When the C-VNS-CP algorithm and the CP model compare the minimum value Best, the maximum completion time of the C-VNS-CP algorithm in the MFJS09-MFJS10, MK02, MK05, MK07 and MK10 instances is less than that of the CP model, and the maximum completion time of the C-VNS-CP algorithm in the MFJS01-MFJS08, MK01, MK03-MK04, MK06 and MK08-MK09 instances is equal to that of the CP model, and the maximum completion time of the C-VNS-CP algorithm in no instance is greater than that of the CP model. Therefore, the C-VNS-CP algorithm has certain advantages over the CP model in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0091] Figures 2 - 4 The average scatter plots of the minimum Best percentage deviation of the GA algorithm, CP model and C-VNS-CP algorithm are shown when s / p is 0.1, 0.3 and 0.5. It can be seen from the figure that the C-VNS-CP algorithm is better than the GA algorithm and the CP model. Therefore, the proposed hybrid algorithm C-VNS-CP algorithm is better than the GA algorithm and the CP model in dealing with the flexible job shop scheduling problem with adjustment time considering sequence dependence.

[0092] In summary, through the above specific embodiments, the C-VNS-CP algorithm proposed in the present invention significantly optimizes the flexible job shop scheduling problem considering the adjustment time of sequence dependence, reduces the maximum completion time, can improve the overall competitiveness of the enterprise, and has broad application prospects. Therefore, the present invention provides an effective method for solving the flexible job shop scheduling problem considering the adjustment time of sequence dependence. Compared with the prior art, the present invention has made substantial progress in reducing the maximum completion time of the workshop.

Claims

1. An optimization method for the flexible job shop scheduling problem considering adjustment time, characterized in that: The following steps are included: Step 1: Initialize the parameters of the cooperative variable neighborhood search algorithm and set the initial population size P , the current solution is continuously updated without algebraic restrictions RN , the number of times the neighborhood operation is performed on an individual SN and the current algebra for which the current solution is not updated continuously gen ; Step 2: Initialize the population and randomly generate the population size according to the active decoding rule P solutions, and select two initial solutions with the smallest maximum completion time as the current solutions of the cooperative variable neighborhood search algorithm; set the current algebra gen=0 , repeat steps 3-6 until the termination time of the collaborative variable neighborhood search algorithm is met, where the maximum completion time is the maximum value of the time required for all workpieces to complete their processing procedures; Step 3: Perform a dithering operation, randomly select a neighborhood structure, and generate an initial solution X 1 Neighborhood solution X 1 ' and initial solution X 2 Neighborhood solution X 2 ' , as the initial solution for variable neighborhood descent; Among them, the neighborhood structure includes exchange neighborhood, insertion neighborhood, inversion neighborhood, redistribution neighborhood, priority process cross neighborhood, job-based cross neighborhood, two-point cross neighborhood and uniform cross neighborhood. The priority process cross neighborhood, job-based cross neighborhood, two-point cross neighborhood and uniform cross neighborhood enable the two initial solutions of the cooperative variable neighborhood search algorithm to communicate with each other through the crossover operator, including, The operation process of the priority process cross neighborhood; randomly put the workpiece set I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X 2 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence; Based on the operation process of the job cross neighborhood; randomly set the workpiece I Divided into two parts, artifact set I t1 and artifact sets I t2 , the initial solution X 1 The process sequence belongs to the workpiece set I t1 The process remains unchanged, and the initial solution X 2 The process sequence belongs to the workpiece set I t2 The initial solution is replaced in sequence according to the process sequence. X 1 The remaining process in the process sequence of X 2 The process sequence belongs to the workpiece set I t2 The process remains unchanged, and the initial solution X 1 The process sequence belongs to the workpiece set I t1 The initial solution is replaced in sequence according to the process sequence. X 2 The remaining processes in the process sequence; The operation process of the intersection neighborhood of two points; randomly generate [0, N-1 ] between two numbers num 1 and num 2 ,in num 1 Less than num 2 , as the initial solution X 1 and initial solution X 2 The process sequence index, N Represents the total number of processes, retaining the initial solution X 1 and initial solution X 2 The process sequence is in the interval [0, num 1 ]and[ num 2 , N-1 ] remains unchanged, in the initial solution X 1 The process sequence of num 1 ,num 2 ] interval, the initial solution X 2 The process sequence replaces the initial solution in turn X 1 The process sequence [0, num 1 ]and[ num 2 , N-1 ] interval, in the initial solution X 2 The process sequence of num 1 ,num 2 ] interval, the initial solution X 1 The process sequence replaces the initial solution X 2 The process sequence [0, num 1 ]and[ num 2 , N-1 ]The process does not exist in the interval; The operation process of uniform crossover neighborhood; random generation and initial solution X 1 and initial solution X 2 The machine sequence length is equal to the binary sequence, the initial solution X 1 and initial solution X 2 The machine sequence corresponding to the binary sequence value of 1 remains unchanged, and the initial solution X 1 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 2 The same position of the machine sequence is replaced, and the initial solution X 2 The machine sequence corresponding to the binary sequence value is 0, using the initial solution X 1 Same position replacement of machine sequence; Step 4: Perform variable neighborhood descent operations on the two initial solutions, repeating steps 4-1 to 4-3 until the neighborhood exploration counter reaches k Greater than 8, Step 4-1, set the neighborhood exploration counter k The value of is 1, Step 4-2, perform local search operation to optimize the solution, Step 4-3, update the neighborhood exploration counter k ; Step 5: Update the current generation gen ; Step 6: Determine whether to execute the restart strategy. If the current generation gen Greater than the algebraic limit RN , then execute the restart strategy and set gen=0 , otherwise continue to the next step; Step 7, selecting a solution with a smaller maximum completion time from the improved solutions generated by the cooperative variable neighborhood search algorithm as the initial solution of the constraint programming model, and further optimizing the quality of the solution through the constraint programming model; The variables of the constraint programming model include, Ops i,j For process O i,j interval variable; mod i,j,m For process O i,j Optional interval variable for ; mchs m For machines m Optional interval variable mod i,j,m Sequential decision variables of Cmax is the continuous decision variable for the maximum completion time; The constraint programming model needs to satisfy constraints (1) - constraints (4) (1) (2) (3) (4) in, n i Representation of workpiece i The number of processes; I Represents the set of all artifacts; m Represents the machine index; M represents the set of all machines; T m represents the set of adjustment times; constraint (1) represents the goal of minimizing the maximum completion time, function endof (Ops i,j ) Used to calculate and return interval variables Ops i,j The completion time of the workpiece i Each process, process O i,j The previous process O i,j-1 After completion, the process O i,j Before you can start processing, function endBeforeStart (Ops i,j ,Ops i,j+1 ) Used to calculate and return interval variables Ops i,j+1 The start time is not less than Ops i,j The end time of the process; constraint (3) indicates that a process can only be processed by one machine, function alternative(Ops i,j , mod i,j,m ) Expressed as, for each interval variable Ops i,j , only one optional interval variable can be selected mod i,j,m ; Constraint (4) means that each machine m At any time, only one process can be processed. m When processing, the adjustment time of sequence dependence must be considered. noOverlap(mchs m, T m ,1) Expressed as, considering the adjustment time, the sequence decision variable mchs m Optional interval variable mod i,j,m are non-overlapping.

2. The optimization method for the flexible job shop scheduling problem considering adjustment time according to claim 1 is further characterized in that: In step 2, the active decoding rule is to determine the process O i,j In the machine m i,j Processing, including O i,j Representation of workpiece i No. j A process, m i,j Indicates the process O i,j Processing machines, in the machine m i,j Traverse the idle time period [ t s , t e ], check whether there is enough time to process the process in the idle time period O i,j ,in t s Indicates the start time of the idle time period. t e Indicates the end time of the idle time period. If the idle time period [ t s , t e ] If there is enough time, the process O i,j Insert into idle time slot[ t s , t e ], the formula is satisfied at this time ,in E i,j-1 Indicates when the process O i,j Not an artifact i The first process is the process O i,j-1 The completion time, Indicates the process O i,j and in the machine m i,j The processing time on Indicates on the machine m i,j Continuous processing steps and process O i,j The adjustment time between Indicates the machine m i,j Continuous processing steps O i,j and process Adjustment time between workpieces i 1 Indicates on the machine m i,j Idle time period t s , t e ]Pre-processed workpiece, workpiece i 2 Indicates on the machine m i,j Idle time period t s , t e ]The workpiece after processing, if the process O i,j During free time [ t s , t e ] if there is no suitable time to insert it, the process O i,j Insert into the machine m i,j After the last operation of the current processing.

3. The optimization method for the flexible job shop scheduling problem considering adjustment time according to claim 2 is further characterized in that: In step 4-2, the local search operation steps are as follows: according to the neighborhood exploration counter k The value of selects the neighborhood structure, k The values ​​of range from 1 to 8, corresponding to the exchange neighborhood, insertion neighborhood, reversal neighborhood, redistribution neighborhood, priority process intersection neighborhood, job-based intersection neighborhood, two-point intersection neighborhood, and uniform intersection neighborhood, and repeat the process. SN The corresponding neighborhood operation is performed to select the initial solution X 1 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutions X 1 '' , select the initial solution X 2 ' The neighborhood solution with the smallest maximum completion time among the generated neighborhood solutions X 2 '' .

4. The optimization method for the flexible job shop scheduling problem considering adjustment time according to claim 3 is further characterized in that: In step 4-3, in step 4-3, update the neighborhood exploration counter k The steps are to determine the neighborhood solution generated in step 4-2 X 1 '' Is it better than the initial solution? X 1 , neighborhood solution X 2 '' Is it better than the initial solution? X 2 , if the neighborhood solution X 1 '' Better than the initial solution X 1 , then the initial solution X 1 Update to neighborhood solution X 1 '' , if the neighborhood solution X 2 '' Better than the initial solution X 2 , then the initial solution X 2 Update to neighborhood solution X 2 '', If the initial solution X 1 Or the initial solution X 2 is updated, the neighborhood exploration counter k Reset to 1, otherwise the neighborhood exploration counter k Increment by 1 and continue exploring the next neighborhood.

5. The optimization method for the flexible job shop scheduling problem considering adjustment time according to claim 4 is further characterized in that: In step 5, if the initial solution after executing step 4 is X 1 and initial solution X 2 If none of them are updated, the current generation gen Add 1 to the current algebra gen Reset to 0.

6. The optimization method for the flexible job shop scheduling problem considering adjustment time according to claim 5 is further characterized in that: In step 6, the restart strategy operates by randomly generating a population size P solutions, select the solution with the smallest maximum completion time to replace the initial solution X 1 and initial solution X 2 The solution with the larger maximum completion time.

Citation Information

Patent Citations

  • Flexible job shop scheduling method based on multistage neighborhood structure and hybrid genetic algorithm

    CN112580922A