A Flexible Job Shop Scheduling Method Based on Differential Selection Genetic Algorithm
Optimizing flexible work workshop scheduling through differential selection genetic algorithm and adaptive clustering method solves the problem of extended production time in traditional methods, and reduces production efficiency and cost, and the generated production plan is more in line with actual needs.
Patent Information
- Application Number
- CN202210949329.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-09
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-08-09
AI Technical Summary
The existing flexible work workshop scheduling methods cannot perform reasonable machine loading and processing based on the detailed information of the operation, resulting in a prolonged production time and inability to meet the operation delivery time requirements. In addition, traditional optimization algorithms lack effective process sorting and machine selection, resulting in low production efficiency.
A flexible work workshop scheduling method based on differential selection genetic algorithm is adopted. By constructing a single-objective flexible work workshop scheduling model, a differential selection genetic algorithm is used for solving, combining adaptive clustering methods and dual-coded chromosomes, the process sorting and machine selection are optimized to obtain the shortest time-consuming optimal production solution.
It improves the workshop production efficiency, reduces production costs, breaks through the local optimal trap of genetic algorithms, improves the convergence performance and adaptability of the algorithm, and the generated production plan is more in line with actual production needs.
Smart Images

Figure CN115310817B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of flexible job shop scheduling optimization control and intelligent decision-making. Specifically, it is a flexible job shop scheduling method based on differential selection genetic algorithm. Background Art
[0002] The flexible job shop scheduling industry is the foundation of China's industry and modern manufacturing. Flexible job shop scheduling methods are used in production and processing that require flexible decision-making methods, such as finding the shortest route, arranging personnel and tasks, addressing problems, packaging and covering, etc. In the flexible job shop scheduling problem, each operation can be processed by a group of candidate machines. The processing time of an operation depends on the performance of the machine and the difficulty of processing the operation. In addition to finding the best arrangement of all operations, it is also necessary to select candidate machines for each operation for processing. Traditional production and processing schemes not only have low processing efficiency but also low real-time performance. On the other hand, during the job production process, there are many job operations, many processing machines, and the performance of the processing machines is different. Improper processing order and machine loading of operations will cause waste of production time and extension of the delivery cycle, and even delay the entire system production and processing chain. Therefore, how to effectively make intelligent decisions and optimize control is one of the important problems that the flexible job shop scheduling industry needs to solve.
[0003] In the existing technologies, some production schemes have adopted optimization algorithms to schedule the production of flexible job shops. However, these production schemes cannot perform reasonable machine loading and processing according to the detailed information of the jobs, so as to minimize the production time in the workshop. In addition, these production schemes do not handle and analyze the workpiece sorting and machine processing well, nor do they fully consider the feedback optimization of the workshop production. Therefore, they cannot reduce the time required for workshop production, ensure the efficient operation of the workshop production, and cannot meet the requirements of job delivery timeliness. Summary of the Invention
[0004] The present invention is to solve the above-mentioned deficiencies existing in the prior art, and proposes a flexible job shop scheduling method based on differential selection genetic algorithm, which can obtain the optimal production plan with the shortest time-consuming for production and processing, thereby improving production efficiency and reducing production costs.
[0005] The present invention adopts the following technical solutions to achieve the above-mentioned invention purpose:
[0006] The flexible job shop scheduling method based on differential selection genetic algorithm of the present invention is characterized in that it is carried out according to the following steps:
[0007] Step 1: According to the actual production and processing requirements, construct a job set Ω as shown in formula (1);
[0008]
[0009] In formula (1), i represents the job sequence number of the job in the job set Ω; n represents the total number of jobs in the job set Ω; J i represents the i-th job in the job set Ω; O ij represents the j-th process of the i-th job J i ; j represents the process sequence number of the i-th job J i ; n i represents the total number of processes of the i-th job J i ;
[0010] Step 2, construct the total production processing time C of the job set Ω as shown in formula (2) max :
[0011]
[0012] In formula (2), E ij represents the production processing completion time of the j-th process O ij ;
[0013] Step 3, according to the actual production situation, set the corresponding constraint conditions, and take the total production processing time C max as the objective function F to be minimized, so as to construct a single-objective flexible job shop scheduling model as shown in formula (3);
[0014] [[ID=�8]]
[0015] In formula (3), h represents the job sequence number of the job in the job set Ω; g represents the process sequence number of the h-th job J h ; k represents the machine sequence number of the processing machine; m represents the total number of machines in the workshop; O hg represents the g-th process of the h-th job J h ; S ij represents the production processing start time of the j-th process O i of the i-th job J ij ; S hg represents the production processing start time of the g-th process O h of the h-th job J hg ; S i(j+1) represents the production processing start time of the subsequent process of the j-th process O i of the i-th job J ij ; P ijk represents the production processing time required for the process O ij on the k-th machine; X ijk represents whether the process O ij is assigned to the k-th machine for production processing. If so, let X ijk be 1, otherwise, let Xijk is 0; Y ijhgk represents process O ij whether it is process O hg is the previous process on the k-th machine. If so, let Y ijhgk be 1, otherwise let Y ijhgk be 0;
[0016] Step 4. According to the job set Ω and the relevant information of the workshop resources, and using the differential selection genetic algorithm to solve the single-objective flexible job shop scheduling model to obtain a production processing plan;
[0017] Step 5. Carry out production processing on the job set Ω according to the production processing plan.
[0018] The feature of the flexible job shop scheduling method described in the present invention also lies in that the step 4 is carried out according to the following process:
[0019] Step 4-1. Define the population generation G and initialize G = 1;
[0020] Step 4.2. Set the maximum number of iterations of the differential selection genetic algorithm to G max ; Set the key ratio coefficient to α and randomly initialize it;
[0021] Step 4.3. Combine the job numbers in the job set Ω and the machine numbers of the processing machines corresponding to each process of each job to form a dual-coded chromosome of an individual, which is used to generate the G-th generation population P G ;
[0022] Job J i The total number of times n that the job number of appears in the first-layer coding chromosome i represents the total number of processing processes of job J i ;
[0023] Job J i The order in which the job number of appears in the first-layer coding chromosome represents the process number of job J i ; Then the sorting order of all job numbers represents the sequence of the corresponding job processing processes;
[0024] In the second-layer coding chromosome, each machine number corresponds one-to-one with the process number in the first-layer coding, indicating that the machine with the corresponding number processes the processing process corresponding to the job number in the first-layer coding;
[0025] Step 4.4. Set the population size to N, and set the individual set of the G-th generation population P G as represents the b-th individual of the initial G-th generation population P G ; Define the global optimal individual as And initialize Indicates the optimal individual in the G-th generation population P G ;
[0026] Step 4.5: Perform mutation operations on the G-th generation population P G using neighborhood mutation and multi-point mutation to obtain the mutated population of the G-th generation
[0027] Step 4.6: Divide the N individuals in the mutated population of the G-th generation into clusters according to their respective fitness values through an adaptive clustering method to obtain the cluster set of the G-th iteration represents the r-th cluster of the G-th iteration, and R represents the total number of clusters;
[0028] Step 4.7: Calculate the feature similarity between the q-th individual G and the w-th individual in the r-th cluster in the cluster set U of the G-th iteration using Equation (4) [[ID=3 0]]
[0029]
[0030] In Equation (4), and respectively represent and 's critical path vectors; and respectively represent and 's non-critical path vectors; represents the path similarity operator;
[0031] Step 4.8: Calculate the feature similarity between all individuals in the r-th cluster G in the cluster set U of the G-th iteration, and then take the average of the feature similarities between all individuals in the r-th cluster to obtain the cluster average similarity of the r-th cluster G in the cluster set U of the G-th iteration ;
[0032] Step 4.9: Compare and If is less than then the q-th individual G in the r-th cluster in the cluster set U of the G-th iteration and the w-th individual Perform the IPOX crossover operation to generate two new individuals; otherwise, continue with the q-th individual Compare it with the remaining individuals until the q-th individual G in the cluster set U of the G-th iteration After comparing the q-th individual with all individuals, select the optimal individual from all new individuals for updating Furthermore, for the cluster set U G of the r-th cluster After all individuals in it are updated, obtain the r-th updated cluster in the cluster set U of the G-th iteration G ;
[0033] Step 4.10: After assigning r + 1 to r, return to Step 4.7 and execute sequentially until all R clusters in the cluster set U of the G-th iteration G are updated, obtaining the population updated in the G-th generation
[0034] Step 4.11: Perform a critical neighborhood search on each individual in the population updated in the G-th generation and replace the corresponding individual with the optimal individual found, thus obtaining the population P of the (G + 1)-th generation G+1 ;
[0035] Step 4.12: Evaluate the population P of the (G + 1)-th generation G+1 and find the optimal individual in the population P of the (G + 1)-th generation G+1 If is better than the optimal individual in the population P of the G-th generation G then update the global optimal individual Otherwise, keep the global optimal individual unchanged;
[0036] Step 4.13: After assigning G + 1 to G, if G is equal to G max then output the global optimal individual and use it as the optimal production plan for processing and production, otherwise return to Step 4.5.
[0037] The said Step 4.6 is carried out according to the following process:
[0038] Step 4.6.1: Add the N individuals in the mutant population of the G-th generation to the individual set θ of the G-th iteration G to obtain the individual set θ of the G-th iteration G ;
[0039] Step 4.6.2: Calculate the individual set θ of the G-th iteration GThe Euclidean distance of the fitness values among all individuals, and then calculate the average Euclidean distance of the individual set for the G-th iteration θ G in the Euclidean distance of the fitness values among all individuals in the individual set Then according to obtain the cluster set U for the G-th iteration G of the maximum cluster distance And initialize Δ represents a multiple between 0 and 1;
[0040] Step 4.6.3: Select the clusters in the cluster set U for the G-th iteration G in And initialize as Randomly select an individual from the individual set θ for the G-th iteration G in and add it to the cluster to obtain a non-empty cluster
[0041] Step 4.6.4: Add the individuals that have not been added to the clusters in the cluster set U for the G-th iteration G in to the remaining individual set for the G-th iteration to obtain the remaining individual set for the G-th iteration
[0042] Step 4.6.5: Randomly select an individual from the remaining individual set for the G-th iteration in Calculate the Euclidean distance of the fitness values between the individual and
[0043] Step 4.6.6: If is less than Add to the clusters in the cluster set U for the G-th iteration G in Otherwise, do not add;
[0044] Step 4.6.7: If is less than Delete the individual from the individual set θ for the G-th iteration G Otherwise, do not delete;
[0045] Step 4.6.8: Delete the individual from the remaining individual set for the G-th iteration if the remaining individual set for the G-th iteration If it is not an empty set, return to Step 4.6.5; otherwise, execute Step 4.6.9;
[0046] Step 4.6.9: If the individual set θ in the G-th iteration G is not an empty set, assign r + 1 to r and return to Step 4.6.3; otherwise, execute Step 4.6.10;
[0047] Step 4.6.10: Calculate the Euclidean distances between all individuals in the cluster set U in the G-th iteration G in the clusters and then calculate the average Euclidean distance of the Euclidean distances between all individuals in the cluster set U in the G-th iteration G in the clusters Delete all individuals in the cluster After all R clusters in the cluster set U in the G-th iteration have been processed, obtain the average Euclidean distances of the R clusters in the cluster set U in the G-th iteration G G
[0048] Step 4.6.11: Calculate the Euclidean distance between the fitness value of the individual and the average Euclidean distances of the R clusters in the cluster set U in the G-th iteration G Add the individual to the cluster with the minimum Euclidean distance to the average Euclidean distance; after all N individuals in the mutant population in the G-th generation have been processed, divide all N individuals in the mutant population in the G-th generation into the corresponding clusters.
[0049] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0050] 1. According to the actual production situation of the flexible job shop, the present invention sets up multiple constraint conditions, establishes a single-objective optimization model for the completion time required for the production of the flexible job shop, and uses the differential selection genetic algorithm to solve this single-objective optimization model, obtaining an optimal production plan with the shortest time-consuming. The obtained production plan greatly improves the production efficiency of the workshop and reduces the production cost of the workshop.
[0051] 2. The differential selection genetic algorithm used in the present invention has good global search ability and fast convergence speed, breaking through the limitation that the genetic algorithm is prone to falling into local optimum and unable to search for the optimal production plan due to its high blindness and high randomness, so the effect of solving practical application problems is better.
[0052] 3. The present invention adopts a double-coded chromosome for operation sequencing and machine selection, which completely contains the information that must be included in the flexible job shop production scheduling scheme: the sequential processing order of operations and the processing machines for operations. Therefore, compared with coding methods such as "binary coding", "symbol coding", and "real number coding", the double-coded chromosome for operation sequencing and machine selection is more in line with the production and processing situation of the flexible job shop, so that the generated production scheduling scheme is more in line with the actual situation.
[0053] 4. The adaptive clustering method adopted by the present invention has good self-adjusting clustering ability, getting rid of the dilemma that traditional clustering algorithms need to manually set hyperparameters to control the clustering process. It is particularly suitable for meta-heuristic algorithms such as genetic algorithms to analyze and process the population. The adaptive clustering method can obtain appropriate clustering results only by taking the population as the input, so that the convergence performance of the algorithm is further improved, and thus it can be better applied to solve practical application problems. Brief Description of the Drawings
[0054] Figure 1 It is the flowchart of the scheduling method of the present invention;
[0055] Figure 2 It is the double-coded chromosome diagram of the individual of the population of the present invention;
[0056] Figure 3 It is the schematic diagram of the calculation of the feature similarity of the present invention;
[0057] Figure 4 It is the flowchart of the differential selection genetic algorithm of the present invention. Detailed Embodiment
[0058] In this embodiment, the differential selection genetic algorithm is used to solve the n*m flexible job shop scheduling problem. Among them, the n*m flexible job shop contains n independent jobs to be processed, and each job to be processed contains several independent operations with a strict sequential processing order. There are m processing machines with different performances in the workshop, and each processing machine has its own specific processing function. Each operation of each job can be processed by several processing machines according to its functional characteristics, and the processing time of the operation is determined by the processing efficiency of the processing machine, that is, the processing time of the operation on different processing machines is inconsistent. Only when all the operations of the job are processed, the job is considered processed. In order to complete the processing of n jobs as soon as possible, a suitable processing plan must be found to process the n jobs.
[0059] Specifically, as Figure 1 shown, a flexible job shop scheduling method based on the differential selection genetic algorithm is carried out according to the following steps:
[0060] Step 1. According to the actual production and processing requirements, construct the job set Ω as shown in formula (1); the job set Ω consists of n independent jobs to be processed;
[0061]
[0062] In formula (1), i represents the job serial number of the job in the job set Ω; n represents the total number of jobs in the job set Ω; J i represents the i-th job in the job set Ω; O ij represents the j-th process of the i-th job J i ; j represents the process serial number of the i-th job J i ; n i represents the total number of processes of the i-th job J i ;
[0063] Step 2. Construct the total production and processing time C of the job set Ω as shown in formula (2) max :
[0064]
[0065] In formula (2), E ij represents the production and processing completion time of the j-th process O ij ; C max is the time when all processes of all jobs to be processed are completed, so it is necessary to minimize the processing completion time;
[0066] Step 3. According to the actual production situation, set the corresponding constraint conditions:
[0067] Constraint 1, E ij ≤S i(j+1) , that is: each process of each job can only start processing after the previous process is completed.
[0068] Constraint 2, that is: each process of each job can only be processed once.
[0069] Constraint 3, S ij +P ijk *X ijk ≤E ij , that is: each process of each job cannot be interrupted during processing and must be processed once to complete.
[0070] Constraint 4, (S ij +P ijk )*Y ijhgk ≤S hg , that is: in the adjacent processes of the same processing machine, the subsequent process can only start processing after its previous process is completed.
[0071] And taking the total production and processing time C max as the objective function F to be minimized, thus constructing a single-objective flexible job shop scheduling model as shown in Equation (3);
[0072]
[0073] In Equation (3), h represents the job number of the job in the job set Ω; g represents the process number of the h-th job J h ; k represents the machine number of the processing machine; m represents the total number of machines in the workshop; O hg represents the g-th process of the h-th job J h ; S ij represents the start time of production and processing of the j-th process O i of the i-th job J ij ; S hg represents the start time of production and processing of the g-th process O h of the h-th job J hg ; S i(j+1) represents the start time of production and processing of the subsequent process of the j-th process O i of the i-th job J ij ; P ijk represents the time required for production and processing of the process O ij on the k-th machine; X ijk represents whether the process O ij is assigned to the k-th machine for production and processing. If so, let X ijk be 1; otherwise, let X ijk be 0; Y ijhgk represents whether the process O ij is the previous process of the process O hg on the k-th machine. If so, let Y ijhgk be 1; otherwise, let Y ijhgk be 0;
[0074] Step 4: According to the job set Ω and the relevant information of the workshop resources, and using the differential selection genetic algorithm to solve the single-objective flexible job shop scheduling model to obtain a production and processing plan; specifically, as Figure 4 shown;
[0075] Step 4.1: Define the population generation number G and initialize G = 1;
[0076] Step 4.2: Set the maximum number of iterations of the differential selection genetic algorithm to G max , set the key ratio coefficient to α and initialize it randomly; set α = 0.6;
[0077] Step 4.3: Combine the job numbers in job set Ω and the machine numbers of the processing machines corresponding to each process of each job to form a double-coded chromosome of an individual, which is used to generate the G-th generation population P G ; Specifically, as Figure 2 shown;
[0078] Job J i The total number of times the job number of appears in the first-layer coding chromosome is n i indicating the total number of processing processes of job J i ;
[0079] Job J i The order in which the job number of appears in the first-layer coding chromosome represents the process number of job J i , then the sorting order of all job numbers represents the sequence of corresponding job processing processes;
[0080] In the second-layer coding chromosome, each machine number corresponds one-to-one with the process number in the first-layer coding, indicating that the machine with the corresponding number processes the processing process corresponding to the job number in the first-layer coding;
[0081] Step 4.4: Set the population size to N, and set the individual set of the G-th generation population P G as indicating the b-th individual of the initial G-th generation population P G ; Define the globally optimal individual as and initialize indicating the optimal individual in the G-th generation population P G ;
[0082] Step 4.5: Perform mutation operations on the G-th generation population P G using neighborhood mutation and multi-point mutation to obtain the mutated population of the G-th generation
[0083] The present invention performs mutation operations on population individuals using neighborhood mutation and multi-point mutation. Its function is to update and recombine individual genes and enhance the diversity of the population, so that the algorithm can improve the ability to jump out of local optima. Neighborhood mutation mutates the process sorting chromosome of population individuals, randomly generates three gene positions, shuffles the order of the three genes and then updates the chromosome according to the shuffled order; multi-point mutation mutates the machine selection chromosome of population individuals, randomly replacing three genes with the machine numbers of other processable machines.
[0084] Step 4.6: Divide the N individuals in the mutated population of the G-th generation into groups according to their respective fitness values through the method of adaptive clustering to obtain the cluster set of the G-th iteration Denote the r-th cluster of the G-th iteration, and R represents the total number of clusters;
[0085] The self-adaptive clustering method adopted by the present invention is used to divide the fitness values of the mutated population. Its function is to divide the individuals with close fitness values in the population into a cluster for learning, so as to avoid the poor learning effect caused by randomly selecting learning individuals blindly in the population.
[0086] Step 4.6.1: Add the N individuals in the mutated population of the G-th generation to the individual set θ of the G-th iteration G to obtain the individual set θ of the G-th iteration G ;
[0087] Step 4.6.2: Calculate the Euclidean distance of the fitness values between all individuals in the individual set θ of the G-th iteration G , and then calculate the average Euclidean distance of the individual set for the Euclidean distances of the fitness values between all individuals in the individual set θ of the G-th iteration G Then, according to obtain the maximum cluster distance of the cluster set U of the G-th iteration G and initialize
[0088] Step 4.6.3: Select a cluster G in the cluster set U of the G-th iteration and initialize as Randomly select an individual G from the individual set θ of the G-th iteration and add it to the cluster to obtain a non-empty cluster
[0089] Step 4.6.4: Add the individuals that have not been added to the clusters G in the cluster set U of the G-th iteration to the remaining individual set of the G-th iteration to obtain the remaining individual set of the G-th iteration
[0090] Step 4.6.5: Randomly select an individual from the remaining individual set of the G-th iteration and calculate the Euclidean distance of the fitness values between the individual and ;
[0091] Step 4.6.6: If is less than Add to the cluster set U of the G-th iteration G in the cluster Otherwise, do not add;
[0092] Step 4.6.7. If is less than Delete the individual from the individual set θ of the G-th iteration G in it; otherwise, do not delete;
[0093] Step 4.6.8. Delete the individual from the remaining individual set of the G-th iteration If the remaining individual set of the G-th iteration is not an empty set, return to Step 4.6.5; otherwise, execute Step 4.6.9;
[0094] Step 4.6.9. If the individual set θ of the G-th iteration G is not an empty set, assign r + 1 to r and return to Step 4.6.3; otherwise, execute Step 4.6.10;
[0095] Step 4.6.10. Calculate the Euclidean distance between all individuals in the cluster G in the cluster set U of the G-th iteration and then calculate the average Euclidean distance of the cluster for the Euclidean distances between all individuals in the cluster G in the cluster set U of the G-th iteration [[ID= forty-two]]The average Euclidean distance of the cluster Delete all individuals in the cluster When all R clusters in the cluster set U of the G-th iteration G are completed according to the above operations, the average Euclidean distances of the R clusters in the cluster set U of the G-th iteration G The average Euclidean distance of the R clusters in
[0096] Step 4.6.11. Calculate the Euclidean distance between the fitness value of the individual and the average Euclidean distances of the R clusters in the cluster set U of the G-th iteration G Add the individual to the cluster with the smallest Euclidean distance to its fitness value for addition; then after all N individuals in the mutant population of the G-th generation are completed according to the above operations, the N individuals in the mutant population of the G-th generation can be partitioned into the corresponding clusters.
[0097] The cluster addition method in the present invention is based on the minimum Euclidean distance from the individual fitness value, and its function is to add individuals according to the principle of being closest to the cluster. Since the average Euclidean distance of the cluster can be regarded as the center point of the cluster, that is, individuals are added according to the principle of being closest to the center point of the cluster.
[0098] Step 4.7: Calculate the cluster set U of the G-th iteration using Equation (4). G the r-th cluster in the q-th individual of and the w-th individual of the feature similarity between Specifically, as Figure 3 shown;
[0099]
[0100] In Equation (4), and respectively represent and the critical paths of; and respectively represent and the non-critical paths of; represents the path similarity operator;
[0101] The present invention calculates the feature similarity using critical paths and non-critical paths, and its function is to distinguish different individuals from the gene structure, so as to define the similarity relationship between individuals from the gene information aspect to guide the learning between individuals. The critical path of an individual is the most core processing part in the production and processing plan represented by the individual. Since the completion time of the processing of the critical path represents the fitness value of the individual, that is, the completion time of the entire production and processing plan. The critical path is composed of a group of processes with closely connected processing sequences before and after. Each process that makes up the critical path cannot start processing in advance or be delayed, and its processing time is fixed. The processes that make up the non-critical path are much more flexible than the critical processes. The processing time period of the processes in the non-critical path can be uncertain, and it will not cause any impact on the completion time of the entire production and processing plan. Even exchanging two processes in the non-critical path will not delay the execution of the entire production plan.
[0102] The present invention uses a path similarity operator to calculate the similarity values of the critical paths and non-critical paths between two different individuals. Its function is to quantify the critical paths and non-critical paths between two different individuals into feature similarities to represent the similarity relationship between these two individuals. Set α to 0.6, calculate the cosine value of the critical path and the cosine value of the non-critical path between two different individuals, and the feature similarity is equal to α multiplied by the cosine value of the critical path plus 1 - α multiplied by the cosine value of the non-critical path.
[0103] Step 4.8: Calculate the cluster set U of the G-th iteration G in the r-th cluster of all individuals, and then average the feature similarities between all individuals in the r-th cluster to obtain the cluster set U of the G-th iteration G in the r-th cluster of the cluster average similarity
[0104] Step 4.9: Compare and If is less than then perform IPOX crossover operation on the q-th individual G in the r-th cluster of the cluster set U of the G-th iteration and the w-th individual to generate two new individuals; otherwise, continue to compare the q-th individual with the remaining individuals until the q-th individual in the cluster set U of the G-th iteration G is compared with all individuals, and then select the optimal individual from all new individuals for updating and then update all individuals in the r-th cluster in the cluster set U G to obtain the r-th updated cluster in the cluster set U of the G-th iteration ; G in the r-th updated cluster;
[0105] Step 4.10: After assigning r + 1 to r, return to Step 4.7 and execute sequentially until all R clusters in the cluster set U of the G-th iteration G are updated to obtain the population of the G-th generation after update
[0106] Step 4.11: Perform critical neighborhood search on each individual in the population of the G-th generation after update and replace the corresponding individual with the optimal individual found to obtain the population P of the G + 1-th generation G+1 ;
[0107] Step 4.12: Evaluate the (G + 1)-th generation population P G+1 and find the optimal individual in the (G + 1)-th generation population P G+1 If is better than the optimal individual in the G-th generation population P then update the globally optimal individual G Otherwise, keep the globally optimal individual unchanged;
[0108] Step 4.13: After assigning G + 1 to G, if G is equal to G max , then output the globally optimal individual and use it as the optimal production plan for processing and production. Otherwise, return to Step 4.5
[0109] Step 5: Process the job set Ω according to the described production and processing plan
Claims
1. A flexible job shop scheduling method based on differential selection genetic algorithm, characterized in that Proceed as follows: Step 1: Construct an operation set Ω as shown in formula (1) according to the actual production and processing requirements; In formula (1), i represents the job sequence number of the job in the job set Ω; n represents the total number of jobs in the job set Ω; J i represents the i-th job in the job set Ω; O ij represents the j-th process of the i-th job J i ; j represents the process sequence number of the i-th job J i ; n i represents the total number of processes of the i-th job J i ; Step 2, construct the total production time C of the job set Ω shown in formula (2) max : In formula (2), E ij represents the completion time of the production and processing of the j-th process O ij ; Step 3. Set corresponding constraint conditions according to the actual production situation, and take the total production time C max as the minimum objective function F, so as to construct a single-objective flexible job shop scheduling model as shown in Equation (3); In formula (3), h represents the job number of the job in job set Ω; g represents the process number of the h-th job J h ; k represents the machine number of the processing machine; m represents the total number of machines in the workshop; O hg represents the g-th process of the h-th job J h ; S ij represents the start time of production and processing of the j-th process O i of the i-th job J ij ; S hg represents the start time of production and processing of the g-th process O h of the h-th job J hg ; S i(j+1) represents the start time of production and processing of the subsequent process of the j-th process O i of the i-th job J ij ; P ijk represents the time required for production and processing of process O ij on the k-th machine; X ijk represents whether process O ij is assigned to the k-th machine for production and processing. If so, let X ijk be 1; otherwise, let X ijk be 0; Y ijhgk represents whether process O ij is the previous process of process O hg on the k-th machine. If so, let Y ijhgk be 1; otherwise, let Y[[ID=4!]] ijhgk be 0; Step 4: According to the operation set Ω and the information related to the workshop resources, and use the differential selection genetic algorithm to solve the single-objective flexible job shop scheduling model to obtain a production and processing plan; Step 5: Carry out production and processing on the operation set Ω according to the production and processing plan.
2. The flexible job shop scheduling method according to claim 1, characterized in that The said Step 4 is carried out according to the following process: Step 4.1: Define the population generation G and initialize G = 1; Step 4.2: Set the maximum number of iterations of the differential selection genetic algorithm to G max ; Set the key proportionality coefficient to α and initialize it randomly; Step 4.
3. Compose a dual-coded chromosome of an individual with all the job numbers in the job set Ω and the machine numbers of the processing machines corresponding to each process of each job, which is used to generate the G-th generation population P G ; Job J i The total number of occurrences n of the job number of i Job J i in the first-layer encoded chromosome; Job J i The order in which the job number of i Job J appears in the first-layer encoded chromosome represents the process number of Job J. Then, the sorting order of all job numbers represents the sequence of the corresponding job processing procedures. In the second-layer encoded chromosome, each machine serial number corresponds one-to-one with the process serial number in the first-layer encoding, indicating that the machine with the corresponding serial number processes the processing process corresponding to the operation serial number with the corresponding number in the first-layer encoding; Step 4.4: Set the population size to N and set the individual set of the G-th generation population P G as representing the initial G-th generation population P G 's b-th individual; Define the globally optimal individual as and initialize representing the optimal individual in the G-th generation population P G ; Step 4.5: Perform mutation operations on the G-th generation population P using neighborhood mutation and multi-point mutation G to obtain the mutated population of the G-th generation Step 4.6: Divide the N individuals in the mutated population of the G-th generation by the method of adaptive clustering according to their respective fitness values to obtain the cluster set of the G-th iteration wherein the N individuals are divided into the cluster set of the G-th iteration represents the r-th cluster of the G-th iteration, and R represents the total number of clusters; Step 4.7: Calculate the cluster set U of the G-th iteration using Equation (4). G the r-th cluster the q-th individual and the w-th individual in the feature similarity In formula (4), and respectively represent and 's critical path vectors; and respectively represent and 's non-critical path vectors; represents the path similarity operator; Step 4.8: Calculate the cluster set U for the G-th iteration G for the r-th cluster in G , and then calculate the average of the feature similarities between all individuals in the r-th cluster in G to obtain the cluster set U for the G-th iteration G for the r-th cluster in G , which is the average cluster similarity Step 4.
9. Compare and If is less than then perform an IPOX crossover operation on the q-th individual G and the w-th individual in the r-th cluster of the cluster set U in the G-th iteration to generate two new individuals; otherwise, continue to compare the q-th individual with the remaining individuals until the q-th individual in the cluster set U in the G-th iteration G has been compared with all individuals. After that, select the optimal individual from all the new individuals for updating and then, after all the individuals in the r-th cluster of the cluster set U G have been updated, obtain the r-th updated cluster in the cluster set U in the G-th iteration G ; Step 4.10: After assigning r + 1 to r, return to Step 4.7 and execute sequentially until the cluster set U of the G-th iteration G After all R clusters in Step 4.11: Perform a key neighborhood search on each individual in the updated population of the G-th generation and replace the corresponding individual with the optimal individual found by the search, thereby obtaining the population P of the (G + 1)-th generation G+1 ; Step 4.12: Evaluate the (G + 1)-th generation population P G+1 and find the optimal individual in the (G + 1)-th generation population P G+1 If this optimal individual is better than the optimal individual in the G-th generation population P G then update the globally optimal individual Otherwise, keep the globally optimal individual unchanged; Step 4.13, after assigning G + 1 to G, if G is equal to G max , then output the globally optimal individual and use it as the optimal production plan for processing and production; otherwise, return to Step 4.
5.
3. The flexible job shop scheduling method according to claim 2, wherein The said Step 4.6 is carried out according to the following process: Step 4.6.1: Add the N individuals in the mutant population of the G-th generation to the individual set θ of the G-th iteration G , and obtain the individual set θ of the G-th iteration G ; Step 4.6.2, calculate the Euclidean distance of the fitness values between all individuals in the individual set θ of the G-th iteration, and then calculate the average Euclidean distance of the individual set for the Euclidean distances of the fitness values between all individuals in the individual set θ of the G-th iteration G in the individual set θ of the G-th iteration G in the individual set θ of the G-th iteration Then, based on obtain the cluster set U of the G-th iteration G the maximum distance of the cluster and initialize Δ represents a multiple between 0 and 1; Step 4.6.
3. Select the cluster set U of the G-th iteration G and the clusters therein, and initialize as by randomly selecting an individual from the individual set θ of the G-th iteration G and adding it to the cluster to obtain a non-empty cluster Step 4.6.4: Add the individuals in the clusters that were not added to the set of clusters in the G-th iteration U G to the individual remaining set in the G-th iteration to obtain the individual remaining set in the G-th iteration Step 4.6.5: Randomly select an individual from the remaining set of individuals in the G-th iteration among Calculate the Euclidean distance of the fitness values between the individual and Step 4.6.6, if is less than add to the cluster set U of the G-th iteration G in the cluster Otherwise, do not add; Step 4.6.7, if is less than delete the individual from the set of individuals θ in the G-th iteration; otherwise, do not delete; G Step 4.6.
8. Delete the individual from the remaining individual set of the G-th iteration . If the remaining individual set of the G-th iteration is not an empty set, return to Step 4.6.5; otherwise, execute Step 4.6.
9. Step 4.6.9: If the individual set θ in the G-th iteration G is not an empty set, assign r + 1 to r and return to Step 4.6.3; Otherwise, execute Step 4.6.10; Step 4.6.10: Calculate the cluster set U for the G-th iteration G in the cluster calculate the Euclidean distances between all individuals, and then calculate the average Euclidean distance of the clusters G in the cluster for all individuals. Delete all individuals in the cluster . After all R clusters in the cluster set U G for the G-th iteration have been processed, obtain the average Euclidean distances of the R clusters G in the cluster set U Step 4.6.11: Calculate the Euclidean distance between the fitness value of an individual and the cluster average Euclidean distances of the R clusters in the cluster set U G at the G-th iteration, and add the individual to the cluster with the minimum Euclidean distance to the cluster average Euclidean distance; after all N individuals in the mutant population at the G-th generation have been processed, assign all N individuals in the mutant population at the G-th generation to their corresponding clusters.
Citation Information
Patent Citations
Genetic scheduling method based on combined production and equipment fault constraint
CN113326581A
Flexible job shop scheduling method based on improved genetic algorithm
CN113610233A