Multi-objective scheduling method for complex product assembly workshop
By constructing a multi-objective scheduling model and a hybrid coding method, and combining genetic algorithms and simulated annealing algorithms to optimize the scheduling of complex product assembly workshops, the problems of transportation time and worker capacity differences between different assembly teams for complex products are solved, and the scheduling effect of shortest construction period, balanced team load and balanced production rhythm is achieved.
Patent Information
- Application Number
- CN202310531442.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-11
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2043-05-11
AI Technical Summary
Scheduling in complex product assembly workshops is difficult to effectively handle the differences in transportation time and worker capabilities between different assembly teams, leading to scheduling difficulties. Especially in mixed flow workshops with unrelated parallel machines, it is difficult to achieve the shortest construction period, balanced team load, and balanced production rhythm.
A multi-objective scheduling model is constructed, and a hybrid coding method is used to generate a chromosome structure that includes complex product sorting and worker assembly team selection. The improved NEH heuristic method is combined to generate the initial population, and then optimized through genetic algorithm and simulated annealing algorithm to achieve scheduling with shortest construction period, balanced team load and minimum transportation time.
It improves the rationality and efficiency of scheduling in complex product assembly workshops, ensures the shortest construction period, balanced team load and minimum transportation time, and improves the balance of production rhythm.
Smart Images

Figure CN116610075B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of production scheduling, and in particular to a multi-objective complex product assembly workshop scheduling method. Background Art
[0002] Complex products refer to products with complex customer requirements, complex product configurations, complex product technologies, complex manufacturing processes, and complex project management. Assembly is a very important link in the production process of complex products, and plays a decisive role in the quality and lifespan of complex products.
[0003] The workshop scheduling of complex product assembly involves many factors such as the assembly tasks of the complex products and the assembly team members. In addition, most complex product assembly is still manually assembled and production is mainly organized based on processes. The time spent on the same process by different assembly teams is unrelated. This is a hybrid flow shop scheduling problem with unrelated parallel machines (HFSP). It is necessary to consider the transportation time of complex products between different assembly teams and the assembly team allocation problem of workers with different abilities. The difficulty lies in that the working hours of the parallel assembly teams for each process will be affected by the composition of the workers. At the same time, the assembly team selection for the assembly task and the processing order between parallel assembly teams will also change with the changes in the working hours of the assembly teams. Therefore, scheduling is relatively difficult. Summary of the Invention
[0004] In response to the above problems, an embodiment of the present invention provides a multi-objective complex product assembly workshop scheduling method.
[0005] One aspect of the present invention provides a multi-objective complex product assembly shop scheduling method, comprising:
[0006] S1. Construct a set of complex products to be assembled, a set of processes for these complex products, a set of assembly workers, a set of assembly teams, a set of assembly capabilities for workers of different capabilities to assemble these complex products, a set of transportation times required for transporting these complex products between adjacent processes, and a set of assembly times required for each complex product to be assembled by a worker of medium capability from each assembly team in each process.
[0007] S2. Based on the constructed set, a scheduling model is constructed with the optimization objectives of minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time;
[0008] S3. Based on the mixed encoding method of permutation and real integer, a chromosome structure containing two parts of chromosomes, namely complex product sorting JS and worker assembly team selection MS, is generated to obtain a feasible scheduling solution for the scheduling model;
[0009] S4. Obtain basic control parameters, including the maximum number of iterations MAXGEN of the genetic algorithm, the population size NIND and setting the number of iterations i to 0, the initial temperature T, the temperature attenuation coefficient β, and the end temperature T of the simulated annealing algorithm. ed , the number of neighborhoods s and the neighborhood structure N k (k=1,2,...,s);
[0010] S5. Use the obtained feasible scheduling solution to randomly generate a parent population N with a population size of NIND, calculate and compare the fitness of each individual in the parent population N, and record the optimal individual with the highest fitness;
[0011] S6. Determine whether i≥MAXGEN. If so, output the optimal individual as the scheduling solution of the scheduling model and go to S12. Otherwise, execute S7.
[0012] S7. Perform selection, crossover, and mutation operations on the current parent population N to generate a child population N. Combine the current parent population N with the child population N to form a new child population 2N. Calculate the fitness of each individual in the new child population 2N and select the 0.02N individuals with the highest fitness.
[0013] S8, using random neighborhood structure N for the selected 0.02N individuals k Generate 0.02N new individuals again and determine whether T≤T is satisfied ed If the condition is met, execute S10; otherwise, execute S9.
[0014] S9, set T = βT, and go to S8;
[0015] S10, generate The new individuals combine with the offspring population 2N to form a new offspring population
[0016] S11. Evaluate the new offspring population The fitness of each individual in the population is calculated, and the N individuals with the highest fitness are selected to form the latest parent population N. The best individual in the latest parent population N is recorded, and the number of iterations i is set to i+1, and the process is continued to S6.
[0017] S12. Perform multi-objective complex product assembly workshop scheduling according to the complex product sorting and worker assembly team selection defined in the obtained scheduling solution.
[0018] Optionally, the complex product set J in S1 = {1, 2, …, n}, where n is the total number of complex products and the complex products are numbered j, g, h∈J;
[0019] The process set of complex products S = {1, 2, ..., k}, k is the total number of processes, and the process number s∈S;
[0020] The assembly worker set AQ = {1, 2, ..., e}, where e is the total number of workers and the worker number q∈AQ;
[0021] Assembly team set AM = {1, 2, ..., L}, where L is the total number of assembly teams and the assembly team number m, a, b ∈ AM;
[0022] The set of assembly capabilities of workers with different operating capabilities for assembling complex products includes a set of assembly capability levels, which are specifically divided into low, medium, and high levels, and a set of assembly time coefficients for workers with different operating capabilities for assembling complex products, where the assembly time coefficient α = {0.9, 1, 1.1};
[0023] The set of transportation time P required for complex products to be transported between adjacent processes sab ;
[0024] The set of assembly time P required for each complex product to be assembled by a worker of medium operating ability in each assembly team in each process jsm0 .
[0025] Optionally, the scheduling model includes:
[0026] 1) The objective function of the scheduling performance index consists of four optimization goals: minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time:
[0027] min Z=(C max ,MLS,CTS,PTS)
[0028] Among them, C max represents the maximum completion time, MLS represents the variance of worker workload, CTS represents the variance of production cycle, and PTS represents the total transportation time;
[0029] 2) The maximum completion time of the last process k of n complex products is the constraint function of the maximum completion time:
[0030]
[0031] Among them, t js represents the start time of the sth process of complex product j, M (s) represents the number of parallel assembly teams on the s-th process, P jsm represents the time required for complex product j to be assembled by assembly team m in process s, X jsm It is 1 if process s of complex product j is assigned to assembly team m, otherwise it is 0;
[0032] 3) A constraint function indicating that a complex product can only begin the next assembly process after the previous process is completed:
[0033]
[0034] Among them, P sab It represents the time it takes to transport a complex product from assembly team a in process s to assembly team b in process (s+1);
[0035] 4) A constraint function indicating that any assembly team can only assemble one complex product at a time:
[0036]
[0037] Among them, t hsm represents the start time of the sth process of complex product h by assembly team m;
[0038] 5) A constraint function that states that each complex product can only be assembled by one assembly team at each process:
[0039]
[0040] 6) The constraint function that each worker can only work in one assembly team at each process:
[0041]
[0042] Among them, X smq0 The value is 1 if worker q is assigned to assembly team m of process s, otherwise it is 0;
[0043] 7) Represents variable X jsm 、X smq0 Constraint function whose value is non-negative:
[0044]
[0045] 8) Represents variable X smq The value is 1 or Constraint function:
[0046]
[0047] Among them, X smq Indicates that worker q is assigned to assembly team m of process s, α sq ∈α represents the time coefficient of worker q performing assembly operation in process s.
[0048] Optionally, the steps of performing mixed encoding based on permutation and real integers in S3 to generate a chromosome structure including two chromosome parts, namely, the complex product sorting JS and the worker assembly team selection MS, include:
[0049] The chromosomes of the JS part of the complex product sorting adopt the method based on permutation coding. The length is the number of complex products n. Each chromosome represents the order in which the complex products enter the first process for assembly operation;
[0050] The chromosomes of the MS part of the worker assembly team selection are encoded in real integers, with a length equal to the number of workers e. Each chromosome represents the number of the assembly team to which the worker is assigned.
[0051] Optionally, the process of generating a parent population N with a population size of NIND using the improved NEH heuristic method in S5 includes:
[0052] S5-1. Randomly generate a feasible scheduling solution and select the chromosome of the MS part of the worker assembly team selection to determine the assembly team m to which each worker q is assigned. Then calculate the assembly time for each assembly team m to complete process s of different complexity products j;
[0053] S5-2. Determine the maximum total assembly time for each complex product j to complete all steps s using the calculated assembly time, and arrange the maximum total assembly times in descending order to obtain a product sequence W. In descending order, randomly arrange complex products with the same maximum total assembly time.
[0054] S5-3. Select the first two complex products j and h in product sequence W and delete them from product sequence W. Permutate and combine the order of the two selected complex products j and h. Calculate the total completion time of the two complex products j and h under each permutation and combination, and determine the optimal order that minimizes the total completion time. Place the two selected complex products j and h into assembly sequence Z according to the optimal order. Initially, assembly sequence Z is empty.
[0055] S5-4. Randomly select a complex product g from the product sequence W and delete it from the product sequence W. Calculate the completion time of the assembly sequence Z when the randomly selected complex product g is inserted into each possible insertion position in the assembly sequence Z by traversing and find the optimal insertion position with the minimum completion time.
[0056] S5-5, randomly select a complex product g from the product sequence W and delete it from the product sequence W, and randomly insert it into the assembly sequence Z;
[0057] S5-6. Repeat S5-4 and S5-5 until all complex products g are inserted into the assembly sequence Z, thereby forming a chromosome of the complex product sorting JS part in a feasible scheduling solution, which is then combined with the chromosome of the worker assembly team selection MS part to obtain a complete individual;
[0058] S5-7. Repeat S5-1 to S5-6 NIND times to generate a parent population N with a population size of NIND.
[0059] Optionally, by using reversal mutation or inversion mutation operation on the two parts of chromosomes (complex product sorting JS and worker assembly team selection MS) in the chromosome structure, the number of neighborhoods s is determined to be four and four neighborhood structures N are formed. k (k=1,2,3,4);
[0060] Accordingly, in S8, the random neighborhood structure N is used for the selected 0.02N individuals. k The process of generating 0.02N new individuals again includes:
[0061] For each of the 0.02N selected individuals, generate a random number c in the set {1, 2, 3, 4} and determine the neighborhood structure of the new solution NX used to generate the individual;
[0062] Using the c-th neighborhood structure N c Generate a new solution NX, compare the fitness of the new solution NX with the individual's initial solution EX, if the fitness of NX is high, then set EX = NX, and continue based on the current neighborhood structure N c Search; if the fitness of the new solution NX is low, then the probability Accept the new solution NX as the initial solution, where △E represents the difference in the objective function value between the new solution and the initial solution.
[0063] Optionally, when performing selection, crossover, and mutation operations on the current parent population N in S7, the crossover probability and the mutation probability are set in a range of 0.5-0.9.
[0064] Compared with the existing technology, the beneficial effects of the present invention are: for the multi-objective complex product assembly workshop scheduling problem, the transportation time of complex products and the worker capacity are taken into consideration, and the shortest construction period, balanced team load, balanced production rhythm and minimum transportation time are taken as optimization goals; a mathematical model considering transportation time and worker capacity is established, and a hybrid coding method considering product sequence and worker allocation is proposed, an improved NEH heuristic method is used to generate the initial population, and an enhanced elite retention strategy and a simulated annealing algorithm are used to improve the genetic algorithm, so as to obtain a more reasonable scheduling solution to realize the scheduling of multi-objective complex product assembly workshops. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] The drawings described herein are used to provide a further understanding of the present invention, constitute a part of this application, and do not constitute a limitation of the present invention. In the drawings:
[0066] Figure 1 A flowchart of a multi-objective complex product assembly workshop scheduling method provided by an embodiment of the present invention;
[0067] Figure 2 A simplified diagram of a complex product assembly shop scheduling problem provided by an embodiment of the present invention;
[0068] Figure 3 A schematic diagram of a chromosome structure provided by an embodiment of the present invention;
[0069] Figure 4 The following is a schematic diagram of the processing results of each algorithm for an example with 20 complex products and 10 workers. Figure a on the left is a trend chart of the target average value, and figure b on the right is a box plot of the minimum target value.
[0070] Figure 5 The following is a schematic diagram of the processing results of each algorithm for an example with 20 complex products and 30 workers. Figure c on the left is a trend chart of the target average value, and figure d on the right is a box plot of the minimum target value.
[0071] Figure 6 The following is a schematic diagram of the processing results of each algorithm for an example with 20 complex products and 60 workers. Figure e on the left is a trend chart of the target average value, and figure f on the right is a box plot of the minimum target value.
[0072] Figure 7 The following is a schematic diagram of the processing results of each algorithm for an example with 40 complex products and 10 workers. The left figure (g) is a trend chart of the target average value, and the right figure (h) is a box plot of the minimum target value.
[0073] Figure 8 The following is a schematic diagram of the processing results of each algorithm for an example with 40 complex products and 30 workers. The i-th graph on the left is a trend graph of the target average value, and the j-th graph on the right is a box plot of the minimum target value.
[0074] Figure 9 This figure shows the processing results of various algorithms for an instance with 60 complex products and 60 workers. The k graph on the left is a trend graph of the target average value, and the l graph on the right is a box plot of the minimum target value. DETAILED DESCRIPTION
[0075] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments and the accompanying drawings. Here, the exemplary embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0076] See also Figure 1 The embodiment of the present invention provides a multi-objective complex product assembly workshop scheduling method, comprising:
[0077] S1. Construct a set of complex products to be assembled, a set of processes for complex products, a set of assembly workers, a set of assembly teams, a set of assembly capabilities for workers with different operational capabilities to assemble complex products, a set of transportation times required for complex products to be transported between adjacent processes, and a set of assembly times required for each complex product to be assembled by a worker of medium operational capability from each assembly team in each process.
[0078] In the implementation, the complex product set J = {1, 2, …, n}, n is the total number of complex products, and the complex products are numbered j, g, h∈J;
[0079] The process set of complex products S = {1, 2, ..., k}, k is the total number of processes, and the process number s∈S;
[0080] The assembly worker set AQ = {1, 2, ..., e}, where e is the total number of workers and the worker number q∈AQ;
[0081] Assembly team set AM = {1, 2, ..., L}, where L is the total number of assembly teams and the assembly team number m, a, b ∈ AM;
[0082] The set of assembly capabilities of workers with different operating capabilities for assembling complex products includes a set of assembly capability levels, which are specifically divided into low, medium, and high levels, and a set of assembly time coefficients for workers with different operating capabilities for assembling complex products, where the assembly time coefficient α = {0.9, 1, 1.1};
[0083] The set of transportation time P required for complex products to be transported between adjacent processes sab ;
[0084] The set of assembly time P required for each complex product to be assembled by a worker of medium operating ability in each assembly team in each process jsm0 .
[0085] S2. Based on the constructed set, a scheduling model is constructed with the optimization objectives of minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time.
[0086] In implementation, such as Figure 2The figure shows a simplified example of a complex product assembly workshop scheduling problem. When scheduling a complex product assembly workshop, the assembly stations and the corresponding assembly team numbers on the production site are fixed. For all n complex products, their assembly needs to go through k processes with a known and consistent assembly sequence. In addition, there are M processes in the sth process. (s) There are different speed assembly teams to choose from, and the assembly time of each process is determined by the number of workers in the assembly team and the workers' operating capabilities;
[0087] The goal is to determine the most suitable assembly team for each complex product at each process step after the workers in the assembly team are determined. In other words, the optimal worker configuration for each team and the optimal assembly order for n complex products to enter each process step must be determined. In addition, the following basic assumptions must be met:
[0088] 1) All complex products can be assembled at zero time;
[0089] 2) Each complex product can only be assembled by one assembly team at a time;
[0090] 3) Each complex product can only enter the next process after the previous process is completed;
[0091] 4) Once the assembly team starts assembling each complex product, it cannot be interrupted;
[0092] 5) Each assembly team can only assemble one complex product at a time;
[0093] 6) The preparation time of each process of each complex product is already included in the assembly time of the process;
[0094] 7) Each worker can only perform assembly operations within one assembly team;
[0095] 8) The ability of workers in each process to assemble each complex product can be divided into three levels: low, medium, and high, and the time coefficient α of worker q working on process s sq known;
[0096] 9) Each complex product needs to be transported between adjacent processes, and the time P for transporting a complex product from assembly team a of process s to assembly team b of process (s+1) is sab known;
[0097] 10) The time P required for complex product j to be assembled by a worker of medium ability in team m in process s jsm0 Known.
[0098] Based on the above analysis and assumptions, a scheduling model is constructed, which specifically includes:
[0099] 1) The objective function of the scheduling performance index consists of four optimization goals: minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time:
[0100] min Z=(C max ,MLS,CTS,PTS)
[0101] Among them, C max represents the maximum completion time, MLS represents the variance of worker workload, CTS represents the variance of production cycle, and PTS represents the total transportation time;
[0102] 2) The maximum completion time of the last process k of n complex products is the constraint function of the maximum completion time:
[0103]
[0104] Among them, t js represents the start time of the sth process of complex product j, M (s) represents the number of parallel assembly teams on the s-th process, P jsm represents the time required for complex product j to be assembled by assembly team m in process s, X jsm It is 1 if process s of complex product j is assigned to assembly team m, otherwise it is 0;
[0105] 3) A constraint function indicating that a complex product can only begin the next assembly process after the previous process is completed:
[0106]
[0107] Among them, P sab It represents the time it takes to transport a complex product from assembly team a in process s to assembly team b in process (s+1);
[0108] 4) A constraint function indicating that any assembly team can only assemble one complex product at a time:
[0109]
[0110] Among them, t hsm represents the start time of the sth process of complex product h by assembly team m;
[0111] 5) A constraint function that states that each complex product can only be assembled by one assembly team at each process:
[0112]
[0113] 6) The constraint function that each worker can only work in one assembly team at each process:
[0114]
[0115] Among them, X smq0 The value is 1 if worker q is assigned to assembly team m of process s, otherwise it is 0;
[0116] 7) Represents variable X jsm 、X smq0 Constraint function whose value is non-negative:
[0117]
[0118] 8) Represents variable X smq The value is 1 or Constraint function:
[0119]
[0120] Among them, X smq If worker q is assigned to assembly team m of process s, its value is 1; otherwise, Represents the time coefficient of worker q performing assembly operation in process s.
[0121] In the constraint function, X is set for the case where worker q is assigned to assembly team m of process s. smq 、X smq0 Two variables, X smq0 This variable can only be used alone, and X smq It is used in combination with other variables.
[0122] S3. Based on the mixed coding method of permutation and real integer, a chromosome structure containing two parts of chromosomes, namely complex product sorting JS and worker assembly team selection MS, is generated to obtain a feasible scheduling solution for the scheduling model.
[0123] Currently, most scheduling algorithms for solving the hybrid flow shop problem use a permutation-based coding method to encode individuals in the population. That is, the permutation of all product numbers is regarded as an individual, corresponding to a feasible scheduling solution. The position of the product number in the permutation represents the assembly order of the product entering the first process.
[0124] However, the complex product assembly workshop scheduling problem in this application includes two sub-problems: complex product sorting and worker assembly team selection. It is difficult to solve them by relying on a single encoding method. Therefore, this application adopts a mixed encoding method based on permutation and real integers, and uses two chromosomes to collaboratively express individual information. The designed chromosome structure contains two chromosomes: complex product sorting JS and worker assembly team selection MS. Figure 3 As shown;
[0125] Among them, the chromosomes of the JS part of the complex product sorting adopt the method based on permutation coding. The length is the number of complex products n. Each chromosome represents the order in which the complex products enter the first process to start the assembly operation;
[0126] The chromosomes of the MS part of the worker assembly team selection are encoded in real integers, with a length equal to the number of workers e. Each chromosome represents the number of the assembly team to which the worker is assigned.
[0127] In practice, during the combination and construction of the chromosome structure, since this application is aimed at the hybrid flow shop scheduling problem with unrelated parallel machines, the traditional First Available Machine (FAM) method for scheduling problems with identical parallel machines is not applicable. Therefore, the improvement strategy for the traditional First Available Machine is as follows:
[0128] 1) For each complex product j, select the assembly team with the shortest end time of the current process to perform the assembly operation. The assembly completion time is ls+P jsm , where ls represents the earliest allowable assembly time of product j and ls = max(mld,ld), mld represents the completion time of the assembly team for the previous complex product, and ld represents the sum of the completion time and transportation time of the previous process of complex product j;
[0129] 2) For assembly teams with the same current process completion time, the assembly team with the smallest load is selected first based on the consideration of team load balancing;
[0130] 3) For assembly teams with the same process completion time and load, based on the principle of maximizing efficiency, the assembly team with the shortest assembly time is given priority;
[0131] 4) For assembly teams with the same current process end time, load and assembly time, a random selection is made among these assembly teams.
[0132] S4. Obtain basic control parameters, including the maximum number of iterations MAXGEN of the genetic algorithm, the population size NIND and setting the number of iterations i to 0, the initial temperature T, the temperature attenuation coefficient β, and the end temperature T of the simulated annealing algorithm. ed , the number of neighborhoods s and the neighborhood structure Nk (k=1,2,...,s).
[0133] S5. Use the obtained feasible scheduling solution to randomly generate a parent population N with a population size of NIND, calculate and compare the fitness of each individual in the parent population N, and record the optimal individual with the highest fitness.
[0134] During implementation, in order to improve the quality of the initial parent population while ensuring population diversity, this application uses the NEH heuristic algorithm to optimize the initial parent population. The specific steps are as follows:
[0135] S5-1. Randomly generate a feasible scheduling solution and select the chromosome of the MS part of the worker assembly team selection to determine the assembly team m to which each worker q is assigned. Then calculate the assembly time for each assembly team m to complete process s of different complexity products j;
[0136] S5-2. For each complex product j, sum the calculated assembly time for each process s to determine the maximum total assembly time for each complex product j to complete all processes s, and arrange the maximum total assembly times in descending order to obtain a product sequence W. When arranging in descending order, randomly arrange complex products with the same maximum total assembly time.
[0137] S5-3. Select the first two complex products j and h in product sequence W and delete them from product sequence W. Permutate the order of the two selected complex products j and h. There are actually only two possible orderings: j, h or h, j. Calculate the total completion time for the two complex products j and h under each permutation and combination, and determine the optimal ordering with the minimum total completion time. Place the two selected complex products j and h into assembly sequence Z according to the optimal ordering. Initially, assembly sequence Z is empty.
[0138] S5-4. Randomly select a complex product g from the product sequence W and delete it from the product sequence W. Calculate the completion time of the assembly sequence Z when the randomly selected complex product g is inserted into each possible insertion position in the assembly sequence Z by traversing and finding the optimal insertion position with the minimum completion time and insert the product into the assembly sequence Z.
[0139] S5-5, randomly select a complex product g from the product sequence W and delete it from the product sequence W, and randomly insert it into the assembly sequence Z;
[0140] S5-6. Repeat S5-4 and S5-5 until all complex products g are inserted into the assembly sequence Z, thereby forming a chromosome of the complex product sorting JS part in a feasible scheduling solution, which is then combined with the chromosome of the worker assembly team selection MS part to obtain a complete individual;
[0141] S5-7. Repeat S5-1 to S5-6 NIND times to generate a parent population N with a population size of NIND.
[0142] The above steps S5-2, S5-3, and S5-4 ensure the quality of each individual in the initial parent population, while steps S5-1 and S5-5 ensure the diversity of the parent population.
[0143] S6. Determine whether i≥MAXGEN. If so, output the optimal individual as the scheduling solution of the scheduling model and go to S12. Otherwise, execute S7.
[0144] S7. Perform selection, crossover, and mutation operations on the current parent population N to generate a child population N. Combine the current parent population N with the child population N to form a new child population 2N. Calculate the fitness of each individual in the new child population 2N and select the 0.02N individuals with the highest fitness.
[0145] During implementation, the crossover probability and mutation probability can be set to a larger value, with a specific setting range of 0.5-0.9; when the parent population N and the offspring population N are combined, the top N individuals with the highest fitness in the two generations of populations can be selected to form a new offspring population 2N, that is, the best individuals in the two generations of populations are retained at the same time. In this way, the best individuals of each generation are retained so that they can be inherited to the next generation. At the same time, the excellent individuals already existing in the population can be retained to the greatest extent. At the same time, it avoids becoming a purely random search algorithm due to excessively high crossover and mutation probabilities, expands the search range of the algorithm, and improves the quality and efficiency of the scheduling solution.
[0146] S8, using random neighborhood structure N for the selected 0.02N individuals k Generate 0.02N new individuals again and determine whether T≤T is satisfied ed If the condition is met, execute S10; otherwise, execute S9.
[0147] In practice, the genetic algorithm has a strong global search capability, but a poor local search capability and a slow convergence speed. Therefore, this application introduces a simulated annealing algorithm to improve the poor local search capability of the genetic algorithm. That is, the genetic algorithm is first used to perform a global search to find excellent individuals, and then the simulated annealing algorithm is used to perform a local search in the neighborhood of the excellent individuals to find better individuals. Each local search is only performed on some of the best individuals to ensure the efficiency of the algorithm.
[0148] The simulated annealing algorithm first needs to design the neighborhood structure of the optimal solution. According to the characteristics of HFSP, this application chooses to perform reverse mutation or inversion mutation operations on the two chromosomes JS and MS in the chromosome structure to form four neighborhood structures N k(k=1,2,3,4), where reversal mutation is: randomly selecting two reversal points in an individual chromosome, and then reinserting the gene values between the two points into the original position in reverse order; inversion mutation is: randomly selecting two reversal points in an individual chromosome, and then scrambling the gene values between the two points and reinserting them into the original position.
[0149] That is, the four neighborhood structures are: the neighborhood structure formed by reversing the mutation of JS, the neighborhood structure formed by inverting the mutation of JS, the neighborhood structure formed by reversing the mutation of MS, and the neighborhood structure formed by inverting the mutation of MS.
[0150] The process of using the simulated annealing algorithm to conduct a local search in the neighborhood of an excellent individual to find a better individual is:
[0151] For each of the 0.02N selected individuals, generate a random number c in the set {1, 2, 3, 4} and determine the neighborhood structure of the new solution NX used to generate the individual;
[0152] Using the c-th neighborhood structure N c Generate a new solution NX, compare the fitness of the new solution NX with the individual's initial solution EX, if the fitness of NX is high, then set EX = NX, and continue based on the current neighborhood structure N c Search; if the fitness of the new solution NX is low, then the probability Accept the new solution NX as the initial solution, where △E represents the difference in the objective function value between the new solution and the initial solution.
[0153] S9. Set T = βT and go to S8.
[0154] S10, generate The new individuals combine with the offspring population 2N to form a new offspring population
[0155] S11. Evaluate the new offspring population The fitness of each individual in the population is obtained, and the N individuals with the highest fitness are selected to form the latest parent population N. The best individual in the latest parent population N is recorded, and the number of iterations i is set to i+1, and the process is continued to S6.
[0156] S12. Perform multi-objective complex product assembly workshop scheduling according to the complex product sorting and worker assembly team selection defined in the obtained scheduling solution.
[0157] Test Example
[0158] In order to verify the performance of the scheduling method of this application (hereinafter referred to as SEGA-SA) and the existing standard genetic algorithm (SGA), elite-preserving genetic algorithm (EGA), stallion genetic algorithm (stud GA), and simple genetic algorithm with generation gap (GGAP-SGA), each algorithm is run independently 30 times for a specific problem instance, and the minimum and average values of the objective function values obtained from the 30 runs are recorded for comparison;
[0159] Specifically, in the experiment, the total number of processes k required for each complex product is set to 5, and the number of parallel assembly teams corresponding to each process is M. (s) They are 3, 5, 3, 3, and 4, respectively. The transportation time follows a [1,3] discrete uniform distribution. The basic assembly time of each complex product in different teams (the time required for product j to be assembled by a worker of medium operating ability in team m in process s) P jsm0 Obeying the [10, 200] discrete uniform distribution, the experiment considers 9 problem instances with the number of complex products being 20, 40, and 60 and the number of workers being 10, 30, and 60 respectively;
[0160] In addition, the genetic population size NIND is set to 100, the maximum number of algorithm iterations MAXGEN is set to 50; the crossover probability in the evolution process is set to 0.9, the mutation probability is set to 0.5; the initial temperature T=30, the temperature attenuation coefficient β=0.9 and the end temperature T ed =10.
[0161] After the algorithm is finished running, 6 typical examples are selected and plotted. Figure 4-Figure 9 The trend chart and box plot in Figure 4-Figure 9 The six trend graphs in the middle show the average performance indicators of the five algorithms. From these trend graphs, we can see that among all the algorithms, the SEGA-SA algorithm and the stud GA algorithm converge faster than the other three algorithms in the first 10 generations. After 10 generations, the average decline rate of the stud GA algorithm slows down and is even surpassed by the GGAP-SGA algorithm after 20 generations. However, the SEGA-SA algorithm maintains an average decline rate. In addition, the quality of the initial solution of the SEGA-SA algorithm is also better than that of the other algorithms.
[0162] In addition, each algorithm was run 30 times independently to obtain 30 minimum target values, which were aggregated to form Figure 4-Figure 9 In the six box plots, among all the algorithms, the objective function value of the optimal solution of the SEGA-SA algorithm is the smallest and has a shorter interquartile range. The experimental results show that compared with other algorithms, the SEGA-SA algorithm of this application is not easily affected by random factors.
[0163] The above description is only a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention are included in the scope of protection of the present invention.
Claims
1. A multi-objective complex product assembly workshop scheduling method, characterized in that: The method comprises: S1. Construct a set of complex products to be assembled, a set of processes for these complex products, a set of assembly workers, a set of assembly teams, a set of assembly capabilities for workers of different capabilities to assemble these complex products, a set of transportation times required for transporting these complex products between adjacent processes, and a set of assembly times required for each complex product to be assembled by a worker of medium capability from each assembly team in each process. S2. Based on the constructed set, a scheduling model is constructed with the optimization objectives of minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time; S3. Based on the mixed encoding method of permutation and real integer, a chromosome structure containing two parts of chromosomes, namely complex product sorting JS and worker assembly team selection MS, is generated to obtain a feasible scheduling solution for the scheduling model; S4. Obtain basic control parameters, including the maximum number of iterations MAXGEN of the genetic algorithm, the population size NIND and setting the number of iterations i to 0, the initial temperature T, the temperature attenuation coefficient β, and the end temperature T of the simulated annealing algorithm. ed , the number of neighborhoods s and the neighborhood structure N k (k=1,2,...,s); S5. Generate a parent population N with a population size of NIND using the improved NEH heuristic method, calculate and compare the fitness of each individual in the parent population N, and record the optimal individual with the highest fitness; S6. Determine whether i≥MAXGEN. If so, output the optimal individual as the scheduling solution of the scheduling model and go to S12. Otherwise, execute S7. S7. Perform selection, crossover, and mutation operations on the current parent population N to generate a child population N. Combine the current parent population N with the child population N to form a new child population 2N. Calculate the fitness of each individual in the new child population 2N and select the 0.02N individuals with the highest fitness. S8, using random neighborhood structure N for the selected 0.02N individuals k Generate 0.02N new individuals again and determine whether T≤T is satisfied ed If the condition is met, execute S10; otherwise, execute S9. S9, set T = βT, and go to S8; S10, generate The new individuals combine with the offspring population 2N to form a new offspring population S11. Evaluate the new offspring population The fitness of each individual in the population is calculated, and the N individuals with the highest fitness are selected to form the latest parent population N. The best individual in the latest parent population N is recorded, and the number of iterations i is set to i+1, and the process is continued to S6. S12. Perform multi-objective complex product assembly workshop scheduling according to the complex product sorting and worker assembly team selection defined in the obtained scheduling solution.
2. The multi-objective complex product assembly workshop scheduling method as claimed in claim 1, characterized in that: The complex product set J in S1 = {1, 2, ..., n}, where n is the total number of complex products and the complex product numbers j, g, h∈J; The process set of complex products S = {1, 2, ..., k}, k is the total number of processes, and the process number s∈S; The assembly worker set AQ = {1, 2, ..., e}, where e is the total number of workers and the worker number q∈AQ; Assembly team set AM = {1, 2, ..., L}, where L is the total number of assembly teams and the assembly team number m, a, b ∈ AM; The set of assembly capabilities of workers with different operating capabilities for assembling complex products includes a set of assembly capability levels, which are specifically divided into low, medium, and high levels, and a set of assembly time coefficients for workers with different operating capabilities for assembling complex products, where the assembly time coefficient α = {0.9, 1, 1.1}; The set of transportation time P required for complex products to be transported between adjacent processes sab ; The set of assembly time P required for each complex product to be assembled by a worker of medium operating ability in each assembly team in each process jsm0 .
3. The multi-objective complex product assembly workshop scheduling method according to claim 2, characterized in that: The scheduling model includes: 1) The objective function of the scheduling performance index consists of four optimization goals: minimizing the maximum completion time, balancing the load of assembly teams, balancing the production cycle, and minimizing the transportation time: minZ=(C max ,MLS,CTS,PTS) Among them, C max represents the maximum completion time, MLS represents the variance of worker workload, CTS represents the variance of production cycle, and PTS represents the total transportation time; 2) The maximum completion time of the last process k of n complex products is the constraint function of the maximum completion time: Among them, t js represents the start time of the sth process of complex product j, M (s) represents the number of parallel assembly teams on the s-th process, P jsm represents the time required for complex product j to be assembled by assembly team m in process s, X jsm It is 1 if process s of complex product j is assigned to assembly team m, otherwise it is 0; 3) A constraint function indicating that a complex product can only begin the next assembly process after the previous process is completed: Among them, P sab It represents the time it takes to transport a complex product from assembly team a in process s to assembly team b in process (s+1); 4) A constraint function indicating that any assembly team can only assemble one complex product at a time: X gsm X hsm =1 and Among them, t hsm represents the start time of the sth process of complex product h by assembly team m; 5) A constraint function that states that each complex product can only be assembled by one assembly team at each process: 6) The constraint function that each worker can only work in one assembly team at each process: Among them, X smq0 The value is 1 if worker q is assigned to assembly team m of process s, otherwise it is 0; 7) Represents variable X jsm 、X smq0 Constraint function whose value is non-negative: 8) Represents variable X smq The value is 1 or Constraint function: Among them, X smq Indicates that worker q is assigned to assembly team m of process s, α sq ∈α represents the time coefficient of worker q performing assembly operation in process s.
4. The multi-objective complex product assembly workshop scheduling method according to claim 2, characterized in that: In S3, the steps for generating a chromosome structure containing two parts, namely, complex product sorting JS and worker assembly team selection MS, by hybrid encoding based on permutation and real integers include: The chromosomes of the JS part of the complex product sorting adopt the method based on permutation coding. The length is the number of complex products n. Each chromosome represents the order in which the complex products enter the first process for assembly operation; The chromosomes of the MS part of the worker assembly team selection are encoded in real integers, with a length equal to the number of workers e. Each chromosome represents the number of the assembly team to which the worker is assigned.
5. The multi-objective complex product assembly workshop scheduling method according to claim 2, characterized in that: The process of generating the parent population N with a population size of NIND using the improved NEH heuristic method in S5 includes: S5-1. Randomly generate a feasible scheduling solution and select the chromosome of the MS part of the worker assembly team selection to determine the assembly team m to which each worker q is assigned. Then calculate the assembly time for each assembly team m to complete process s of different complexity products j; S5-2. Determine the maximum total assembly time for each complex product j to complete all steps s using the calculated assembly time, and arrange the maximum total assembly times in descending order to obtain a product sequence W. In descending order, randomly arrange complex products with the same maximum total assembly time. S5-3. Select the first two complex products j and h in product sequence W and delete them from product sequence W. Permutate and combine the order of the two selected complex products j and h. Calculate the total completion time of the two complex products j and h under each permutation and combination, and determine the optimal order that minimizes the total completion time. Place the two selected complex products j and h into assembly sequence Z according to the optimal order. Initially, assembly sequence Z is empty. S5-4. Randomly select a complex product g from the product sequence W and delete it from the product sequence W. Calculate the completion time of the assembly sequence Z when the randomly selected complex product g is inserted into each possible insertion position in the assembly sequence Z by traversing and find the optimal insertion position with the minimum completion time. S5-5, randomly select a complex product g from the product sequence W and delete it from the product sequence W, and randomly insert it into the assembly sequence Z; S5-6. Repeat S5-4 and S5-5 until all complex products g are inserted into the assembly sequence Z, thereby forming a chromosome of the complex product sorting JS part in a feasible scheduling solution, which is then combined with the chromosome of the worker assembly team selection MS part to obtain a complete individual; S5-7. Repeat S5-1 to S5-6 NIND times to generate a parent population N with a population size of NIND.
6. The multi-objective complex product assembly workshop scheduling method according to claim 1, characterized in that: By using reversal mutation or inversion mutation operation on the two parts of chromosomes (complex product sorting JS and worker assembly team selection MS) in the chromosome structure, the number of neighborhoods s is determined to be four and four neighborhood structures N are formed. k (k=1,2,3,4); Accordingly, in S8, the random neighborhood structure N is used for the selected 0.02N individuals. k The process of generating 0.02N new individuals again includes: For each of the 0.02N selected individuals, generate a random number c in the set {1, 2, 3, 4} and determine the neighborhood structure of the new solution NX used to generate the individual; Using the c-th neighborhood structure N c Generate a new solution NX, compare the fitness of the new solution NX with the individual's initial solution EX, if the fitness of NX is high, then set EX = NX, and continue based on the current neighborhood structure N c Search; if the fitness of the new solution NX is low, then the probability Accept the new solution NX as the initial solution, where △E represents the difference in the objective function value between the new solution and the initial solution.
7. The multi-objective complex product assembly workshop scheduling method according to claim 1, characterized in that: When performing selection, crossover, and mutation operations on the current parent population N in S7, the crossover probability and mutation probability are set in the range of 0.5-0.9.
Citation Information
Patent Citations
Multi-target dual-flexible job shop scheduling method and system based on hybrid algorithm
CN115034445A
Segmented Seru production scheduling and multi-energy worker scheduling combination optimization method and device
CN115619200A