A Smart Scheduling Method for Hybrid Flow Workshops Considering Machine Load Balancing
By improving the gray wolf algorithm and combining dynamic weighting and wolf pack communication mechanisms, the production scheduling of the mixed flow workshop was optimized, which solved the problems of poor population diversity and slow convergence speed, realized a load-balanced production scheduling scheme, and improved production efficiency and response speed.
Patent Information
- Application Number
- CN202311098551.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2043-08-29
AI Technical Summary
Existing gray wolf algorithms suffer from poor population diversity, slow convergence speed, susceptibility to local optima, and difficulty in quickly responding to large-scale production scheduling needs when solving mixed flow workshop scheduling problems. They also have limitations in handling discrete problems.
An improved gray wolf algorithm is adopted. By constructing an objective function and constraints, and combining a dynamic weighting mechanism and a wolf pack communication mechanism, the wolf pack is divided into an exploration population and a development population. The multi-population mechanism is used to enhance information exchange, optimize the production scheduling scheme for machine load balancing, and improve search efficiency through a neighborhood search method.
It enables rapid response to large-scale production scheduling needs in mixed production lines, generates load-balanced scheduling schemes, improves production efficiency, reduces time costs, avoids prolonged high-load operation of machines, and enhances the continuous operation capability of machines.
Smart Images

Figure CN117077963B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of workshop production planning and management technology, and in particular provides an improved gray wolf algorithm for planning the scheduling problem of mixed flow workshops. Background Technology
[0002] Currently, traditional manufacturing enterprises are undergoing digital transformation and intelligent upgrading in pursuit of higher competitiveness. Intelligent scheduling is the core of manufacturing enterprises to achieve digital, flexible, and intelligent production, and it is also the foundation for meeting customers' personalized, customized, and diversified needs. Efficient scheduling methods help improve enterprise production efficiency and reduce costs. The hybrid flow shop scheduling model considered in this paper is a typical NP-hard problem, involving multiple parallel flow lines. The parallel machines at different stages are different, and the processing time of the same workpiece varies on different machines, which better reflects the actual scheduling situation of manufacturing enterprises. This paper uses minimizing the maximum load of all machines as the objective function to ensure balanced machine load during the production process, thereby guaranteeing efficient and continuous production capacity.
[0003] Methods for solving hybrid flow shop models mainly include precise methods and swarm intelligence algorithms. Traditional precise algorithms can guarantee optimal scheduling results, reducing costs through precise planning. However, as the scale of scheduling increases, the responsiveness of precise algorithms becomes insufficient to meet the demands of rapid response in large-scale scheduling, thus affecting scheduling efficiency. Swarm intelligence algorithms, inspired by the collective behavior of natural organisms, aim to obtain near-optimal solutions through a finite number of iterations, thereby quickly searching for solutions close to the optimal value within a certain range. The Grey Wolf algorithm has a simple structure and few control parameters, but it suffers from poor population diversity in the later stages of the search, slow convergence speed, and susceptibility to local optima. Furthermore, the Grey Wolf algorithm was proposed to solve continuous problems, and it has limitations in solving discrete problems such as production scheduling. Summary of the Invention
[0004] To address the shortcomings of the existing technologies, this invention proposes an intelligent scheduling method for hybrid production lines that considers balanced machine load. This method aims to ensure population diversity during the search process, improve the efficiency of the algorithm in the later stages of the search, and thus better meet the needs of rapid response in real-world production scheduling, improve scheduling efficiency, and reduce time costs. It can also effectively prevent some machines from operating at high load for extended periods, thereby enhancing the continuous operation capability of the machines.
[0005] To achieve the above-mentioned objectives, the present invention adopts the following technical solution:
[0006] The intelligent scheduling method for hybrid assembly line workshops that considers machine load balancing is characterized by the following steps:
[0007] Step 1: Obtain the set of workpieces to be processed, denoted as J = {J1, J2, ..., J...}n ,…,J N}, J n Let N represent the nth workpiece and N represent the number of workpieces; obtain the set of parallel machines for each process, denoted as M = {M1, ..., Mn}. i ,…,M I}, M i Let represent the set of parallel machines for the i-th process, and M ik Let I represent the k-th parallel machine in the i-th process, and K represent the number of processes. i Let O represent the number of parallel machines in the i-th process; n ={O n1 ,…,O ni ,…,O nI} indicates that the nth workpiece J is being processed. n Process set; O ni Indicates processing the nth workpiece J n For the corresponding i-th process, the processing time of each workpiece on the corresponding parallel machine is recorded as T = {T... 111 ,…,T nik ,…,T NIK},T nik J represents the nth workpiece. n Let the time taken for the i-th process to be processed on the k-th parallel machine be denoted as C = {C1, C2, ..., Ck}. n ,…,C N}, where C n J represents the nth workpiece. n The completion time; K represents the total number of machines, and
[0008] Step 2: Construct a production scheduling model for the hybrid flow workshop;
[0009] Step 2.2.1: Construct the objective function L of the production scheduling model using equation (1):
[0010] min L = max{L1,L2,…,L h ,…,L K} (1)
[0011] In equation (1), L h For the h-th parallel machine M h The total processing time, and Where, x nik Let J represent the decision variable, if the nth workpiece J n If the i-th process is processed on the k-th parallel machine, then let x... nik If x is 1, then let x be 1; otherwise, let x be 1. nik =0;
[0012] Step 2.2.2: Construct the constraints of the production scheduling model using equations (2)-(6):
[0013] s nik +y nipqk ×B≥e pqk (2)
[0014] s pqk +(1-y nipqk )×B≥e nik (3)
[0015] s n(i+1)k ≥e niu (4)
[0016]
[0017] e nik =s nik +T nik (6)
[0018] Equations (2) and (3) represent one operation in which a parallel machine can process only one workpiece at a time; where y nipqk Let J represent the decision variable, where J is the nth workpiece processed on the kth parallel machine. n The corresponding i-th process O ni Processing the p-th workpiece J first p The corresponding qth process O pq Processing will make y nipqk =1, otherwise, let y nipqk =0; s nik This indicates that the nth workpiece J is processed on the kth parallel machine. n The corresponding i-th process O ni The start time, e nik This indicates that the nth workpiece J is processed on the kth parallel machine. n The corresponding i-th process O ni The end time, s pqk This indicates that the p-th workpiece J is processed on the k-th parallel machine. p The corresponding qth process O pq The start time, e pqk This indicates that the p-th workpiece J is processed on the k-th parallel machine. p The corresponding qth process O pq The end time, where B represents an infinite number;
[0019] Equation (4) indicates that the next process can only begin after the previous process is completed for the same workpiece; where s n(i+1)kThis indicates that the nth workpiece J is processed on the kth parallel machine. n The corresponding (i+1)th process O n(i+1) The start time, e niu This indicates that the nth workpiece J is processed on the uth parallel machine. n The corresponding i-th process O ni End time;
[0020] Equation (5) indicates that each process can only be processed by one of the parallel machines;
[0021] Equation (6) represents the relationship between the start time and end time of the processing;
[0022] Step 2.2.3: Construct two scheduling rules:
[0023] First scheduling rule: Prioritize parallel machines with low load; if the previous process is completed, when selecting the parallel machine for the next process, select the idle parallel machine with the lowest load to process the workpiece.
[0024] Second scheduling rule: Prioritize parallel machines with shorter processing times; if the previous process is completed, when selecting the parallel machine for the next process, choose the idle parallel machine with the shortest processing time to process the workpiece.
[0025] Step 3: Solve the production scheduling model using the improved Grey Wolf algorithm according to the two production scheduling rules;
[0026] Step 3.1, Parameter Initialization: The current iteration number is t, and t is initialized to 1; the maximum iteration number is defined as Max_t; the multiplier τ is defined, and τ is initialized to 1.
[0027] Step 3.2: Generate position vectors using the improved Bernouilli shift mapping method, and decode the position vectors to obtain the s-th production scheduling scheme of the t-th generation;
[0028] Step 3.3: Divide the t-th generation exploration population and the t-th generation development population according to the parallel fusion mechanism;
[0029] Step 3.4: Select the gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the t-th generation exploration population as the three leader wolves of the t-th generation exploration population, denoted as α1 wolf, β1 wolf, and δ1 wolf, and denote their position vectors as follows:
[0030] The t-th generation exploration population is updated using a dynamic weighting mechanism to obtain the preliminarily updated t-th generation exploration population.
[0031] If the fitness value of a gray wolf individual in the t-th generation exploration population after the initial update is less than the mean fitness value of the t-th generation exploration population after the initial update, then a roulette wheel method is used to select a position initialization method to update the position vector of the current gray wolf individual in the t-th generation exploration population after the initial update; otherwise, the position vector of the current gray wolf individual remains unchanged, thus obtaining the final updated t-th generation exploration population.
[0032] Step 3.5: Select the gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the t-th generation development population as the three leader wolves of the t-th generation development population, denoted as α2 wolf, β2 wolf, and δ2 wolf, respectively. Denote the position vectors of the three leader wolves in the t-th generation development population as follows:
[0033] By guiding the update of the tth generation development population through the position of the leader wolf, the tth generation development population is initially updated. Then, the wolf pack communication mechanism is used to further update the tth generation development population, resulting in a second updated tth generation development population.
[0034] If the fitness value of gray wolves in the updated generation t development population is less than the mean fitness value of the updated generation t development population, then a neighborhood search method is selected using roulette wheel selection to reschedule the position vectors of gray wolves in the updated generation t development population; otherwise, the position vectors of the current gray wolves remain unchanged, thus obtaining the final updated generation t development population.
[0035] Step 3.6: Determine whether t = τ × Δ is true. If it is true, assign τ + 1 to τ, and integrate the t-th generation exploration wolf pack and the t-th generation development wolf pack into a t-th generation population. Then return to step 3.3 and execute sequentially. Otherwise, execute step 3.7. Wherein, Δ represents the local iteration threshold.
[0036] Step 3.7: Take the smaller fitness value between α1 wolves in the exploration population of generation t and α2 wolves in the development population of generation t as the local optimal fitness value of generation t. When t = 1, the local optimal value of generation t is the global optimal fitness value; when t ≥ 2, compare the local optimal fitness value of generation t with the global optimal fitness value. If the local optimal fitness value of generation t is better, then the local optimal fitness value of generation t is assigned to the global optimal fitness value; otherwise, the global optimal fitness value remains unchanged.
[0037] Step 3.8: Determine whether t = Max_t is true. If it is true, then take the gray wolf individual corresponding to the global optimal fitness value as the optimal production plan. Otherwise, assign t+1 to t and return to step 3.4 to execute sequentially.
[0038] The intelligent scheduling method for hybrid assembly line workshops that considers machine load balancing, as described in this invention, is also characterized in that step 3.2 includes:
[0039] Step 3.2.1: Use equation (7) to generate the position vector of the s-th gray wolf individual in the t-th generation population. This generates the position vectors of the 2S gray wolf individuals in the t-th generation population.
[0040]
[0041] In equation (7), λ represents the mapping adjustment parameter; This represents the (n+1)th position scalar of the s-th gray wolf individual in the t-th generation of the population, obtained through the Bernouilli shift mapping. Let n be the position scalar of the s-th gray wolf individual in the t-th generation population. When n=1, let n = 1. A random number in (0,1);
[0042] Step 3.2.2: In chaotic mapping, if or m represents the index of the position vector, and m = {0, 1, 2, 3, 4}. Then, equation (8) is used to... To cause a disturbance Re-entering chaos;
[0043]
[0044] In equation (8), mod represents the remainder, and rand(0,1) represents generating a random number from (0,1);
[0045] Step 3.2.3: Apply ROV rules and scheduling rules to the position vector. Decode the t-th production schedule to obtain the s-th production plan of the t-th generation.
[0046] Step 3.2.3 includes:
[0047] Step 3.2.3.1, for Sort the positional scalars in ascending order, and then process them according to the sorted index. The values of the scalars at each position are assigned to obtain the workpiece processing sequence for the first process.
[0048] Step 3.2.3.2: In the second to the last process, for each workpiece that has completed the production of the previous process, first select a parallel machine for production according to the first production scheduling rule. If there is no minimum machine load, then select a parallel machine for production according to the second production scheduling rule.
[0049] Step 3.3 includes:
[0050] Step 3.3.1: Calculate the objective function L for each gray wolf individual in the t-th generation population and use it as its fitness value. Then, sort each gray wolf individual in the t-th generation population in descending order of their fitness values to obtain the sorted t-th generation population. The corresponding fitness values are denoted as L. in, Si represents the fitness value of the i-th gray wolf individual in the t-th generation of the sorted population; Si represents the number of gray wolves in the t-th generation of the exploration or development population.
[0051] Step 3.3.2: Divide the sorted generation t population into generation t exploration populations. and the tth generation development population in, This represents the fitness value of the e1-th gray wolf individual in the t-th generation exploration population. This represents the fitness value of the e2th gray wolf individual in the t-th generation development population.
[0052] The dynamic weighting mechanism in step 3.4 includes:
[0053] Step 3.4.1: Record any one of the α1, β1, and δ1 wolves in the t-th generation exploration population as the u1-th leader wolf, and calculate the fitness value of each leader wolf based on the recorded position vector;
[0054] Step 3.4.2: Normalize the reciprocal of the fitness value of the u1-th leader wolf to obtain the normalized fitness value of the u1-th leader wolf in the t-th generation exploration population.
[0055] Step 3.4.3: Calculate the entropy value of the u1-th leader wolf in the t-th generation exploration population using equation (9).
[0056]
[0057] Step 3.4.4: Calculate the weight of the u1-th leader wolf in the t-th generation exploration population using equation (10).
[0058]
[0059] Step 3.4.5: Define the decreasing parameter of the t-th generation exploration population as a1, and initialize a1 = 2. Define the first exploration population random vector in the t-th generation exploration population as A. 11 The second exploration population random vector is A. 12 The random vector of the third exploration population is A. 13 The adjustment vector for the first exploration population is C. 11 The adjustment vector for the second exploration population is C. 12The adjustment vector for the third exploration population is C. 13 and initialize A 11 A 12 A 13 C 11 C 12 C 13 =0;
[0060] Step 3.4.6: Update the u1th exploration population random vector A using equation (11). 1,u1 The updated u1-th exploration population random vector A' is obtained. 1,u1 :
[0061] A' 1,u1 =2a1·r1-a1 (11)
[0062] In equation (11), r1 is a random number in (0,1);
[0063] Step 3.4.6: Update the adjustment vector C of the u1th exploration population using equation (12). 1,u1 The updated adjustment vector C' of the u1-th exploration population is obtained. 1,u1 :
[0064] C' 1,u1 =2·r² (12)
[0065] In equation (12), r2 is a random number in (0,1);
[0066] Step 3.4.7: Update a1 using equation (13) to obtain the updated exploration population decline parameter a'1:
[0067]
[0068] Step 3.4.8: Calculate the distance vector between the u1-th leader wolf and its prey in the t-th generation of the exploration population using equation (14).
[0069]
[0070] In equation (14), This represents the position vector of the u1-th leader wolf in the t-th generation of the exploration population. This represents the position vector of the e1th gray wolf individual in the t-th generation of the exploration population;
[0071] Step 3.4.9: Use equation (15) to obtain the updated position vector of the e1th gray wolf individual in the t-th generation exploration population.
[0072]
[0073] Step 3.4.10: Apply ROV rules and scheduling rules to the position vector. Decode the e1-th production scheduling scheme of generation t; and calculate the results respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant;
[0074] Step 3.4.11: Following the process of steps 3.4.6-3.4.10, process each individual gray wolf in the t-th generation exploration population to obtain the preliminarily updated t-th generation exploration population.
[0075] The position initialization method in step 3.4 includes four types:
[0076] The first position initialization method is as follows: randomly initialize the position vector of the e1th gray wolf individual in the tth generation exploration population; each dimension of each position vector is randomly generated with a random number between (0,1) and replaced with the original position vector;
[0077] The second position initialization method is to use equation (16) to update the position vector of the e1th gray wolf individual in the t-th generation of the exploration population. Thus, the updated position vector is obtained.
[0078]
[0079] In equation (16), r a A random number in the range (0,1);
[0080] The third position initialization method is to use equation (17) to update the position vector of the e1th gray wolf individual in the t-th generation of the exploration population. Thus, the updated position vector is obtained.
[0081]
[0082] In equation (17), r b A random number in the range (0,1);
[0083] The fourth position initialization method is to update the position vector of the e1th gray wolf individual in the t-th generation exploration population using equation (18). Thus, the updated position vector is obtained.
[0084]
[0085] In equation (18), rc It is a random number in (0,1).
[0086] Step 3.5 includes:
[0087] Step 3.5.1: Define the decreasing parameter of the development population in generation t as a2, and initialize a2 = 2. Define the random vector of the first development population as A. 21 The second development population random vector is A. 22 The third development population random vector is A. 23 The adjustment vector for the first development population is C. 21 The adjustment vector for the second development population is C. 22 The adjustment vector for the third development population is C. 23 and initialize A 21 A 22 A 23 C 21 C 22 C 23 =0;
[0088] Step 3.5.2: Update the u2th development population random vector A using equation (19). 2,u2 The updated u2th development population random vector A' is obtained. 2,u2 :
[0089] A' 2,u2 =2a²·r³-a² (19)
[0090] In equation (19), r3 is a random number in (0,1);
[0091] Step 3.5.3: Update the adjustment vector C of the u2th development population using equation (20). 2,u2 The updated u2th development population adjustment vector C' is obtained. 2,u2 :
[0092] C' 2,u2 =2·r4 (20)
[0093] In equation (20), r4 is a random number in (0,1);
[0094] Step 3.5.4: Update a2 using equation (21) to obtain the updated exploration population decline parameter a'2:
[0095]
[0096] Step 3.5.5: Calculate the distance vector between the u2th leader wolf and its prey in the t-th generation development population using equation (22).
[0097]
[0098] In equation (14), This represents the position vector of the u2th leader wolf in the t-th generation of the developmental population. This represents the position vector of the e2th gray wolf individual in the t-th generation of the development population;
[0099] Step 3.5.6: Use equation (23) to obtain the updated position vector of the e2th gray wolf individual in the t-th generation development population.
[0100]
[0101] Step 3.5.7: Decode the position vector using ROV rules and scheduling rules to obtain the e2nd scheduling scheme of generation t; and calculate respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant;
[0102] Step 3.5.8: Following the process from Step 3.5.2 to Step 3.5.7, update each individual gray wolf in the t-th generation development population to obtain the preliminarily updated t-th generation development population;
[0103] Step 3.5.8: Update the t-th generation development population after the initial update based on the wolf pack communication mechanism;
[0104] Step 3.5.8.1: Sort the wolf individuals in the t-th generation development population after the initial update in descending order of fitness value, find the wolf individuals with the median fitness value, and thus divide the t-th generation development wolf population after the initial update into two groups of wolf packs, and the difference in the number of the two groups of wolf packs is less than or equal to 1.
[0105] Step 3.5.8.2: Determine the total number of times d, the number of wolf individuals in the t-th generation development population, according to equation (24):
[0106]
[0107] In equation (24), d min ,d max These represent the minimum and maximum values of the communication update ratio, respectively. This indicates a round-down operation;
[0108] Step 3.5.8.3: In the current update, randomly select one wolf from each of the two wolf packs, and use equation (25) to move the wolf with the poor fitness value to obtain the updated position vector of the wolf with the poor fitness value.
[0109]
[0110] In equation (25), This represents the position vector of the wolf with the better fitness value selected from each of the two wolf packs in the current update. r5 represents the position vector of a wolf with poor fitness; r5 represents a random number in the range (0,1).
[0111] Step 3.5.8.4: Execute the process of step 3.5.8.3 d times to obtain the updated generation t development population.
[0112] The neighborhood search method in step 3.5 includes two types:
[0113] The first neighborhood search method is as follows: randomly select three elements of a position vector from the updated generation t development population, shuffle them in order, and obtain the shuffled position vector; calculate the fitness values of the position vectors before and after shuffling; if the fitness value of the shuffled position vector is better than the fitness value of the position vector before shuffling, then replace the position vector before shuffling with the position vector after shuffling; otherwise, keep the position vector before shuffling unchanged.
[0114] The second neighborhood search method is as follows: Randomly select a position vector from the updated generation t development population, divide the position scalars in the position vector into two groups according to their odd or even positions, shuffle the order of the position scalars in each group, and then merge the two shuffled position scalars according to their odd or even positions to obtain the shuffled position vector; calculate the fitness values of the position vectors before and after shuffling. If the fitness value of the shuffled position vector is better than that of the original position vector, then replace the original position vector with the shuffled position vector; otherwise, keep the original position vector unchanged.
[0115] The present invention provides an electronic device, including a memory and a processor, wherein the memory is used to store a program that supports the processor in executing the intelligent scheduling method for hybrid production lines, and the processor is configured to execute the program stored in the memory.
[0116] The present invention discloses a computer-readable storage medium on which a computer program is stored, wherein the computer program, when executed by a processor, performs the steps of the intelligent scheduling method for hybrid production line workshops.
[0117] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0118] 1. This invention applies the improved Grey Wolf algorithm to solve the production scheduling problem in a mixed flow workshop. It can be applied to solve large-scale production scheduling problems in manufacturing enterprises. The algorithm aims to minimize the maximum machine load and considers machine load in the underlying mechanism of workpiece selection, so that workpieces are preferentially selected for processing on machines with low machine loads. This results in a load-balanced production scheduling scheme that is more in line with actual production and is also conducive to continuous and efficient production in enterprises.
[0119] 2. This invention incorporates multiple population mechanisms into the gray wolf optimization algorithm, dividing the original algorithm's single population into two subpopulations. The wolf pack migration mechanism enhances information exchange between the two subpopulations, ensuring that both subpopulations contain both superior production scheduling schemes and diverse non-superior production scheduling schemes. Through the independent search mechanism of the two subpopulations and the guidance of the superior production scheduling scheme, the overall algorithm's ability to find the optimal production scheduling scheme is further enhanced.
[0120] 3. This invention improves the population update mechanism and exploration mechanism of the Grey Wolf algorithm. Through the dynamic weight update mechanism, it ensures that the new production scheduling scheme has a higher similarity with the better production scheduling scheme, and reinitializes individuals with poor fitness values to maintain the diversity of poor production scheduling schemes in the population. This effectively prevents the candidate production scheduling schemes from highly overlapping during the search process, which would make it difficult to find a better production scheduling scheme.
[0121] 4. This invention improves the development mechanism of the gray wolf algorithm by combining the wolf pack communication and neighborhood rescheduling mechanism of the development population, thereby enhancing the ability of the subpopulation to develop potential better production scheduling schemes. The development and update mechanism is simple, and the efficiency of generating new production scheduling schemes is high, which is conducive to the rapid iteration and update of the algorithm, reduces the time to generate the optimal production scheduling scheme, and thus obtains a production scheduling scheme with a more balanced machine load more quickly. Attached Figure Description
[0122] Figure 1 This is a flowchart of the method of the present invention;
[0123] Figure 2 This is a diagram of the first neighborhood search mechanism of the present invention;
[0124] Figure 3 This is a diagram of the second neighborhood search mechanism of the present invention. Detailed Implementation
[0125] In this embodiment, as Figure 1 As shown, a hybrid flow shop scheduling method based on the improved gray wolf algorithm is carried out according to the following steps:
[0126] Step 1: Obtain the set of workpieces to be processed, denoted as J = {J1, J2, ..., J...} n ,…,J N}, J nLet N represent the nth workpiece and N represent the number of workpieces; obtain the set of parallel machines for each process, denoted as M = {M1, ..., Mn}. i ,…,M I}, M i Let represent the set of parallel machines for the i-th process, and M ik Let I represent the k-th parallel machine in the i-th process, and K represent the number of processes. i Let O represent the number of parallel machines in the i-th process; n ={O n1 ,…,O ni ,…,O nI} indicates that the nth workpiece J is being processed. n Process set; O ni Indicates processing the nth workpiece J n For the corresponding i-th process, the processing time of each workpiece on the corresponding parallel machine is recorded as T = {T... 111 ,…,T nik ,…,T NIK},T nik J represents the nth workpiece. n Let the time taken for the i-th process to be processed on the k-th parallel machine be denoted as C = {C1, C2, ..., Ck}. n ,…,C N}, where C n J represents the nth workpiece. n The completion time; K represents the total number of machines, and
[0127] Step 2: Construct a production scheduling model for the hybrid flow workshop;
[0128] Step 2.2.1: Construct the objective function L of the production scheduling model using equation (1):
[0129] min L = max{L1,L2,…,L h ,…,L K} (1)
[0130] In equation (1), L h For the h-th parallel machine M h The total processing time, and Where, x nik Let J represent the decision variable, if the nth workpiece J n If the i-th process is processed on the k-th parallel machine, then let x... nik If x is 1, then let x be 1; otherwise, let x be 1. nik =0;
[0131] Step 2.2.2: Construct the constraints of the production scheduling model using equations (2)-(6):
[0132] s nik +y nipqk ×B≥e pqk (2)
[0133] s pqk +(1-y nipqk )×B≥e nik (3)
[0134] S n(i+1)k ≥e niu (4)
[0135]
[0136] s nik =s nik +T nik (6)
[0137] Equations (2) and (3) represent one operation in which a parallel machine can process only one workpiece at a time; where y nipqk Let J represent the decision variable, where J is the nth workpiece processed on the kth parallel machine. n The corresponding i-th process O ni Processing the p-th workpiece J first p The corresponding qth process O pq Processing will make y nipqk =1, otherwise, let y nipqk =0; s nik This indicates that the nth workpiece J is processed on the kth parallel machine. n The corresponding i-th process O ni The start time, e nik This indicates that the nth workpiece J is processed on the kth parallel machine. n The corresponding i-th process O ni The end time, s pqk This indicates that the p-th workpiece J is processed on the k-th parallel machine. p The corresponding qth process O pq The start time, e pqk This indicates that the p-th workpiece J is processed on the k-th parallel machine. p The corresponding qth process O pq The end time, where B represents an infinite number;
[0138] Equation (4) indicates that the next process can only begin after the previous process is completed for the same workpiece; where s n(i+1)k This indicates that the nth workpiece J is processed on the kth parallel machine. nThe corresponding (i+1)th process O n(i+1) The start time, e niu This indicates that the nth workpiece J is processed on the uth parallel machine. n The corresponding i-th process O ni End time;
[0139] Equation (5) indicates that each process can only be processed by one of the parallel machines;
[0140] Equation (6) represents the relationship between the start time and end time of the processing;
[0141] Step 2.2.3: Construct two scheduling rules:
[0142] First scheduling rule: Prioritize parallel machines with low load; if the previous process is completed, when selecting the parallel machine for the next process, select the idle parallel machine with the lowest load to process the workpiece.
[0143] Second scheduling rule: Prioritize parallel machines with shorter processing times; if the previous process is completed, when selecting the parallel machine for the next process, choose the idle parallel machine with the shortest processing time to process the workpiece.
[0144] Step 3: Solve the production scheduling model using the improved Grey Wolf algorithm according to the two production scheduling rules;
[0145] Step 3.1, Parameter Initialization: The current iteration number is t, and t is initialized to 1; the maximum iteration number is defined as Max_t; the multiplier τ is defined, and τ is initialized to 1.
[0146] Step 3.2: Generate position vectors using the improved Bernouilli shift mapping method and decode the position vectors to obtain processing-related data; replace random initialization with chaotic mapping to make the initial population more evenly distributed in the search space, increasing the possibility of obtaining potentially better solutions; at the same time, a better initial solution can enhance the convergence ability of the algorithm.
[0147] Step 3.2.1: Use equation (7) to generate the position vector of the s-th gray wolf individual in the t-th generation population. This generates the position vectors of the 2S gray wolf individuals in the t-th generation population.
[0148]
[0149] In equation (7), λ represents the mapping adjustment parameter; This represents the (n+1)th position scalar of the s-th gray wolf individual in the t-th generation of the population, obtained through the Bernouilli shift mapping. Let n be the position scalar of the s-th gray wolf individual in the t-th generation population. When n=1, let n = 1. A random number in (0,1);
[0150] Step 3.2.2: In chaotic mapping, if or m represents the index of the position vector, and m = {0, 1, 2, 3, 4}. Then, equation (8) is used to... To cause a disturbance Re-entering chaos;
[0151]
[0152] In equation (8), mod represents the remainder, and rand(0,1) represents generating a random number from (0,1);
[0153] Step 3.2.3: Apply ROV rules and scheduling rules to the position vector. Decode the t-th production schedule to obtain the s-th production plan of the t-th generation;
[0154] Step 3.2.3.1, for Sort the positional scalars in ascending order, and then process them according to the sorted index. The values of the scalars at each position are assigned to obtain the workpiece processing sequence for the first process.
[0155] Step 3.2.3.2: From the second to the last process, for each workpiece that has completed the production of the previous process, first select a parallel machine for production scheduling according to the first scheduling rule. If there is no minimum machine load, then select a parallel machine for production scheduling according to the second scheduling rule.
[0156] Step 3.3: Divide the exploration and development wolf packs according to the parallel fusion mechanism;
[0157] Step 3.3.1: Calculate the objective function L for each gray wolf individual in the t-th generation population and use it as its fitness value. Then, sort each gray wolf individual in the t-th generation population in descending order of their fitness values to obtain the sorted t-th generation population. The corresponding fitness values are denoted as L. in, Si represents the fitness value of the i-th gray wolf individual in the t-th generation of the sorted population; Si represents the number of gray wolves in the t-th generation of the exploration or development population.
[0158] Step 3.3.2: Divide the sorted generation t population into generation t exploration populations. and the tth generation development population in, This represents the fitness value of the e1-th gray wolf individual in the t-th generation exploration population. This represents the fitness value of the e2th gray wolf individual in the t-th generation development population;
[0159] Step 3.4: Select the gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the t-th generation exploration population as the three leader wolves of the t-th generation exploration population, denoted as α1 wolf, β1 wolf, and δ1 wolf, and denote their position vectors as follows:
[0160] The exploration population of generation t is updated by a dynamic weighting mechanism to obtain the preliminary updated exploration population of generation t. The dynamic weighting mechanism makes the updated gray wolf individuals move more towards the leader wolf with better fitness value, thereby increasing the possibility of obtaining the optimal production plan.
[0161] The dynamic weighting mechanism in this embodiment includes:
[0162] Step 3.4.1: Record any one of the α1, β1, and δ1 wolves in the t-th generation exploration population as the u1-th leader wolf, and calculate the fitness value of each leader wolf based on the recorded position vector;
[0163] Step 3.4.2: Normalize the reciprocal of the fitness value of the u1-th leader wolf to obtain the normalized fitness value of the u1-th leader wolf in the t-th generation exploration population. The information entropy mechanism can quantify the guiding ability of the three leader wolves to the wolves they lead. The guiding ability of the leader wolves changes dynamically due to their fitness value, which increases the possibility of finding a potential optimal solution.
[0164] Step 3.4.3: Calculate the entropy value of the u1-th leader wolf in the t-th generation exploration population using equation (9).
[0165]
[0166] Step 3.4.4: Calculate the weight of the u1-th leader wolf in the t-th generation exploration population using equation (10).
[0167]
[0168] Step 3.4.5: Define the decreasing parameter of the t-th generation exploration population as a1, and initialize a1 = 2. Define the first exploration population random vector in the t-th generation exploration population as A. 11 The second exploration population random vector is A. 12 The random vector of the third exploration population is A. 13 The adjustment vector for the first exploration population is C. 11The adjustment vector for the second exploration population is C. 12 The adjustment vector for the third exploration population is C. 13 and initialize A 11 A 12 A 13 C 11 C 12 C 13 =0;
[0169] Step 3.4.6: Update the u1th exploration population random vector A using equation (11). 1,u1 The updated u1-th exploration population random vector A' is obtained. 1,u1 :
[0170] A' 1,u1 =2a1·r1-a1 (11)
[0171] In equation (11), r1 is a random number in (0,1);
[0172] Step 3.4.6: Update the adjustment vector C of the u1th exploration population using equation (12). 1,u1 The updated adjustment vector C' of the u1-th exploration population is obtained. 1,u1 :
[0173] C' 1,u1 =2·r² (12)
[0174] In equation (12), r2 is a random number in (0,1);
[0175] Step 3.4.7: Update a1 using equation (13) to obtain the updated exploration population decline parameter a'1:
[0176]
[0177] Step 3.4.8: Calculate the distance vector between the u1-th leader wolf and its prey in the t-th generation of the exploration population using equation (14).
[0178]
[0179] In equation (14), This represents the position vector of the u1-th leader wolf in the t-th generation of the exploration population. This represents the position vector of the e1th gray wolf individual in the t-th generation of the exploration population;
[0180] Step 3.4.9: Use equation (15) to obtain the updated position vector of the e1th gray wolf individual in the t-th generation exploration population.
[0181]
[0182] Step 3.4.10: Apply ROV rules and scheduling rules to the position vector. Decode the e1-th production scheduling scheme of generation t; and calculate the results respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant;
[0183] Step 3.4.11: Following the process of steps 3.4.6-3.4.10, process each individual gray wolf in the t-th generation exploration population to obtain the preliminarily updated t-th generation exploration population.
[0184] If the fitness value of a gray wolf individual in the initially updated generation t exploration population is less than the mean fitness value of the initially updated generation t exploration population, then a roulette wheel method is used to select a position initialization method to update the position vector of the current gray wolf individual in the initially updated generation t exploration population. Otherwise, the position vector of the current gray wolf individual remains unchanged, thus obtaining the final updated generation t exploration population. By generating initial solutions in different spaces through four re-initialization methods, the algorithm's search capability and population diversity are enhanced while updating and eliminating poor gray wolf individuals.
[0185] The position initialization method in this embodiment includes four types:
[0186] The first position initialization method is as follows: randomly initialize the position vector of the e1th gray wolf individual in the tth generation exploration population; each dimension of each position vector is randomly generated with a random number between (0,1) and replaced with the original position vector;
[0187] The second position initialization method is to use equation (16) to update the position vector of the e1th gray wolf individual in the t-th generation of the exploration population. Thus, the updated position vector is obtained.
[0188]
[0189] In equation (16), r a A random number in the range (0,1);
[0190] The third position initialization method is to use equation (17) to update the position vector of the e1th gray wolf individual in the t-th generation of the exploration population. Thus, the updated position vector is obtained.
[0191]
[0192] In equation (17), r b A random number in the range (0,1);
[0193] The fourth position initialization method is to update the position vector of the e1th gray wolf individual in the t-th generation exploration population using equation (18). Thus, the updated position vector is obtained.
[0194]
[0195] In equation (18), r c It is a random number in (0,1).
[0196] Step 3.5: Select the gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the t-th generation development population as the three leader wolves of the t-th generation development population, denoted as α2 wolf, β2 wolf, and δ2 wolf, respectively. Denote the position vectors of the three leader wolves in the t-th generation development population as follows:
[0197] By guiding the update of the t-th generation development population through the position of the leader wolf, a preliminary updated t-th generation development population is obtained. Then, the wolf pack communication mechanism is used to further update the population, resulting in a second updated t-th generation development population. Individual gray wolves are guided to move near the leader wolf with better fitness values, increasing the possibility of searching for a better solution.
[0198] In this embodiment, step 3.5.1 defines the decreasing parameter of the t-th generation development population as a2, initializes a2 = 2, and defines the random vector of the first development population as A. 21 The second development population random vector is A. 22 The third development population random vector is A. 23 The adjustment vector for the first development population is C. 21 The adjustment vector for the second development population is C. 22 The adjustment vector for the third development population is C. 23 and initialize A 21 A 22 A 23 C 21 C 22 C 23 =0;
[0199] Step 3.5.2: Update the u2th development population random vector A using equation (19). 2,u2 The updated u2th development population random vector A' is obtained. 2,u2 :
[0200] A' 2,u2 =2a²·r³-a² (19)
[0201] In equation (19), r3 is a random number in (0,1);
[0202] Step 3.5.3: Update the adjustment vector C of the u2th development population using equation (20). 2,u2 The updated u2th development population adjustment vector C' is obtained. 2,u2 :
[0203] C' 2,u2 =2·r4 (20)
[0204] In equation (20), r4 is a random number in (0,1);
[0205] Step 3.5.4: Update a2 using equation (21) to obtain the updated exploration population decline parameter a'2:
[0206]
[0207] Step 3.5.5: Calculate the distance vector between the u2th leader wolf and its prey in the t-th generation development population using equation (22).
[0208]
[0209] In equation (14), This represents the position vector of the u2th leader wolf in the t-th generation of the developmental population. This represents the position vector of the e2th gray wolf individual in the t-th generation of the development population;
[0210] Step 3.5.6: Use equation (23) to obtain the updated position vector of the e2th gray wolf individual in the t-th generation development population.
[0211]
[0212] Step 3.5.7: Decode the position vector using ROV rules and scheduling rules to obtain the e2nd scheduling scheme of generation t; and calculate respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant;
[0213] Step 3.5.8: Following the process from Step 3.5.2 to Step 3.5.7, update each gray wolf individual in the t-th generation development population to obtain the initially updated t-th generation development population; allow some of the weaker gray wolf individuals in the development population to gradually move to the vicinity of the stronger gray wolf individuals to enhance the search ability of the development population, and this search ability becomes stronger with the number of iterations.
[0214] Step 3.5.8: Update the t-th generation development population after the initial update based on the wolf pack communication mechanism;
[0215] Step 3.5.8.1: Sort the wolf individuals in the t-th generation development population after the initial update in descending order of fitness value, find the wolf individuals with the median fitness value, and thus divide the t-th generation development wolf population after the initial update into two groups of wolf packs, and the difference in the number of the two groups of wolf packs is less than or equal to 1.
[0216] Step 3.5.8.2: Determine the total number of times d, the number of wolf individuals in the t-th generation development population, according to equation (24):
[0217]
[0218] In equation (24), d min ,d max These represent the minimum and maximum update ratios, respectively. This indicates a round-down operation;
[0219] Step 3.5.8.3: In the current update, randomly select one wolf from each of the two wolf packs, and use equation (25) to move the wolf with the poor fitness value to obtain the updated position vector of the wolf with the poor fitness value.
[0220]
[0221] In equation (25), This represents the position vector of the wolf with the better fitness value selected from each of the two wolf packs in the current update. r5 represents the position vector of a wolf with poor fitness; r5 represents a random number in the range (0,1).
[0222] Step 3.5.8.4: Execute the process of step 3.5.8.3 d times to obtain the updated generation t development population.
[0223] If the fitness value of a gray wolf individual in the updated generation t development population is less than the mean fitness value of the updated generation t development population, then a neighborhood search method is selected using roulette wheel selection to reschedule the position vectors of gray wolves in the updated generation t development population; otherwise, the position vectors of the current gray wolves remain unchanged, thus obtaining the final updated generation t development population. By using an efficient neighborhood search method to reschedule the updated individuals from the workpiece production order, the possibility of finding a potential optimal solution is enhanced.
[0224] The neighborhood search method in this embodiment includes two types:
[0225] The first neighborhood search method is as follows: From the updated generation t development population, randomly select three elements of a position vector, shuffle them sequentially, and obtain the shuffled position vector. Calculate the fitness values of the position vectors before and after shuffling. If the fitness value of the shuffled position vector is better than that of the original position vector, replace the original position vector with the shuffled position vector; otherwise, keep the original position vector unchanged. Figure 2 As shown, the initial position vector {6,1,3,5,2,4} is selected with three elements 1, 5, and 4. The order is shuffled to get 4, 5, and 1. Thus, the updated position vector is {6,4,3,5,2,1}.
[0226] The second neighborhood search method is as follows: Randomly select a position vector from the updated generation t of the development population. Divide the position scalars in the position vector into two groups according to their odd or even positions. Shuffle the order of the position scalars within each group. Then merge the two shuffled groups according to their odd or even positions to obtain a shuffled position vector. Calculate the fitness values of the position vectors before and after shuffling. If the fitness value of the shuffled vector is better than that of the original vector, replace the original position vector with the shuffled one; otherwise, leave the original position vector unchanged. Figure 3 As shown, the initial position vector {6,1,3,5,2,4} is divided into two groups {2,3,6} and {5,1,4}, and the order is shuffled and then combined to obtain a new position vector {2,5,3,1,6,4}.
[0227] Step 3.6: Determine if t = τ × Δ is true. If true, assign τ + 1 to τ, and integrate the t-th generation exploration wolf pack and the t-th generation development wolf pack into a t-th generation population. Then return to step 3.3 and execute sequentially. Otherwise, execute step 3.7. Wherein, Δ represents the local iteration threshold. Merging and redistributing the exploration and development sub-populations facilitates information exchange between sub-populations and maintains a certain level of population diversity.
[0228] Step 3.7: Take the smaller fitness value between α1 wolves in the exploration population of generation t and α2 wolves in the development population of generation t as the local optimal fitness value of generation t. When t = 1, the local optimal value of generation t is the global optimal fitness value; when t ≥ 2, compare the local optimal fitness value of generation t with the global optimal fitness value. If the local optimal fitness value of generation t is better, then the local optimal fitness value of generation t is assigned to the global optimal fitness value; otherwise, the global optimal fitness value remains unchanged.
[0229] Step 3.8: Determine whether t = Max_t is true. If it is true, then take the gray wolf individual corresponding to the global optimal fitness value as the optimal production plan. Otherwise, assign t+1 to t and return to step 3.4 to execute sequentially.
[0230] In this embodiment, an electronic device includes a memory and a processor. The memory stores a program that supports the processor in executing the methods described above, and the processor is configured to execute the program stored in the memory.
[0231] In this embodiment, a computer-readable storage medium stores a computer program, which is executed by a processor to perform the steps of the above method.
Claims
1. A hybrid flow shop intelligent scheduling method considering machine load balancing, characterized in that, The procedure is as follows: Step 1: Obtain the set of workpieces to be processed, denoted as... , Indicates the first One workpiece, Indicate the number of workpieces; obtain the set of parallel machines for each operation, denoted as . , Indicates the first A set of parallel machines in a process, and , Indicates the first The first step in the process Parallel machines, Indicates the number of processes. Indicates the first The number of parallel machines in a process step; let Indicates the processing of the first One workpiece The process set; Indicates the processing of the first One workpiece The corresponding number Each process, recording the processing time of each workpiece on the corresponding parallel machine. , Indicates the first One workpiece The The first process is in the The processing time on the parallel machines; let the set of completion times for all workpieces be . ,in, Indicates the first One workpiece Completion time; This represents the total number of machines, and ; Step 2: Construct a production scheduling model for the hybrid flow workshop; Step 2.2.1: Construct the objective function of the production scheduling model using equation (1). : (1) In equation (1), For the first parallel machines The total processing time, and ,in, Let the decision variable be the first variable, if the first variable is the second variable, then the first variable is the third variable. One workpiece The In the next process Processing on a parallel machine would make Set it to 1; otherwise, let it be 1. =0; Step 2.2.2: Construct the constraints of the production scheduling model using equations (2)-(6): (2) (3) (4) (5) (6) Equations (2) and (3) represent one operation in which a parallel machine can process only one workpiece at a time; among them, Let x represent the decision variable, if x is the x-th... Processing the first on a parallel machine One workpiece The corresponding number Steps Prior to processing One workpiece The corresponding number Steps Processing, then Otherwise, let ; Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps The start time, Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps End time, Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps The start time, Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps End time, Represents an infinite number; Equation (4) indicates that the next process can only begin after the previous process is completed for the same workpiece; where, Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps The start time, Indicates the first Processing the first on a parallel machine One workpiece The corresponding number Steps End time; Equation (5) indicates that each process can only be processed by one of the parallel machines; Equation (6) represents the relationship between the start time and end time of the processing; Step 2.2.3: Construct two scheduling rules: First scheduling rule: Prioritize parallel machines with low load; if the previous process is completed, when selecting the parallel machine for the next process, select the idle parallel machine with the lowest load to process the workpiece. Second scheduling rule: Prioritize parallel machines with shorter processing times; if the previous process is completed, when selecting the parallel machine for the next process, choose the idle parallel machine with the shortest processing time to process the workpiece. Step 3: Solve the production scheduling model using the improved Grey Wolf algorithm according to the two production scheduling rules; Step 3.1, Parameter Initialization: The current iteration number is t, and t is initialized to 1. The maximum iteration number is defined as... Define multiples and initialize ; Step 3.2: Generate position vectors using the improved Bernouilli shift mapping method, and decode the position vectors to obtain the first... The first generation One production scheduling plan; Step 3.2.1: Use equation (7) to generate the first... The first generation of the population The position vector of each gray wolf Thus generating the first In the generation population The position vector of each gray wolf : (7) In equation (7), Indicates the mapping adjustment parameters; This represents the first value obtained after Bernouilli shift mapping. The first generation of the population The (n+1)th position scalar of a number of individual gray wolves. Indicates the first The first generation of the population Let the scalar of the nth position of a number of individual gray wolves, when n=1, be... for Random numbers in the data; Step 3.2.2: In chaotic mapping, if or , Indicates the index of the position vector, and Then, use equation (8) to... To cause a disturbance Re-entering chaos; (8) In equation (8), Indicates the remainder. This indicates the generation of a random number in the range (0,1); Step 3.2.3: Apply ROV rules and scheduling rules to the position vector. Decode to obtain the first The first generation One production scheduling plan; Step 3.3: Divide the data according to the parallel fusion mechanism. t Exploration population, first t Develop the population on behalf of others; Step 3.4, place the first The gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the exploration population were selected as the first... The three leader wolves who were tasked with exploring the population were named as follows: Wolf, Wolf, Wolves, and the first The position vectors of the three leader wolves in the exploration population are denoted as follows: , , ; Update the first through a dynamic weight mechanism The exploration population was used to obtain the first updated population. Exploration populations; If the initial update of the first The fitness value of gray wolves in the exploration population is lower than that of the individuals after the initial update. The mean fitness value of the exploration population is used to select a location initialization method using roulette wheel selection for the first update. Update the position vector of the current gray wolf individual in the exploration population; otherwise, keep the position vector of the current gray wolf individual unchanged, thus obtaining the final updated position vector. Exploration populations; Step 3.5, place the first The gray wolf individuals with the smallest, second smallest, and third smallest fitness values in the development population are considered as the first... The three leader wolves of the development population are denoted as... Wolf, Wolf, Wolves, and the first The position vectors of the three leader wolves in the development population are denoted as follows: , , ; Guided by the position of the leader wolf, the update is now complete. The developed population received the first update. The population is developed on behalf of others, and then further updated using the wolf pack communication mechanism to obtain the updated version. Develop the population on behalf of others; If the updated version In the developed population, the fitness value of individual gray wolves is less than that of the individuals after the next update. If the mean fitness value of the development population is used, then a neighborhood search method is selected using the roulette wheel algorithm to select the next updated value. The position vectors of individual gray wolves in the development population are rescheduled; otherwise, the current position vectors of individual gray wolves are kept unchanged, thus obtaining the final updated position vector. Develop the population on behalf of others; Step 3.6, Judgment Is it true? If it is true, then... Assign to and the first Wolf packs and the first The development team integrated the wolf pack into a first If the population is queried, return to step 3.3 and execute sequentially; otherwise, execute step 3.
7. Indicates the local iteration threshold; Step 3.7, take the first... In the exploration population Wolves and the First In the development population The smaller fitness value among wolves is used as the first The local optimal stress value of the generation, when At that time, the first The local optimum value of the generation is the global optimum fitness value; when At that time, the first Compare the local optimal fitness value of the generation with the global optimal fitness value. If the first generation's fitness value is the best, then the second generation's fitness value is the best. If the local optimal fitness value of the generation is better, then the th generation... The local optimal fitness value is assigned to the global optimal fitness value; otherwise, the global optimal fitness value remains unchanged. Step 3.8, Judgment If the condition is met, the gray wolf individual corresponding to the globally optimal fitness value is taken as the optimal production plan; otherwise, the optimal production plan is determined. Assign to Then, return to step 3.4 and execute sequentially.
2. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 1, characterized in that, Step 3.2.3 includes: Step 3.2.3.1, for Sort the positional scalars in ascending order, and then process them according to the sorted index. The values of the scalars at each position are assigned to obtain the workpiece processing sequence for the first process. Step 3.2.3.2: In the second to the last process, for each workpiece that has completed the production of the previous process, first select a parallel machine for production according to the first production scheduling rule. If there is no minimum machine load, then select a parallel machine for production according to the second production scheduling rule.
3. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 2, characterized in that, Step 3.3 includes: Step 3.3.1, calculate the first... Objective function of each gray wolf individual in the population And use it as its fitness value, and then sort it in descending order of fitness value for the th Each individual gray wolf in the population is sorted to obtain the sorted first generation. t The corresponding fitness value of the generation population is denoted as ,in, Indicates the sorted order of the first... t The first generation of the population i The fitness value of an individual gray wolf; S The first represents The number of individual gray wolves in the exploration or development population; Step 3.3.2: Sort the first... t The generational population interval is divided into the first generation. t Exploration population and the t Development of seedlings ,in, Indicates the first t The first in the exploration population The fitness value of an individual gray wolf. Indicates the first t The first in the development population The fitness value of an individual gray wolf.
4. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 3, characterized in that, The dynamic weighting mechanism in step 3.4 includes: Step 3.4.1, place the first exploration population Wolf, Wolf, Any one of the wolves, the leader wolf, is designated as the [number]. There are 1 leader wolf, and the fitness value of each leader wolf is calculated based on the recorded position vector; Step 3.4.2, for the first Normalizing the reciprocal of the fitness value of the first leader wolf, we obtain the first... The first in the exploration population Normalized fitness value of a leader wolf ; Step 3.4.3: Calculate the first step using equation (9). The first in the exploration population The entropy of a leader wolf : (9) Step 3.4.4: Calculate the first step using equation (10). The first in the exploration population The weight of a leader wolf : (10) Step 3.4.5, Define the first The decline parameter of the exploration population is and initialize , define the first The random vector of the first exploration population in the exploration population is The second exploration population random vector is The third exploration population random vector is The first exploration population adjustment vector is The second exploration population adjustment vector is The third exploration population adjustment vector is and initialize =0; Step 3.4.6: Update the first step using equation (11). A random vector of an exploration population The updated version A random vector of an exploration population : (11) In equation (11), yes Random numbers; Step 3.4.6: Update the first step using equation (12). Adjustment vector for each exploration population , and get the updated number Adjustment vector for each exploration population : (12) In equation (12), yes Random numbers; Step 3.4.7: Update using equation (13) The updated exploration population decline parameters were obtained. : (13) Step 3.4.8: Calculate the first step using equation (14). The first in the exploration population The distance vector between the leader wolf and its prey : (14) In equation (14), Indicates the first The first in the exploration population The position vector of the leader wolf. Indicates the first The first in the exploration population The position vectors of individual gray wolves; Step 3.4.9: Use equation (15) to obtain the first... The first in the exploration population The position vector of each individual gray wolf is updated. ; (15) Step 3.4.10: Apply ROV rules and scheduling rules to the position vector. Decode to obtain the first The first generation Each production scheduling plan; and calculates respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant; Step 3.4.11: Following the process of steps 3.4.6-3.4.10, perform the following steps... Each individual gray wolf in the exploration population was processed to obtain the initially updated [number] [series / data]. Exploration of the population.
5. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 4, characterized in that, The position initialization method in step 3.4 includes four types: The first method of position initialization is: randomly initialize the position... The first in the exploration population The position vectors of individual gray wolves; each dimension of the position vector is randomly generated with a random number between (0,1) and replaced with the original position vector; The second position initialization method is: using equation (16) to update the position... The first in the exploration population The position vector of each gray wolf Thus, the updated position vector is obtained. : (16) In equation (16), A random number in the range (0,1); The third position initialization method is: using equation (17) to update the position... The first in the exploration population The position vector of each gray wolf Thus, the updated position vector is obtained. : (17) In equation (17), A random number in the range (0,1); The fourth position initialization method is: using equation (18) to update the position. The first in the exploration population The position vector of each gray wolf Thus, the updated position vector is obtained. : (18) In equation (18), It is a random number in (0,1).
6. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 5, characterized in that, Step 3.5 includes: Step 3.5.1, Define the first The decline parameter of the development population is and initialize Define the first development population random vector as The second development population random vector is The third development population random vector is The adjustment vector for the first development population is The second development population adjustment vector is The third development population adjustment vector is and initialize =0; Step 3.5.2: Update the first equation using equation (19). A random vector for the development population , and get the updated number A random vector for the development population : (19) In equation (19), yes Random numbers; Step 3.5.3: Update the first step using equation (20). Individual development population adjustment vector , and get the updated number Individual development population adjustment vector : (20) In equation (20), yes Random numbers; Step 3.5.4: Update using equation (21) The updated exploration population decline parameters were obtained. : (21) Step 3.5.5: Calculate the first step using equation (22). The first in the development population u Distance vectors between two leader wolves and their prey : (22) In equation (14), Indicates the first The first in the development population The position vector of the leader wolf. Indicates the first The first in the development population The position vectors of individual gray wolves; Step 3.5.6: Using equation (23), we obtain the first... The first in the development population The position vector of each individual gray wolf is updated. ; (23) Step 3.5.7: Decode the position vector using ROV rules and scheduling rules to obtain the first position vector. The first generation Each production scheduling plan; and calculates respectively. and The fitness value, if If the fitness value is better, then Assign to Otherwise, keep constant; Step 3.5.8: Following the process from Step 3.5.2 to Step 3.5.7, perform the following steps... Each individual gray wolf in the development population is updated to obtain the initial updated version. Develop the population on behalf of others; Step 3.5.8: Based on the wolf pack communication mechanism, update the first... Update the seed population on behalf of the developer; Step 3.5.8.1: Sort the pre-updated [number] [item] in descending order of fitness value. The wolf individuals in the development population are ranked, and the wolf with the median fitness value is found, thus updating the initial rank. The wolf packs developed on behalf of the developers are divided into two groups, and the difference in the number of wolves between the two groups is less than or equal to 1. Step 3.5.8.2: Determine the first step according to equation (24). The total number of updates for individual wolves in the development population. : (24) In equation (24), These represent the minimum and maximum values of the communication update ratio, respectively. This indicates a round-down operation; Step 3.5.8.3: In the current update, randomly select one wolf from each of the two wolf packs, and use equation (25) to move the wolf with the poor fitness value to obtain the updated position vector of the wolf with the poor fitness value. ; (25) In equation (25), This represents the position vector of the wolf with the better fitness value selected from each of the two wolf packs in the current update. This represents the position vector of a wolf pack individual with a poor fitness value; express Random numbers; Step 3.5.8.4: Follow the procedure in step 3.5.8.
3. d This leads to the updated version of the [number]th [time]. Develop the population on behalf of others.
7. The intelligent scheduling method for hybrid assembly line workshops considering machine load balancing according to claim 6, characterized in that, The neighborhood search method in step 3.5 includes two types: The first neighborhood search method is: starting from the updated... In the development population, three elements of a position vector are randomly selected and shuffled to obtain a shuffled position vector. The fitness values of the position vectors before and after shuffling are calculated. If the fitness value of the shuffled position vector is better than that of the original position vector, the original position vector is replaced with the shuffled position vector. Otherwise, the original position vector is left unchanged. The second neighborhood search method is: starting from the updated [number]... In the development population, a position vector is randomly selected, and the position scalars in the position vector are divided into two groups according to their odd or even positions. The order of the position scalars in each group is then shuffled. The two groups of position scalars are then merged according to their odd or even positions to obtain a shuffled position vector. The fitness values of the position vectors before and after shuffling are calculated. If the fitness value of the shuffled position vector is better than that of the original position vector, the original position vector is replaced with the shuffled position vector. Otherwise, the original position vector is left unchanged.
8. An electronic device, comprising a memory and a processor, characterized in that, The memory is used to store programs that support the processor in executing the intelligent scheduling method for hybrid production lines according to any one of claims 1-7, and the processor is configured to execute the programs stored in the memory.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is run by the processor, it executes the steps of the intelligent scheduling method for hybrid production lines as described in any one of claims 1-7.
Citation Information
Patent Citations
Method for solving flexible job shop scheduling based on particle swarm algorithm of longicorn beard search
CN111311077A
Production and maintenance scheduling method and system based on improved grey wolf algorithm
CN113011612A
