A multi-objective based distributed flexible job shop scheduling method
Patent Information
- Application Number
- CN202110735488.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-30
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-06-30
AI Technical Summary
[0007]本发明提供了一种基于多目标的分布式柔性作业车间调度方法,用以解决现有技术中设计复杂的编解码方案使得算法在运行过程中出现非法解导致无法得到合适且准确的调度序列的问题
[0009] This invention provides a multi-objective distributed flexible job shop scheduling method, comprising the following steps:
Smart Images

Figure CN113359646B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of flexible job shop scheduling technology, specifically relating to a multi-objective distributed flexible job shop scheduling method. Background Technology
[0002] Modern manufacturing is increasingly data-driven and intelligent in its supply and manufacturing processes. Fast, efficient, and personalized product supply models are gradually replacing traditional production methods. Due to their inherent characteristics of small-batch, high-variety production, these new models pose significant challenges to the flexibility of manufacturing workshops. The previous large-scale, repetitive production model is no longer suitable for the development direction of today's manufacturing industry. How to rationally schedule workshop production tasks to ensure that workshops can complete accepted orders within the stipulated time while minimizing processing time and costs is a crucial factor restricting the development of modern manufacturing enterprises.
[0003] Against this backdrop, the Flexible Job-shop Scheduling Problem (FJSP) has increasingly attracted the attention of researchers. FJSP refers to the process of a job shop, under the premise of limited production capacity and resources, planning the optimal combination of processing sequences for multiple workpieces based on the technological specifications and related constraints, to achieve the best overall performance of the production system. Data shows that in the traditional manufacturing process, non-cutting processing time, such as material preparation, accounts for a significant portion of the total production time, approximately 95%. Therefore, a scientifically sound scheduling scheme has high practical significance for processing, handling, and allocation. Currently, FJSP has been widely applied in many fields such as assembly line processing, energy and power, transportation, airport and port scheduling, and healthcare.
[0004] The Distributed Flexible Job-shop Scheduling Problem (D-FJSP) is based on the FJSP problem and further incorporates the real production environment. D-FJSP takes into account that a single master node in the manufacturing system may not be able to adapt to complex processing needs. Therefore, it extends the Flexible Manufacturing Unit (FMU) in the manufacturing system from one to multiple. The products to be processed can be selected after selecting a suitable processing node, and then the appropriate equipment can be selected in the node for processing, thereby further improving the flexibility of the manufacturing system and better meeting the comprehensive scheduling needs of manufacturing groups with multiple workshops and multiple orders in real life. Since it is necessary to schedule multiple workshops, and multiple workshops may have completely different production conditions and production modes, D-FJSP not only increases the difficulty of solving the problem compared to FJSP, but also makes the search space larger. For a batch of workpieces to be processed, in addition to sorting and confirming the operation path, D-FJSP also needs to allocate the workpieces to the appropriate workshops for processing in order to maximize the overall production efficiency[5]. Under the D-FJSP production model, traditional manufacturing enterprises can better predict production plans from an overall perspective, thereby better transitioning from an extensive to an intensive industrial development model.
[0005] For challenging combinatorial optimization problems like the D-FJSP, intelligent optimization algorithms are primarily used for solving them. These algorithms, based on heuristics, incorporate bionics and artificial intelligence techniques, enabling them to solve problems without requiring gradient information. Furthermore, they can simultaneously optimize multiple objectives to obtain the optimal solution set, thus exhibiting good efficiency for multi-objective D-FJSPs. Inspired by biological foraging movements, Kennedy and Eberhart proposed Particle Swarm Optimization (PSO) in 1995, a swarm optimization technique commonly used to solve optimization problems. PSO is a swarm-based optimization technique with strong parallelism and requires no gradient information, only the objective values, making it highly versatile. It has been widely applied in function optimization, neural network training, and fuzzy system control. However, PSO has a relatively short history and still suffers from parameter sensitivity and premature convergence.
[0006] Research on D-FJSP is currently limited, and most of the methods used are derived from the problem model and solution methods of FJSP, such as the commonly used classic PSO algorithm. However, the classic PSO algorithm is increasingly ill-suited to complex real-world problems, and it is even more challenging to handle problems like D-FJSP with multiple decision variables. Moreover, the application of the PSO algorithm often involves complex encoding and decoding schemes, which can lead to illegal solutions during the algorithm's execution, thus preventing the acquisition of a suitable and accurate scheduling sequence. Summary of the Invention
[0007] This invention provides a multi-objective distributed flexible job shop scheduling method to solve the problem in the prior art where complex encoding and decoding schemes lead to illegal solutions during algorithm operation, resulting in the inability to obtain a suitable and accurate scheduling sequence.
[0008] To solve the above-mentioned technical problems, the technical solutions included in this invention and their corresponding beneficial effects are as follows:
[0009] This invention provides a multi-objective distributed flexible job shop scheduling method, comprising the following steps:
[0010] 1) Based on the workshop processing information, establish a multi-objective distributed flexible job shop scheduling model with the objectives of minimizing the maximum completion time and the total machine delay time; wherein, the maximum completion time is the first objective, which is the value of the largest final completion time among all machines in all workshops, and the total machine delay time is the second objective, which is the sum of all idle time periods in all workshops; moreover, the constraints of the multi-objective distributed flexible job shop scheduling model are expressed by an encoding method, and the scheduling sequence is obtained by a decoding method corresponding to the encoding.
[0011] The encoding method is as follows: Three decision vectors are constructed: OA decision vector, MS decision vector, and FS decision vector. The OA decision vector determines the processing order of each process, and its encoding content is the workpiece number set according to the processing order. The workpiece number repeats according to the number of processes for that workpiece. The MS decision vector determines the processing machine for each process and includes the same number of MS weight subsequences as the total number of processes. One process corresponds to one MS weight subsequence, and the length of each MS weight subsequence is the total number of machines in the workshop with the most machines. The encoding content of the MS weight subsequence is the weight assigned to a specific machine for a particular process. The FS decision vector determines the processing workshop for each workpiece and includes the same number of FS weight subsequences as the total number of workpieces. One workpiece corresponds to one FS weight subsequence, and the length of each FS weight subsequence is the total number of workshops. The specific encoding content of the FS weight subsequence is the weight assigned to a specific workshop for a particular workpiece.
[0012] The decoding method is as follows: ① Read one bit from the OA decision vector and determine which workpiece and which process it is based on the content of that bit and how many times it appears; ② Read the FS weight subsequence corresponding to the workpiece in the FS decision vector based on the determined workpiece, and select the corresponding workshop based on the weight in the FS weight subsequence; then read the MS weight subsequence corresponding to the process in the MS decision vector based on the determined process, and select the corresponding machine based on the weight in the MS weight subsequence; ③ Repeat steps ① to ② to read each bit in the OA decision vector to obtain a scheduling sequence.
[0013] 2) Randomly generate N scheduling sequences as the initial particle swarm, and use the initial particle swarm as the current particle swarm, where N > 1;
[0014] 3) Calculate the fitness function value of each particle based on the fitness function of the current particle swarm, and update the local and global optima of each particle; based on the local and global optima of each particle, update the position and velocity of the particles to obtain the next generation of particles.
[0015] 4) Combine the next generation of particles into the next generation of particle swarm. Determine whether the next generation of particle swarm meets the iteration termination condition. If not, take the next generation of particle swarm as the current particle swarm and repeat steps 3) to 4) until the iteration termination condition is met. Take the global optimum of the final particle swarm as the optimal scheduling sequence.
[0016] The beneficial effects of the above technical solution are as follows: This invention applies the particle swarm optimization algorithm to solve the distributed flexible job shop scheduling problem. Specifically, a redundant encoding method is designed to reasonably express the constraints of the established multi-objective distributed flexible job shop scheduling model. During encoding, for the MS decision vector, the length of each MS weight subsequence is equal to the total number of machines in the workshop with the most machines, thus providing sufficient redundancy to adapt to machine conditions under different workshops and preventing illegal solutions. For the FS decision vector, the length of each FS weight subsequence is equal to the total number of workshops. Similarly, sufficient encoding redundancy prevents situations where a workpiece, after being assigned, cannot be processed in that workshop, leading to illegal solutions. This ensures that a practically feasible scheduling scheme can be found regardless of the situation, guaranteeing the legality of the solution and the accuracy of the scheduling sequence, exhibiting good convergence and distribution performance. Moreover, this invention can fully operate on the three decision vectors to fully search the solution space. If this method is applied to actual multi-workshop manufacturing enterprises, it can help production enterprises better and faster handle multi-objective production scheduling problems, improve enterprise production efficiency, and reduce production costs.
[0017] As a further improvement to this method, in step 3), when updating the local and global optima of each particle, the current particle swarm is divided into three subpopulations, and the fitness value of each particle is calculated according to the fitness function of each subpopulation.
[0018] The three subpopulations are the first target subpopulation, the PDDR subpopulation, and the second target subpopulation, respectively. The fitness function of the first target subpopulation is the first target, the fitness function of the second target subpopulation is the second target, and the fitness function of the PDDR subpopulation is the PDDR-FF index. The three subpopulations are divided as follows:
[0019] a) Calculate and sort the PDDR-FF index values of all particles in the current particle swarm;
[0020] b) Select particles with smaller PDDR-FF index values from the current particle swarm and add them to the PDDR subpopulation based on the size of the PDDR subpopulation.
[0021] c) Select the four particles with the largest PDDR-FF index values from the remaining particles; calculate the first target value of the two particles with the largest and second largest PDDR-FF index values, and put the particle with the smaller first target value into the first target subpopulation, and the other particle into the second target subpopulation; calculate the second target value of the two particles with the smallest and second smallest PDDR-FF index values, and put the particle with the smaller second target value into the second target subpopulation, and the other particle into the first target subpopulation; continue the process in step c) until all the remaining particles have been processed.
[0022] The beneficial effects of the above scheme are: dividing the current population into three subpopulations, allowing particles to be updated in different directions, ensuring sufficient diversity of the method, bringing the particles closer to the Pareto front, satisfying the convergence requirements, and improving the search efficiency, ultimately making the obtained solution (i.e., the scheduling sequence) more practical.
[0023] As a further improvement to this method, the local optima of a particle contain only one scheduling sequence, and the local optima of a particle are updated in the following manner:
[0024] If the particle is a particle in the first objective subpopulation, and if the first objective function value of the particle is better than the first objective function value of the particle's local optimum, then update the local optimum of the particle.
[0025] If the particle is a particle in the second objective subpopulation, and if the second objective function value of the particle is better than the second objective function value of the particle's local optimum, then update the local optimum of the particle.
[0026] If the particle is a particle in the PDDR subpopulation, and if the particle dominates the local optimum of the particle in terms of dominance relationship, then update the local optimum of the particle; otherwise, randomly select a scheduling sequence as the local optimum of the particle.
[0027] The beneficial effects of the above scheme are: there is only one scheduling sequence in the local optimum of the particles, which reduces the size of the external archive, improves the overall running efficiency of the scheme, and maintains the convergence and distribution performance of the algorithm.
[0028] As a further improvement to this method, in step ② of the decoding method, if the workshop with the largest weight in the FS weight subsequence can process the determined workpiece, the workshop with the largest weight is selected for processing; if the workshop with the largest weight in the FS weight subsequence cannot process the determined workpiece, the workshop with the second largest weight is selected for processing.
[0029] The beneficial effects of the above scheme are: this processing method can avoid the occurrence of illegal solutions and ensure that a practically feasible scheduling scheme is found.
[0030] As a further improvement to this method, in step ② of the decoding method, if the machine with the largest weight in the MS weight subsequence can process the determined process, the machine with the largest weight is selected for processing; if the machine with the largest weight in the MS weight subsequence cannot process the determined process, the machine with the second largest weight is selected for processing.
[0031] The beneficial effects of the above scheme are: this processing method can avoid the occurrence of illegal solutions and ensure that a practically feasible scheduling scheme is found.
[0032] As a further improvement to this method, in step 3), the particle positions are updated based on random and mutation operations, and the particle update formula used is:
[0033]
[0034] in, The updated particle position; The position of the particle before the update; Gbest t For the global optimality of the particle; This represents a local optimum for the particle. These are the common probability parameters for the three parts of control and the crossover and mutation operations of the local optimum Sbest and the global optimum Gbest, respectively; F1 is the crossover operation; F2 is the mutation operation; c1 and c2 are acceleration coefficients; R1 and R2 are random numbers between [0,1]. This indicates that an operation or calculation is being performed.
[0035] The beneficial effects of the above technical solution are: using a new multi-vector particle position update method, it is easier to perform more refined searches in complex coding structures.
[0036] As a further improvement to this method, the particle update formula is solved in the following manner:
[0037] A) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate:
[0038]
[0039] in, Intermediate particles generated for updating the local optimal Sbest structure; for The FS decision vector of a particle; for The particle's OA decision vector; for The MS decision vector of a particle; express The FS decision vector of a particle; express The particle's OA decision vector; for The MS decision vector of the particle; rand represents a random number between [0,1].
[0040] B) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate:
[0041]
[0042] in, For intermediate particles; Gbest t (MS) is Gbest t MS decision vector of the particle; Gbest t (FS) is Gbest t The FS decision vector of the particle; Gbest t (OA) is Gbest t The particle's OA decision vector;
[0043] C) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate:
[0044]
[0045] As a further improvement to this method, when performing crossover operations, the update order of the OA decision vector, MS decision vector, and FS decision vector is first randomly defined, and the OA decision vector, MS decision vector, and FS decision vector are updated according to the set crossover operation probability; moreover, if none of the OA decision vector, MS decision vector, and FS decision vector are triggered to be updated, then any one of the OA decision vector, MS decision vector, and FS decision vector is forced to be updated.
[0046] The beneficial effects of the above technical solution are as follows: if none of the OA decision vector, MS decision vector, and FS decision vector are triggered to be updated, then any one of the OA decision vector, MS decision vector, and FS decision vector will be forced to be updated, ensuring that the particle has changed and thus guaranteeing the accuracy of the understanding.
[0047] As a further improvement to this method, when performing mutation operations, the update order of the OA decision vector, MS decision vector, and FS decision vector is first randomly defined, and the OA decision vector, MS decision vector, and FS decision vector are updated according to the set mutation operation probability. Attached Figure Description
[0048] Figure 1 This is an example diagram of the D-FJSP encoding and decoding of the present invention;
[0049] Figure 2 This is a schematic diagram of particle sampling and recombination according to the present invention;
[0050] Figure 3 This is a schematic diagram of the Sbest update of the present invention;
[0051] Figure 4 This is a flowchart of the multi-objective distributed flexible job shop scheduling method of the present invention. Detailed Implementation
[0052] This invention proposes a Hybrid Particle Swarm Optimization with Multi Region Convergence Strategy Based on Sbest (HPSO-MRCSS) algorithm, which simultaneously optimizes maximum completion time and total machine delay time. This algorithm is then applied to solve the distributed flexible job shop scheduling problem. The flexible job shop scheduling problem can target multiple factories distributed across different regions, or multiple workshops within a single factory area. The following description of the method uses multiple workshops within a single factory area as an example. However, it should be noted that the method can also be applied to solutions involving multiple factories distributed across different regions, in which case all "workshops" in the method refer to "factories." The innovative aspects of this algorithm include:
[0053] First, a redundant encoding method is used to reasonably express all the constraints of the heterogeneous workshop D-FJSP, thereby avoiding illegal solutions during algorithm execution. Specifically, the number of machines and the number of workshops in the largest processing workshop in the problem are used for redundant encoding, and a corresponding decoding scheme is designed to ensure that workshops under different processing conditions can be reasonably scheduled.
[0054] Secondly, the size of the external archive is reduced by using Sbest, and the core idea of the Sbest-based multi-region convergence strategy is used to partition particles and achieve strong convergence based on advantages, thereby improving the overall efficiency of the strategy while maintaining the convergence and distribution performance of the algorithm. Specifically, the original single local optimum Pbest set that existed for each particle is replaced with an Sbest set that exists for each particle in the sampled subpopulation, and the update rule of Sbest is related to the search direction of the subpopulation.
[0055] Third, a novel multi-vector particle position update method is used, which facilitates more refined searching in complex coding structures. Specifically, independent probability parameters are used to control whether different decision vectors perform update operations, instead of using a unified probability parameter to update all decision vectors simultaneously.
[0056] The following is a detailed introduction to these three aspects.
[0057] 1. Encoding and decoding methods based on redundancy structures.
[0058] To perform a comprehensive search of the solution space, this invention employs a three-vector encoding method when solving D-FJSPs to fully represent all fundamental decision variables. The encodings are the Operation Assignment (OA) decision vector, the Machine Selection (MS) decision vector, and the Factory Selection (FS) decision vector. This embodiment addresses the most challenging type of D-FJSP, the heterogeneous factory D-FJSP, which is significantly more difficult to solve and has much higher encoding / decoding requirements than the homogeneous factory D-FJSP.
[0059] Table 1 below provides an example of a D-FJSP. The parameters represent the following: there are four workpieces J1, J2, J3, and J4; workpiece J1 requires three processing steps, with each step consisting of a step of 0... 11 o 12 o 13 Workpiece J2 needs to be processed three times, with the three processes being o 21 o 22 o 23 Workpiece J3 requires two processing steps, each step being o. 31 o 32 Workpiece J4 needs to be processed once, and this process is o. 41 There are two workshops, F1 and F2; workshop F1 has three machines, namely M 11 M 12 M 13 Workshop F2 has two machines, namely M 21 M 22 The "-" in the table indicates that the process for the corresponding workpiece in the corresponding row cannot be processed on the corresponding machine in the corresponding column of the workshop.
[0060] Table 1 Examples of D-FJSP
[0061]
[0062] When constructing encoding rules, it is necessary to first consider that the machine conditions, processing time, and transportation time of raw materials in different workshops of heterogeneous workshop D-FJSP are different. Therefore, if we want the encoded information to contain all decision variables and ensure that no illegal solution is generated under any individual operation, we need to avoid these problems at the same time through complex encoding and decoding design.
[0063] For a D-FJSP, it is possible to have the following: Figure 1 The encoding result. Encoding requires designing three decision vectors, specifically including:
[0064] ①OA Decision Vector: The OA decision vector determines the processing sequence of each process. The specific coding content is the workpiece number set according to the processing sequence, and the workpiece number repeats according to the number of processes for that workpiece.
[0065] ②MS Decision Vector: The MS decision vector consists of multiple MS weight subsequences, each representing an individual operation. The total number of MS weight subsequences is the same as the total number of operations. Each operation corresponds to one MS weight subsequence. The length of each MS weight subsequence is equal to the total number of machines in the workshop with the most machines. The specific encoded content of the MS weight subsequence is the weight assigned to a specific machine for a particular operation. This design allows for sufficient redundancy to adapt to different machine conditions in different workshops, and a valid scheduling scheme can be decoded for workshops with any number of machines. During initialization, each bit of the MS decision vector is continuously filled with sequentially randomized weight subsequences, thus generating an MS decision vector.
[0066] ③FS Decision Vector: Similar to the MS decision vector, the FS decision vector is also composed of weighted subsequences. Here, there are multiple FS weighted subsequences, each determining which workshop a particular workpiece should be processed in. The total number of FS weighted subsequences is the same as the total number of workpieces. One workpiece corresponds to one FS weighted subsequence, and the length of each FS weighted subsequence is the total number of workshops. The specific encoding content of the FS weighted subsequence is the weight assigned to a particular workpiece for processing in a particular workshop. This design uses sufficient encoding redundancy space to avoid situations where a workpiece, after being assigned, cannot be processed in the designated workshop, resulting in an illegal solution. The initialization method is the same as that of the MS decision vector, but the maximum length of the FS weighted subsequence is the number of workshops.
[0067] Decoding process:
[0068] ① Read the coded content of one bit in the OA decision vector, and determine which workpiece it is based on the coded content (i.e., the workpiece number) and the number of times the workpiece number appears. Then determine which operation (i.e., which process) this gene corresponds to.
[0069] ② Read the FS weight subsequence corresponding to the workpiece from the FS decision vector. Determine which workshop the workpiece should be processed in based on the index of the largest weight. If the workshop with the largest weight does not have the production conditions to process the workpiece, then assign it to the workshop with the second largest weight. For example, Figure 1 Workpiece J4 should be assigned to workshop F2 according to the FS decision vector, but according to Table 1, workshop F2 cannot process workpiece J4, so it is assigned to workshop F1.
[0070] ③ After completing the above operations, read the MS decision vector again, find the MS weight subsequence corresponding to the process, and determine the machine to process the process based on the weight. Here, the number of machines may vary in different workshops. Therefore, when reading the MS weight subsequence corresponding to the operation in the MS decision vector, it should be read according to the number of machines in the assigned workshop. For example, according to the FS decision vector, we know... Figure 1 The process in o 21 Assigned to workshop F2, but workshop F2 only has two machines, so read (2,3) from the subsequence (2,3,1). 3 is the largest weight, with an index of 2, therefore process o 21 Machine M was assigned to workshop F2 22 The processing is then carried out. The coding redundancy here also has a mechanism to avoid illegal solutions; for example, based on the FS decision vector and the MS decision vector, it can be seen that... Figure 1 The process in o 13 According to the weighted subsequence, it should be in machine M. 11 The machining process is performed on the machine, but according to the machining conditions in Table 1, machine M... 11 Unable to process steps 13 Therefore, process o 13 Assigned to the machine M with the second largest weight. 12 The process is carried out on top.
[0071] Therefore, regardless of the actual problem conditions or the order of the encoding sequence, a practically feasible scheduling scheme can be found. The algorithm can fully operate on the three decision vectors to fully search the solution space.
[0072] 2. Multi-region convergence strategy based on Sbest (MRCSS).
[0073] This invention proposes the concept of Sbest, which is essentially an improvement on Pbest. The original Pbest in the particle swarm optimization algorithm included multiple components (in this invention, the scheduling sequence), while this application reduces Pbest to a single component. In this embodiment, it is called Sbest to distinguish it from the existing Pbest, but it is important to understand that it is fundamentally an improvement on Pbest. Sbest is used in conjunction with the sampling operation of the multi-region convergence strategy to record the historical optimal position searched for each location of particles in the divided subpopulations, and to continue guiding particles sampled to that subpopulation location to update in that direction. Since the particles in each subpopulation have a clear trend in the update direction after the sampling operation, Sbest can also update according to these directions. Instead of retaining a non-dominated set for each particle position, it performs competitive replacement based on the update direction, thereby reducing the number of external archives that need to be retained and improving the algorithm's running efficiency.
[0074] During particle swarm reorganization, based on the PDDR-FF index function, the smaller the number of dominant particles and the more dominant particles a particle is in the current swarm, the smaller its PDDR-FF value, and the closer it is to the Pareto center relative to the entire swarm. Therefore, particles closer to the Pareto center can be selected based on the magnitude of their PDDR-FF index. Figure 2 As shown, C represents a particle. The particle swarm reorganization method is as follows: 1) Calculate the PDDR-FF index value of all particles in the particle swarm, and sort all particles in ascending order according to the value. Based on the sorting result and the size of the PDDR subpopulation, put the particles with the lowest PDDR-FF index values into the PDDR subpopulation. 2) Then put the remaining particles into the first target subpopulation (Fit1 subpopulation) and the second target subpopulation (Fit2 subpopulation). Specifically: Based on the idea of the VEGA algorithm, particles near the upper edge of the Pareto index will have smaller objective function values f1, and particles near the lower edge of the Pareto index will have smaller objective function values f2. Therefore, firstly, from the remaining particles already sorted by the PDDR-FF index, select the two particles with the largest PDDR-FF index values each time. Put the particle with the smaller f1 value into the Fit1 subpopulation, and the other into the Fit2 subpopulation. Then, from the remaining particles, select the two particles with the largest PDDR-FF index values, but the comparison value is changed to the objective function value f2. Put the particle with the smaller objective function f2 value into the Fit2 subpopulation, and the other into the Fit1 subpopulation. Repeat this process until all particles have been processed.
[0075] The PDDR-FF indicator function is as follows:
[0076]
[0077] Where eval(k) is the PDDR-FF index function value, q(k) is the number of particles dominating k, p(k) is the number of particles dominated by k, and pSize is the size of the particle swarm.
[0078] When updating the external archive, the MRCSS strategy reduces the time spent on external archive maintenance by decreasing its size, and also reduces the selection operation when choosing a reference position (since Sbest, which replaces Pbest, only has one for each particle, it does not need to be selected), thereby improving the strategy's operational efficiency. For each particle sequence position, such as Figure 3As shown (S represents Sbest), the replacement rule for Sbest is as follows: For a particle sequence position set to be optimized on target 1, if its value on function f1 is better than the current Sbest, then it is replaced; similarly, for a particle sequence position optimized on target 2, if its value on function f2 is better than the current Sbest, then it is replaced; for a particle sequence position that continues to be optimized towards the Pareto center region, if the particles in the current particle sequence position dominate the current Sbest, then it is replaced.
[0079] Regarding the maintenance of external archives, the total number of external archives of size 1 required by the conventional multi-target PSO algorithm can be reduced to size 2 required by HPSO-MRCSS, as shown in equation (1), in order to reduce the algorithm's time consumption.
[0080]
[0081] Where N is the particle swarm size. Let Y be the average size of the Pbest set and Y be the size of the Gbest set.
[0082] This processing method changes the particle swarm reorganization sampling method. It no longer discards particles in the sampling method, and makes reasonable use of the results sorted by the PDDR-FF index value, thereby reducing the number of sorting methods in the reorganization method and improving the efficiency of the reorganization sampling method.
[0083] 3. Multi-vector particle position update method.
[0084] Because the encoding scheme proposed in this invention for D-FJSP considers three decision vectors for all decision variables, any individual change to the alleles on the OA, MS, or FS decision vectors will alter the objective function value of the decoding result. Therefore, using the same probability to uniformly control the crossover and mutation of multiple decision vectors, as is common among most researchers, may oversimplify the manipulation of particles, resulting in inadequate search of the solution space and potentially missing the global optimum.
[0085] Considering the above factors and the difficulty of the PSO algorithm in simultaneously operating on multiple vectors, this invention still uses a hybrid of crossover and mutation operators with the PSO algorithm to update particles when processing D-FJSP. To reduce the additional parameter requirements of the algorithm, during the crossover operation, the update order of the three vectors to be updated is first randomized. Then, the update probability of each of the three decision vectors is individually controlled by a probability, and a minimum probability is used to ensure that the particle is indeed updated. For example, if the update order of the three decision vectors is FS, OA, and MS, and the update probability of each decision vector is 0.3, then the FS decision vector has a 30% probability of updating, the OA decision vector also has a 30% probability of updating, and finally the MS decision vector has a 30% probability of updating. Furthermore, if none of the three decision vectors trigger an update, one of the decision vectors (e.g., the last decision vector, MS) is forced to update, thus ensuring that the particle has changed. The mutation operation is performed in the same way, but without forcing an update. If none of the three decision vectors reach the probability of mutation, the original particle is returned, and the mutation operation is not performed.
[0086] Based on the above considerations, the particle update formula for HPSO-MRCSS is shown in equation (2). The formula used in this equation is... These are the general probability parameters for controlling the crossover with Sbest, Gbest, and self-mutation operations. F1 is a hybrid crossover operation based on exchange order and allele insertion; specifically, exchange order crossover is used for the OA decision vector, and allele insertion crossover is used for the MS and FS decision vectors. F2 is the mutation operation, including random exchange pair and allele mutation operations; specifically, random exchange pair operation is used for the OA decision vector, and allele mutation operation is used for the MS and FS decision vectors.
[0087]
[0088] in, The updated particle position; The position of the particle before the update; Gbest t For the global optimality of the particle; For the local optimum of the particle; c1 and c2 are acceleration coefficients; R1 and R2 are random numbers between [0,1]. This indicates that an operation or calculation is being performed.
[0089] The first part is shown in equation (3), where These are intermediate particles generated by referencing the Sbest chromosome structure update. The specific steps are: First, for... The OA decision vector, MS decision vector, and FS decision vector are sorted and pre-operated to determine the specific update order, and then the general probability is used. This is used to control the probability of updating each code segment separately; secondly, if all three code segments are not executed after probability judgment, the last decision vector of the update order must be updated according to the corresponding chromosome sequence of Sbest.
[0090] First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, setting it to (FS, OA, MS). Then:
[0091]
[0092] in, for The FS decision vector of a particle; for The particle's OA decision vector; for The MS decision vector of a particle; express The FS decision vector of a particle; express The particle's OA decision vector; for The MS decision vector of the particle; rand represents a random number between [0,1].
[0093] The second part is formula (4), which mainly considers updating the chromosome structure of Gbest. The specific operation is the same as the process in the first part, where... It is an intermediate particle. First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, setting it to (FS, OA, MS), then:
[0094]
[0095] Among them, Gbest t (MS) is Gbest t MS decision vector of the particle; Gbest t (FS) is Gbest t The FS decision vector of the particle; Gbest t (OA) is Gbest t The OA decision vector of a particle.
[0096] Finally, the third part is the mutation operation, as shown in equation (5), which represents the mutation of the particle itself, providing perturbation for the search process. The specific operation involves first randomizing the order of the three decision vectors, and then using the universal mutation probability... This determines the probability of mutation for each part. If none of the three decision vectors fall within the random range, the mutation operation is not performed, and the original particle chromosome is returned directly.
[0097] First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, setting it to (FS, OA, MS). Then:
[0098]
[0099] This concludes the introduction of the innovations of this invention. The hybrid particle swarm optimization algorithm based on the Sbest multi-region convergence strategy described above will be applied to distributed flexible job shop scheduling to realize a multi-objective distributed flexible job shop scheduling method of this invention. The process is as follows: Figure 4 As shown, the specific process is as follows:
[0100] Step one: Based on the workshop processing information, establish a multi-objective distributed flexible job shop scheduling model with the objectives of minimizing the maximum completion time and the total machine delay time. The maximum completion time is the first objective, representing the largest final completion time among all machines in all workshops. The total machine delay time is the second objective, representing the sum of all idle time periods across all workshops. Furthermore, an encoding method is used to express the constraints of the multi-objective distributed flexible job shop scheduling model, and a corresponding decoding method is used to obtain the scheduling sequence. Specific encoding and decoding methods can be found in the section "1. Encoding and Decoding Method Based on Redundancy Structure" above.
[0101] Step 2: Initialize each bit in the OA decision vector, MS decision vector, and FS decision vector, as well as each parameter in the algorithm, and decode the initialized decision vector to obtain a scheduling sequence; accordingly change each bit in the OA decision vector, MS decision vector, and FS decision vector to generate other scheduling sequences, and use the generated N (N>1) scheduling sequences as the initial particle swarm, and use the initial particle swarm as the current particle swarm.
[0102] Step 3: Perform particle sampling and recombination on the current particle swarm, dividing it into three subpopulations: the first target subpopulation (Fit1 subpopulation), the PDDR subpopulation, and the second target subpopulation (Fit2 subpopulation). The fitness function of the Fit1 subpopulation is the first target, the fitness function of the Fit2 subpopulation is the second target, and the fitness function of the PDDR subpopulation is the PDDR-FF index. Specifically, the particle swarm recombination is performed as follows:
[0103] a) First, calculate the PDDR-FF index values of all particles in the current particle swarm and sort them in ascending order. For example, Figure 2 The particle swarm shown, N=10, is sorted as C5, C2, C9, C 10 , C1, C4, C3, C7, C6, C8.
[0104] b) Based on the size of the PDDR subpopulation, select particles with smaller PDDR-FF index values from the current particle swarm and add them to the PDDR subpopulation. For example, ... Figure 2 The particle swarm shown has a PDDR subpopulation size of 4, and the particles placed into the PDDR subpopulation are C5, C2, C9, and C6. 10 The remaining particles are C1, C4, C3, C7, C6, and C8, respectively.
[0105] c) From the remaining particles, select the four particles with the largest and second-largest PDDR-FF values. First, calculate the first objective value of the two particles with the largest and second-largest PDDR-FF values among these four particles. Place the particle with the smaller first objective value into the Fit1 subpopulation, and the other particle into the Fit2 subpopulation. Next, calculate the second objective value of the two particles with the smallest and second-smallest PDDR-FF values among these four particles. Place the particle with the smaller second objective value into the Fit2 subpopulation, and the other particle into the Fit1 subpopulation. Continue this process in step c) until all remaining particles have been processed. For example, ... Figure 2 The particle swarm shown has the following remaining particles: C1, C4, C3, C7, C6, and C8. The two particles with the largest and second largest PDDR-FF values are C8 and C6, respectively. Comparing the first target values of C8 and C6, C8's first target value is smaller than C6's, so C8 is placed in the Fit1 subpopulation and C6 is placed in the Fit2 subpopulation. Next, comparing the second target values of C3 and C7, C3's second target value is larger than C7's, so C7 is placed in the Fit2 subpopulation and C3 is placed in the Fit1 subpopulation. Continuing to compare the first target values of C1 and C4, C1's first target value is larger than C4's, so C4 is placed in the Fit1 subpopulation and C1 is placed in the Fit2 subpopulation. Thus, all particles are recombined.
[0106] Step 4: Calculate the fitness function value of each particle based on the fitness function of each subpopulation, and update the Sbest (including only one scheduling sequence) and Gbest of each particle.
[0107] Sbest updates in the following way:
[0108] For a particle in the Fit1 subpopulation, if the particle is better than the current Sbest in the first objective function value, update the Sbest of that particle.
[0109] For a particle in the Fit2 subpopulation, if the particle outperforms the current Sbest in the second objective function value, update the particle's Sbest.
[0110] For a particle in the PDDR subpopulation, if the particle dominates the current Sbest in terms of dominance, then the particle's Sbest is updated; if the particle does not have a dominance relationship with the current Sbest, then a scheduling sequence is randomly selected as the particle's Sbest.
[0111] Gbest updates in the following way:
[0112] For particles in the Fit1 subpopulation, Gbest is selected using a binary tournament based on the first objective function value;
[0113] For particles in the Fit2 subpopulation, Gbest is selected using a binary tournament based on the value of the second objective function.
[0114] For particles in the PDDR subpopulation, Gbest is randomly selected.
[0115] Step 5: Based on the Sbest (which includes only one scheduling sequence) and Gbest of each particle, update the velocity and position of the particles to obtain the next generation of particles. Among them, the position of the particles is updated according to formulas (2) to (5) based on random and mutation operations.
[0116] Step six: Combine the next generation of particles into the next generation of particle swarm. Determine whether the next generation of particle swarm meets the iteration termination condition (e.g., the number of iterations). If not, use the next generation of particle swarm as the current generation of particle swarm and repeat steps three through six until the iteration termination condition is met. Use the Gbest of the final particle swarm as the optimal scheduling sequence.
[0117] This completes the multi-objective distributed flexible job shop scheduling method of the present invention.
[0118] The method will be applied to specific examples and compared with other algorithms to illustrate the effectiveness and superiority of the method of the present invention.
[0119] The experimental environment was as follows: The experiment was conducted on a Windows 10 system with an Intel Core i5-4590 CPU @ 3.30GHz, 8GB of memory, and IntelliJ IDEA 2019.2. The experimental dataset used authoritative benchmark problems Mk01 to Mk10, extending these single-workshop FJSP problems to three workshops with the same processing conditions. The transport time for each workpiece was 5 seconds in workshop 1, 4 seconds in workshop 2, and 2 seconds in workshop 3. Each algorithm was run 30 times on all datasets. The maximum number of evaluations for all algorithms was set to 10,000, the population size was 100, and the independent crossover probability for each decision vector was set to 0.4 (which is the same as the three HPSO algorithms). and The independent mutation probability of each decision vector is set to 0.2 (which is the case in the three HPSO algorithms). The random step size is any real number between 0 and 1. Furthermore, the step size for the three HPSO algorithms is set to 0.4 for Sbest and 0.2 for Gbest, while the step size for the three genetic algorithms is set to 0.4. Finally, in HPSO-MRCSS, the number of particle sequence positions for the search functions in the two Pareto edge regions is 30, and the number of particle sequence positions for the Pareto center region direction is 40; the number of subpopulations in HPSO-MRS in the three directions are 30 / 40 / 30, respectively. The experiments use the metrics Hypervolume (HV) and Generational Distance (GD) to evaluate the convergence performance of the algorithms, and the metric Spacing to evaluate the distribution performance, thereby verifying the algorithm's effectiveness; the algorithm's efficiency is verified by calculating the average running time (CPUTime).
[0120] The mean HV index and significance analysis results are shown in Table 2. "+", "-", and "*" indicate that, compared to HPSO-MRCSS, the comparison algorithm has better significance, poorer significance, and similar results, respectively (using the Wilcoxon rank-sum test at a confidence level of 0.05, the same applies below). In most cases, the mean HV index of HPSO-MRCSS is superior to the other five comparison algorithms. Furthermore, the significance analysis results show that in 54% of the control group, HPSO-MRCSS significantly outperforms the other five comparison algorithms. Therefore, HPSO-MRCSS has better convergence performance and can more stably obtain a final solution set with better convergence.
[0121] Table 2. Mean values and significance analysis results of HV index
[0122]
[0123]
[0124] The mean GD index and its significance analysis results for 30 runs are shown in Table 3. In the ten datasets, HPSO-MRCSS outperformed the other five comparison algorithms in terms of the mean GD index in most cases, with no instances showing a significant difference. Furthermore, it significantly outperformed the comparison algorithms in 50% of the control groups. Therefore, in most cases, the final solution set searched by HPSO-MRCSS is closest to the true Pareto front, meaning that HPSO-MRCSS has superior and more stable convergence performance among the six algorithms.
[0125] Table 3. Mean values and significance analysis results of GD index
[0126]
[0127] Table 4 presents the analysis of the Spacing performance metrics. HPSO-MRCSS significantly outperformed the other five comparative algorithms in 28% of the control group, and none of the comparative algorithms showed a significant advantage over HPSO-MRCSS. Furthermore, although significant outperformance over other comparative algorithms was rare, the mean metric indicates that in most cases, HPSO-MRCSS's Spacing performance was superior to the three genetic algorithms and close to that of the two HPSO algorithms. Therefore, despite reducing the size of the external archive, the proposed HPSO-MRCSS still provides sufficient diversity by storing the historical optimal solution at each particle sequence position, ensuring good distribution performance.
[0128] Table 4. Mean values and significance analysis results of SPACING indicators
[0129]
[0130]
[0131] Regarding algorithm efficiency, the average CPU time for each algorithm is given in Table 5. Compared to HPSO-MRS and HPSO algorithms, which are similar to the method of this invention, HPSO-MRCSS, which adopts the improved method of this invention, achieves better running efficiency. In addition, since it uses a more complex particle update method compared to genetic algorithms, the three HPSO algorithms are relatively inefficient. However, because HPSO-MRCSS can obtain a higher quality final solution set, the complexity of this algorithm is within an acceptable range.
[0132] Table 5 Average running time of different algorithms
[0133]
[0134] Experimental results show that HPSO-MRCSS achieves better convergence and distribution performance than five existing algorithms while maintaining good efficiency. Therefore, this method can be applied to real-world multi-workshop manufacturing enterprises, helping them better and faster handle multi-objective production scheduling problems, improve production efficiency, reduce production costs, and facilitate their information technology transformation.
Claims
1. A distributed flexible job shop scheduling method based on multi-objectives, characterized in that, include: 1) Based on the workshop processing information, establish a multi-objective distributed flexible job shop scheduling model with the objectives of minimizing the maximum completion time and the total machine delay time. The maximum completion time is the first objective, which is the largest value of the last completion time among all machines in all workshops. The total machine delay time is the second objective, which is the sum of all idle time periods in all workshops. The constraints of the multi-objective distributed flexible job shop scheduling model are expressed by an encoding method, and the scheduling sequence is obtained by a corresponding decoding method. The encoding method is as follows: Three decision vectors are constructed: OA decision vector, MS decision vector, and FS decision vector. The OA decision vector determines the processing order of each process, and its encoding content is the workpiece number set according to the processing order. The workpiece number repeats according to the number of processes for that workpiece. The MS decision vector determines the processing machine for each process and includes the same number of MS weight subsequences as the total number of processes. One process corresponds to one MS weight subsequence, and the length of each MS weight subsequence is the total number of machines in the workshop with the most machines. The encoding content of the MS weight subsequence is the weight assigned to a specific machine for a particular process. The FS decision vector determines the processing workshop for each workpiece and includes the same number of FS weight subsequences as the total number of workpieces. One workpiece corresponds to one FS weight subsequence, and the length of each FS weight subsequence is the total number of workshops. The specific encoding content of the FS weight subsequence is the weight assigned to a specific workshop for a particular workpiece. The decoding method is as follows: ① Read one bit from the OA decision vector and determine the workpiece and process based on the content of that bit and how many times it appears; ② Based on the determined workpiece, read the FS weight subsequence corresponding to that workpiece in the FS decision vector and select the corresponding workshop based on the weight in the FS weight subsequence; then, based on the determined process, read the MS weight subsequence corresponding to that process in the MS decision vector and select the corresponding machine based on the weight in the MS weight subsequence; ③ Repeat steps ① to ② until each bit in the OA decision vector is read, thus obtaining a scheduling sequence. 2) Randomly generate N scheduling sequences as the initial particle swarm, and use the initial particle swarm as the current particle swarm, where N > 1; 3) Calculate the fitness function value of each particle based on the fitness function of the current particle swarm, and update the local optimum and global optimum of each particle; update the position and velocity of the particles based on the local optimum and global optimum of each particle to obtain the next generation of particles; there is only one scheduling sequence in the local optimum of the particles. 4) Combine the next generation of particles into the next generation of particle swarm. Determine whether the next generation of particle swarm meets the iteration termination condition. If not, take the next generation of particle swarm as the current particle swarm and repeat steps 3) to 4) until the iteration termination condition is met. Take the global optimum of the final particle swarm as the optimal scheduling sequence.
2. The distributed flexible job shop scheduling method based on multi-objectives according to claim 1, characterized in that, In step 3), when updating the local and global optima of each particle, the current particle swarm is divided into three subpopulations, and the fitness value of each particle is calculated according to the fitness function of each subpopulation. The three subpopulations are the first target subpopulation, the PDDR subpopulation, and the second target subpopulation, respectively. The fitness function of the first target subpopulation is the first target, the fitness function of the second target subpopulation is the second target, and the fitness function of the PDDR subpopulation is the PDDR-FF index. The three subpopulations are divided as follows: a) Calculate and sort the PDDR-FF index values of all particles in the current particle swarm; b) Select particles with smaller PDDR-FF index values from the current particle swarm and add them to the PDDR subpopulation based on the size of the PDDR subpopulation; c) Select the four particles with the largest PDDR-FF index values from the remaining particles; calculate the first target value of the two particles with the largest and second largest PDDR-FF index values, and put the particle with the smaller first target value into the first target subpopulation, and the other particle into the second target subpopulation; calculate the second target value of the two particles with the smallest and second smallest PDDR-FF index values, and put the particle with the smaller second target value into the second target subpopulation, and the other particle into the first target subpopulation; continue the process in step c) until all the remaining particles have been processed.
3. The distributed flexible job shop scheduling method based on multi-objectives according to claim 2, characterized in that, Furthermore, the local optima of a particle are updated in the following manner: If the particle is a particle in the first objective subpopulation, and if the first objective function value of the particle is better than the first objective function value of the particle's local optimum, then update the local optimum of the particle. If the particle is a particle in the second objective subpopulation, and if the second objective function value of the particle is better than the second objective function value of the particle's local optimum, then update the local optimum of the particle. If the particle is a particle in the PDDR subpopulation, and if the particle dominates the local optimum of the particle in terms of dominance relationship, then update the local optimum of the particle; otherwise, randomly select a scheduling sequence as the local optimum of the particle.
4. The distributed flexible job shop scheduling method based on multi-objectives according to claim 1, characterized in that, In step ② of the decoding method, if the workshop with the largest weight in the FS weight subsequence can process the determined workpiece, the workshop with the largest weight is selected for processing; if the workshop with the largest weight in the FS weight subsequence cannot process the determined workpiece, the workshop with the second largest weight is selected for processing.
5. The distributed flexible job shop scheduling method based on multi-objectives according to claim 1, characterized in that, In step ② of the decoding method, if the machine with the largest weight in the MS weight subsequence can process the determined process, the machine with the largest weight is selected for processing; if the machine with the largest weight in the MS weight subsequence cannot process the determined process, the machine with the second largest weight is selected for processing.
6. The distributed flexible job shop scheduling method based on multi-objectives according to claim 1, characterized in that, In step 3), the particle positions are updated based on random and mutation operations. The particle update formula used is: ; in, The position of the updated particle; The position of the particle before the update; For the global optimality of the particle; This represents a local optimum for the particle. , , These are the general probability parameters for the three parts of control and the crossover and mutation of the local optimum Sbest and the global optimum Gbest, respectively; For cross operations; This is a mutation operation; and The acceleration coefficient; and A random number between [0, 1]; This indicates that an operation or calculation is being performed.
7. The distributed flexible job shop scheduling method based on multi-objectives according to claim 6, characterized in that, The particle update formula is solved in the following way: A) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate: ; in, Intermediate particles generated for updating the local optimal Sbest structure; for The FS decision vector of a particle; for The particle's OA decision vector; for The MS decision vector of a particle; express The FS decision vector of a particle; express The particle's OA decision vector; for The MS decision vector of a particle; Represents a random number between [0, 1]. B) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate: ; in, It is an intermediate particle; for The MS decision vector of a particle; for The FS decision vector of a particle; for The particle's OA decision vector; C) First, randomly determine the update order of the OA decision vector, MS decision vector, and FS decision vector, and then calculate: 。 8. The distributed flexible job shop scheduling method based on multi-objectives according to claim 6, characterized in that, When performing crossover operations, the update order of the OA decision vector, MS decision vector, and FS decision vector is first randomly defined, and the OA decision vector, MS decision vector, and FS decision vector are updated according to the set crossover operation probability. Moreover, if none of the OA decision vector, MS decision vector, and FS decision vector are triggered to update, then any one of the OA decision vector, MS decision vector, and FS decision vector is forced to update.
9. The distributed flexible job shop scheduling method based on multi-objectives according to claim 6, characterized in that, When performing mutation operations, the update order of the OA decision vector, MS decision vector, and FS decision vector is first randomly defined, and the OA decision vector, MS decision vector, and FS decision vector are updated according to the set mutation operation probability.
Citation Information
Patent Citations
Energy-storage multi-target control method and system considering wind-power ramp rate and operating cost
CN104573847A