Multi-objective flexible job shop scheduling method based on improved cross-entropy algorithm
By improving the cross-entropy algorithm and the hierarchical multi-objective neighborhood search strategy, the shortcomings of local search capability and diversity in the multi-objective flexible job shop scheduling problem are solved, achieving better convergence and diversity, and optimizing production planning and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-08
- Publication Date
- 2026-03-31
AI Technical Summary
Existing technologies for scheduling multi-objective flexible workshops suffer from insufficient local search capabilities, poor diversity, and poor convergence, making it difficult to effectively balance production costs and energy consumption, leading to unreasonable production plans and insufficient resource utilization.
An improved cross-entropy algorithm is adopted, combined with a co-evolutionary strategy and a hierarchical multi-objective neighborhood search. Local optimization is performed through process and machine search operators. The hierarchical multi-objective neighborhood search strategy is used to enhance population diversity and convergence. The SPEA2 environment selection operator is used to select superior individuals, and the external memory is optimized to obtain a non-dominated solution set.
In the multi-objective flexible job shop scheduling problem, the algorithm improves convergence and population diversity, effectively solves the multi-objective flexible job shop scheduling problem, obtains high-quality solutions, and improves the stability of production planning and resource utilization efficiency.
Smart Images

Figure CN114936739B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of multi-objective flexible job shop scheduling technology, and particularly relates to a multi-objective flexible job shop scheduling method based on an improved cross-entropy algorithm. Background Technology
[0002] As a manifestation of a nation's comprehensive national strength, the shipbuilding industry is crucial to the national economy, people's livelihood, national security, and national rejuvenation. At the same time, it is also a representative of technology-intensive and labor-intensive enterprises, belonging to the large-scale equipment manufacturing industry. With the increasing emphasis placed on shipbuilding by the state, a powerful and comprehensive shipbuilding and marine engineering equipment manufacturing system has been established, promoting the development of the country's marine development and maritime transportation.
[0003] As a fundamental aspect of shipbuilding production, the development and level of intelligent digitalization in shipyard workshops significantly impact overall project costs and progress. However, current domestic management levels lack comprehensive production scheduling planning for workshops, lagging behind international standards. Furthermore, the top-level design at the shipyard workshop level is inadequate, and the underlying logic between workshops and projects has not yet been fully integrated. Therefore, given the current global pandemic and resulting sluggish shipbuilding market, shipbuilding companies urgently need to accelerate the intelligent manufacturing transformation of their workshops, further promote the integration of industry and information technology, and enhance their global competitiveness.
[0004] A survey and analysis of major domestic shipbuilding plants revealed a significant gap between Chinese shipbuilding enterprises and those in developed countries. Domestic enterprises exhibit low levels of informatization at the workshop level, relying on daily and weekly production schedules to determine subsequent production plans. Furthermore, workshops receive progress assignments from higher authorities via documents, leading to delays in receiving production plans. Additionally, workshop resources such as space, equipment, and work teams are not effectively utilized, hindering the rational arrangement of production and processing plans.
[0005] The flexible shop floor scheduling problem is an abstract description of the shipbuilding process. For single-objective flexible shop floor scheduling problems, the focus is mainly on the innovation and improvement of algorithms to obtain better results. For multi-objective flexible shop floor scheduling problems, most studies focus on three objectives: latest completion time, total machine load, and maximum machine load. Some studies have also considered production costs and energy consumption. Finally, for dynamic flexible shop floor scheduling problems, predictive reaction time scheduling is a current research hotspot. It mainly considers production efficiency and stability, but pays less attention to production costs and energy consumption, resulting in problems such as diversity, poor convergence, and inaccurate solutions. Summary of the Invention
[0006] The purpose of this invention is to provide a multi-objective flexible job shop scheduling method based on an improved cross-entropy algorithm, which can accurately solve the multi-objective flexible job shop scheduling problem and has good convergence, population diversity and robustness.
[0007] The technical solution to achieve the objective of this invention is: a multi-objective flexible job shop scheduling method based on an improved cross-entropy algorithm, comprising the following steps:
[0008] Step 1: Initialize the number of iterations M and the strategy switching threshold n_switch; initialize the population P, the process probability distribution matrix S, the machine probability distribution matrix Q, and the external memory E; use the cross-entropy algorithm to search; obtain a new population H based on the process search operator and the machine search operator; use the mutation operator to remove duplicates for individuals with the same target vector; use the environment selection operator based on SPEA2 to select superior individuals; and use the population P to update the external memory E.
[0009] Step 2: Use hierarchical multi-objective neighborhood search to optimize the search between population P and external memory bank E, iterating M times;
[0010] Step 3: Use non-dominated sorting on the external memory E to obtain the final non-dominated solution set.
[0011] Compared with existing technologies, the significant advantages of this invention are as follows: This invention improves the cross-entropy algorithm using a co-evolutionary strategy, solving the problem of insufficient local search capability of the naive cross-entropy algorithm. It adopts a hierarchical multi-objective neighborhood search strategy and uses random weights as replacement conditions for solutions during neighborhood search, thereby enhancing the diversity of the population while ensuring a certain degree of convergence of the algorithm. This invention has better advantages and robustness, and can effectively obtain high-quality solutions to the corresponding problems. Attached Figure Description
[0012] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with the implementation of the invention to explain the invention and do not constitute a limitation thereof.
[0013] Figure 1 This is a flowchart of the improved cross-entropy algorithm in this embodiment.
[0014] Figure 2 This is the Gantt chart for the high-quality solution of use case Mk07 in this implementation.
[0015] Figure 3 This is the Gantt chart for the high-quality solution of use case Mk10 in this implementation.
[0016] Figure 4 This is the extract graph model and its corresponding Gantt chart in this embodiment. Detailed Implementation
[0017] For solving the multi-objective flexible job shop scheduling problem, genetic algorithms based on crossover and mutation operators are commonly used. However, due to the blind search nature of these operators, this invention employs the cross-entropy algorithm, a distribution estimation algorithm that obtains new solutions by maintaining a probability model and then sampling from it. However, the naive cross-entropy algorithm uses a probability model for global search, resulting in weak local search capabilities and room for further optimization. Therefore, this invention proposes a multi-objective flexible job shop scheduling method based on an improved cross-entropy algorithm. This method not only effectively solves relevant non-dominated solution sets but also exhibits significantly better diversity and convergence than some state-of-the-art algorithms in certain situations. The hierarchical multi-objective neighborhood search proposed in this invention mainly addresses two key issues: first, the insufficient local search capability of the naive cross-entropy algorithm; and second, the consideration of multiple objectives during neighborhood search. The invention primarily includes: addressing the issue of insufficient local search capability in the cross-entropy algorithm by using a co-evolutionary strategy to improve it. For the multi-objective flexible job shop scheduling problem, it is necessary to consider the optimization of multiple objectives. At the same time, a hierarchical multi-objective neighborhood search strategy is proposed, which uses random weights as the replacement condition for the solution during neighborhood search. While ensuring a certain convergence of the algorithm, the diversity of the population is enhanced.
[0018] This invention improves the naive cross-entropy algorithm by employing a co-evolutionary strategy. When the algorithm fails to obtain a better solution after several generations, a process search operator and a machine search operator are used for local search. Then, a hierarchical multi-objective neighborhood search is used for further optimization. When a better solution still cannot be obtained after several generations, a probabilistic model is used again for global search.
[0019] Hierarchical multi-objective neighborhood search addresses the problem of optimizing multiple objectives during local searches in multi-objective flexible job shop scheduling. Unlike single-objective flexible job shop scheduling, which only considers the latest completion time, multi-objective problems require additional consideration of maximum machine load and total machine load. Hierarchical multi-objective neighborhood search primarily focuses on multi-objective search strategies and hierarchical search strategies. The multi-objective search strategy addresses the issue of incorporating multiple objectives into local searches, while the hierarchical search strategy optimizes two sub-problems of the flexible job shop scheduling problem—machine allocation and process sequence. It utilizes both resource-switching-based and idle-time-based neighborhood search, which are complementary. The former primarily considers idle time on other machines, while the latter primarily considers idle time on the current machine.
[0020] Combination Figure 1Based on the above problem description, in order to achieve the purpose of this invention, the improved cross-entropy algorithm (Co-CEM) based on hierarchical multi-objective neighborhood search of this invention adopts the following steps:
[0021] Step 001. Initialize the iteration count M, the strategy switching threshold n_switch, and initialize the population P, the process probability distribution matrix S, the machine probability distribution matrix Q, and the external memory E.
[0022] Step 002. Perform search optimization on the population P and the external memory bank E, iterating a total of M times.
[0023] Step 003. Use non-dominated sorting on the external memory E to obtain the final non-dominated solution set.
[0024] Step 001 specifically includes the following steps:
[0025] Step 00101. Initialize the population P: This includes initializing the machine allocation and process sequence parts of the solution vectors in the population P. Four machine allocation rules are used to initialize the machine allocation part of the solution vectors, including two global initialization rules, one local allocation rule, and one random allocation rule. Detailed descriptions are as follows:
[0026] (1) Global minimum load: Each time, the machine with the lowest load is selected from all machines for allocation;
[0027] (2) Random arrangement: First, the process vector is randomly sorted, and then the process vector is traversed from left to right. For each process, the machine with the least load is selected.
[0028] (3) Minimum processing time: The process is assigned to the machine with the shortest processing time;
[0029] (4) Random allocation: For each process, the corresponding processing machine is randomly assigned;
[0030] For the process portion of the initialization solution vector for population P, this invention uses three sorting rules, which are described in detail below:
[0031] (1) Maximum Remaining Time: The work process is assigned based on the remaining time of each task. The task with the minimum remaining time is selected from all tasks and its work process is assigned. If there is no next work process, the task is removed from the set of tasks to be assigned. If there are multiple tasks with the minimum remaining time, one is selected randomly.
[0032] (2) Maximum Remaining Steps: Step allocation is performed based on the number of remaining steps for each task. The task with the fewest remaining steps is selected from all tasks and its steps are assigned. If there are no next steps, the task is removed from the set of tasks to be assigned. If there are multiple tasks with the fewest remaining steps, one is randomly selected.
[0033] (3) Random sorting: Randomly assign the processing order of all processes;
[0034] Step 00102. Initialize the probability distribution matrix (the probability distribution matrix includes the process probability distribution matrix and the machine probability distribution matrix). Given S∈R N×N It is the process probability distribution matrix used to generate process vectors, Q∈R N×M Let S[x,y] be the machine probability distribution matrix used to generate the machine vector, where N is the total number of operations and M is the total number of machines. Then S[x,y] represents the probability of assigning operation y to the x-th position of the operation vector. To ensure uniform sampling of the entire solution space, we initially set S[x,y] = 1 / N. Q[x,u] represents the probability of assigning machine u to the x-th position of the machine vector, where m... y The initial number of machines capable of performing operation y is shown in the following formula:
[0035]
[0036] Because of the sequential constraints between processes within the same task, the process selectable at the x-th position of the process vector cannot be arbitrarily chosen from 1, 2, ..., N, but is related to the processes selected from the indices 0 to x-1 of the process vector. Similarly, due to the inherent relationship between machine selection and process selection, the machine vector is subject to the same constraint: the machine selectable at the x-th position cannot be arbitrarily chosen from all machines, but is related to the set of machines selectable for the corresponding process at that position. To address this constraint, we introduce the process vector `order_mask` and the machine vector `machine_mask`. Taking the `order_mask` vector as an example, we define `order_mask∈R`. N , represents all selectable processes at the current position, and its value is shown in the following formula:
[0037]
[0038] When selecting a process at position x of the process vector, the order_mask is used for filtering to obtain the probability distribution vector sample_vec. This sample_vec is then processed to ensure that the sum of probabilities equals 1, making the generated process a feasible solution. The calculation steps are shown in the following formula:
[0039] sample_vec=P[x,:]*order_mask
[0040] sample_vec=sample_vec / sum(sample_vec)
[0041] sum() represents summation. Once the process at position x in the process vector is determined, order_mask is updated to ensure that the subsequently generated processes are valid.
[0042] A similar approach is used for the generation of machine vectors. Useless solutions from the sampling process are removed using a machine_mask, ensuring that the generated solutions are valid.
[0043] After obtaining a new population through sampling, the cross-entropy algorithm selects n_elite elite individuals based on their fitness to update the process probability distribution matrix S and the machine probability distribution matrix Q, as shown in the following equation:
[0044]
[0045]
[0046] Where α and β are the learning rates of S and Q, respectively. and Let be the condition function for the k-th solution in the population, as shown in the following equation:
[0047]
[0048]
[0049] Step 00103. Initialize the external memory bank This indicates that the external memory bank is an empty set.
[0050] Step 00104. Obtain the new population H based on the process search operator and the machine search operator. For the process search operator, assuming there are parent individuals m and n, the detailed steps are as follows:
[0051] Step 1: First, determine if m and n are the same. If they are the same, randomly swap two processes that do not belong to the same task to obtain a new individual and return directly; otherwise, proceed to step 2.
[0052] Step 2: Let the current number of tasks be N. Number the N tasks and randomly select some tasks from them to set u. Define v as the complement of set u. If the number of selected tasks is 0 or equal to N, then select again.
[0053] Step 3: The processes belonging to set u in the child individual p are copied sequentially from the parent individual m to their corresponding positions; the remaining processes belonging to set v are copied sequentially from the parent individual n to their corresponding positions.
[0054] Step 4: Conversely, the processes belonging to set u in the child individual q are copied sequentially from the parent individual n to their corresponding positions, and the remaining processes belonging to set v are copied sequentially from the parent individual m to their corresponding positions.
[0055] During process search, to avoid obtaining equivalent offspring individuals with identical parent individuals, a similarity check is first performed on the parent individuals. If they are completely identical, two processes are randomly swapped to obtain a new individual. The detailed steps of the corresponding machine search operator are as follows:
[0056] Step 1: Let the current number of processes be N. Randomly select k processes from the N processes to form a set u. If the number of elements in set u is 0 or equal to N, then select again.
[0057] Step 2: Exchange the machines assigned to the processes in parent individuals m and n that belong to set u to obtain offspring individuals p and q.
[0058] Step 00105. Let population P ← P ∪ H. For individuals with the same target vector, use the mutation operator to remove duplicates. The mutation operator or local search operator used is as follows:
[0059] (1) Machine redistribution operator based on maximum load: Randomly select one process from the processes processed on the machine with the maximum load and redistribute it to another machine with a relatively smaller load for processing.
[0060] (2) Machine redistribution operator based on latest completion time: randomly select a process on the machine with the latest completion time and redistribute it to another machine with a smaller latest completion time for processing.
[0061] (3) Move the critical process: Randomly obtain a critical path for the current individual, and randomly find a critical block on the current critical path. Then randomly select a process to move forward or backward to the head or tail of the critical block.
[0062] (4) Reinsertion of critical processes: Randomly select a critical process and move it to another workable machine.
[0063] Step 00106. Use the SPEA2-based environment selection operator to select superior individuals and assign them to the population P. Since SPEA2 utilizes population density information to better maintain population diversity, this invention uses it as the environment selection operator. SPEA2 incorporates several methods to ensure population diversity, such as specific fitness assignment strategies, density estimation algorithms, and improved truncation methods. It first calculates the dominance relationship between each pair of individuals in the population, and then defines the relevant strength value Str(x) as shown in the following equation:
[0064] Str(x i )=|{j|j∈P∧x i <x j}|
[0065] Where P represents the population, x i and x j Let Str(x) represent individuals in population P, respectively. i The strength value of an individual is the number of other individuals it dominates. Next, a raw fitness value, Raw(x), is defined as follows:
[0066]
[0067] This represents the sum of the strength values that dominate the current individual. Additionally, an extra density information value, Den(x), is defined to identify individuals with the same Raw value, as shown in the following equation:
[0068]
[0069] Where k is the square root of the population size. x represents i The Euclidean distance to the k-th nearest individual in the population is used to determine the final fitness value, which is the sum of the original fitness value and the density information value, as shown in the following formula:
[0070] Fitness(x i ) = Raw(x i )+Den(x i )
[0071] When using the SPEA2-based environment selection operator, individuals with fitness values less than 1 (i.e., non-dominated solutions) are first selected from the candidate solutions. If the number of non-dominated solutions is insufficient, an appropriate number of individuals are selected sequentially based on their fitness values. Otherwise, corresponding phase steps are executed to remove redundant individuals, i.e., individuals with smaller Euclidean distances.
[0072] Step 00107. Update the external memory bank E using the population P. The update process of the memory bank is as follows:
[0073] Step 1: Compare the objective function vector of each superior individual with that of each individual in the external memory bank;
[0074] Step 2: If the individual dominates the external memory bank, then replace it;
[0075] Step 3: If the objective function vectors of the two are the same, calculate the Hamming distance between the machine vectors. If it is 0, use the mutation strategy until there are different objective function values and check if there are any replaceable individuals; otherwise, continue to compare.
[0076] Step 002 specifically includes the following steps:
[0077] Step 00201. Select an evolutionary strategy based on the strategy flag: either by sampling the process matrix S and the machine matrix Q, or by using a dynamic crossover operator. Generating offspring individuals based on dynamic crossover probabilities can enhance population diversity; the corresponding crossover probability gradually changes with the number of iterations. Let the current iteration number be *Iteration*, and the total number of iterations be *Total_Iteration*, then the corresponding crossover probability is P. c = 1 - Iteration / Total_Iteration, representing the probability P of selecting an individual from the memory bank and the population for crossover. c The probability of selecting individuals from the current population for crossover is 1-P. c .
[0078] Step 00202. Use a hierarchical multi-objective neighborhood search strategy to perform a local search on Q to obtain a new individual K. First, define the disjunctive graph model and related notation. The disjunctive graph model was initially proposed and applied to job shop scheduling; it is a directed acyclic graph. First, define a graph G = (V, U, E) to describe the FJSP, where V represents the set of nodes consisting of all operations, and simultaneously determines a virtual start node s and an end node e. U represents the set of all conjunctive edges, which determine the processing priority between operations. E represents the set of all disjunctive edges, and satisfies This represents the set of all disjunctive arcs on the k-th machine. The corresponding processing time is indicated below the corresponding node. The processing time of the virtual start and end nodes is 0.
[0079] like Figure 4 This represents the disjunctive graph and its corresponding Gantt graph obtained after determining the machine allocation for a feasible solution. Some notations are defined based on the disjunctive graph to facilitate the subsequent description of hierarchical multi-objective neighborhood search strategies. A node in the disjunctive graph G corresponds to a process j under task i, denoted by the symbol O. i,j This indicates that the processing machine is k, and the corresponding processing time is t. i,j,k .
[0080] definition To indicate process O i,j The earliest start time on machine k Indicates process O i,j No delay C on machine k max The latest allowed start time under the given conditions. Accordingly, the definition is... For process O i,jEarliest end time on machine k For process O i,j C is not delayed on machine k max The latest allowed end time under the given conditions, and satisfying the following formula:
[0081]
[0082]
[0083] make For the process O to be processed on machine k i,j Pre-processing, For the process O to be processed on machine k i,j The subsequent process. Let PJ... i,j (G) represents process O i,j Precursor processes, SJ i,j (G) represents process O i,j The subsequent process. Process O i,j A critical process is a process if and only if
[0084] In a directed graph G, the critical path is a path consisting of adjacent critical processes. For example... Figure 4 As shown, there exists a critical path (s→O). 2,1 →O 1,1 →O 1,2 →O 1,3 →O 3,3 →e). Key processes: {O 2,1 O 1,1 O 1,2 O 1,3 O 3,3}, key block: {(O 2,1 O 1,1 ),(O 1,2 ),(O 1,3 O 3,3 The makespan for this schedule is 16.
[0085] Then, a neighborhood search based on resource switching is defined. Defining process ω, its movable time interval is the predecessor process PJ. ω The earliest completion time and subsequent process SJ ω Latest start time: Therefore, releasing process ω from the current resource and switching it to a suitable resource can yield an improved solution.
[0086] Let k be the current processing machine for process ω, and t be the corresponding processing time. ω,k Define the set of machines that can be processed for process ω as Ψ. ω ,right Processes p and q are performed on machine m, and Then, process ω can reduce the latest completion time after resource switching if and only if the earliest end time of p and the latest start time of q satisfy the following:
[0087]
[0088] When the above formula does not hold true, the latest completion time of process ω cannot be reduced after resource switching. Therefore, to avoid useless local searches and improve efficiency, process ω should not be moved.
[0089] Then define the critical step ω as well. An optimal insertion position exists if and only if the following equation is satisfied:
[0090]
[0091] in, This indicates that G is obtained by deleting the critical process that needs to be moved from diagram G. - process The earliest completion time, Similarly. Indicates process v in G - In the middle, the original latest completion time C will not be postponed. max The latest start time under condition (G) Similarly. ω,k This represents the processing time of the critical process ω on machine k.
[0092] Finally, we define a neighborhood search based on idle time. Let processes p and q be adjacent processes in graph G, each with machine m. Let the critical process ω have machine m, then the exchangeable time interval of ω is... The idle time periods for processes p and q are Then the critical process w can be inserted into the idle time period of processes p and q through process transformation, if and only if the following equation is satisfied:
[0093]
[0094] In other words, if the intersection of the two time periods is not zero, then changing the critical process ω to a new position may reduce the latest completion time.
[0095] The hierarchical multi-objective neighborhood search strategy consists of two parts: a multi-objective search strategy and a hierarchical search strategy.
[0096] (1) Multi-objective search strategy
[0097] Since multi-objective FJSP often requires considering multiple metrics simultaneously, and the latest completion time is the most difficult to optimize, the patent proposes a multi-objective search strategy. First, for the scheduling solution G, define ψ(G) = {co1,co2,...,co...} n Let} be the set consisting of all current key processes, and define π(G) = {co i →M k The set of all neighborhood actions, |i=1,2,...,n}, is called the action set. Each neighborhood action consists of two elements: a process and a target machine. It represents the reallocation of a critical process to another machine, where n represents the number of critical processes, and M... k Indicates the target machine. (For) The total machine load change Δt and the maximum machine load Δc can be used to represent these values, respectively, as defined in the following equations:
[0098]
[0099]
[0100] Where, m * t represents the target machine, m represents the source machine, and t represents the target machine. co,m* Indicates machine m * The time required to complete this process, t co,m This represents the processing time required by machine m. m * Total load.
[0101] The multi-objective search strategy mainly consists of two stages, utilizing neighborhood search based on resource switching and neighborhood search based on key processes. First, since neighborhood search based on resource switching guarantees that the solution obtained may be improved under the latest completion time condition, it is prioritized as the first stage of neighborhood search. Then, for all actions corresponding to the current scheduling solution G, Δt and Δc are sorted in non-decreasing order according to a hierarchical strategy, prioritizing actions with smaller Δt under the condition that the latest completion time may be improved, and only considering Δc as a second consideration. Subsequently, the first stage of neighborhood search based on resource switching is applied sequentially to the sorted action set π(G). If a feasible action is found, the search ends; otherwise, the second stage of neighborhood search based on key processes is used, ending the search after finding a feasible action.
[0102] (2) Hierarchical search strategy
[0103] The hierarchical search strategy primarily aims to solve the two sub-problems of machine allocation and process sequence in FJSP. The first layer uses a multi-objective search strategy to solve the machine allocation sub-problem, while the second layer uses a neighborhood search strategy based on idle time to solve the process sequence sub-problem. Furthermore, an aggregation function that randomly generates weight vectors is used to replace old solutions with new ones: a weight vector λ is randomly generated according to a specific method; if the dot product of the new solution's objective vector and λ is less than the dot product of the old solution and λ, then the new solution is replaced; otherwise, it is not replaced.
[0104] The first layer optimizes idle time across machines, while the second layer uses a neighborhood search based on idle time to further optimize the processing order of the current process based on the results of the first layer. Since only the processing order between processes is changed, without changing the machines assigned to the processes, it only affects the latest completion time. The previous layer focuses on utilizing the larger idle time of machines in the current schedule, while the current layer focuses on utilizing the smaller idle time of machines. The two layers complement each other, effectively enhancing the algorithm's local optimization capabilities.
[0105] Step 00203. Let P←P∪H∪K, and use the mutation operator to remove duplicate individuals.
[0106] Step 00204. P← Use the SPEA2-based environment selection operator to screen superior individuals for P.
[0107] Step 00205. E'← Use a hierarchical multi-objective neighborhood search strategy to perform a local search on E.
[0108] Step 00206. E←E'∪E, and use the mutation operator to remove duplicate individuals.
[0109] Step 00207.E← Use the SPEA2-based environment selection operator to screen superior individuals for E.
[0110] Step 00208.E ← Update the external memory bank E using P.
[0111] Step 00209.S, Q ← Update the probability matrix using the external memory based on the flag.
[0112] Step 00210. Strategy flag ← If the external memory bank is not updated for n_switch generations, switch the evolution strategy.
[0113] The method of using non-dominated sorting on the external memory bank E in step 003 to obtain the final non-dominated solution set is a well-known method in the art and will not be described in detail here.
[0114] To verify the effectiveness of the Co-CEM method of this invention, publicly available datasets were used: the Kacem test case dataset and the BRdata test case dataset. The Kacem dataset contains 5 test cases, and the BRdata dataset contains 10 test cases. Each test case specifies the number of machines, the number of tasks, and the specific information of the processes under each task. Using the comparison metrics Hypervolume (HV) and Inverse Generation Distance (IGD), Co-CEM was compared with the hDPSO, DABC, BEG-NSGA-II, and INSBBO algorithms. Bold text indicates the best among the compared algorithms. The results are shown in the table below.
[0115] Table 1 Comparison of Co-CEM results with other algorithms
[0116]
[0117] First, comparing the HV metrics, it can be seen that Co-CEM achieved relatively optimal results in 5 test cases. Specifically, it outperformed hDPSOA in 8 test cases, BEG-NSGA-II in 9 test cases, INSBBO in 4 test cases, and DABC in 1 test case. Notably, in the Mk10 test case with the largest data scale, Co-CEM significantly outperformed all the compared algorithms.
[0118] Comparing the IGD metrics, it can be seen that hDPSO is optimal in 2 test cases, DABC and INSBBO both outperform other algorithms in 3 test cases, while Co-CEM achieves better results than other algorithms in 6 test cases. Furthermore, Co-CEM surpasses hDPSO in 8 test cases, surpasses BEG-NSGA-II in all test cases, surpasses DABC in 2 test cases, and surpasses INSBBO in 5 test cases.
[0119] In conclusion, this experiment demonstrates that Co-CEM has certain advantages over other algorithms and can effectively obtain high-quality solutions to the corresponding problems.
[0120] The optimization algorithm of this invention solves the traditional production scheduling problem, thereby ensuring the stability and effectiveness of production plans for domestic shipbuilding enterprises and reducing the blind spots in planning. Besides the shipbuilding industry, other fields such as power systems and medical resource allocation systems also have the above-mentioned needs. Therefore, solving the traditional scheduling problem based on the flexible workshop scheduling model has significant practical implications for actual production and manufacturing initiatives such as Industry 4.0 and Made in China 2025, as well as for aspects of people's lives such as medical systems and power systems.
Claims
1. A multi-objective flexible job shop scheduling method based on improved cross-entropy algorithm, characterized in that, The method comprises the following steps: Step 1, initializing iteration number M and policy switching threshold n_switch, initializing population P, workshop process probability distribution matrix S, workshop machine probability distribution matrix Q and external memory E, searching by using cross-entropy algorithm, obtaining new population H according to workshop process search operator and workshop machine search operator, using mutation operator to remove individuals with the same target vector, screening excellent individuals by using environment selection operator based on SPEA2, and updating external memory E by using population P; Step 2, searching and optimizing population P and external memory E by using hierarchical multi-objective neighborhood search, and iterating M times; Step 3, obtaining final non-dominated solution set by using non-dominated sorting on external memory E; The initialization of the workshop process probability distribution matrix S and the workshop machine probability distribution matrix Q is as follows: S∈R N×N Q∈R N×M Q∈R y where N is the total number of shop floor processes, M is the total number of shop floor machines, S[x, y] represents the probability that the xth position of the shop floor process vector is assigned to the shop floor process y, and Q[x, u] represents the probability that the xth position of the shop floor machine vector is assigned to the shop floor machine u, where m y represents the number of shop floor machines that can process the shop floor process y, and the initial state is: The external memory E is initialized as an empty set; The new population obtained according to the workshop process search operator specifically comprises the following steps: It is judged whether m and n are the same, if yes, then the two workshop processes not belonging to the same task are randomly exchanged to obtain a new individual and directly returned; Supposing that the current task number is N, the N tasks are numbered, a plurality of tasks are selected from the N tasks to form a set u, v is defined as the complement of the set u, if the number of selected tasks is 0 or equal to N, then the selection is re-performed; The workshop processes belonging to the set u in the offspring p individuals are copied from the parent individual m to the corresponding positions in sequence, and the remaining workshop processes belonging to the set v are copied from the parent individual n to the corresponding positions in sequence; Conversely, the workshop processes belonging to the set u in the offspring q individuals are copied from the parent individual n to the corresponding positions in sequence, and the remaining workshop processes belonging to the set v are copied from the parent individual m to the corresponding positions in sequence; The new population obtained according to the workshop machine search operator specifically comprises the following steps: Supposing that the current workshop process number is N, k workshop processes are selected from the N workshop processes to form a set u, if the number of elements in the set u is 0 or equal to N, then the selection is re-performed; The workshop machines assigned to the workshop processes belonging to the set u in the parent individuals m and n are exchanged to obtain offspring individuals p and q; The population P is used to update the external memory E, which specifically comprises the following steps: The target function vector of each excellent individual in the population P is compared with the target function vector of each individual in the external memory; If the individual in the external memory is dominated, then the individual in the external memory is replaced; If the target function vectors of the two are the same, then the Hamming distance of the workshop machine vectors is calculated, if the Hamming distance is 0, then a mutation strategy is used until a different target function value is contained and it is checked whether there is a replaceable individual; otherwise, the comparison is continued; Step 2 specifically comprises the following steps: Step 2-1, select evolution strategy according to variable flag: get new population H by sampling workshop process matrix S and workshop machine matrix Q or using dynamic crossover operator; generate offspring individuals based on dynamic crossover probability, let current iteration number be Iteration, total iteration number be Total_Iteration, then corresponding crossover probability is P c =1-Iteration / Total_Iteration, which indicates that the probability of selecting one individual from memory bank and one individual from population for crossover is P c , and the probability of selecting individuals from current population for crossover is 1-P c ; Step 2-2, performing local search on H by using a hierarchical multi-objective neighborhood search strategy to obtain new individuals K; Step 2-3, updating P←P∪H∪K, and removing duplicate individuals by using a mutation operator; Step 2-4, updating P←screening excellent individuals by using an environment selection operator based on SPEA2 on P; Step 2-5, updating E'←performing local search on E by using a hierarchical multi-objective neighborhood search strategy; Step 2-6, update E <- E' U E, and use mutation operator to remove duplicate individuals; Step 2-7, update E <- E filtered by SPEA2-based environmental selection operator; Step 2-8, update E <- E updated by P; Step 2-9, update S, Q <- probability matrix updated by external memory according to flag; Step 2-10, update variable flag <- switch evolution strategy if external memory is not updated for n_switch consecutive strategy switching threshold values; The hierarchical multi-objective neighborhood search strategy comprises a multi-objective-oriented search strategy and a hierarchical search strategy, and the multi-objective-oriented search strategy comprises: Firstly, define ψ(G) = {co1, co2,..., co n} as the set of all key shop floor operations, define π(G) = {co i → M k | i = 1, 2,..., n} as the set of all neighborhood actions, called action set, where each neighborhood action consists of two elements, a key shop floor operation and a target machine, which means to reassign the key shop floor operation to another target machine, where n represents the number of key shop floor operations, M k represents the target machine, and respectively represent the total load variation of the shop floor machine Δt and the maximum load of the shop floor machine Δc, which are defined as follows: where m * represents the target machine in the workshop, m represents the source workshop machine, represents the workshop machine m * the time required for processing the workshop process, t co,m represents the processing time required for the workshop machine m, represents m * total load; Perform resource switching-based neighborhood search; Sort Δt and Δc in non-decreasing order for all actions corresponding to the current scheduling solution G, so that priority is given to actions with smaller Δt and then to actions with smaller Δc under the condition that the makespan can be improved; Use resource switching-based neighborhood search on the action set π(G) obtained after sorting, and if a feasible action is found, end the search; otherwise, use key workshop process-based neighborhood search, and end the search after an actionable action is found. The hierarchical search strategy specifically comprises: using the multi-objective-oriented search strategy to optimize the idle time of cross-workshop machines, using idle time-based neighborhood search to optimize the processing sequence of the current workshop process based on the idle time optimization result, and using a random weight vector aggregation function to replace the old solution with the new solution: randomly generating a weight vector λ, and if the dot product of the target vector of the new solution and λ is less than the dot product of the old solution and λ, then replacing; otherwise, not replacing.
2. The multi-objective flexible job shop scheduling method of claim 1, wherein, The population P initialization in step 1 specifically comprises workshop machine allocation vector initialization in population P initialization solution vector and workshop process vector initialization in population P initialization solution vector. The workshop machine allocation vector initialization in population P initialization solution vector is initialized using four workshop machine allocation rules, and the four workshop machine allocation rules specifically comprise: (1) global minimum load allocation rule: selecting the workshop machine with the minimum load from all workshop machines for allocation each time; (2) random arrangement allocation rule: first randomly sorting the workshop process vector, and then sequentially traversing the workshop process vector from left to right, and selecting the workshop machine with the minimum load for each workshop process; (3) minimum processing time allocation rule: allocating the workshop process to the workshop machine with the shortest processing time; (4) random allocation rule: randomly allocating the corresponding processing workshop machine for each workshop process; The workshop process vector initialization in population P initialization solution vector is initialized using three sorting rules, and the three sorting rules specifically comprise: (1) most remaining working hours sorting rule: allocating the workshop process according to the remaining working hours of each task, selecting a task with the minimum remaining working hours from all tasks for allocation, and if there is no next workshop process, deleting the task from the set of tasks to be allocated; if there are multiple tasks with the minimum remaining working hours, randomly selecting one task; (2) the maximum remaining workshop process sequencing rule: according to the number of remaining workshop processes of each task, a task with the least number of workshop processes is selected from all tasks to allocate its workshop processes, and if there is no next workshop process, the task is deleted from the set of tasks to be allocated; if there are multiple tasks with the least number of workshop processes, one is randomly selected; (3) the random sequencing rule: the processing order of all workshop processes is randomly allocated.
3. The multi-objective flexible job shop scheduling method of claim 1, wherein, The de-duplication using the mutation operator for the individuals with the same target vector specifically includes: the workshop machine re-allocation operator based on the maximum load: from the workshop processes processed on the workshop machine with the maximum load, a process is randomly selected and re-allocated to another workshop machine with a relatively smaller load for processing; the workshop machine re-allocation operator based on the latest completion time: a workshop process on a workshop machine with the latest completion time is randomly selected and re-allocated to another workshop machine with a smaller latest completion time for processing; key workshop process movement: a key path is randomly obtained from the current individual, a key block on the current key path is randomly found, and a workshop process is randomly selected to move forward or backward to the head or tail of the key block; key workshop process re-insertion: a key workshop process is randomly selected and moved to another processable device.
4. The multi-objective flexible job shop scheduling method of claim 1, wherein, The excellent individual screening using the environment selection operator based on SPEA2 specifically includes: from the candidate solutions, an individual with a fitness value less than 1, i.e., a non-dominated solution, is selected, and if the number of non-dominated solutions is insufficient, a proper number of individuals are selected in order according to the fitness value; otherwise, the excessive individuals, i.e., the individuals with smaller Euclidean distances, are removed; the fitness is: Fitness(x i ) = Raw(x i ) + Den(x i ) Where P represents the population, x i and x j Let Str(x) represent individuals in population P, respectively. i The strength value of an individual is the number of other individuals it dominates; Raw(x) is the original fitness value; Den(x) represents the additional density information value; and k is the square root of the population size. x represents i Fitness(x) is the Euclidean distance to the k-th nearest individual in the population. i ) represents fitness.
5. The multi-objective flexible job shop scheduling method of claim 1, wherein, The neighborhood search based on resource switching specifically includes: Define the shop process ω, its movable time period is the predecessor shop process PJ ω The earliest completion time of the successor shop process SJ ω The latest start time of: Let the current processing shop machine of the shop process ω be k, and the corresponding processing time be t ω,k , define the set of processable shop machines of the shop process ω as Ψ ω , for There are shop processes p, q processed on shop machine m, and If and only if the earliest end time of p and the latest start time of q satisfy: When the above formula is not established, the workshop process ω is not moved; The neighborhood search based on idle time specifically includes: Let p, q be adjacent shop floor processes in graph G = (V, U, E) and both of them are processed by machine m, let ω be a critical shop floor process and it is processed by machine m, then the commutative time interval of ω is The idle time interval of shop floor processes p, q is Then the critical shop floor process w can be inserted into the idle time interval of shop floor processes p, q by shop floor process transformation if and only if the following formula is satisfied: If the intersection of the two time periods is not 0, then the key workshop process ω is transformed to a new position; wherein V represents the set of nodes composed of all workshop processes, and a virtual starting node s and an ending node e are determined respectively, U represents the set composed of all conjunctive arcs, which determines the processing priority between workshop processes; E represents the set of all disjunctive arcs, and satisfies E = {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} U {e, s} The neighborhood search based on key workshop processes specifically includes: The key workshop process ω is defined, and the optimal insertion position exists if and only if the following formula is satisfied: wherein, denotes the removal of the key shop operation to be moved from the graph G to obtain G - , the earliest completion time of the shop operation Similarly, denotes the latest start time of the shop operation v in G - , without delaying the original latest completion time C max (G) of the key shop operation ω, Similarly; t ω,k denotes the processing time of the key shop operation ω on the shop machine k.
Citation Information
Patent Citations
Improved culture gene algorithm for solving multi-objective flexible job shop scheduling problem
CN106611379A
Method for solving flexible job shop scheduling by improved genetic algorithm based on catastrophe mechanism
CN111325443A