Multi-objective flexible job shop batching scheduling method based on imperialist competitive algorithm
By adopting a multi-objective flexible job shop batch scheduling method based on the Empire Competition Algorithm, the problems of core equipment utilization and maximum completion time are solved, and more efficient flexible job shop scheduling optimization is achieved.
Patent Information
- Application Number
- CN202211046799.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-30
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2042-08-30
AI Technical Summary
Existing flexible workshop scheduling methods cannot effectively solve the problems of core equipment utilization and maximum completion time. In particular, in the batch scheduling of multi-objective flexible workshops, existing methods cannot meet the needs of modern production.
A multi-objective flexible job shop batch scheduling method based on the Empire competition algorithm is adopted. By setting an optimization objective function, using two-stage encoding and decoding operations, and combining multiple population generation strategies, assimilation strategies, and optimization strategies, the population search is optimized to generate the optimal scheduling scheme.
It improved the utilization rate of core equipment, reduced the maximum completion time, reduced the number of batches, enhanced the search capability of the Empire Competition algorithm, and achieved more efficient scheduling optimization.
Smart Images

Figure CN115470977B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of flexible job shop scheduling, and in particular to a multi-objective flexible job shop batch scheduling optimization method based on an imperial competition algorithm. Background Art
[0002] The flexible job shop scheduling problem was first proposed by Brucker and Schlie in 1990 and proved to be a non-deterministic problem of polynomial complexity and NP-hard.
[0003] Currently, much research on the flexible job shop scheduling problem (FJSP) focuses on total energy consumption and completion time. With the increasing degree of customization and the emergence of issues such as lead times, energy consumption, and the sheer volume of products, production planning and scheduling have become increasingly complex. Furthermore, due to equipment limitations, long processing cycles, and high energy consumption, certain processing equipment has become the core of the entire production process. To reduce energy consumption and improve delivery rates, scheduling optimization methods that focus solely on total energy consumption and completion time are no longer able to meet the practical needs of modern flexible job shop production.
[0004] The flexible job shop batch scheduling problem extends the flexible job shop scheduling problem by adding batch division constraints. This flexibility is primarily reflected in the multiple choices of manufacturing resources, which vary in cost and time for different workpieces and processes. Therefore, how to specify appropriate batch division schemes based on the number of jobs to improve turnover efficiency, increase core equipment utilization, and reduce completion time is a pressing issue for current manufacturing companies. Summary of the Invention
[0005] The present invention proposes a multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm to solve the problems of core equipment utilization and maximum completion time in multi-objective flexible job shop batch scheduling with variable processing batches.
[0006] To solve the above technical problems, the present invention provides a multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm, comprising the following steps:
[0007] Step S1: Set preset conditions, basic parameters and constraints for the target flexible job shop, set an optimization objective function based on minimizing the maximum completion time, maximizing the utilization of core equipment and minimizing the number of batches, and build a production scheduling model;
[0008] Step S2: performing two-stage encoding and decoding operations on the batch division part and the batch scheduling part of the target flexible job shop;
[0009] Step S3: For the batch division part and the batch scheduling part, adopt multiple population generation strategies, set the population size and generate the initial population based on the imperial competition algorithm;
[0010] Step S4: Calculate the cost of individuals in the initial population, sort them, set the number of excellent individuals to select excellent individuals and allocate subordinate individuals to generate an initial race;
[0011] Step S5: assimilating the initial race through multiple assimilation strategies to obtain an assimilated race;
[0012] Step S6: Optimizing the assimilated race by using adaptive parameters and adopting multiple optimization strategies to generate an optimized race;
[0013] Step S7: Calculate the total cost of the optimization race and conduct race competition. When the set maximum number of iterations is met, output the optimal solution, otherwise re-execute steps S3 to S7.
[0014] Preferably, the optimization objective function in step S1 includes:
[0015] 1) Core equipment utilization:
[0016]
[0017] Where, T o,j,m represents the processing time of a single workpiece in the i-th process of the j-th workpiece on the equipment m, B j represents the number of unprocessed workpieces j, m c Indicates the core device, C r,m represents the completion time of the rth task on device m, S r,m represents the start time of the rth task on device m, η mc Indicates the core equipment utilization;
[0018] 2) Maximum completion time:
[0019]
[0020] Where C j,o,s,m represents the completion time of the sth batch of the i-th process of the j-th workpiece on the equipment m;
[0021] 3) Number of batches:
[0022]
[0023] Where J represents the set of all workpieces, O j represents the number of steps for workpiece j, S j Indicates O j The number of batches divided, Rs,j,o If the number of the sth batch of the ith process of the jth workpiece is not equal to 0, then R s,j,o =1, otherwise R s,j,o =0;
[0024] 4) Final optimization goal:
[0025]
[0026] Preferably, the batch division part in step S2 calculates the maximum batch division number L for each process by the following formula to determine the code length:
[0027]
[0028] Where B min,j Indicates that the minimum batch is fast;
[0029] In the batch scheduling section, (j, o, m) is used to indicate that the o-th process of workpiece j is scheduled to be processed on equipment m.
[0030] Preferably, the decoding operation comprises the following steps:
[0031] Step S21: Calculate the batch quantity of each batch by the following formula to divide the queue:
[0032]
[0033] Where a j,o,s Represents a random number between 0 and 1. If a j,o,s =0 means the batch size is 0,
[0034] Step S22: In the batch scheduling section, the workpiece, process, and equipment information are parsed in order from left to right;
[0035] Step S23: According to the equipment information, the equipment start time of the current task that can be processed is obtained, and the equipment constraint information is determined;
[0036] Step S24: Calculating the allowed start time of the process when the constraint conditions are met;
[0037] Step S25: Determine the final start time based on the equipment constraint information and the allowed start time of the process, and then calculate the final result based on the batch quantity and the optimization objective function.
[0038] Preferably, the multiple population generation strategies in step S3 are divided into:
[0039] The batch division includes:
[0040] 1) Random generation strategy;
[0041] 2) Maximizing batch partitioning strategy;
[0042] 3) No batching strategy;
[0043] The batch scheduling part includes:
[0044] 1) Random generation strategy;
[0045] 2) First-come-first-served equipment selection strategy;
[0046] 3) Select the equipment strategy that completes processing first.
[0047] Preferably, the multiple assimilation strategies in step S5 are randomly selected one assimilation strategy or multiple assimilation strategies used together, and the assimilation strategies to be selected include:
[0048] 1) Assimilation strategy based on batch division queue:
[0049] 2) Assimilation strategy based on scheduling queue.
[0050] Preferably, the assimilation strategy based on batch division queues includes the following steps:
[0051] Step S511: For the subordinate individual g controlled by the superior individual, two random numbers P1 and P2 are randomly generated, where P1>P2, and the batch segment P1 to P2 in the batch segment of the superior individual is selected and assigned to its subordinate individual g to obtain a new solution;
[0052] Step S512: If the new solution is better than the superior individual, the superior individual position is replaced by the new solution; if the new solution is better than the subordinate individual g, the subordinate individual g is replaced by the new solution;
[0053] The scheduling queue-based assimilation strategy includes the following steps:
[0054] Step S521: randomly construct a temporary individual Temp;
[0055] Step S522: For the subordinate individuals g controlled by the superior individual, randomly select a segment from the superior individual's batch scheduling part and assign it to the temporary individual Temp. The remaining segment is filled with subordinate individuals for conflict detection. A mapping relationship is established based on the two groups of scheduling queues. The redundant genes of the temporary individual Temp are found and converted into missing genes.
[0056] Step S523: If the temporary individual Temp is better than the excellent individual, the temporary individual Temp replaces the excellent individual; if the temporary individual Temp is better than the subordinate individual g, the national individual Temp replaces the subordinate individual g.
[0057] Preferably, the method of generating the optimized race in step S6 comprises the following steps:
[0058] Step S61: Perform non-dominated sorting on the subordinate individuals, and set the initial optimization rate r based on the sorting results from large to small. original ;
[0059] Step S62: Set the iteration coefficient and calculate the initial revolution rate r based on the iteration coefficient original , calculate the current optimization rate r current ;
[0060] Step S63: Based on the current optimization rate r current , a roulette wheel is used to select a subordinate individual, and if not selected, the next subordinate individual is selected;
[0061] Step S64: randomly selecting one of the multiple optimization strategies to optimize the subordinate individuals and generate a new solution z;
[0062] Step S65: When the new solution z is better than the excellent individual to which the subordinate individual belongs, the new solution z is used to replace the excellent individual; if the new solution z is better than the subordinate individual, the new solution z is used to replace the subordinate individual.
[0063] Preferably, the multiple optimization strategies include:
[0064] 1) The coding segment of the batch division part corresponding to the process on the core equipment is mutated into a different random number to change the batch size. If it mutates to 0, it means that this batch is cancelled, reducing the number of batches, thereby affecting the maximum completion time. Then, the coding segment of the batch division part corresponding to the process on the core equipment is swapped with other batches of the same operation to change the batch processing order;
[0065] 2) The batches of the same type of workpieces processed continuously with the same process are merged. At the same time, when optimizing the batch scheduling part, the codes of the merged batches and the corresponding batch scheduling part are retained.
[0066] Preferably, the population size, number of excellent individuals, maximum number of iterations and initial optimization rate are obtained through orthogonal experiments.
[0067] The beneficial effects of the present invention are:
[0068] A multi-objective flexible job shop batch scheduling optimization method based on the Imperial Competition Algorithm (ICA) is proposed to address the core equipment utilization issue in multi-objective flexible job shop batch scheduling with variable sub-batches. A two-stage encoding scheme for batch partitioning and batch scheduling is proposed, and a left-shift decoding rule is employed to address the scheduling integration issue. A domain structure heuristic optimization based on adaptive parameters is employed to perform a global search to avoid being trapped in local optima. Furthermore, two assimilation strategies are alternately used during the assimilation process to enhance local search capabilities. The proposed algorithm demonstrates higher efficiency and effectiveness than existing algorithms. Furthermore, the proposed model is more suitable for minimizing maximum completion time, maximizing equipment utilization, and minimizing the number of batches. This addresses the efficiency issue of core equipment and enhances the search capabilities of the Imperial Competition Algorithm (ICA), resulting in higher efficiency and effectiveness than existing algorithms. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 Schematic diagram of the algorithm flow of the present invention;
[0070] Figure 2 It is a coding schematic diagram of the present invention;
[0071] Figure 3 Schematic diagram of the assimilation process of the present invention;
[0072] Figure 4 Schematic diagram of the competition process of the present invention;
[0073] Figure 5 This is a trend diagram of the population size factor level in the comparative experiment of the preferred embodiment of the present invention;
[0074] Figure 6 This is a statistical chart of the algorithm self-comparison results in the comparative experiment of the preferred embodiment of the present invention;
[0075] Figure 7 This is a boxplot comparing other algorithms in a comparative experiment of a preferred embodiment of the present invention;
[0076] Figure 8 It is a distribution diagram of the Pareto optimal solution sets of various algorithms for some examples in the comparative experiment of the preferred embodiment of the present invention. DETAILED DESCRIPTION
[0077] The following is a clear and complete description of the technical solutions in the embodiments of the present invention, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts are within the scope of protection of the present invention.
[0078] like Figure 1FIG. 1 is a flow chart of the algorithm of the present invention. The following describes a multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm in conjunction with an embodiment of the present invention. Specifically, the method includes the following steps:
[0079] Step S1: Set preset conditions, basic parameters and constraints for the target flexible job shop, set an optimization objective function based on minimizing the maximum completion time, maximizing the utilization of core equipment and minimizing the number of batches, and build a production scheduling model;
[0080] To more intuitively describe the flexible job shop batch scheduling problem, we assume that the start of processing tasks on a single piece of equipment must meet batch constraints. The preconditions for the model environment include:
[0081] 1) During the processing of each sub-batch of a workpiece, other processing tasks cannot be inserted during the processing.
[0082] 2) The processing time for each workpiece and each process on the optional equipment is fixed.
[0083] 3) The transportation and preparation time of each sub-batch of workpieces is fixed, and when the same process of processing the same workpiece on one equipment, no preparation time is required between sub-batches.
[0084] 4) The processing of each step must not be interrupted.
[0085] 5) All equipment operates normally throughout the entire production process without any failure.
[0086] Basic parameters include:
[0087] M: processing equipment collection;
[0088] M: total number of devices, m∈M;
[0089] m c : core equipment;
[0090] J: the set of all artifacts;
[0091] j: workpiece index number, j∈J;
[0092] η mC : Core equipment utilization;
[0093] C max : Maximum completion time;
[0094] C r,m : Completion time of the rth task on device m;
[0095] C j,o,s,m :O j,o,s Completion time on equipment M;
[0096] O j : the number of processes of workpiece j;
[0097] O j,o : the i-th process of the j-th workpiece;
[0098] O j,o,s :Process O j,o The sth batch of;
[0099] B j : the number of unprocessed j;
[0100] S j :Process O j,o the number of batches to be divided;
[0101] R m : The maximum number of tasks assigned to device m;
[0102] S:b j,o,s The sum of the number of batches whose size is not empty;
[0103] b j,o,s :Batch O j,o,s The batch number;
[0104] T o,j,m :Process O on equipment m j,o Processing time of a single workpiece;
[0105] S o,j,m :Process O on equipment m j,o The installation time of the first task;
[0106] S o,j,m,o',j' :On equipment m, the previous process is O j',o' , post-process O j,o , then the preparation time required;
[0107] T m,m' : Workpiece transfer time between equipment m and m';
[0108] B min,j : Minimum batch block;
[0109] S r,m : The start time of the rth task on device m;
[0110] Q o,j,m :Q o,j,m =1 indicates process O j,o Can be processed on equipment m, otherwise Q o,j,m =0;
[0111] A r,m,j,o,s :A r,m,j,o,s=1 means batch 0 j,o,s is the rth task to be processed on equipment m, otherwise it is 0;
[0112] R s,j,o :If b j,o,s ≠0, let R s,j,o =1, otherwise R s,j,o =0;
[0113] N r,m : If device m is assigned r tasks, let N r,m =1, otherwise N r,m =0;
[0114] Set the constraints as follows:
[0115] 1) The completion time of the current task on the current device must be greater than or equal to the completion time of the current batch assigned to this device:
[0116]
[0117] 2) All batches of each process can only be assigned to a unique candidate device:
[0118]
[0119]
[0120] 3) Ensure that the rth task on device m can only be assigned to a unique batch. After the current task r is assigned, the next task can be assigned:
[0121]
[0122]
[0123] 4) Before the sub-batch task arrives, you can perform installation preparation operations in advance:
[0124]
[0125]
[0126] 5) All workpieces in the sub-batch must complete the previous process and be transported to the next processing equipment before processing can begin:
[0127]
[0128]
[0129] 6) After all sub-batches of the same type of workpieces have been processed, other types of workpieces can be processed:
[0130]
[0131] 7) If batch O j,o,s For the rth processing task on the equipment, the subsequent processes of this batch must be arranged after this task:
[0132]
[0133] 8) The size of a single batch has a batch size constraint with a size limit:
[0134]
[0135] The optimization objective functions include:
[0136] 1) Core equipment utilization:
[0137]
[0138] 2) Maximum completion time:
[0139]
[0140] 3) Number of batches:
[0141]
[0142] 4) Final optimization goal:
[0143]
[0144] Step S2: performing two-stage encoding and decoding operations on the batch division part and the batch scheduling part of the target flexible job shop;
[0145] Specifically, if Figure 2 As shown, considering the characteristics of the multi-objective flexible job shop batch scheduling FJSP-LS problem, the embodiment of the present invention adopts a two-segment encoding method consisting of a batch division part and a batch scheduling part.
[0146] According to the actual production situation, each batch has a batch lower limit. The maximum batch division number L for each type of workpiece and each process is calculated by the following formula, so that the batch queue encoding length can be determined:
[0147]
[0148] At the same time, for the batch scheduling part, (j,o,m) is used to indicate that the o-th process of workpiece j is scheduled to be processed on equipment m. During the production process, the batches are processed strictly in sequence to comply with the above constraints.
[0149] For the decoding operation, the embodiment of the present invention adopts a shift strategy to perform decoding in a left-to-right order. The specific decoding process is as follows:
[0150] Step S21: Calculate the batch quantity of each batch by the following formula to divide the queue:
[0151]
[0152] Where a j,o,s Represents a random number between 0 and 1. If a j,o,s =0 means the batch size is 0,
[0153] Step S22: In the batch scheduling section, the workpiece, process, and equipment information are parsed in order from left to right;
[0154] Step S23: According to the equipment information, the equipment start time of the current task that can be processed is obtained, and the equipment constraint information is determined;
[0155] Step S24: Calculating the allowed start time of the process when the constraint conditions are met;
[0156] Step S25: Determine the final start time based on the equipment constraint information and the allowed start time of the process, and then calculate the final result based on the batch quantity and the optimization objective function.
[0157] Step S3: For the batch division part and the batch scheduling part, adopt multiple population generation strategies, set the population size and generate the initial population based on the imperial competition algorithm;
[0158] The imperial competition algorithm adopted in the present invention has a population composed of many individuals, each of which represents a feasible solution to the above model.
[0159] The flexible job shop batch scheduling problem is more complex than the classic job shop problem, and the quality of the initial solution significantly impacts the solution. To improve population quality, a population generation method combining a random generation strategy with multiple heuristic rules is employed. For the batching queue, 60% of the population uses a random generation strategy, 20% uses a maximal batching scheme, and 20% uses a no-batch scheme (no batching for each process). The ratio of these three strategies is 0.6:0.2:0.2. This ensures diversity within the batching queue. For the scheduling queue, the random generation strategy, the first-come-first-served machine selection strategy, and the first-to-finish machine selection strategy are combined in a ratio of 0.6:0.2:0.2, ensuring both diversity and quality.
[0160] Step S4: Calculate the cost of individuals in the initial population, sort them, set the number of excellent individuals to select excellent individuals and allocate subordinate individuals to generate an initial race;
[0161] For an N-dimensional problem, we use a 1×N matrix to represent the individual factors, as shown in the following formula:
[0162] Country=[p1,p2,p3,...,p N ]
[0163] P N Represents different factors. The quality of an individual is closely related to the factors, and its quality is estimated by cost. Generally, the better the individual, the smaller its cost and the greater its influence. The cost of individual i is calculated by the following cost function f:
[0164] c i =f(Country)=f(p1,p2,p3,...,p N )
[0165] According to the individual cost sorting, N c Individuals will be divided into two categories: excellent individuals and subordinate individuals, where the excellent individuals are the top N individuals in the population. imp There are individuals with strong power, and the rest are subordinate individuals. The following three formulas calculate the standardized cost C of superior individuals respectively. imp , Standardization Force EP imp and the number of assigned subordinate individuals NC imp .
[0166]
[0167]
[0168] NC imp =round{EP imp ×(N c -N imp )}
[0169] In the formula, round means rounding off. The number of assigned subordinate individuals is calculated according to the above formula, and individuals are randomly assigned to selected excellent individuals as subordinate individuals to generate the initial race.
[0170] Step S5: assimilating the initial race through multiple assimilation strategies to obtain an assimilated race;
[0171] After the initial race is formed, superior individuals transmit information to subordinate individuals to better control them. This process may lead to subordinate individuals becoming more powerful than the superior individuals, at which point the superior and subordinate individuals will swap positions.
[0172] Assimilation process Figure 3 As shown, specifically, in order to improve the search capability of the imperial competition algorithm ICA, the embodiment of the present invention adopts two assimilation strategies alternately in the assimilation process to achieve assimilation between excellent individuals and subordinate individuals, thereby enhancing the global search capability.
[0173] 1) The assimilation strategy based on batch division queues has the following steps:
[0174] Step S511: For the subordinate individual g controlled by the superior individual, two random numbers P1 and P2 are randomly generated, where P1>P2, and the batch segment P1 to P2 in the batch segment of the superior individual is selected and assigned to its subordinate individual g to obtain a new solution;
[0175] Step S512: If the new solution is better than the superior individual, the superior individual position is replaced by the new solution; if the new solution is better than the subordinate individual g, the subordinate individual g is replaced by the new solution;
[0176] The scheduling queue-based assimilation strategy includes the following steps:
[0177] Step S511: For the subordinate individual g controlled by the superior individual, two random numbers P1 and P2 are randomly generated, where P1>P2, and the batch segment P1 to P2 in the batch segment of the superior individual is selected and assigned to its subordinate individual g to obtain a new solution;
[0178] Step S512: If the new solution is better than the superior individual, the superior individual position is replaced by the new solution; if the new solution is better than the subordinate individual g, the subordinate individual g is replaced by the new solution;
[0179] 2) Assimilation strategy based on scheduling queue.
[0180] Step S521: randomly construct a temporary individual Temp;
[0181] Step S522: For the subordinate individuals g controlled by the superior individual, randomly select a segment from the superior individual's batch scheduling part and assign it to the temporary individual Temp. The remaining segment is filled with subordinate individuals for conflict detection. A mapping relationship is established based on the two groups of scheduling queues. The redundant genes of the temporary individual Temp are found and converted into missing genes.
[0182] Step S523: If the temporary individual Temp is better than the excellent individual, the temporary individual Temp replaces the excellent individual; if the temporary individual Temp is better than the subordinate individual g, the national individual Temp replaces the subordinate individual g.
[0183] At the same time, in order to give full play to the role of the two strategies in the assimilation process, a random number α is generated before each assimilation and belongs to (0, 1). When α < 0.4, strategy 1 is adopted; when 0.4 ≤ α < 0.8, strategy 2 is adopted; when α ≥ 0.8, both strategies are adopted at the same time.
[0184] Step S6: Optimizing the assimilated race by using adaptive parameters and adopting multiple optimization strategies to generate an optimized race;
[0185] Optimization is one way the Imperial Competition Algorithm (ICA) generates new solutions. Subordinate individuals within a race are not only assimilated by superior individuals but also possess the ability to randomly change their characteristics. This is similar to the mutation process in genetic algorithms. The optimization results are random, which helps increase the algorithm's search power and avoid getting stuck in early local optima.
[0186] The traditional Imperial Competition Algorithm (ICA) fails to guarantee the quality of newly generated solutions. This paper designs two domain structure-heuristic revolution strategies based on an adaptive revolution rate and roulette-based colony selection. This aims to improve algorithmic development. For batch partitioning, this paper designs a domain structure based on adaptive parameters. The participating individuals adopt new optimization strategies at a specific rate.
[0187] Strategy 1: Batch division is used to facilitate the early start of the process itself or subsequent processes. This invention employs two structures for batch division: 1) Batch Mutation: The batch division code corresponding to the process on the core equipment is mutated to a different random number, changing the batch size. A mutation to 0 cancels the batch, reducing the number of batches and thus affecting the maximum completion time. 2) Batch Replacement: The batch division code corresponding to the process on the core equipment is swapped with other batches of the same operation to change the batch processing order.
[0188] Strategy 2: Consolidate batches of similar workpieces with the same process steps for continuous processing to avoid unnecessary batch splits. This reduces the number of batch splits without affecting the maximum completion time. When inserting or changing a batch schedule, the codes of the merged batch and the corresponding batch schedule are retained.
[0189] Specifically, the optimization includes the following steps:
[0190] Step S61: Setting the iteration coefficient and initial optimization rate r original , and based on the iteration coefficient and the initial optimization rate r original , calculate the current optimization rate r current , the current optimization rate rcurrent The calculation formula is:
[0191] r current =0.99 n ×r Original
[0192] Where n represents the number of iterations and 0.99 represents the iteration coefficient;
[0193] Step S62: Based on the current optimization rate r current , a roulette wheel is used to select a subordinate individual, and if not selected, the next subordinate individual is selected;
[0194] Step S63: The embodiment of the present invention optimizes the subordinate individuals through the above two optimization strategies to generate a new solution z;
[0195] Step S64: When the new solution z is better than the excellent individual to which the subordinate individual belongs, the new solution z is used to replace the excellent individual; if the new solution z is better than the subordinate individual, the new solution z is used to replace the subordinate individual.
[0196] Step S7: Calculate the total cost of the optimization race and conduct race competition. When the set maximum number of iterations is met, output the optimal solution, otherwise re-execute steps S3 to S7.
[0197] like Figure 4 As shown, the competition between races formed by multiple superior individuals and the subordinate individuals they dominate is an important step in the imperial competition algorithm ICA.
[0198] Specifically, the competition process is as follows:
[0199] Step 1: Calculate the normalized total cost NTC of all races k and Power EP k ;
[0200] NTC k =2×max{TC h}-TC k
[0201]
[0202] Where TC h and TC k represents the cost of dependent individuals;
[0203] Step 2: Select the least powerful subordinate individual g from the weakest race;
[0204] Step 3: Select the outstanding individual k to be distributed based on racial power through roulette;
[0205] Step 4: Delete subordinate individual g from the weakest race and add subordinate individual g to the superior individual k;
[0206] Step 5: Calculate the number of subordinate individuals of the weakest race. If the number of subordinate individuals is 0, then the race will be extinct.
[0207] In the embodiment of the present invention, the above-mentioned population size, number of excellent individuals and maximum number of iterations are obtained through orthogonal experiments.
[0208] The following uses specific data to illustrate the advantages of the present invention. Using production process data from a domestic medical device manufacturer, two representative data sets are selected as test cases. The corresponding data for the two sets of examples are shown in the following table:
[0209] Test Case 1:
[0210] The specific data are shown in Tables 1 to 3:
[0211] Table 1: Equipment used for workpiece processes
[0212]
[0213] Table 2: Equipment working time corresponding to workpiece process
[0214]
[0215] Table 3: Number of parts to be processed and minimum batch size
[0216]
[0217] Test Case 2:
[0218] The specific data are shown in Tables 4 and 5:
[0219] Table 4: Equipment used for workpiece processes
[0220]
[0221] Table 5: Equipment working time corresponding to workpiece process
[0222]
[0223] Table 6: Number of parts to be processed and minimum batch size
[0224]
[0225] The main parameters that affect the performance of the imperial competition algorithm ICA are population size, initial number of excellent individuals, maximum number of iterations and initial optimization rate. In order to obtain a better parameter combination, the orthogonal experimental method is used to optimize the configuration of the main parameters. The factor level table is shown in Table 7.
[0226] Table 7
[0227]
[0228] Based on the number of factors and levels, the experiment was designed using an L16 orthogonal matrix with 5 factors and 4 levels. Using test case 1, the algorithm was run 10 times independently for each parameter combination, with a maximum run time of 5 minutes. The mean inverse generation distance (IGD) for each set of experiments was used as the evaluation metric, with smaller IGD values indicating better results. The experimental results are shown in Table 8, where I, II, III, and IV represent the mean values of the four different levels of the current factor.
[0229] Table 8
[0230]
[0231] In order to intuitively express the impact of the level value on the algorithm performance, draw the corresponding trend graph of each factor, such as Figure 5 As shown in the figure, it is concluded that the algorithm has the best performance when the population size is 300, the initial number of excellent individuals is 10, the maximum number of iterations is 200, and the initial optimization rate is 0.3.
[0232] To evaluate the diversity and convergence of the solutions of the improved Imperial Competition Algorithm (IICA), we employed two comparison methods: self-comparison and algorithm comparison. Each algorithm was independently run 10 times on each set of test data. Because increasing the number of workpieces and processes increases the algorithm runtime, each run was set to 5 minutes. Termination criteria were when the number of iterations reached a limit or when only one race remained. The average of these 10 experiments was used as the final test result.
[0233] 1) Self-comparison:
[0234] In order to verify the effectiveness of the improved strategy of the imperial competition algorithm ICA, comparisons were made with the original imperial competition algorithm ICA, the imperial competition algorithm ICA_NR with a new optimization strategy, and the imperial competition algorithm ICA_NP with a new population generation strategy. IGD, ER, and NDS were used as evaluation indicators. The smaller the IGD and ER values, the better the performance of the algorithm; the larger the NDS, the higher the solution accuracy of the algorithm.
[0235] IGD and ER were calculated according to the following formula:
[0236]
[0237]
[0238] N * represents the size of the true Pareto frontier point set, di represents the nearest Euclidean distance from the i-th actual frontier point to the true Pareto frontier, N represents the optimal solution set, e i Indicates whether the i-th solution in the optimal solution set is on the true Pareto frontier. If it is e i =0; otherwise e i =1.
[0239] Based on the above example, 10 more examples were generated, making a total of 12 examples. The IGD, ER, and N (NDS) obtained from the Pareto solution set of the ICA algorithm under different improvement strategies are shown in Table 9:
[0240] Table 9
[0241]
[0242] In order to express the analysis results intuitively, the corresponding line graph is drawn according to the results in Table 9, as shown in Figure 6 As shown. It can be seen that the results of IGD, ER and N calculated by the improved imperial competition algorithm IICA algorithm adopted by the present invention in the test case are superior to those of the classic ICA, ICA_NR and ICA_NP; ICA_NR and ICA_NP are both superior to the classic ICA; this shows that the improvement of the ICA algorithm has gradually optimized the performance of solving the multi-objective batch scheduling problem of flexible job shops. Among the three evaluation indicators, the algorithm performance is roughly arranged from high to low as IICA, ICA_NP, ICA_NR, and ICA. According to the line graph of the ER indicator, the quality of the IICA solution tends to be stable. According to the line graph of the N indicator, it can be seen that the population generation strategy has a relatively large impact on the size of the final Pareto solution set, indicating that the population strategy has a positive guiding effect on the solution accuracy. Several indicators of the IICA algorithm are better than other strategies, indicating that the solution accuracy of IICA to the solution space is higher than that of the ICA algorithm under the improved strategy.
[0243] 2) Comparison with other algorithms
[0244] In order to verify the performance of IICA in solving the multi-objective flexible job shop batch scheduling problem FJSP-LS, four algorithms, including the improved genetic algorithm IGA, the improved migratory bird algorithm IMBO and the improved differential evolution simulated annealing algorithm IDESAA, are selected for comparison. The evaluation indicators are IGD and ER.
[0245] The operational results of the four algorithms for each set of examples are shown in Table 10. The data in this table show that the IICA algorithm outperforms the other three algorithms in both IGD and ER metrics. This indicates that, compared with other algorithms, the IICA algorithm's Pareto solution set for solving the flexible job shop variable batch scheduling problem is closer to the true Pareto solution set and more accurate than other algorithms, thus further verifying the effectiveness and rationality of the algorithm's improved mechanism.
[0246] Table 10
[0247]
[0248] In order to reflect the stability of the IICA algorithm, the data in Table 10 are plotted into a box plot, as shown in Figure 7 As shown in the figure, the IICA algorithm achieves optimal medians, upper and lower bounds for both IGD and ER, with no outliers. The narrower bins corresponding to the IICA algorithm indicate minimal data fluctuations and a more stable algorithm.
[0249] In order to intuitively reflect the distribution of Pareto solutions obtained by various algorithms for batch scheduling problems of flexible job shops of different scales, the Pareto optimal solution with the IGD value closest to the mean is selected from the running results as the result. The Pareto solution distribution of some examples is shown in the following figure. Figure 8 As shown in the figure, it is easy to see that the Pareto solution set generated by the IICA algorithm is large, widely distributed, and evenly distributed. The distribution of Pareto optimal solutions intuitively demonstrates that the IICA algorithm has a significant advantage in solving this type of problem. This also demonstrates the rationality and effectiveness of the improved ICA algorithm in solving this type of problem.
[0250] The above are only preferred embodiments of the present invention. The protection scope of the present invention is not limited to the above examples. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, improvements and modifications without departing from the principles of the invention should be regarded as the protection scope of the present invention.
Claims
1. A multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm, characterized by: The following steps are involved: Step S1: Set preset conditions, basic parameters and constraints for the target flexible job shop, set an optimization objective function based on minimizing the maximum completion time, maximizing the utilization of core equipment and minimizing the number of batches, and build a production scheduling model; Step S2: performing two-stage encoding and decoding operations on the batch division part and the batch scheduling part of the target flexible job shop; Step S3: For the batch division part and the batch scheduling part, adopt multiple population generation strategies, set the population size and generate the initial population based on the imperial competition algorithm; Step S4: Calculate the cost of individuals in the initial population, sort them, set the number of excellent individuals to select excellent individuals and allocate subordinate individuals to generate an initial race; Step S5: assimilating the initial race through multiple assimilation strategies to obtain an assimilated race; Step S6: Optimizing the assimilated race by using adaptive parameters and adopting multiple optimization strategies to generate an optimized race; Step S7: Calculate the total cost of the optimization race, conduct race competition, and output the optimal solution when the set maximum number of iterations is met, otherwise re-execute steps S3 to S7; The various population generation strategies in step S3 are divided into: The batch division includes: 1) Random generation strategy; 2) Maximizing batch partitioning strategy; 3) No batching strategy; The batch scheduling part includes: 1) Random generation strategy; 2) First-come-first-served equipment selection strategy; 3) Select the equipment strategy that completes processing first; The multiple assimilation strategies in step S5 are randomly selected assimilation strategies or multiple assimilation strategies used together. The assimilation strategies available for selection include: 1) Assimilation strategy based on batch division queue: 2) Assimilation strategy based on scheduling queue; The assimilation strategy based on batch division queues includes the following steps: Step S511: For the subordinate individual g controlled by the superior individual, two random numbers P1 and P2 are randomly generated, where P1>P2, and the batch segment P1 to P2 in the batch segment of the superior individual is selected and assigned to its subordinate individual g to obtain a new solution; Step S512: If the new solution is better than the superior individual, the superior individual position is replaced by the new solution; if the new solution is better than the subordinate individual g, the subordinate individual g is replaced by the new solution; The scheduling queue-based assimilation strategy includes the following steps: Step S521: randomly construct a temporary individual Temp; Step S522: For the subordinate individuals g controlled by the superior individual, randomly select a segment from the superior individual's batch scheduling part and assign it to the temporary individual Temp. The remaining segment is filled with subordinate individuals for conflict detection. A mapping relationship is established based on the two groups of scheduling queues. The redundant genes of the temporary individual Temp are found and converted into missing genes. Step S523: If the temporary individual Temp is better than the excellent individual, the temporary individual Temp replaces the excellent individual; if the temporary individual Temp is better than the subordinate individual g, the national individual Temp replaces the subordinate individual g.
2. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 1 is characterized by: The optimization objective function in step S1 includes: 1) Core equipment utilization: Where, T o,j,m represents the processing time of a single workpiece in the i-th process of the j-th workpiece on the equipment m, B j represents the number of unprocessed workpieces j, m c Indicates the core device, C r,m represents the completion time of the rth task on device m, S r,m represents the start time of the rth task on device m, η mc Indicates the core equipment utilization; 2) Maximum completion time: Where C j,o,s,m represents the completion time of the sth batch of the i-th process of the j-th workpiece on the equipment m; 3) Number of batches: Where J represents the set of all workpieces, O j represents the number of steps for workpiece j, S j Indicates O j The number of batches divided, R s,j,o If the number of the sth batch of the ith process of the jth workpiece is not equal to 0, then R s,j,o =1, otherwise R s,j,o =0; 4) Final optimization goal:
3. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 2 is characterized by: The batch division part in step S2 calculates the maximum batch division number L for each process by the following formula to determine the code length: Where B min,j Indicates that the minimum batch is fast; In the batch scheduling section, (j, o, m) is used to indicate that the o-th process of workpiece j is scheduled to be processed on equipment m.
4. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 3 is characterized by: The decoding operation includes the following steps: Step S21: Calculate the batch quantity of each batch by the following formula to divide the queue: Where a j,o,s Represents a random number between 0 and 1. If a j,o,s =0 means the batch size is 0, Step S22: In the batch scheduling section, the workpiece, process, and equipment information are parsed in order from left to right; Step S23: According to the equipment information, the equipment start time of the current task that can be processed is obtained, and the equipment constraint information is determined; Step S24: Calculating the allowed start time of the process when the constraint conditions are met; Step S25: Determine the final start time based on the equipment constraint information and the allowed start time of the process, and then calculate the final result based on the batch quantity and the optimization objective function.
5. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 1 is characterized by: Step S6: The method for generating the optimized race includes the following steps: Step S61: Setting the iteration coefficient and initial optimization rate r original , and based on the iteration coefficient and the initial optimization rate r original , calculate the current optimization rate r current ; Step S62: Based on the current optimization rate r current , a roulette wheel is used to select a subordinate individual, and if not selected, the next subordinate individual is selected; Step S63: randomly selecting one of the multiple optimization strategies to optimize the subordinate individuals and generate a new solution z; Step S64: When the new solution z is better than the excellent individual to which the subordinate individual belongs, the new solution z is used to replace the excellent individual; if the new solution z is better than the subordinate individual, the new solution z is used to replace the subordinate individual.
6. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 5 is characterized by: The various optimization strategies include: 1) The coding segment of the batch division part corresponding to the process on the core equipment is mutated into a different random number to change the batch size. If it mutates to 0, it means that this batch is cancelled, reducing the number of batches, thereby affecting the maximum completion time. Then, the coding segment of the batch division part corresponding to the process on the core equipment is swapped with other batches of the same operation to change the batch processing order; 2) The batches of the same type of workpieces processed continuously with the same process are merged. At the same time, when optimizing the batch scheduling part, the codes of the merged batches and the corresponding batch scheduling part are retained.
7. The multi-objective flexible job shop batch scheduling method based on the imperial competition algorithm according to claim 5 is characterized by: The population size, number of excellent individuals, maximum number of iterations and initial optimization rate are obtained through orthogonal experiments.
Citation Information
Patent Citations
Flexible job shop scheduling method based on improved imperialist competitive algorithm
CN107609781A
Flexible workshop scheduling optimization method and system with robot transportation
CN111401693A