A flexible job-shop multi-objective scheduling method with limited AGV number
By improving the gazelle optimization algorithm and combining it with a hybrid chaotic strategy and elite group matrix guidance, a discretized population update and variable neighborhood search were designed to solve the problem of local optima and multi-objective optimization in the scheduling of finite AGV flexible workshops, achieving more efficient scheduling optimization.
Patent Information
- Application Number
- CN202510438556.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2045-04-09
AI Technical Summary
Existing flexible workshop scheduling methods with a limited number of AGVs are prone to getting stuck in local optima when dealing with highly complex problems. The algorithm parameter settings have a significant impact on the solution results, and it is difficult to make trade-offs in multi-objective optimization, making it difficult to effectively balance multiple objectives in practical applications.
An improved gazelle optimization algorithm is adopted, which initializes the population through a hybrid chaotic strategy, guides the population update by combining the elite population matrix, and designs a discretized population update method and a variable neighborhood local search strategy, including discrete encoding, crossover operation and variable neighborhood search, to improve the population utilization efficiency and the possibility of escaping local optima.
It significantly improves the solution quality and effectiveness of multi-objective scheduling in flexible workshops with a limited number of AGVs, enhances the algorithm's adaptability and solution efficiency, and better balances the trade-offs between multiple objectives.
Smart Images

Figure CN120386298B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of multi-objective scheduling, and particularly relates to a flexible job shop multi-objective scheduling method with limited AGV quantity. BACKGROUND
[0002] With the continuous development of mass customization and automation production, many extended problems of flexible job shop scheduling that are closer to actual production and manufacturing have emerged. The classic FJSP problem does not consider the transportation resource problem, i.e., it assumes that the number of automatic guided vehicles (AGVs) in the workshop is unlimited. However, in actual workshops, there are factors such as high AGV cost and limited quantity, limited workshop tracks, etc., and reasonable scheduling of workshop resources is an important way to improve the production efficiency of the workshop, reduce production cost and energy consumption. Therefore, the research on the FJSP integrated problem with limited AGV quantity (FJSP-AGV) is more in line with the actual production conditions and has important theoretical research value.
[0003] FJSP-AGV needs to solve four sub-problems simultaneously: assigning each production process to a machine that can handle it (job routing sub-problem), scheduling production processes on each machine (machine scheduling sub-problem), assigning each transportation task to a vehicle (transportation assignment sub-problem), and scheduling transportation tasks on each vehicle (vehicle scheduling sub-problem). Obviously, FJSP-AGV is a more complex NP-hard problem than FJSP.
[0004] In the existing research on multi-objective optimization of FJSP-AGV, some progress has been made, but there are still some deficiencies that limit its effectiveness and universality in practical applications. The following are some main deficiencies in the research on multi-objective problems of FJSP-AGV:
[0005] 1) Limitations of algorithm performance
[0006] Although some evolutionary algorithms show certain advantages in solving FJSP-AGV problems, they are still prone to fall into local optimal solutions when dealing with high complexity problems. In addition, the parameter settings of the algorithm have a great influence on the solution results, and lack adaptive adjustment mechanism.
[0007] 2) Trade-off of multi-objective optimization
[0008] In multi-objective optimization, how to effectively balance the trade-off between multiple objectives is a challenge. Existing researches often focus on one or a few objectives, while ignoring other important objectives. For example, finding the best balance point between minimizing the maximum completion time and minimizing the single maximum waiting time is still an unsolved problem.
[0009] In summary, the research on FJSP-AGV multi-objective problem still faces many challenges, and further exploration and improvement are needed to better meet the needs of actual workshop scheduling. SUMMARY
[0010] The application provides a flexible job shop with limited AGV quantity multi-objective scheduling method to solve the defects in the prior art.
[0011] In a first aspect, the application provides a flexible job shop with limited AGV quantity multi-objective scheduling method, comprising: S1, improving the gazelle optimization algorithm based on the Pareto optimal theory, initializing the population through a hybrid chaotic strategy, and updating the population guided by the elite group matrix; S2, discretizing the population update mode according to the characteristics of the FJSP-AGV problem, including the discrete update operation of the development stage and the exploration stage, and the discrete update operation of the population affected by the success rate of the predator; S3, adding a variable neighborhood local search strategy to improve the utilization efficiency of the population and the possibility of the algorithm jumping out of the local optimum, designing an improved gazelle multi-objective optimization algorithm based on variable neighborhood search, to realize flexible job shop multi-objective scheduling.
[0012] According to the flexible job shop with limited AGV quantity multi-objective scheduling method provided by the application, the population is initialized through a hybrid chaotic strategy in step S1, including: generating an initial population with the same proportion by using five different chaotic mapping methods, Chebyshev mapping, Circle mapping, Logistic mapping, Tent mapping and Sine mapping; adopting a three-layer discrete coding scheme based on the process, the length of the chromosome of each individual is 3I, I represents the total number of production processes in the job set; the 1st to Ith bits in the chromosome are process coding representing the processing order of all jobs, denoted as the OS segment; the I+1th to 2Ith bits are machine coding representing the processing machine allocation corresponding to the process order, denoted as the MS segment; the 2I+1th to 3Ith bits are vehicle coding representing the corresponding transport vehicle assignment, denoted as the AS segment; wherein the discrete coding method includes: generating a chaotic sequence with a length of I through chaotic mapping, sorting the chaotic sequence in ascending order, and obtaining the corresponding sequence number for each element; generating continuous numbers from 1 to I corresponding to each job and its process according to the job number and its process number; finding the corresponding job number for the elements in the chaotic sequence, and generating a complete process sequence as the OS segment according to the number of times each job appears; in the MS segment, a random coding method is adopted, and each process corresponding to the MS segment code is randomly generated in the selected machine of the process; the AS segment also adopts a random coding method, and each AS code is randomly generated in all AGV numbers.
[0013] According to the multi-objective scheduling method for a flexible workshop with a limited number of AGVs provided by the present invention, step S1 uses an elite group matrix to guide population update, including: modifying the elite matrix under the single-objective solution requirement into an elite group matrix to adapt to the multi-objective solution requirements. The elite group matrix IE is specifically:
[0014]
[0015] Where n is the total number of gazelles; d represents the dimension of the optimization problem definition, x″ i,j This represents the position vector of a non-dominant gazelle individual.
[0016] According to the multi-objective scheduling method for a flexible workshop with a limited number of AGVs provided by the present invention, the discrete update operations in the development phase of step S2 include: applying a POX crossover operation to the OS segment to update the individual position; performing corresponding crossover operations on the MS and AS segments following the OS segment to ensure that the corresponding information of the OS, MS, and AS segments remains consistent; the discrete update operations in the exploration phase of step S2 include: the update operation describing the gazelle escape behavior: first applying an improved POX crossover operation to the OS segment, denoted as the IPOX1 crossover operation; then, performing a single-point mutation operation on the MS and AS segments according to probability S; the update operation describing the predator pursuit behavior: first applying an improved POX crossover operation to the OS segment, denoted as the IPOX2 crossover operation; then, performing a single-point mutation operation on the MS and AS segments according to probability S.
[0017] According to the multi-objective scheduling method for a flexible workshop with a limited number of AGVs provided by the present invention, the step of IPOX1 cross-operation includes: dividing the work into three subsets γ1, γ2, and γ3 according to a preset rule; wherein, the preset rule includes dividing the three subsets equally when they can be divided equally, and allocating the excess work to the first two subsets γ1 and γ2 when they cannot be divided equally; from elite individual IE i Find the OS code of the corresponding subset γ1 in the IE code, and follow the IE code. i The position in the middle is copied to the new individual gazelle. i+1 In the process, corresponding operations are performed on the MS and AS codes corresponding to the OS; parameter τ1 records the individual gazelle for each job in subsets γ2 and γ3. i The position of each occurrence and its corresponding MS and AS codes; find the subsets γ2 and γ3 in Gazelle respectively. i The corresponding OS codes are denoted as OS2 and OS3. The code in OS3 is randomly inserted into OS2, and then the resulting code sequence is sequentially inserted into Gazelle. i+1 OS idle location; based on records τ1 and subsets γ2 and γ3 in gazelle i+1The number of occurrences, the OS and its corresponding MS, AS code is restored to be consistent with the cross before; wherein, when the direction constant is 1, the IE i With gazelle i The cross is carried out according to the above steps; when the direction constant is-1, the IE i With gazelle i The role position in the above steps is exchanged.
[0018] According to the limited AGV quantity flexible job shop multi-objective scheduling method provided by the application, the step of the IPOX2 cross operation includes: dividing jobs into two subsets γ4 and γ5, and calculating the number of jobs of the job subset γ4 according to the cumulative effect of the predator CF and the linear inertia weight w; creating a parameter τ2 to record the position of each job in the IE i Each time and the corresponding MS and AS code, creating a parameter τ3 to record the position of each job in the gazelle i Each time and the corresponding MS and AS code; when the direction constant is 1, inserting the code corresponding to the subset γ4 in the OS segment of the IE i Into the corresponding position of the OS of the gazelle i+1 When the direction constant is-1, the code corresponding to the subset γ4 in the OS of the IE i Is inserted into the corresponding position of the OS of the gazelle i+1 In reverse order; the code corresponding to the subset γ5 in the OS of the gazelle i Is sequentially inserted into the gazelle i+1 According to the records τ2 and τ3, the corresponding relationship between the OS of the gazelle i+1 And the MS and AS segment is restored to obtain the complete gazelle i+1 .
[0019] According to the limited AGV quantity flexible job shop multi-objective scheduling method provided by the application, the step S2 applies the success rate of the predator to influence the discrete update operation of the population, including two update modes:
[0020] The first update mode is: setting the upper limit of the OS code cutting length of the gazelle i , randomly cutting a section of the OS code of the gazelle i And inserting it into the corresponding position of the OS of the gazelle i+1 ; creating a parameter τ4 to record the position of each job in the gazelle i Each time and the corresponding MS and AS code; sequentially inserting the remaining code of the OS of the gazelle i Into the gazelle i+1Idle position; according to record τ4, restore the correspondence between the OS of gazelle i+1 and MS, AS, and get the complete gazelle i+1 ;
[0021] The second updating method is: dividing the jobs into two subsets γ6 and γ7, calculating the number of jobs in subset γ6 according to the success rate of the predator; creating parameter τ6 record the position of each job in subset γ6 in each occurrence in random individual gazelle r1 and the corresponding MS and AS codes, creating τ7 record the position of each job in subset γ7 in each occurrence in gazelle i and the corresponding MS and AS codes; inserting the codes corresponding to subset γ6 in the OS of gazelle r1 into the corresponding positions in the OS of gazelle i+1 ; inserting the codes corresponding to subset γ7 in the OS of gazelle i into the corresponding positions in gazelle i+1 ; according to records τ6 and τ7, restoring the correspondence between the OS of gazelle i+1 and MS, AS, and getting the complete gazelle i+1 ; according to the probability r, performing single-point mutation operation on the MS and AS codes of gazelle i+1 , and getting the final gazelle i+1 .
[0022] According to the flexible job shop multi-objective scheduling method of limited AGV quantity provided by the application, step S3 comprises: constructing a key path based on a single-code network diagram, designing a double-node mechanism on the basis of the single-code network diagram: an information node IN is used for recording existing feasible solution information, and a calculation node CN is used for calculating time to solve the key path; three kinds of neighborhood search modes are designed; including: a search mode based on a key path, denoted as VNS1: randomly selecting a process on a key path, and selecting an optimal combination in the MS and AS combination corresponding to the process; a search mode based on a key path, denoted as VNS2: judging the process on the key path, if the process is the first process in the job to which it belongs, then moving the order of the process in the process code by one position; a search mode based on a non-key path, denoted as VNS3: randomly selecting three processes in the code, respectively combining the processing order, processing machine and transport vehicle, and selecting the optimal combination; based on the three kinds of neighborhood search modes, variable neighborhood search is performed.
[0023] The method for multi-objective scheduling of a flexible job shop with a limited number of AGVs provided by the application comprises the following steps: determining a critical path, wherein the determining process of the critical path comprises the following steps: constructing an information node IN according to existing feasible solution information, establishing a directed arc between machining nodes using the same machine, establishing a directed arc between an empty node and a loaded node, and establishing a directed arc between machining nodes and transportation nodes processing the same job according to time sequence to obtain a directed arc set; constructing a calculation node CN according to the existing IN; arranging the nodes in the CN in descending order of the earliest end time EF, combining the directed arc set, and reversely calculating the latest end time LF, the latest start time LS and the free float FF; finding all the nodes with FF of 0 as critical nodes, combining the directed arc set, and arranging all the critical paths through depth-first search.
[0024] The method for multi-objective scheduling of a flexible job shop with a limited number of AGVs provided by the application comprises the following steps: determining a critical path, wherein the determining process of the critical path comprises the following steps: constructing an information node IN according to existing feasible solution information, establishing a directed arc between machining nodes using the same machine, establishing a directed arc between an empty node and a loaded node, and establishing a directed arc between machining nodes and transportation nodes processing the same job according to time sequence to obtain a directed arc set; constructing a calculation node CN according to the existing IN; arranging the nodes in the CN in descending order of the earliest end time EF, combining the directed arc set, and reversely calculating the latest end time LF, the latest start time LS and the free float FF; finding all the nodes with FF of 0 as critical nodes, combining the directed arc set, and arranging all the critical paths through depth-first search. v The method for multi-objective scheduling of a flexible job shop with a limited number of AGVs provided by the application comprises the following steps: determining a critical path, wherein the determining process of the critical path comprises the following steps: constructing an information node IN according to existing feasible solution information, establishing a directed arc between machining nodes using the same machine, establishing a directed arc between an empty node and a loaded node, and establishing a directed arc between machining nodes and transportation nodes processing the same job according to time sequence to obtain a directed arc set; constructing a calculation node CN according to the existing IN; arranging the nodes in the CN in descending order of the earliest end time EF, combining the directed arc set, and reversely calculating the latest end time LF, the latest start time LS and the free float FF; finding all the nodes with FF of 0 as critical nodes, combining the directed arc set, and arranging all the critical paths through depth-first search. v The method for multi-objective scheduling of a flexible job shop with a limited number of AGVs provided by the application comprises the following steps: determining a critical path, wherein the determining process of the critical path comprises the following steps: constructing an information node IN according to existing feasible solution information, establishing a directed arc between machining nodes using the same machine, establishing a directed arc between an empty node and a loaded node, and establishing a directed arc between machining nodes and transportation nodes processing the same job according to time sequence to obtain a directed arc set; constructing a calculation node CN according to the existing IN; arranging the nodes in the CN in descending order of the earliest end time EF, combining the directed arc set, and reversely calculating the latest end time LF, the latest start time LS and the free float FF; finding all the nodes with FF of 0 as critical nodes, combining the directed arc set, and arranging all the critical paths through depth-first search. v The method for multi-objective scheduling of a flexible job shop with a limited number of AGVs provided by the application comprises the following steps: determining a critical path, wherein the determining process of the critical path comprises the following steps: constructing an information node IN according to existing feasible solution information, establishing a directed arc between machining nodes using the same machine, establishing a directed arc between an empty node and a loaded node, and establishing a directed arc between machining nodes and transportation nodes processing the same job according to time sequence to obtain a directed arc set; constructing a calculation node CN according to the existing IN; arranging the nodes in the CN in descending order of the earliest end time EF, combining the directed arc set, and reversely calculating the latest end time LF, the latest start time LS and the free float FF; finding all the nodes with FF of 0 as critical nodes, combining the directed arc set, and arranging all the critical paths through depth-first search.
[0025]
[0026] wherein V is the number of successful VNS2 improvements, D is the number of failed VNS2 improvements, ε is a preset constant, and R0 is an initial probability.
[0027] β is an improvement effect, and the calculation formula of β is as follows:
[0028]
[0029] wherein f1 and f2 are the maximum completion time and the single maximum waiting time before improvement respectively, and f1' and f2' are the maximum completion time and the single maximum waiting time after improvement respectively.
[0030] The application provides a flexible job shop multi-objective scheduling method with a limited number of AGVs, which is improved by combining the Pareto theory and the GOA (Gazelle Optimization Algorithm), introducing a hybrid chaos strategy to generate an initial solution, and designing a discrete population updating mode combined with the problem characteristics and the core design concept of the GOA algorithm. BRIEF DESCRIPTION OF DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the present application or prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0032] Figure 1 Fig. 1 is a flowchart of the flexible job shop multi-objective scheduling method with a limited number of AGVs provided by the application;
[0033] Figure 2 Fig. 2 is an encoding schematic diagram provided by the application;
[0034] Figure 3 Fig. 3 is an example diagram of the discrete encoding provided by the application;
[0035] Figure 4 Fig. 4 is an example diagram of the IPOX1 crossover operation provided by the application;
[0036] Figure 5 Fig. 5 is an example diagram of the IPOX2 crossover operation provided by the application when the direction constant is negative one;
[0037] Figure 6 Fig. 6 is an example diagram of constructing a critical path based on a single-character network diagram provided by the application;
[0038] Figure 7 Fig. 7 is a flowchart of the variable neighborhood search algorithm provided by the application;
[0039] Figure 8 Fig. 8 is a machine layout schematic diagram of the Deroussi data set provided by the application;
[0040] Figure 9A comparison chart of solution set distribution of each algorithm provided by the application on Deroussi data set example fjsp1 is shown in the figure.
[0041] Figure 10 A comparison chart of solution set distribution of each algorithm provided by the application on Deroussi data set example fjsp4 is shown in the figure. DETAILED DESCRIPTION
[0042] In order to make the objects, technical solutions and advantages of the present application clearer, the technical solutions in the present application will be described clearly and completely below with reference to the drawings in the present application. Obviously, the described embodiments are some embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative labor fall within the protection scope of the present application.
[0043] Figure 1 A flowchart of the multi-objective scheduling method for a flexible job shop with a limited number of AGVs provided by the application is shown in the figure, and the multi-objective scheduling method for a flexible job shop with a limited number of AGVs provided by the application will be described below with reference to the figure. Figure 1 The technical solutions of the present application will be described below, in which popsize represents the population size, and iter represents the current iteration number.
[0044] S1, the gazelle optimization algorithm is improved based on the Pareto optimal theory, the population is initialized through a hybrid chaos strategy, and the elite group matrix is used to guide population updating.
[0045] Firstly, the Pareto optimal theory is briefly described:
[0046] (1) Decision variable space
[0047] Let x be a decision variable vector, n be the dimension of the decision variable, and x represent the design variable to be optimized. X is the feasible region of the decision variable, representing the set of all decision variables satisfying the constraint conditions.
[0048] (2) Objective function space
[0049] Let there be m objective functions f1(x), f2(x),..., f m (x), each objective function is f i (x): R n → R, i = 1, 2,..., m, and the goal is to minimize these objective functions simultaneously. The objective of a multi-objective optimization problem can be expressed as:
[0050] min F(x) = (f1(x), f2(x),..., f m (x))(1)
[0051] Where F(x) is a target vector, representing the value of all objective functions.
[0052] (3) Constraints
[0053] Multi-objective optimization problems are usually subject to some constraints, which are divided into equality constraints and inequality constraints:
[0054] Inequality constraints:
[0055] g j (x)≤0,j=1,2,...,p(2)
[0056] Where g j (x) is the inequality constraint function, and p is the number of inequality constraints.
[0057] Equality constraints:
[0058] h k (x)=0,k=1,2,...,q(3)
[0059] Where h k (x) is the equality constraint function, and q is the number of equality constraints.
[0060] (4) Pareto dominance
[0061] For any two decision variables a and b, a, b∈X, there are two relationships:
[0062] First: a dominates b, a<b, for a given feasible point a, f i (a)≤f i (b), and f i (a)<f i (b).
[0063] Second: a is indifferent to b, a~b, when and only when a does not dominate b, and b does not dominate a.
[0064] (5) Pareto optimal solution
[0065] Pareto optimal solution refers to the decision vector x * ∈X, which satisfies x<x * in the decision space X, and the decision vector x * is called Pareto optimal solution, also known as non-dominated solution.
[0066] (6) Pareto frontier
[0067] The Pareto front is the set of all Pareto optimal solutions in the objective space. The set of objective function values corresponding to all Pareto optimal solutions of a multi-objective optimization problem forms a set which is often used in multi-objective problems to represent a set of best trade-off solutions.
[0068] Further, the population initialization process is described as follows:
[0069] (1) The original initialization method:
[0070] GOA is a population-based optimization algorithm, and each randomly initialized oryx (X) is a candidate solution. The candidate solutions form an n*d matrix, which is expressed as follows:
[0071]
[0072] Where X is the position vector matrix composed of candidate solutions; x i,j is the vector position of the i-th oryx individual in the j-th dimension; n is the total number of oryxes; d represents the dimension defined by the optimization problem. x i,j is expressed as follows:
[0073] x i,j = rand × (UB j -LB j )+LB j (5)
[0074] Where rand represents a random number in [0, 1]; UB j and LB j represent the upper and lower bounds of the j-th dimension, respectively.
[0075] (2) Hybrid chaotic mapping initialization
[0076] Five different chaotic mapping methods, Chebyshev Map, Circle Map, Logistic Map, Tent Map and Sine Map, are used to generate initial solutions using the chaotic mapping strategy.
[0077] 1) Chebyshev Map:
[0078] x n+1 = cos(a·arccos(x n ))
[0079] Where a is an integer parameter, usually a = 2 or a = 4.
[0080] 2) Circle Map
[0081]
[0082] where Ω and K are control parameters, commonly used values are 0.2 and 0.5.
[0083] 3) Logistic Map
[0084] x n+1 = cx n (1 - x n )
[0085] where c is a control parameter, usually take c = 4 to ensure chaotic behavior.
[0086] 4) Tent Map
[0087]
[0088] where m is a control parameter, it should be noted that m = 0.5 is in a short period of state, m and the initial value x0 take the same value at the same time the mapping evolves into a periodic system.
[0089] 5) Sine Map
[0090] x n+1 = b sin (πx n )
[0091] where b is a control parameter, usually take b = 4.
[0092] GOA is a kind of population-based optimization algorithm, five kinds of chaotic mapping are generated with the same proportion of initial population. Each randomly initialized oryx (X) is a candidate solution. Candidate solutions form a n*d matrix, expressed as follows:
[0093]
[0094] where X is the position vector matrix composed of candidate solutions; x i,j is the vector position of the i-th oryx individual in the j-th dimension; n is the total number of oryx; d represents the dimension defined by the optimization problem.
[0095] Further, the following describes the way of discrete coding of population individuals:
[0096] (1) Basic three-layer discrete coding method
[0097] According to the characteristics of FJSP-AGV problem, a three-layer coding scheme based on process is adopted, and the length of each individual chromosome is 3I, where I represents the total number of production processes in the job set. The 1st to Ith bits in the chromosome represent the processing order of all jobs, denoted as OS, the I+1th to 2Ith bits represent the processing machine allocation corresponding to the process order, denoted as MS, and the 2I+1th to 3Ith bits represent the corresponding transport vehicle assignment, denoted as AS. Figure 2is the encoding schematic diagram provided by the present application, which shows the feasible scheduling encoding of 5 jobs, 8 machines and 2 AGVs.
[0098] Wherein, the FJSP-AGV problem refers to the scheduling problem integrated with the flexible job shop scheduling problem (FJSP) and the automated guided vehicle (AGV).
[0099] Wherein, the OS segment is the process encoding, and each number is the job number. From left to right, the number of the same number appearing represents the process number of the job. For example, the first 5 numbers in the OS segment: 23141, which respectively correspond to jobs J2, J3, J1, J4 and J1, and the number 1 appears twice, representing the first process O 11 and the second process O 12 of J1. The numbers 2, 3 and 4 appear only once, representing the first process of each job. The MS segment is the machine encoding, and each number corresponds to the machine number. The AS segment is the vehicle encoding, and each number corresponds to the AGV number. The lengths of the three segments are consistent, and the specific meaning of the combination of the three numbers in the same position is: the vehicle in the AS transports the job in the OS to the machine in the MS for processing.
[0100] (2) Conversion of mixed mapping sequence into discrete encoding
[0101] First, a chaotic sequence with a length of I is generated by a chaotic mapping, and I represents the total number of production processes in the job set. As shown in the following formula (1), the generated chaotic sequence is [0.954, 0.074, 0.261, …, 0.471, 0.721, 0.981], and the elements are sorted in ascending order. Each element obtains a corresponding sequence position, such as the sequence position of the element 0.954 is 12. Figure 3 According to the job number and the number of processes, 1 to I numbers are generated, which respectively correspond to each job and the process.
[0102] is an example diagram of the discrete encoding provided by the present application, as shown in the following formula (2), 5 jobs and 13 processes correspond to numbers 1-13. Figure 3 Figure 3 Each element in the chaotic sequence can find the corresponding job according to its sequence position. For example, the sequence position of the element 0.954 is 12, which corresponds to job J5, and the sequence position of the element 0.624 is 7, which corresponds to job J3.
[0103] In order to ensure that the generated processing sequence is valid, only the job number corresponding to each element in the chaotic sequence is found, and then the complete process sequence is generated according to the number of times each job appears. From left to right, the number of times the same job number appears represents the process number of the job, such as the following formula (3).
[0104] In order to ensure that the generated processing sequence is valid, only the job number corresponding to each element in the chaotic sequence is found, and then the complete process sequence is generated according to the number of times each job appears. From left to right, the number of times the same job number appears represents the process number of the job, such as the following formula (3).Figure 3 In this way, the obtained job number sequence is [5, 1, 1, …, 2, 3, 5], and the corresponding process sequence is [O 51 , O 11 , O 12 , …, O 23 , O 33 , O 52 ].
[0105] Through the above steps, the chaos sequence is converted to obtain the OS segment in the three-layer encoding.
[0106] The above OS segment encoding mode has universality, and can be encoded in this way for different examples, but the MS segment is different. In different examples, the corresponding relationship between the machine and the job is different, and it is difficult to process using the same encoding mode as the OS segment. Therefore, a random encoding mode is adopted for the MS segment, and the MS segment encoding corresponding to each process is randomly generated in the alternative machine of the process. Similarly, the AS segment also adopts a random encoding mode, and each AS code is randomly generated in all AGV numbers.
[0107] Finally, the elite population guiding process of the traditional GOA gazelle algorithm (Gazelle Optimization Algorithm, GOA) and the algorithm provided by the application is described:
[0108] (1) Original elite individual guidance
[0109] Under the requirement of single-objective solution, the GOA names the obtained optimal solution as an elite gazelle, which is used to construct an elite matrix E. The matrix is used to guide the next search of the gazelle, and its expression is as follows:
[0110]
[0111] Where x′ i,j is the individual position vector of the elite gazelle. The GOA considers that both the predator and the gazelle are search individuals, because when the predator is tracking the gazelle, the moving directions of the two are consistent.
[0112] (2) Elite group guidance
[0113] Under the requirement of multi-objective solution, the elite population matrix of the improved gazelle multi-objective optimization algorithm is generated from the non-dominated solution set, which is equivalent to the escape route of the population being guided by the head gazelles of the population at the same time. The escape direction is more diversified, the search space is increased, and the algorithm can greatly avoid falling into local optimum.
[0114] In order to distinguish, the elite matrix of VNSIMOGOA and the population position updating formula in the exploration stage are modified as follows:
[0115] The elite matrix is renamed as the elite group matrix IE:
[0116]
[0117] where x i " ,j is the non-dominated gazelle individual position vector.
[0118] S2, according to the characteristics of FJSP-AGV problem, the population update mode is discretized, including the discrete update operation of the development stage and the exploration stage and the influence of the success rate of the predator on the discrete update operation of the population.
[0119] First, the discretization of the development stage is described:
[0120] (1) Original development stage
[0121] This stage assumes that the gazelles are quietly grazing without predators or predators are tracking the gazelles. In this stage, Brownian motion characterized by uniform and controlled steps is used to effectively cover the adjacent areas of the field. The expression is as follows:
[0122] gazelle i+1 = gazelle i + s·R·R B ·(E i -R B · gazelle i ) (9)
[0123] where gazelle i+1 is the solution of the next iteration; gazelle i is the solution of the current iteration; s represents the grazing speed of the gazelles; R B is a random number vector representing Brownian motion; R is a uniform random number vector in [0, 1], E i represents individual i in the elite matrix E.
[0124] (2) Discretization processing
[0125] In the GOA development phase, gazelles as prey, mainly to do with uniform step update Brown motion. VNSIMOGOA (the algorithm provided by the present application) designs a discrete update method θ1 (formula 10) to update the individual position, instead of the individual position update method formula 9 in GOA. θ1 is a cross operation based on process coding (POX) for OS, which not only retains part of the position information of the current individual, but also integrates the excellent search information in part of the elite group; MS and AS follow the corresponding cross operation of OS to ensure that the corresponding information of OS, MS and AS always remains consistent. Cross operation can generate new individuals after a series of operations, and efficiently search the solution space while maintaining as much excellent population information as possible. Using θ1 to update the population in the development phase is ideologically consistent with formula 9, while retaining part of the position information of the current individual and developing new search positions.
[0126] gazelle i+1 =θ1(IE i ,gazelle i )(10)
[0127] where IE i represents the individual i in the elite group matrix IE.
[0128] Further, the discretization of the exploration phase is described as follows:
[0129] (1) Original exploration phase
[0130] The exploration phase starts from the moment the gazelle discovers the predator. The gazelle's response to danger is to flick its tail, stomp its feet, or jump 2 meters in the air with all four legs; this is simulated by scaling the 2-meter height to a number between 0 and 1. This algorithm phase uses Levy flight simulation, which involves taking small steps and occasionally making long jumps. Once the predator is discovered, the gazelle will flee, and the predator will chase. Both of these escape methods are characterized by sudden changes in direction, which are simulated by the parity of the number of iterations. The Levy flight expression is as follows:
[0131]
[0132] where, Noraml represents a normal distribution, and represent the variance.
[0133] The expression of the gazelle's behavior after discovering the predator is as follows:
[0134] gazelle i+1 =gazelle i+S·μ·R·R L ·(E i -R L ·gazelle i ) (12)
[0135] where S is the maximum speed gazelle can reach; μ is the direction constant which changes with the iteration number, taking 1 or -1; R L is the random number vector based on Levy flight.
[0136] The behavior expression of predator chasing gazelle is as follows:
[0137] gazelle i+1 =gazelle i +S·μ·CF·R B ·(E i -R L ·gazelle i ) (13)
[0138] where iter is the current iteration number; max_iter is the maximum iteration number; CF is the cumulative effect of predator.
[0139] (2) Exploration phase discretization
[0140] In the exploration phase, gazelle discovers predator and starts to run away, occasionally making long jumps (i.e. large changes in position information), while the predator is chasing gazelle at high speed, and the degree of change in the positions of both parties is relatively large compared with the development phase. In view of the characteristics of the above situation, combined with the design idea of formulas 11 to 14, VNSIMOGOA designed population updating modes θ2 (formula 15) and θ3 (formula 17) instead of formulas 12 and 13. θ2 is first to OS using the improved POX crossover operation in this paper, denoted as IPOX1; then according to the probability S, single-point mutation operation is performed on MS and AS.
[0141] gazelle i+1 =θ2(IE i ,gazelle i ,w,S,μ)(15)
[0142] where S is the mutation probability of MS and AS, taking 0.88, simulating the fact that real gazelle runs away at a speed of 88 km / h; μ is the direction constant which changes with the iteration number, taking 1 or -1; w is the linear inertia weight, see formula 16:
[0143]
[0144] Wherein, w_max and w_min are initial inertia weight and final inertia weight respectively; iter is current iteration number.
[0145] θ3 is to first adopt the improved POX crossover operation of the present application to OS, denoted as IPOX2; then according to the probability S, single-point mutation operation is performed to MS and AS.
[0146] gazelle i+1 = θ3 (IE i , gazelle i , S, w, CF, μ) (17)
[0147] Figure 4 is an example diagram of IPOX1 crossover operation provided by the present application, see Figure 4 The IPOX1 crossover operation provided by the present application is described as follows:
[0148] 1) The jobs are divided into three subsets γ1, γ2 and γ3 according to preset rules; wherein, the preset rules include that in the case of being able to divide equally, the three subsets are divided equally, and in the case of being unable to divide equally, the excess jobs are divided to the first two subsets γ1 and γ2;
[0149] 2) The OS code corresponding to the subset γ1 is found out from the elite individual IE i , which is copied to the new individual gazelle i according to the position in IE i+1 , and the corresponding MS and AS codes of OS are executed simultaneously;
[0150] 3) The parameter τ1 records the position of each job in the subsets γ2 and γ3 in the individual gazelle i each time and the corresponding MS and AS codes;
[0151] 4) The OS codes corresponding to the subsets γ2 and γ3 in gazelle i are found out respectively, denoted as OS2 and OS3, the codes in OS3 are randomly inserted into OS2, and then the obtained code sequence is sequentially inserted into the idle position of OS of gazelle i+1 ;
[0152] 5) According to the record τ1 and the number of times of appearance of the subsets γ2 and γ3 in gazelle i+1 , the OS and its corresponding MS and AS codes are restored to be consistent with those before crossover.
[0153] It should be noted that when μ = 1, IE i and gazelle i are crossed according to the above steps; when μ = -1, IE i and gazellei The positions of the roles in the above steps need to be exchanged.
[0154] After the above steps are completed, a new individual gazelle i+1 is obtained, but the population change in the exploration stage is theoretically large, so θ2 needs to be subjected to single-point mutation operation on MS and AS in the new individual according to the probability S.
[0155] Figure 5 is an example diagram of IPOX2 crossover operation when the direction constant is -1, and the IPOX2 crossover operation provided by the application is described with reference to Figure 5
[0156] 1) The jobs are divided into two subsets γ4 and γ5, and the number of job subsets γ4 is calculated according to the cumulative effect of the predator CF and the linear inertia weight w, and the calculation method is shown in formula 18:
[0157]
[0158] Wherein, len is the number of job subsets γ4, which is rounded down; N is the total number of jobs; CF is the cumulative effect of the predator; and w is the linear inertia weight.
[0159] 2) Create parameters τ2 to record the positions of each job in IE i and the corresponding MS and AS codes each time, and create parameters τ3 to record the positions of each job in gazelle i and the corresponding MS and AS codes each time.
[0160] 3) When the direction constant is 1, the codes corresponding to the subset γ4 in the OS segment of IE i are inserted into the corresponding position of the OS of gazelle i+1 , and when the direction constant is -1, the codes corresponding to the subset γ4 in the OS of IE i are inserted into the corresponding position of the OS of gazelle i+1 in reverse.
[0161] 4) The codes corresponding to the subset γ5 in the OS of gazelle i are sequentially inserted into gazelle i+1 .
[0162] 5) According to the records τ2 and τ3, the corresponding relationship between the OS of gazelle i+1 and the MS and AS segments is restored to obtain the complete gazelle i+1 .
[0163] Further, the discrete update operation of the population affected by the PSRs is described.
[0164] (1) The impact of original PSRs on the population
[0165] PSRs is the success rate of the predator, which affects the ability of gazelles to escape and can avoid the algorithm falling into local minimum. The gazelles are affected by PSRs, and the expression is as follows:
[0166]
[0167] wherein r is a random number in [0, 1]; gazeller1, gazeller2 are the position vectors of two random gazelle individuals in the population; U represents a binary vector constrained by the success rate; LB, UB are preset parameters.
[0168] (2) Discretization of PSRs
[0169] According to formulas 19 and 20, when the iteration is carried out to the later stage, CF gradually tends to 0, and when the random number r is less than or equal to PSRs, the individuals in the population have a certain probability of not changing; when the random number r is greater than PSRs, the entire population changes to a certain extent. Therefore, VNSIMOGOA designs the discretized population update mode θ4(first update mode, see formula 21) and θ5(second update mode, see formula 22).
[0170] gazelle i+1 = θ4(gazelle i , U, CF) (21)
[0171] gazelle i+1 = θ5(gazelle r1 , gazelle i , PSRs, r) (22)
[0172] wherein gazelle r1 is a random individual; r is a random number between 0 and 1.
[0173] The first update mode is as follows:
[0174] 1) Set the upper limit of the OS code length of gazelle i , randomly select a position to insert a segment of the OS code of gazelle i into the corresponding position of the OS code of gazelle i+1 ; wherein the calculation method of the upper limit of the length of the inserted OS code is as follows:
[0175]
[0176] Wherein, maxlen is the upper limit of the length of the interception, rounded down; length(OS) is the encoding length of the OS of gazelle i ; U represents the binary vector constrained by the success rate, see formula 20.
[0177] 2) Create parameter τ4 to record the position of each job in gazelle i each time and its corresponding MS and AS encoding;
[0178] 3) Insert the remaining encoding order of the OS of gazelle i into the idle position of gazelle i+1 ;
[0179] 4) According to the record τ4, restore the corresponding relationship between the OS of gazelle i+1 and MS and AS, and obtain the complete gazelle i+1 .
[0180] The second updating method is:
[0181] 1) Divide the jobs into two subsets γ6 and γ7, and calculate the number of jobs in subset γ6 according to the success rate of the predator; the specific calculation method of the number of jobs is:
[0182]
[0183] Wherein, len2 is the number of jobs in subset γ6; N is the total number of jobs; r is a random number between 0 and 1.
[0184] 2) Create parameter τ6 to record the position of each job in subset γ6 in gazelle r1 each time and its corresponding MS and AS encoding, and create τ7 to record the position of each job in subset γ7 in gazelle i each time and its corresponding MS and AS encoding;
[0185] 3) Insert the encoding corresponding to subset γ6 in the OS of gazelle r1 into the corresponding position of the OS of gazelle i+1 ;
[0186] 4) Insert the encoding order corresponding to subset γ7 in the OS of gazelle i into gazelle i+1 ;
[0187] 5) According to the records τ6 and τ7, restore the corresponding relationship between the OS of gazelle i+1 and MS and AS, and obtain the complete gazelle i+1 ;
[0188] 6) Apply single-point mutation operation to the MS, AS encoding of gazelle according to the probability r to obtain the final gazelle i+1 . i+1 .
[0189] In fact, θ5 is obtained on the basis of θ3 and according to the population update characteristics of the current stage.
[0190] S3, in order to improve the utilization efficiency of the population and the possibility of the algorithm jumping out of the local optimum, a variable neighborhood local search strategy is added, and an improved gazelle multi-objective optimization algorithm based on variable neighborhood search is designed to realize flexible job shop multi-objective scheduling.
[0191] In order to make the search process more flexible and intelligent, and improve the search effect, a variable neighborhood search strategy is designed in this paper. The variable neighborhood search strategy records the effectiveness of the neighborhood in the search algorithm with the iteration, and improves the application probability of the neighborhood with good optimization effect in the next round of search. Specifically, the following steps are included:
[0192] (1) Construct the critical path based on the single codename network diagram
[0193] On the basis of the single codename network diagram, the invention designs a double node mechanism:
[0194] 1) The first set of nodes is called information node (IN):
[0195] Mainly used for recording existing feasible solution information, IN consists of the following 7 parts: node number (ID), node type (Type), job (Job), process (OP), machine or vehicle (MoA), earliest start time (ES), and earliest end time (EF);
[0196] 2) The second set of nodes is called compute node (CN):
[0197] Used for calculating the time solution of the critical path, CN consists of the following 7 parts: node number (ID), earliest start time (ES), duration (DT), earliest end time (EF), latest start time (LS), free float (FF), and latest end time (LF).
[0198] The numbers of the two sets of nodes are consistent and correspond to each other. Among them, the Type of IN is divided into three types: 0 represents machine processing type node, 1 represents vehicle empty node, and 2 represents vehicle loaded node, the latter two are collectively referred to as transportation type node, and the principle of node construction is that its duration is not 0.
[0199] The critical path determination process is as follows:
[0200] 1) According to the existing feasible solution information, an information node IN is constructed, a directed arc is established between the machining nodes using the same machine, a directed arc is established between the idle nodes and the loaded nodes, and a directed arc is established between the machining class nodes and the transportation class nodes according to the time sequence to obtain a directed arc set;
[0201] 2) According to the existing IN, a calculation node CN is constructed;
[0202] 3) According to the earliest end time EF in the CN, the nodes in the CN are arranged from large to small, and the latest end time LF, the latest start time LS and the free float FF are reversely calculated in combination with the directed arc set;
[0203] 4) All the nodes with FF of 0 are found, that is, the critical nodes, and all the critical paths are sorted out through a depth-first search (DFS) in combination with the directed arc set.
[0204] Figure 6 is an example diagram for constructing a critical path based on a single code network diagram provided by the application.
[0205] (2) Setting three neighborhood search modes
[0206] In order to improve the quality of the solution in the solution space search, the effective neighborhood structure around the initial solution is very important, and the application designs three neighborhood search modes, two of which are based on the critical path, and one of which is based on the non-critical path, and the specific design is as follows:
[0207] 1) VNS1 based on the critical path: randomly selecting a process on the critical path, and selecting the optimal combination in the MS and AS combination corresponding to the process;
[0208] 2) VNS2 based on the critical path: judging the process on the critical path, if the process is the first process in the corresponding job, the order of the process in the process code is moved one position forward, that is, the positions of the two process codes are exchanged;
[0209] 3) VNS3 based on the non-critical path: randomly selecting three processes in the code, respectively combining the processing order, the processing machine and the transportation vehicle, and selecting the optimal combination.
[0210] (3) Based on the three neighborhood search modes, variable neighborhood search is carried out
[0211] Figure 7 is a flowchart of the variable neighborhood search algorithm provided by the application, and the steps of the variable neighborhood search algorithm will be described below Figure 7 The steps of the variable neighborhood search algorithm are described:
[0212] Firstly, VNS1 is applied to carry out neighborhood search, if there is improvement effect on the current solution, the new solution replaces the old solution, and the elite group is updated, if VNS1 does not improve the current solution, according to the neighborhood selection probability R v VNS2 or VNS3 is applied to carry out search, when random number r v VNS2 is applied to carry out search, otherwise VNS3 is applied to carry out search, if VNS2 has improvement effect on the current solution, R is updated according to the following formula v After the current population is applied to neighborhood search, the population obtained after improvement is updated and the elite group is updated.
[0213] The neighborhood selection probability R v The updating formula is as follows:
[0214]
[0215] Wherein, β is the improvement effect, V is the number of successful improvements of VNS2, D is the number of failed improvements of VNS2, ε=0.00001, avoiding the case that the denominator is 0, R0 is the initial probability, taking 0.3. The improvement effect β expression is as follows:
[0216]
[0217] Wherein, f1 and f2 are the maximum completion time and the single maximum waiting time before improvement respectively, f1' and f2' are the maximum completion time and the single maximum waiting time after improvement respectively.
[0218] In order to verify the advantages of the present application compared with the prior art, taking finding the best balance point of minimizing the maximum completion time and minimizing the single maximum waiting time as the application scene, the present application designs experiments to verify the beneficial effects of the present application:
[0219] (1) Introduction of data set
[0220] Deroussi data set is five benchmark examples of flexible job shop scheduling problem considering job transportation proposed by Deroussi et al., the data set has five jobs, divided into fjsp1-fjsp5, each group has 5-8 jobs, each job has 2-5 processes, has 8 machines and 2 AGVs.
[0221] Table 1 gives the job data of example fjsp5 in Deroussi data set, table 2 gives the transportation time between machines, and the workshop layout is shown in Figure 8 .
[0222] From Table 1, it can be observed that there are 5 jobs to be processed on 8 machines, and the processing time of the same process on multiple machines is the same in this example. Table 2 shows the transportation time of AGV between different positions in the data set, in minutes, and the row is the starting point and the column is the end point, for example, 6 in the 2nd row and the 5th column represents that it takes 6 minutes to transport from LU to M3.
[0223] Table 1 Deroussi data set example fjsp5
[0224]
[0225] Table 2 Deroussi data set AGV transportation time between different positions (min)
[0226]
[0227]
[0228] The layout of the workshop equipment of this data set is shown in Figure 8 , wherein LU is a loading and unloading area, and M1-M8 are 8 processing machines. Figure 8 The machine layout diagram of the Deroussi data set provided by the application is shown in Figure 8 It can be seen that part of the path is one-way transportation, so the transportation time between the same machines in Table 2 is different due to the direction difference.
[0229] (2) Effectiveness verification
[0230] In order to verify the effectiveness of the GOA improvement strategy of the application, part of the improved GOA algorithm is divided into MOGOA and IMOGOA, and the two are compared with VNSIMOGOA.
[0231] Among them, the MOGOA algorithm is a GOA with discretization coding and Pareto theory; the IMOGOA algorithm is a MOGOA with chaos strategy and discretization population update; and the VNSIMOGOA algorithm is an IMOGOA with variable neighborhood search.
[0232] The running results of the three algorithms on the Deroussi data set are compared in Table 3, and the comparison index is the optimal value and the average value of the Pareto solution set obtained by each algorithm, and the common parameters of the algorithm are consistent.
[0233] Table 3 Deroussi data set comparison results
[0234]
[0235]
[0236] From table 3, it can be seen that the solving effect of IMOGOA and VNSIMOGOA on two different scale data sets is obviously better than that of MOGOA, which fully shows that the improvement and application of GOA in the present application are very effective. The optimal value and the average value of the solution set obtained after running 10 times of both are smaller than those of MOGOA, proving that the algorithm has good stability and can adapt to problems of different scales.
[0237] In addition, through the comparison between VNSIMOGOA and IMOGOA, it can be proved that the variable neighborhood local search strategy designed in the present application has good search ability, and the combination of the three neighborhood search structures can help IMOGOA to further explore the solution space, so that the algorithm has the ability to jump out of the local optimum.
[0238] Further, Figure 9 is a solution set distribution comparison chart of each algorithm on the Deroussi data set example fjsp1 provided by the present application, Figure 10 is a solution set distribution comparison chart of each algorithm on the Deroussi data set example fjsp4 provided by the present application. From Figure 9 and Figure 10 , it can be seen that the solution set quality of IMOGOA and VNSIMOGOA is good, and the solving effect on two-dimensional objectives is obviously better than that of MOGOA. The overall search ability of VNSIMOGOA with variable neighborhood search is slightly better than that of IMOGOA, which can help the algorithm to further search in the solution space and improve the search quality of the algorithm in the solution space.
[0239] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A flexible job shop multi-objective scheduling method with limited AGV number, characterized in that, The method comprises the following steps: S1, improving the gazelle optimization algorithm based on the Pareto optimization theory, initializing the population by a hybrid chaos strategy, and guiding the population update by an elite group matrix; S2, discretely processing the population update mode according to the characteristics of the FJSP-AGV problem, including the discrete update operation in the development stage and the exploration stage, and the discrete update operation of the population influenced by the success rate of the predator; S3, adding a variable neighborhood local search strategy to improve the utilization efficiency of the population and the possibility of the algorithm jumping out of the local optimum, designing an improved gazelle multi-objective optimization algorithm based on variable neighborhood search to realize the multi-objective scheduling of the flexible job shop; In step S1, the population is initialized by a hybrid chaos strategy, including: The initial population is generated by the same scale of five different chaos mapping methods, namely Chebyshev mapping, Circle mapping, Logistic mapping, Tent mapping and Sine mapping; A three-layer discrete coding scheme based on the process is adopted, and the chromosome length of each individual is 3 I , I represents the total number of production processes in the job set; the 1st to I bit in the chromosome is the process code representing the processing order of all jobs, denoted as the OS segment; I +1 to 2 I bit is the machine code representing the processing machine allocation corresponding to the process order, denoted as the MS segment; 2 I +1 to 3 I bit is the vehicle code representing the corresponding transport vehicle assignment, denoted as the AS segment; wherein the discrete coding manner comprises: A chaotic sequence with a length of I is generated by a chaotic mapping, the chaotic sequence is sorted in ascending order, and each element obtains a corresponding sequence number; According to the job number and the number of its processes, the continuous numbers from 1 to I correspond to each job and its processes, respectively; Find the corresponding job number for the elements in the chaos sequence, and then generate the complete process sequence according to the number of occurrences of each job as the OS segment; In the MS segment, the random coding method is adopted, and the MS segment code of each process is randomly generated in the selected machine of the process; the AS segment also adopts the random coding method, and each AS code is randomly generated in all AGV numbers; In step S1, the population is updated by the elite group matrix, including: The elite matrix under the single-target solution requirement is modified as an elite group matrix to adapt to the multi-target solution requirement IE Specifically: ; wherein, n is the total number of gazelles; d denotes the dimension of the optimization problem definition, is the non-dominated gazelle individual position vector; Step S3 includes: Constructing a critical path based on a single code network graph, designing a double node mechanism based on the single code network graph: an information node IN is used to record the existing feasible solution information, and a calculation node CN is used to calculate the time to solve the critical path; Design three neighborhood search methods; including: a search method based on the critical path, denoted as VNS1: randomly selecting a process on the critical path, and selecting the optimal combination in the MS and AS combination thereof; a search method based on the critical path, denoted as VNS2: judging the process on the critical path, if the process is the first process in the job it belongs to, the order of the process in the process code is moved forward by one position; a search method based on the non-critical path, denoted as VNS3: randomly selecting three processes in the code, respectively combining the processing order, processing machine and transport vehicle, and selecting the optimal combination; Based on the three neighborhood search methods, variable neighborhood search is performed.
2. The flexible job-shop multi-objective scheduling method of a limited number of AGVs according to claim 1, characterized in that, The discrete update operation in the development stage in step S2 includes: POX crossover operation is adopted for the OS segment to update the individual position; The MS segment and the AS segment follow the corresponding crossover operation of the OS segment to ensure that the corresponding information of the OS, MS and AS segments always remains consistent; The discrete update operation in the exploration stage in step S2 includes: Update operation describing the gazelle escape behavior: First, the OS segment is crossed by the improved POX operation, denoted as IPOX1 crossing operation; then, the MS and AS segments are subjected to single-point mutation operation according to the probability S , Update operation describing the predator pursuit behavior: First, the improved POX crossover operation is used for the OS segment, which is called IPOX2 crossover operation. Then, according to the probability S Single-point mutation operation is performed on the MS and the AS.
3. The flexible job-shop multi-objective scheduling method of a limited number of AGVs according to claim 2, characterized in that, The steps of IPOX1 crossover operation include: The jobs are divided into three subsets according to preset rules 1, 2, 3; wherein the preset rules include dividing the three subsets equally if possible, and dividing the extra jobs to the first two subsets if not possible 1, 2; from elite individuals IE i find out corresponding subsets 1 OS code, according to IE i copy to new individuals gazelle i+1 corresponding MS, AS code of OS, perform corresponding operation; Creation parameters τ 1 record subset 2 with 3 each job in an individual gazelle i the location of each occurrence in the middle and its corresponding MS and AS codes; find out subsets respectively 2 and 3 in gazelle i corresponding OS code, recorded as OS2 and OS3, insert the code in OS3 into OS2 randomly, then insert the obtained code sequence into gazelle i+1 the OS free position of According to the record τ 1 with subset 2 with 3 in gazelle i+1 The number of occurrences, the OS and its corresponding MS, AS encoding is restored to cross before consistent; where the direction constant is 1, IE i with gazelle i The roles are swapped in the above steps. When the direction constant is -1, IE i with gazelle i The roles are swapped in the above steps.
4. The flexible job-shop multi-objective scheduling method of a limited number of AGVs according to claim 3, characterized in that, The steps of IPOX2 crossover operation include: Splitting jobs into two subsets 4, 5, and according to the cumulative effect of predators CF with linear inertia weights w Computing job subsets γ 4, the number of jobs Creation parameters τ 2 record subset 4 each job in IE i the position of each occurrence in the and its corresponding MS and AS codes, creation parameters τ 3 record subset 5 each job in gazelle i the position of each occurrence in the and its corresponding MS and AS codes; When the direction constant is 1, IE i The corresponding subset in the OS segment γ 4-code insertion gazelle i+1 At the corresponding position of OS, when the direction constant is -1, IE i The corresponding subset in the OS γ 4-encoded reverse insertion gazelle i+1 The corresponding location in the OS; From gazelle i corresponding subset from the OS γ 5 in the encoding order gazelle i+1 in the middle; According to the record τ 2、 τ 3, recovery gazelle i+1 The OS and the MS, AS segment of the corresponding relationship, get complete gazelle i+1 .
5. The flexible job-shop multi-objective scheduling method of a limited number of AGVs according to claim 4, characterized in that, The success rate of applying the predator in step S2 affects the discrete update operation of the population, including two update modes: The first update mode is: Setting gazelle i The OS code encoding intercepts the upper limit of the length, and a random position intercepts a section gazelle i The OS code inserts gazelle i+1 The OS corresponding position; Creation parameters τ 4 record the location of each occurrence of gazelle i the MS and AS codes corresponding to each occurrence. The gazelle i OS remaining encoding order insertion gazelle i+1 Idle position; According to the record τ 4, recovery gazelle i+1 The correspondence of the OS with the MS, AS, and the correspondence of the MS with the AS are obtained, and the gazelle i+1 ; The second update mode is: Divide the jobs into two subsets 6, 7, and calculate the number of jobs of subset γ 6 according to the success rate of the predator. Creation parameters τ 6 Record subset 6 Each job in random individual gazelle r1 Location of each occurrence in the middle and its corresponding MS and AS code, creation τ 7 Record subset 7 Each job in gazelle i Location of each occurrence in the middle and its corresponding MS and AS code; corresponding subset of the OS gazelle r1 corresponding subset of the OS γ 6 is inserted gazelle i+1 corresponding subset of the OS From gazelle i corresponding subset from the OS γ 7 in encoding order gazelle i+1 in; According to the record τ 6、 τ 7, recovery gazelle i+1 The OS and MS, AS corresponding relationship, get complete gazelle i+1 ; According to the probability r To gazelle i+1 MS, AS encoding of single point mutation operation, get the final gazelle i+1 .
6. The flexible job-shop scheduling method with multiple objectives for a limited number of AGVs according to claim 1, characterized in that, The determination process of the critical path includes: According to the existing feasible solution information, an information node IN is constructed, a directed arc is established between the machining nodes using the same machine, a directed arc is established between the idle nodes and the loaded nodes, and a directed arc is established between the machining class nodes and the transportation class nodes according to the time sequence to obtain a directed arc set; According to the existing IN, a calculation node CN is constructed; According to the earliest end time EF in the CN, the nodes in the CN are arranged from large to small, the latest end time LF, the latest start time LS and the free float FF are reversely calculated in combination with the directed arc set; All the nodes with FF of 0 are found as the critical nodes, and all the critical paths are sorted out through the depth-first search in combination with the directed arc set.
7. The flexible job-shop scheduling method with multiple objectives for a limited number of AGVs according to claim 1, characterized in that, Based on the three neighborhood search modes, variable neighborhood search is performed, specifically including: First, the VNS1 search mode is applied to perform neighborhood search, if there is an improvement effect on the current solution, the new solution replaces the old solution, and the elite group is updated; If the VNS1 search method does not improve the current solution, then according to the neighborhood selection probability R v If the random number is less than the neighborhood selection probability, the VNS2 search method is applied to search, otherwise the VNS3 search method is applied to search. r R v If the random number is less than the neighborhood selection probability, the VNS2 search method is applied to search, otherwise the VNS3 search method is applied to search. If the VNS2 search method has an improvement effect on the current solution, the preset formula is used to update R v After the current population is applied to the neighborhood search, the improved population and the elite group are updated. The preset formula is: wherein, V is the number of successful improvements for VNS2; D is the number of failed improvements for VNS2; ε is a preset constant; R 0 is the initial probability; β To improve the effect, the formula is: ; wherein, f 1 and f 2 are the maximum completion time and the single maximum waiting time before improvement, respectively, and are the maximum completion time and the single maximum waiting time after improvement, respectively.
Citation Information
Patent Citations
Flexible job shop scheduling method of co-fusion AGV
CN111382915A
AGV and machine integrated scheduling method based on discrete whale optimization algorithm
CN112783172A