Efficient and energy-saving flexible job-shop scheduling method considering adjustment time
Patent Information
- Application Number
- CN202511227540.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-29
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2045-08-29
AI Technical Summary
目前,对EFJSP-SDST的研究仍存在以下技术挑战:(1)现有的混合整数线性规划(Mixed Integer LinearProgramming,MILP)模型和约束规划(Constraint Programming,CP)模型主要针对单一目标(如完工时间)优化,尚未建立EFJSP-SDST的求解模型;(2)在使用进化算法(Evolutionary Algorithm, EA)求解EFJSP-SDST问题时,现有研究通常在种群中平衡收敛性与多样性
[0070] This invention provides a highly efficient and energy-saving flexible job shop scheduling method that considers adjustment time. Compared with the prior art, this invention solves the problem of optimizing highly efficient and energy-saving flexible job shop scheduling that considers adjustment time, and has the following positive effects.
Smart Images

Figure CN121073114B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent manufacturing technology, and in particular to a highly efficient and energy-saving flexible workshop scheduling method that takes into account adjustment time. Background Technology
[0002] As a core pillar industry of national economic development, the intelligent upgrading of the manufacturing sector is crucial to achieving a manufacturing powerhouse. With the advent of Industry 5.0, the deep integration of next-generation artificial intelligence technology and advanced manufacturing technology has placed higher demands on production scheduling systems. In the context of intelligent manufacturing, achieving efficient and energy-saving scheduling of the production process has become a current research hotspot. Among these, the Energy-efficient Flexible JobShop Scheduling Problem (EFJSP) has attracted considerable attention due to its wide range of industrial applications. However, existing EFJSP research generally does not consider the sequence-dependent setup times (SDST) required for machine tool changes during production. These SDST times are prevalent in real-world workshops, and ignoring this factor may lead to scheduling results that fail to meet actual needs.
[0003] Based on the above, the scheduling problem of introducing sequence-dependent setup times (EFJSP-SDST) in EFJSP has gradually attracted attention. Its objectives usually include minimizing the maximum completion time (Makespan) and reducing total energy consumption (TEC). At present, the research on EFJSP-SDST still faces the following technical challenges: (1) Existing mixed-integer linear programming (MILP) models and constraint programming (CP) models are mainly optimized for a single objective (such as completion time), and no solution model for EFJSP-SDST has been established; (2) When using evolutionary algorithms (EA) to solve the EFJSP-SDST problem, existing studies usually balance convergence and diversity in the population. However, this method only considers the diversity of the target space and does not utilize the information of the decision space, resulting in low efficiency in convergence and diversity selection; (3) Existing EFJSP-SDST research lacks the use of historical search data; (4) In the constrained programming-assisted optimization method (CP-assisted optimization), multi-objective optimization requires obtaining multiple solution sets covering the entire Pareto front, while existing methods mostly focus on single-objective scenarios, and there is still a lack of effective strategies for how to achieve efficient allocation of multi-objectives under limited computing resources. Summary of the Invention
[0004] This invention proposes a highly efficient and energy-saving flexible job shop scheduling method that considers adjustment time. It addresses the shortcomings of the EFJSP-SDST problem in terms of model construction, algorithm design, and multi-objective optimization strategies. By designing a spatially aware evolutionary algorithm (MTCP-SPEA) framework based on multi-threaded constraint planning, it aims to optimize and minimize the maximum completion time and total energy consumption.
[0005] This invention provides a highly efficient and energy-saving flexible job shop scheduling method that considers adjustment time, characterized by comprising the following steps:
[0006] Step 1: Initialize the initial population for the MTCP-SPEA algorithm;
[0007] Step 2: Implement a spatially aware environment selection strategy to maintain the convergence and diversity of the population during evolution;
[0008] Step 3: Determine whether the current running time of the MTCP-SPEA algorithm has reached half of the total running time. If yes, proceed to step 6; otherwise, proceed to step 4. The total running time is twice the sum of the processing times of all processes.
[0009] Step 4: Use the preset crossover and mutation operators to evolve the current population, generate new individuals, and select the current non-dominated individuals to form a Pareto solution set with the goal of minimizing the maximum completion time and total energy consumption, and save it to the elite set. The maximum completion time is the maximum value of the completion time corresponding to all workpieces after completing all their processes, and the total energy consumption is the sum of processing energy consumption, idle energy consumption and adjustment task energy consumption.
[0010] Step 5: Individuals in the elite group perform local search operations to improve the quality of individuals in the elite group, and then return to step 2. The local search includes four neighborhood structures based on the critical path, two energy consumption optimization strategies, and two mathematical neighborhood structures.
[0011] Step 6: Individuals in the updated elite set are subjected to a multi-threaded constraint planning-assisted optimization method to generate an improved elite set. All non-dominated individuals are selected from the improved elite set to form the optimal solution set, and the optimal solution set is output.
[0012] Furthermore, in step 2, the spatial perception environment selection strategy includes a transformation phase, a feature statistics phase, and an update phase.
[0013] During the transition phase, each individual in the population is transferred to the target space, where each individual contains only the maximum completion time and total energy consumption; each individual in the population is then transferred to the decision space, where each individual contains only the process ordering vector and the machine selection vector.
[0014] During the feature statistics phase, the following operations are performed on each individual in the population: the frontier level and hierarchical position of the individual in the target space are recorded in the target space feature set; the individual is compared with the feature sets of other individuals in the population, and the number of the same process at the same position on the process sorting vector is counted. The cumulative value of the count is divided by Ps * the length of the process sorting vector to obtain the process homology rate, where Ps is the initial population size; the number of the same machine at the same position on the machine selection vector is counted, and the cumulative value of the count is divided by Ps * the length of the machine selection vector to obtain the machine homology rate. The process homology rate and the machine homology rate are recorded in the decision space feature set.
[0015] During the update phase, individuals in the target space feature set are sorted in ascending order according to the frontier level and hierarchical position information, and the top Ps / 2 individuals in the population are selected to improve the convergence of the population; the process homology rate and machine homology rate in the decision space feature set are sorted in ascending order, and the top Ps / 2 individuals in the population are selected to maintain population diversity.
[0016] Furthermore, in step 4, the crossover operator includes a priority process crossover operator and a uniform crossover operator. The priority process crossover operator is applied to the process sorting vector, and the uniform crossover operator is applied to the machine selection vector.
[0017] The priority process of the crossover operator is to randomly select individuals from the population. t 1 and individuals t 2 All workpieces Js Divided into two subsets, namely the workpiece set. Js 1 and workpiece set Js 2 ; to individuals t 1 and individuals t 2 The process sorting vector belongs to the workpiece set Js 1 The process remains unchanged, individual t 2 The process sorting vector belongs to the workpiece set Js 2 The process involves replacing individuals sequentially according to the order of the process sorting vector. t 1 The remaining positions of the process in the process sorting vector, individual t 1 The process sorting vector belongs to the workpiece set Js 2 The process involves replacing individuals sequentially according to the order of the process sorting vector. t 2 The remaining positions of the process in the process sorting vector;
[0018] The operation of the uniform crossover operator is as follows: randomly generate individuals t 1 and individuals t 2 The machine selects binary vectors of equal length, individual t 1 and individuals t 2 The machines whose binary vector value is 0 in the machine selection vector remain unchanged, and the individual... t 1 and individualst 2 The machines whose corresponding binary vector value is 1 in the machine selection vector are swapped.
[0019] Furthermore, the mutation operator includes a swap operator and a redistribution operator. The swap operator is applied to the process ordering vector, and the redistribution operator is applied to the machine selection vector.
[0020] The operation of the swap operator is as follows: in the individual's process sorting vector, two processes are randomly selected and swapped.
[0021] The operation of the redistribution operator is as follows: in the individual machine selection vector, a machine is randomly selected, and the position of the selected machine is redistributed to a machine that can be processed.
[0022] Furthermore, in step 5, the local search operation process is as follows: A new elite set is initialized to store the optimized new individuals; the row value x currently being processed is determined based on the remainder of lr divided by LR, where lr is the total number of local searches and LR is the total length of the record table; the statistical information of row x in the success record table and failure record table is cleared; the success record table records the number of times the search operator succeeded, and the failure record table records the number of times the search operator failed; for each individual in the elite set, the following operation is performed: if lr is less than LR, historical data from the previous lr rounds of local search are extracted, and the search operator is calculated. success rate The calculation formula is: ,in, For all search operators The set, For the workpiece, Indicates workpiece Use search operators Number of successes Indicates workpiece Use search operators The number of failures; if lr is greater than or equal to LR, then extract all data from the local search and calculate the search operator. success rate The calculation formula is: Based on success rate The probability distribution, randomly select the search operator. Apply search operators to individuals Generate the corresponding improved individual, calculate the maximum completion time of the improved individual, if the maximum completion time of the improved individual is greater than or equal to the maximum completion time of the individual, record the failure information in the failure record table, if the maximum completion time of the improved individual is less than the maximum completion time of the individual, record the success information in the success record table, add the individual to the new elite set, merge the new elite set into the original elite set, and output the updated elite set.
[0023] Furthermore, a disjunctive graph model is constructed for the elite-concentrated individuals, denoted as... , ,in, Represents a set of nodes. Denotes the set of conjunctive arcs. The set representing the disjunctive arc; set Each node in the set corresponds to a specific process. The arcs in the code define the priority relationships between process nodes, and the set The arcs in the diagram define the processing sequence of process nodes on the same machine.
[0024] Furthermore, a local search operation is sequentially performed on each individual in the current elite concentration. This local search includes four neighborhood structures based on the critical path, two energy consumption optimization strategies, and two mathematical neighborhood structures; for individuals satisfying... Process nodes This was identified as a critical process. The critical path consists of all critical processes, among which... Process node The earliest end time, Process node Processing time, Process node The latest start time; Indicates process node Earliest end time Subtract process nodes Processing time Equal to process node Latest start time Then process node Considered a key process, among which,
[0025] The four neighborhood structures based on the critical path are reassignment neighborhood, exchange neighborhood, insertion neighborhood, and inversion neighborhood. The operation steps are as follows:
[0026] The process of reallocating the neighborhood is as follows: randomly select a critical process from the critical path of an individual, and allocate different machines from the set of available machines to process the selected critical process;
[0027] The process of exchanging neighborhoods is as follows: randomly select two critical processes from the critical path of an individual, and exchange the processing order of the two selected critical processes.
[0028] The process of inserting a neighbor is to randomly select two critical steps from the critical path of an individual and insert the later selected critical step into the step before the earlier selected critical step.
[0029] The process of reversing the neighborhood is as follows: randomly select two critical processes from the critical path of an individual, and completely reverse the processing order of all processes between the two selected critical processes;
[0030] The two energy consumption optimization strategies include a first energy consumption optimization strategy and a second energy consumption optimization strategy. The operation steps are as follows:
[0031] The first energy consumption optimization strategy operates by obtaining the individual's scheduling sequence based on the individual's machine selection vector, and determining the processing steps to be performed. Determine the processing steps Allocable machine set Calculate the energy consumption required for each machine. ,in Process to be processed In the machine Processing energy consumption Process to be processed In the machine Idle energy consumption Process to be processed In the machine Adjust the energy consumption of the task; compare the energy consumption of each machine. Select the required energy consumption from all machines. The smallest machine The process to be processed Distributed to machine Generate a new scheduling sequence for each individual;
[0032] The second energy consumption optimization strategy involves obtaining the individual's scheduling sequence based on the individual's process order vector, readjusting the processing order of each machine, and then targeting the specific machine... Perform scanning on the machine Search for free intervals on the timeline to determine if there are any that can be inserted into the current processing step. The idle space, if the current process to be processed If an empty interval can be inserted, then calculate the current process to be processed. Energy consumption required Compare the energy consumption required at the insertion position. Compared to the energy consumption at the original location, if the required energy consumption If the energy consumption is less than that at the original position, then the process to be processed will be... Insert an idle interval to generate a new scheduling sequence for the individual;
[0033] Two mathematical neighborhood structures are available: the OS-MNS mathematical neighborhood structure and the MS-MNS mathematical neighborhood structure. The operation steps are as follows:
[0034] The operation process of the OS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. Iterate through the process order vectors of each individual to obtain the processing order of the processes, extract the start time of each process, and input the start time of each process into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. In constrained programming models In the process, the fixed process is in the machine Upgrade processing, through calling the constrained programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution According to the constraint programming solution Reshape the process order vector of an individual and output the updated individual;
[0035] The operation process of the MS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. A single empty storage space is allocated to record the assigned tasks on each machine and their start times. The process iterates through each task, extracts its start time, and inputs this start time into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. The process and its start time are stored in the corresponding machine. The storage space is used to extract all processing steps from each machine and sort them in ascending order according to the start time of each step in the constrained programming model. In the middle, based on the sorted storage space, the fixed machine The processing sequence of the previous process is determined by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution Solve by constraint programming Reshape the machine selection vector of the individual and output the updated individual.
[0036] Furthermore, the OS-MNS mathematical neighborhood structure and the MS-MNS mathematical neighborhood structure include the following constraint sets (1) - constraint sets (9), namely
[0037]
[0038] Among them, interval variables For process Interval variables, variables For process Start time, optional range variable For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. and Both refer to workpieces. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process, Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Represent a constrained programming solution;
[0039] The constraint set (1) is used to initialize a constrained programming solution. ;function Used to generate constrained programming solutions ;
[0040] Constraint set (2) is used to define the process. start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ;
[0041] The constraint set (3) is used to determine the process. allocated machines ;function Used for constraining processes You must select the assigned machine. Processing;
[0042] The constraint set (4) in the constrained programming model In the middle, it is used to fix the process. In the machine Up processing; function Used to constrain optional interval variables It must be applied;
[0043] The constraint set (5) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0044] The constraint set (6) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming ;
[0045] The constraint set (7) represents the constraint programming model. In the middle, fixed machine The processing sequence of the previous process; The first in the current machine sequence A machine; function Used to constrain interval variables Must appear in interval variables Before;
[0046] The constraint set (8) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0047] The constraint set (9) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
[0048] Furthermore, in step 6, the operation process of the multi-threaded constraint programming-assisted optimization method is as follows: create an empty new elite set, calculate the number of individuals in the elite set, and initialize a thread pool equal to the number of individuals. This allows each thread to process one individual in the elite set, assigning a separate thread to each individual in the elite set. All threads execute concurrently. For each thread, the following operations are performed: traverse the individual's process sorting vector, obtain the processing order of the processes, extract the start time of the processes, adjust the start time of the tasks, and initialize a constraint programming solution. The machine assigned to each process is determined based on the individual's machine selection vector, and the processing machine for each process is then fed into the constraint programming solution. The start time of each process and the start time of each adjustment task are determined based on the individual process order vector, and then the start times of the process and the adjustment tasks are input into the constraint programming solution. And set up a constrained programming model. The maximum runtime of the constraint programming solver is half of the total runtime, achieved by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the constrained programming solution obtained through optimization. Solve by constraint programming Reshape the process order vector and machine selection vector of the individual, add the optimized individual to the new elite set, merge the new elite set into the original elite set, and select non-dominated individuals from the merged elite set to form the optimal solution set.
[0049] Furthermore, the multi-threaded constraint planning-assisted optimization method includes the following constraint sets (10) - (15), namely...
[0050]
[0051] Among them, interval variables For process interval variables, The variable is the process. start time, variable For process Adjust the task start time; optional range variable. For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. Indicates the workpiece. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Represents thread A constrained programming solution;
[0052] Constraint set (10) for threads Initialize a constrained programming solution ;function Used to generate constrained programming solutions ;
[0053] Constraint set (11) for threads Determine the process allocated machines ;function Used for constraining processes You must select the assigned machine. Processing;
[0054] Constraint set (12) for threads , the process start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ;
[0055] Constraint set (13) for threads , the process Adjust the start time of the task Input constraint programming solution ,function Used for constraining processes The start time of the adjusted task must be the time it was obtained. ;
[0056] The constraint set (14) represents the constructed constraint programming solution. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0057] The constraint set (15) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
[0058] Furthermore, the OS-MNS mathematical neighborhood structure, the MS-MNS mathematical neighborhood structure, and the multi-threaded constraint programming-assisted optimization method are also optimized by solving the following constraints (17)-constraints (24) and objective function (16), namely...
[0059]
[0060] Among them, interval variables For process Interval variables; interval variables For process Adjust the range variable for the task; optional range variable For process Optional range variables, machine It is a machine assembly One of the machines; sequential decision variables For including the assigned optional range variables ; Adjustment time required to process the adjustment task; integer variable Indicates allocation to machine The completion time of the latest completed process among all processes; For the maximum completion time; Total energy consumption; This is the upper limit constraint value, used to limit... The maximum value; Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Indicates machine index; Indicate process The set of all machinable machines; transition matrix Represents a set of adjustment times. An empty identifier, This represents a preset positive integer whose value is greater than the sum of the processing times for all processes.
[0061] The objective function (16) represents minimizing the completion time. Total energy consumption The dual objective problem is transformed into minimizing total energy consumption. Single-objective problem, function Used to constrain the maximum completion time. Not exceeding the upper limit constraint value Minimize total energy consumption ;
[0062] Constraint (17) represents the process. The range variable of the adjustment task The length of the function is non-negative; Used to calculate interval variables Length;
[0063] Constraint (18) represents an interval variable. The start time is no earlier than that of the interval variable. The end time of the function Used to calculate interval variables Start time; function Used to calculate interval variables End time;
[0064] Constraint (19) represents an interval variable. The length equals the adjustment time ;function Return sequence decision variables The variable immediately adjacent to the selected interval The identifier of the optional interval variable; if the optional interval variable Not included in sequential decision variables In, function The return value is 0, and the time is adjusted. Equal to 0; if the optional interval variable Located in the sequence decision variable The last position, then the function The return value is And adjust the time Equals 0;
[0065] Constraint (20) indicates that in the machine Above, interval variables The end time is no later than the time of the sequential decision variable. Selectable range variables The start time of the next interval variable; function Return sequence decision variables Follow the optional range variable The start time of the interval variable; if the interval variable is optional. Not included in sequential decision variables In, function The return value is 0; if the optional range variable is selected. Located in the sequence decision variable The last position in the function The return value is ;
[0066] Constraint (21) represents an interval variable. Only in interval variables Processing begins after processing is complete; function Used to ensure process Previous process After processing, the process Only then is processing carried out;
[0067] Constraint (22) represents the process. Processing is only allowed on one machine; function Used to ensure interval variables Only one optional range variable is allowed. exist;
[0068] Constraint (23) represents the machine Only one process is allowed to be processed at a time. ,function Used to ensure the machine when adjusting the time. Optional range variables Non-overlapping; transition matrix Constrain the minimum distance between two consecutive interval variables; transition matrix The value is determined by the adjustment time. Decide;
[0069] Constraint (24) represents integer variables. The value is greater than or equal to the optional range variable. The end time of the function Used to calculate optional interval variables The end time.
[0070] This invention provides a highly efficient and energy-saving flexible job shop scheduling method that considers adjustment time. Compared with the prior art, this invention solves the problem of optimizing highly efficient and energy-saving flexible job shop scheduling that considers adjustment time, and has the following positive effects.
[0071] (1) This invention provides a method based on The constraint programming model based on the constraint method solves the efficient and energy-saving flexible job shop scheduling problem with settling time and sequence dependencies.
[0072] (2) This invention designs and proposes a spatially aware environment selection strategy. The spatially aware environment selection strategy utilizes target space information and decision space information to better balance convergence and diversity within the population.
[0073] (3) This invention designs a local search strategy that uses historical data to select appropriate search operators for individuals in the elite set, thereby improving the quality of individuals in the elite set. Specifically, it includes four neighborhood structures based on critical paths, two energy consumption optimization strategies, and two mathematical neighborhood structures.
[0074] (4) This invention proposes a multi-threaded constraint planning-assisted optimization method, which combines multi-threading technology with constraint planning-assisted optimization to further optimize the optimal solution set.
[0075] In summary, this invention effectively solves the problem of efficient and energy-saving flexible job shop scheduling optimization that considers adjustment time. By designing a space-aware evolutionary algorithm assisted by multi-threaded constraint programming, it achieves positive effects in balancing population diversity and convergence, improving solution quality and efficiency when solving the EFJSP-SDST problem with the objective of minimizing maximum completion time and total energy consumption. Attached Figure Description
[0076] Figure 1 This is a flowchart illustrating the implementation of the present invention;
[0077] Figure 2 This is a diagram illustrating the spatial perception environment selection strategy process of the present invention.
[0078] Figure 3 This is an example diagram of the disjunction graph model of the present invention;
[0079] Figure 4 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 1 and 2 under the GD index.
[0080] Figure 5 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 1 and 2 under the IGD index.
[0081] Figure 6 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 1 and 2 under the HV index.
[0082] Figure 7 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 3 and 4 under the GD index.
[0083] Figure 8 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 3 and 4 under the IGD index.
[0084] Figure 9This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 3 and 4 under the HV index.
[0085] Figure 10 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 5 and 6 under the GD index.
[0086] Figure 11 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with those of comparison algorithms 5 and 6 under the IGD index.
[0087] Figure 12 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with comparison algorithms 5 and 6 under the HV index;
[0088] Figure 13 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with comparison algorithms 7, 8, 9 and 10 under the GD index.
[0089] Figure 14 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with comparison algorithms 7, 8, 9 and 10 under the IGD index.
[0090] Figure 15 This is a range distribution diagram showing the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared with comparison algorithms 7, 8, 9 and 10 under the HV index. Detailed Implementation
[0091] This invention provides a highly efficient and energy-saving flexible job shop scheduling method that takes into account adjustment time, which is mainly achieved through the following process.
[0092] Step 1: Initialize the initial population for the MTCP-SPEA algorithm.
[0093] Step 2: Implement a spatially aware environment selection strategy to maintain the convergence and diversity of the population during evolution. Specifically, the spatially aware environment selection strategy includes a transition phase, a feature statistics phase, and an update phase, wherein:
[0094] During the transition phase, each individual in the population is transferred to the target space, where each individual contains only the maximum completion time and total energy consumption; then, each individual in the population is transferred to the decision space, where each individual contains only a process ordering vector and a machine selection vector. The process ordering vector and machine selection vector contained in each individual in the decision space are as follows: Figure 2 As shown in the feature statistics stage, each number in the process sorting vector represents a workpiece number, and the number of times a number appears in the process sorting vector represents the number of processes contained in that workpiece. For example, the first number 3 indicates the first process of the third workpiece. The first number 2 indicates the first process of the second workpiece. The second number 2 indicates the second process for the second workpiece. Each number in the machine selection vector represents the machine number assigned to the operation, and the machine selection vector is arranged in order of workpiece number, with each workpiece's operation occupying a consecutive position in the vector. For example, Figure 2 In this context, the machine selection vector represents the machine assigned to three workpieces. Each workpiece contains two operations. The number 1 at the first position of the machine selection vector indicates the first operation of the first workpiece. Distributed in the machine In the upper processing step, the machine selects the number 3 at the second position of the vector, which indicates the second processing step for the first workpiece. Distributed in the machine In the upper processing step, the machine selects the number 3 at the 3rd position of the vector, which indicates the first process of the second workpiece. Distributed in the machine In the upper processing step, the machine selects the number 2 at the 4th position of the vector, indicating the second process for the second workpiece. Distributed in the machine In the upper processing step, the machine selects the number 1 at the 5th position of the vector, indicating the first process for the third workpiece. Distributed in the machine In the upper processing step, the machine selects the number 2 at the 6th position of the vector, indicating the second process for the third workpiece. Distributed in the machine Upgrade processing.
[0095] During the feature statistics phase, the following operations are performed on each individual in the population: the frontier level and hierarchical position of the individual in the target space are recorded in the target space feature set; the individual is compared with the feature sets of other individuals in the population, and the number of the same process at the same position on the process sorting vector is counted. The cumulative value of the count is divided by Ps * the length of the process sorting vector to obtain the process homology rate, where Ps is the initial population size; the number of the same machine at the same position on the machine selection vector is counted, and the cumulative value of the count is divided by Ps * the length of the machine selection vector to obtain the machine homology rate. The process homology rate and the machine homology rate are recorded in the decision space feature set.
[0096] During the update phase, individuals in the target space feature set are sorted in ascending order according to the frontier level and hierarchical position information, and the top Ps / 2 individuals in the population are selected to improve the convergence of the population; the process homology rate and machine homology rate in the decision space feature set are sorted in ascending order, and the top Ps / 2 individuals in the population are selected to maintain population diversity.
[0097] Step 3: Determine whether the current running time of the MTCP-SPEA algorithm has reached half of the total running time. If yes, proceed to step 6; otherwise, proceed to step 4. The total running time is twice the sum of the processing times of all processes.
[0098] Step 4: The current population is evolved using preset crossover and mutation operators to generate new individuals. With the objective of minimizing the maximum completion time and total energy consumption, the currently non-dominated individuals are selected to form a Pareto solution set, which is then saved to the elite set. The maximum completion time is the maximum completion time for all jobs after completing all their operations. Total energy consumption is the sum of processing energy consumption, idle energy consumption, and task adjustment energy consumption. Specifically, the crossover operators include a priority operation crossover operator and a uniform crossover operator. The priority operation crossover operator is applied to the operation sorting vector, and the uniform crossover operator is applied to the machine selection vector.
[0099] The priority process of the crossover operator is to randomly select individuals from the population. t 1 and individuals t 2 All workpieces Js Divided into two subsets, namely the workpiece set. Js 1 and workpiece set Js 2 ; to individuals t 1 and individuals t 2 The process sorting vector belongs to the workpiece set Js1 The process remains unchanged, individual t 2 The process sorting vector belongs to the workpiece set Js 2 The process involves replacing individuals sequentially according to the order of the process sorting vector. t 1 The remaining positions of the process in the process sorting vector, individual t 1 The process sorting vector belongs to the workpiece set Js 2 The process involves replacing individuals sequentially according to the order of the process sorting vector. t 2 The remaining positions of the process in the process sorting vector.
[0100] The operation of the uniform crossover operator is as follows: randomly generate individuals t 1 and individuals t 2 The machine selects binary vectors of equal length, individual t 1 and individuals t 2 The machines whose binary vector value is 0 in the machine selection vector remain unchanged, and the individual... t 1 and individuals t 2 The machines whose corresponding binary vector value is 1 in the machine selection vector are swapped.
[0101] Mutation operators include exchange operators and redistribution operators. Exchange operators are applied to process ordering vectors, while redistribution operators are applied to machine selection vectors.
[0102] The operation of the swap operator is as follows: in the individual's process sorting vector, two processes are randomly selected and swapped.
[0103] The operation of the redistribution operator is as follows: in the individual machine selection vector, a machine is randomly selected, and the position of the selected machine is redistributed to a machine that can be processed.
[0104] Step 5: Individuals in the elite set perform local search operations to improve their quality and return to Step 2. Local search includes four neighborhood structures based on the critical path, two energy optimization strategies, and two mathematical neighborhood structures. Specifically, the local search operation process is as follows: Initialize a new elite set to store the optimized individuals; determine the currently processed row value x based on the remainder of lr divided by LR, where lr is the total number of local searches and LR is the total length of the record table; clear the statistics of row x in the success and failure record tables, where the success table records the number of successful search operations and the failure table records the number of failed search operations; perform the following operation on each individual in the elite set: if lr is less than LR, extract the historical data from the previous lr rounds of local search and calculate the search operator. success rate The calculation formula is: ,in, For all search operators The set, For the workpiece, Indicates workpiece Use search operators Number of successes Indicates workpiece Use search operators The number of failures; if lr is greater than or equal to LR, then extract all data from the local search and calculate the search operator. success rate The calculation formula is: Based on success rate The probability distribution, randomly select the search operator. Apply search operators to individuals Generate the corresponding improved individual, calculate the maximum completion time of the improved individual, if the maximum completion time of the improved individual is greater than or equal to the maximum completion time of the individual, record the failure information in the failure record table, if the maximum completion time of the improved individual is less than the maximum completion time of the individual, record the success information in the success record table, add the individual to the new elite set, merge the new elite set into the original elite set, and output the updated elite set.
[0105] To accurately identify the critical path structure of EFJSP-SDST, a disjunction graph model is constructed for the elite group of individuals, denoted as . , ,in, Represents a set of nodes. Denotes the set of conjunctive arcs. The set representing the disjunctive arc; set Each node in the set corresponds to a specific process. The arcs in the code define the priority relationships between process nodes, and the set The arcs in the diagram define the processing sequence of process nodes on the same machine. For example... Figure 3 As shown, circles represent sets in the disjunctive graph model. The nodes are categorized as follows: circles with a start and an end point represent virtual nodes, while the remaining circles represent process nodes. The process name marked in the remaining circles corresponds to the specific process represented by that node, and the solid lines correspond to the set. The conjunctive arc in the diagram, with the dashed line corresponding to the set. disjunctive arcs, such as Figure 3 As shown, according to the process and process The conjunct arc between processes Must be in the process Previous processing; according to the process and process The process of separating the arc between them In the machine The above must take priority over the process. Processing.
[0106] For each individual in the current elite group, a local search operation is performed sequentially. This local search includes four neighborhood structures based on the critical path, two energy-efficient optimization strategies, and two mathematical neighborhood structures to improve the individual's local optimization capabilities. It should be noted that for individuals satisfying... Process nodes This was identified as a critical process. The critical path consists of all critical processes, among which... Process node The earliest end time, Process node Processing time, Process node The latest start time; Indicates process node Earliest end time Subtract process nodes Processing time Equal to process node Latest start time Then process node Considered a critical process, the four neighborhood structures based on the critical path are reassignment neighborhood, exchange neighborhood, insertion neighborhood, and inversion neighborhood, and the specific operation process is as follows.
[0107] The process of reallocating the neighborhood is as follows: randomly select a critical process from the critical path of an individual, and allocate different machines from the set of available machines to process the selected critical process;
[0108] The process of exchanging neighborhoods is as follows: randomly select two critical processes from the critical path of an individual, and exchange the processing order of the two selected critical processes.
[0109] The process of inserting a neighbor is to randomly select two critical steps from the critical path of an individual and insert the later selected critical step into the step before the earlier selected critical step.
[0110] The process of reversing the neighborhood is to randomly select two critical processes from the critical path of an individual and completely reverse the processing order of all processes between the two selected critical processes.
[0111] The two energy consumption optimization strategies include a first energy consumption optimization strategy and a second energy consumption optimization strategy. The operation steps are as follows:
[0112] The first energy consumption optimization strategy operates by obtaining the individual's scheduling sequence based on the individual's machine selection vector, and determining the processing steps to be performed. Determine the processing steps Allocable machine set Calculate the energy consumption required for each machine. ,in Process to be processed In the machine Processing energy consumption Process to be processed In the machine Idle energy consumption Process to be processed In the machine Adjust the energy consumption of the task; compare the energy consumption of each machine. Select the required energy consumption from all machines. The smallest machine The process to be processed Distributed to machine Generate a new scheduling sequence for each individual;
[0113] The second energy consumption optimization strategy involves obtaining the individual's scheduling sequence based on the individual's process order vector, readjusting the processing order of each machine, and then targeting the specific machine... Perform scanning on the machine Search for free intervals on the timeline to determine if there are any that can be inserted into the current processing step. The idle space, if the current process to be processed If an empty interval can be inserted, then calculate the current process to be processed. Energy consumption required Compare the energy consumption required at the insertion position. Compared to the energy consumption at the original location, if the required energy consumption If the energy consumption is less than that at the original position, then the process to be processed will be... Insert an idle interval to generate a new scheduling sequence for the individual.
[0114] The operation process of the OS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. Iterate through the process order vectors of each individual to obtain the processing order of the processes, extract the start time of each process, and input the start time of each process into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. In constrained programming models In the process, the fixed process is in the machine Upgrade processing, through calling the constrained programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution According to the constraint programming solution Reshape the process order vector of an individual and output the updated individual;
[0115] The operation process of the MS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. A single empty storage space is allocated to record the assigned tasks on each machine and their start times. The process iterates through each task, extracts its start time, and inputs this start time into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. The process and its start time are stored in the corresponding machine. The storage space is used to extract all processing steps from each machine and sort them in ascending order according to the start time of each step in the constrained programming model. In the middle, based on the sorted storage space, the fixed machine The processing sequence of the previous process is determined by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution Solve by constraint programming Reshape the machine selection vector of the individual and output the updated individual.
[0116] The OS-MNS mathematical neighborhood structure and the MS-MNS mathematical neighborhood structure include the following constraint sets (1) to (9), namely
[0117]
[0118] Among them, interval variables For process Interval variables, variables For process Start time, optional range variable For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. and Both refer to workpieces. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process, Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; This represents a solution to a constrained programming problem. Specifically:
[0119] The constraint set (1) is used to initialize a constrained programming solution. ;function Used to generate constrained programming solutions ;
[0120] Constraint set (2) is used to define the process. start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ;
[0121] The constraint set (3) is used to determine the process. allocated machines ;function Used for constraining processes You must select the assigned machine. Processing;
[0122] The constraint set (4) in the constrained programming model In the middle, it is used to fix the process. In the machine Up processing; function Used to constrain optional interval variables It must be applied;
[0123] The constraint set (5) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0124] The constraint set (6) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming ;
[0125] The constraint set (7) represents the constraint programming model. In the middle, fixed machine The processing sequence of the previous process; The first in the current machine sequence A machine; function Used to constrain interval variables Must appear in interval variables Before;
[0126] The constraint set (8) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0127] The constraint set (9) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
[0128] Step 6: Individuals in the updated elite set execute a multi-threaded constraint programming-assisted optimization method to generate an improved elite set. From this improved elite set, all non-dominated individuals are selected to form the optimal solution set, which is then output. Specifically, the multi-threaded constraint programming-assisted optimization method operates as follows: An empty new elite set is created; the number of individuals in the elite set is calculated; and a thread pool equal to the number of individuals is initialized. This allows each thread to process one individual in the elite set, assigning a separate thread to each individual in the elite set. All threads execute concurrently. For each thread, the following operations are performed: traverse the individual's process sorting vector, obtain the processing order of the processes, extract the start time of the processes, adjust the start time of the tasks, and initialize a constraint programming solution. The machine assigned to each process is determined based on the individual's machine selection vector, and the processing machine for each process is then fed into the constraint programming solution. The start time of each process and the start time of each adjustment task are determined based on the individual process order vector, and then the start times of the process and the adjustment tasks are input into the constraint programming solution. And set up a constrained programming model. The maximum runtime of the constraint programming solver is half of the total runtime, achieved by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the constrained programming solution obtained through optimization. Solve by constraint programming Reshape the process order vector and machine selection vector of the individual, add the optimized individual to the new elite set, merge the new elite set into the original elite set, and select non-dominated individuals from the merged elite set to form the optimal solution set.
[0129] The constraint planning-assisted optimization method based on multithreading includes the following constraint sets (10)-(15), namely
[0130]
[0131] Among them, interval variables For process Interval variables, variables For process start time, variable For process Adjust the task start time; optional range variable. For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. and Both refer to workpieces. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process, Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; This represents a solution to a constrained programming problem. Specifically:
[0132] Constraint set (10) for threads Initialize a constrained programming solution ;function Used to generate constrained programming solutions ;
[0133] Constraint set (11) for threads Determine the process allocated machines ;function Used for constraining processes You must select the assigned machine. Processing;
[0134] Constraint set (12) for threads , the process start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ;
[0135] Constraint set (13) for threads , the process Adjust the start time of the task Input constraint programming solution ,function Used for constraining processes The start time of the adjusted task must be the time it was obtained. ;
[0136] The constraint set (14) represents the constructed constraint programming solution. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ;
[0137] The constraint set (15) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
[0138] The OS-MNS mathematical neighborhood structure, the MS-MNS mathematical neighborhood structure, and the multi-threaded constraint planning-assisted optimization method are further optimized by solving the following constraints (17)-constraints (24) and objective function (16), namely...
[0139]
[0140] Among them, interval variables For process Interval variables; interval variables For process Adjust the range variable for the task; optional range variable For process Optional range variables, machine It is a machine assembly One of the machines; sequential decision variables For including the assigned optional range variables ; Adjustment time required to process the adjustment task; integer variable Indicates allocation to machine The completion time of the latest completed process among all processes; For the maximum completion time; Total energy consumption; This is the upper limit constraint value, used to limit... The maximum value; Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Indicates machine index; Indicate process The set of all machinable machines; transition matrix Represents a set of adjustment times. An empty identifier, This represents a preset positive integer whose value is greater than the sum of the processing times for all processes. Specifically:
[0141] The objective function (16) represents minimizing the completion time. Total energy consumption The dual objective problem is transformed into minimizing total energy consumption. Single-objective problem, function Used to constrain the maximum completion time. Not exceeding the upper limit constraint value Minimize total energy consumption ;
[0142] Constraint (17) represents the process. The range variable of the adjustment task The length of the function is non-negative; Used to calculate interval variables Length;
[0143] Constraint (18) represents an interval variable. The start time is no earlier than that of the interval variable. The end time of the function Used to calculate interval variables Start time; function Used to calculate interval variables End time;
[0144] Constraint (19) represents an interval variable. The length equals the adjustment time ;function Return sequence decision variables The variable immediately adjacent to the selected interval The subsequent optional interval changes Quantity identifier; if optional range variable Not included in sequential decision variables In, function The return value is 0, and the time is adjusted. Equal to 0; if the optional interval variable Located in the sequence decision variable The last position, then the function The return value is And adjust the time Equals 0;
[0145] Constraint (20) indicates that in the machine Above, interval variables The end time is no later than the time of the sequential decision variable. Selectable range variables The start time of the next interval variable; function Return sequence decision variables Follow the optional range variable The start time of the interval variable; if the interval variable is optional. Not included in sequential decision variables In, function The return value is 0; if the optional range variable is selected. Located in the sequence decision variable The last position in the function The return value is ;
[0146] Constraint (21) represents an interval variable. Only in interval variables Processing begins after processing is complete; function Used to ensure process Previous process After processing, the process Only then is processing carried out;
[0147] Constraint (22) represents the process. Processing is only allowed on one machine; function Used to ensure interval variables Only one optional range variable is allowed. exist;
[0148] Constraint (23) represents the machine Only one process is allowed to be processed at a time. ,function Used to ensure the machine when adjusting the time. Optional range variables Non-overlapping; transition matrix Constrain the minimum distance between two consecutive interval variables; transition matrix The value is determined by the adjustment time. Decide;
[0149] Constraint (24) represents integer variables. The value is greater than or equal to the optional range variable. The end time of the function Used to calculate optional interval variables The end time.
[0150] The present invention will now be further described and illustrated through specific examples.
[0151] To verify the effectiveness of the spatially aware environment selection strategy in the MTCP-SPEA algorithm proposed in this invention in solving the EFJSP-SDST problem, this invention is further verified through simulation experiments. The simulation test examples used are 20 standard instances, MFJS01-MFJS10 and MK01-MK10. To evaluate the performance of the spatially aware environment selection strategy, two comparison algorithms are designed. Comparison algorithm 1 adopts the NSGA-II environment selection strategy. NSGA-II (Non-dominated Sorting Genetic Algorithm II) is a classic multi-objective evolutionary algorithm. The environment selection strategy adopted by comparison algorithm 2 only combines the target space information. The MTCP-SPEA algorithm proposed in this invention utilizes the information of both the target space and the decision space to balance the convergence and diversity of individuals in the population. To comprehensively evaluate the optimization capabilities of each algorithm in handling the EFJSP-SDST problem, the following three commonly used multi-objective scheduling indicators are selected for comparison: (1) Generational interval (Generational) Distance (GD) is used to measure the proximity of the optimal solution set generated by the algorithm to the true Pareto front. The smaller the value, the closer the optimal solution set generated by the algorithm is to the true Pareto front, and the better the convergence. The true Pareto front represents the set of theoretically optimal non-dominated solutions and is used to measure the proximity and distribution of the optimal solution set generated by the algorithm; (2) Inverted generation distance (Inverted generation distance) Generational Distance (IGD) reflects the representativeness and distribution breadth of the optimal solution set generated by the algorithm to the real Pareto front. The smaller the value, the more uniformly the optimal solution set generated by the algorithm is distributed in the entire target space, and the stronger the diversity of the optimal solution set generated by the algorithm; (3) Hypervolume (HV) is used to comprehensively evaluate the volume size covered by the optimal solution set generated by the algorithm in the target space. The larger the value, the more representative and widely distributed the optimal solution set generated by the algorithm is; For the selected 20 standard instances, the above three algorithms were run independently 10 times, and all the optimal solution sets obtained in these 10 times were collected; The values in the test results are all in scientific notation. For example, 1.476E-01 means 1.476*10-1, that is, the value is 0.1476. Among them, the GD index test results of the MTCP-SPEA algorithm of the present invention and the comparison algorithm 1 and comparison algorithm 2 under the selected 20 standard instances are summarized in Table 1:
[0152] Table 1. Summary of test results of MTCP-SPEA algorithm and comparison algorithms 1 and 2 under the GD index.
[0153]
[0154] The experimental results in Table 1 show that, in terms of GD index, the MTCP-SPEA designed in this invention achieves 14 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (0.000E+00), MFJS02 (0.000E+00), MFJS03 (0.000E+00), MFJS04 (0.000E+00), MFJS05 (0.000E+00), MFJS06 (0.000E+00), MFJS07 (0.000E+00), MFJS06 (0.000E+00), MFJS07 (0.000E+00), MFJS08 (0.000E+00), MFJS09 (0.000E+00), MFJS0 ... The values of MTCP-SPEA algorithm (0.000E+00), MFJS08 (0.000E+00), MFJS09 (0.000E+00), MFJS10 (0.000E+00), MK04 (0.000E+00), MK05 (0.000E+00), MK06 (0.000E+00), and MK07 (0.000E+00) are all lower than the average values of comparison algorithms 1 and 2. Figure 4 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 1 and 2 under the GD metric. Figure 4 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm of this invention is -89.27%, compared to -24.64% for Algorithm 1 and -53.58% for Algorithm 2. Therefore, in terms of the GD index, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of Algorithm 1 and Algorithm 2, meaning that the convergence performance of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of Algorithm 1 and Algorithm 2. Experimental results show that the spatially aware environment selection strategy proposed in this invention can effectively improve the convergence of the optimal solution set.
[0155] For the 20 selected standard instances, comparison algorithm 1, comparison algorithm 2, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The IGD index test results of the MTCP-SPEA algorithm of this invention, compared with comparison algorithms 1 and 2, under the selected 20 standard instances are summarized in Table 2:
[0156] Table 2 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 1 and 2 under the IGD index.
[0157]
[0158] The experimental results in Table 2 show that, in terms of the IGD index, the MTCP-SPEA algorithm of this invention achieves 19 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (1.277E-02), MFJS02 (0.000E+00), MFJS03 (0.000E+00), MFJS04 (0.000E+00), MFJS05 (0.000E+00), MFJS06 (0.000E+00), MFJS07 (0.000E+00), MFJS08 (0.000E+00), MFJS09 (0.000E... Examples of MTCP-SPEA algorithms (+00), MFJS10 (1.388E-02), MK01 (2.288E-08), MK02 (1.147E-09), MK03 (6.864E-05), MK04 (1.919E-06), MK05 (0.000E+00), MK06 (4.485E-05), MK07 (0.000E+00), MK08 (1.126E-05), and MK09 (5.486E-04) are provided, and the mean value (1.384E-03) of the IGD metric of the MTCP-SPEA algorithm is less than the mean values of comparison algorithms 1 and 2. Figure 5 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 1 and 2 under the IGD metric. Figure 5 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -89.47%, compared to -11.09% for Algorithm 1 and -46.61% for Algorithm 2. Therefore, in terms of the IGD index, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of Algorithm 1 and Algorithm 2, meaning that the diversity of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of Algorithm 1 and Algorithm 2. These experimental results demonstrate that the spatially perceptive environment selection strategy proposed in this invention can effectively improve the diversity of the optimal solution set.
[0159] For the 20 selected standard instances, Comparison Algorithm 1, Comparison Algorithm 2, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The HV index test results of the MTCP-SPEA algorithm of this invention, compared with Comparison Algorithm 1 and Comparison Algorithm 2, under the selected 20 standard instances are summarized in Table 3:
[0160] Table 3 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 1 and 2 under the HV index.
[0161]
[0162] The experimental results in Table 3 show that, regarding the HV index, the MTCP-SPEA designed in this invention achieves 16 optimal values out of 20 standard instances, specifically including the following instances: MFJS03 (9.024E-01), MFJS04 (9.007E-01), MFJS05 (8.962E-01), MFJS06 (9.952E-01), MFJS07 (9.883E-01), MFJS08 (9.993E-01), MFJS09 (9.991E-01), and MFJS10. (9.943E-01), MK01 (1.000E+00), MK02 (1.000E+00), MK04 (1.000E+00), MK05 (1.000E+00), MK06 (9.984E-01), MK07 (1.000E+00), MK08 (9.980E-01), MK09 (9.803E-01), and the mean value (9.750E-01) of the HV index of the MTCP-SPEA algorithm of this invention is greater than the mean values of comparison algorithm 1 and comparison algorithm 2; such as Figure 6 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 1 and 2 under the HV metric. Figure 6 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -0.30%, compared to -14.16% for Algorithm 1 and -5.62% for Algorithm 2. Therefore, in terms of the HV index, the relative performance improvement of the MTCP-SPEA algorithm is significantly greater than that of Algorithm 1 and Algorithm 2, meaning that the overall quality of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of Algorithm 1 and Algorithm 2. Experimental results show that the spatially aware environment selection strategy proposed in this invention can effectively improve the overall quality, distribution range, and coverage of the optimal solution set.
[0163] The spatially aware environment selection strategy proposed in this invention effectively integrates target space information and decision space information, achieving a good balance between convergence and diversity within the population. Experimental results fully demonstrate the significant effectiveness of the spatially aware environment selection strategy in improving algorithm performance.
[0164] To verify the effectiveness of the local search strategy in the MTCP-SPEA algorithm proposed in solving the EFJSP-SDST problem, simulation experiments were conducted to further validate the invention. The simulation test examples consisted of 20 standard instances: MFJS01-MFJS10 and MK01-MK10. To evaluate the performance of the local search strategy, two comparative algorithms were designed: Algorithm 3 did not use a local search strategy; Algorithm 4 employed a local search strategy that randomly selected search operators for individuals in the elite set. The MTCP-SPEA algorithm proposed in this invention, however, uses historical data to select appropriate search operators for individuals in the elite set during the search process. To comprehensively evaluate the optimization capabilities of each algorithm in handling the EFJSP-SDST problem, GD, IGD, and HV indices were selected as evaluation criteria. For each of the 20 selected standard instances, the three algorithms were run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected. All numerical values in the test results are in scientific notation. Table 4 summarizes the GD index test results of the MTCP-SPEA algorithm of the present invention, comparison algorithm 3, and comparison algorithm 4 under the selected 20 standard instances:
[0165] Table 4 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 3 and 4 under the GD index.
[0166]
[0167] The experimental results in Table 4 show that, in terms of GD index, the MTCP-SPEA designed in this invention achieves 17 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (0.000E+00), MFJS02 (0.000E+00), MFJS03 (0.000E+00), MFJS04 (0.000E+00), MFJS05 (0.000E+00), MFJS06 (1.859E-03), MFJS07 (0.000E+00), MFJS08 (0.000E+00). The values of MFJS09 (0.000E+00), MFJS10 (0.000E+00), MK01 (0.000E+00), MK04 (0.000E+00), MK05 (4.180E-05), MK06 (0.000E+00), MK07 (1.280E-03), MK08 (0.000E+00), and MK10 (0.000E+00) are all lower than the average values of the comparison algorithm 3 and comparison file 4. For example... Figure 7The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 3 and 4 under the GD metric. Figure 7 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -88.45%, compared to -36.22% for algorithm 3 and -42.84% for algorithm 4. Therefore, in terms of the GD metric, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of algorithms 3 and 4, meaning that the convergence performance of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 3 and 4. Experimental results show that the local search strategy proposed in this invention can effectively improve the convergence of the optimal solution set.
[0168] For the 20 selected standard instances, comparison algorithms 3, 4, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The IGD index test results of the MTCP-SPEA algorithm of this invention, compared with comparison algorithms 3 and 4, under the selected 20 standard instances are summarized in Table 5:
[0169] Table 5 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 3 and 4 under the IGD index.
[0170]
[0171] The experimental results in Table 5 show that, in terms of IGD performance, the MTCP-SPEA designed in this invention achieves 15 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (1.28E-05), MFJS02 (2.98E-03), MFJS03 (0.00E+00), MFJS04 (0.00E+00), MFJS05 (0.00E+00), MFJS08 (0.00E+00), and MFJS09 (0.00E+00). The values of MK03, MK05, MK06, MK07, MK08, MK09, and MK10 are all lower than the average values of comparison algorithms 3 and 4. Furthermore, the mean value of the IGD index of the MTCP-SPEA algorithm of this invention (1.876E-03) is less than that of comparison algorithms 3 and 4. Figure 8The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 3 and 4 under the IGD metric. Figure 8 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -80.85%, compared to -12.81% for algorithm 3 and -48.50% for algorithm 4. Therefore, in terms of the IGD metric, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of algorithms 3 and 4, meaning that the diversity of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 3 and 4. Experimental results show that the local search strategy proposed in this invention can effectively improve the diversity of the optimal solution set.
[0172] For the 20 selected standard instances, comparison algorithms 3, 4, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The HV index test results of the MTCP-SPEA algorithm of this invention, compared with comparison algorithms 3 and 4, under the selected 20 standard instances are summarized in Table 6:
[0173] Table 6 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 3 and 4 under the HV index.
[0174]
[0175] The experimental results in Table 6 show that, in terms of HV index, the MTCP-SPEA designed in this invention achieves 13 optimal values out of 20 standard instances, specifically including the following instances: MFJS03 (8.879E-01), MFJS04 (9.909E-01), MFJS05 (9.883E-01), MFJS07 (9.862E-01), MFJS08 (9.991E-01), and MFJS09 (9.989E-01). The values of MFJS10 (9.561E-01), MK01 (1.000E+00), MK04 (9.986E-01), MK06 (9.935E-01), MK07 (9.995E-01), MK09 (9.995E-01), and MK10 (9.838E-01) are all greater than the average values of comparison algorithms 3 and 4. For example, MFJS10 (9.561E-01), MK01 (1.000E+00), MK04 (9.986E-01), MK06 (9.935E-01), MK07 (9.995E-01), MK09 (9.995E-01), and MK10 (9.838E-01). Furthermore, the mean value of the HV index of the MTCP-SPEA algorithm of this invention (9.725E-01) is greater than the mean values of comparison algorithms 3 and 4. Figure 9 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 3 and 4 under the HV metric. Figure 9It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -0.72%, compared to -6.84% for algorithm 3 and -5.23% for algorithm 4. Therefore, in terms of the HV index, the relative performance improvement of the MTCP-SPEA algorithm is significantly greater than that of algorithms 3 and 4, meaning that the overall quality of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 3 and 4. Experimental results show that the local search strategy proposed in this invention can effectively improve the overall quality, distribution range, and coverage of the optimal solution set. In summary, the local search strategy utilizes historical data to select appropriate search operators for individuals in the elite set, improving the quality of individuals in the elite set. The four neighborhood structures based on the critical path, two energy consumption optimization strategies, and two mathematical neighborhood structures designed can organically integrate the structural features in the scheduling optimization process, improving the efficiency of local search while further enhancing the solution capability and stability of the MTCP-SPEA algorithm in complex scheduling environments.
[0176] To verify the effectiveness of the multi-threaded constraint programming-assisted optimization method in the MTCP-SPEA algorithm proposed in this invention for solving the EFJSP-SDST problem, simulation experiments were conducted to further validate the invention. The simulation test cases used were 20 standard instances: MFJS01-MFJS10 and MK01-MK10. To evaluate the performance of the local search strategy, two comparative algorithms were designed: Comparison Algorithm 5 did not use the constraint programming-assisted optimization method; Comparison Algorithm 6 used the constraint programming-assisted optimization method but removed the multi-threading technique, employing constraint programming-assisted optimization with average time calculation for individuals in the elite set. The MTCP-SPEA algorithm proposed in this invention... The algorithm employs a multi-threaded constraint programming-assisted optimization method. Utilizing multi-threading technology, a dedicated thread is allocated to each individual in the elite set, enabling all threads to execute concurrently and thus achieving parallel optimization of each individual in the elite set. To comprehensively evaluate the optimization capabilities of each algorithm in handling the EFJSP-SDST problem, GD, IGD, and HV indices are selected as evaluation criteria. For the selected 20 standard instances, the three algorithms are each run independently 10 times, and all optimal solution sets obtained from these 10 runs are collected. All numerical values in the test results are in scientific notation. The GD index test results of the MTCP-SPEA algorithm of this invention, compared with comparative algorithms 5 and 6, under the selected 20 standard instances are summarized in Table 7.
[0177] Table 7 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 5 and 6 under the GD index.
[0178]
[0179] The experimental results in Table 7 show that, in terms of GD index, the MTCP-SPEA designed in this invention achieves 19 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (0.000E+00), MFJS02 (0.000E+00), MFJS03 (1.284E-03), MFJS04 (6.875E-05), MFJS05 (0.000E+00), MFJS06 (2.311E-03), MFJS08 (1.257E-02), MFJS09 (0.000E+00), MFJS10 (0.00... The values for MK01 (0.000E+00), MK02 (0.000E+00), MK03 (0.000E+00), MK04 (0.000E+00), MK05 (0.000E+00), MK06 (0.000E+00), MK07 (0.000E+00), MK08 (0.000E+00), MK09 (0.000E+00), and MK10 (1.280E-03) are all lower than the average values of comparison algorithms 5 and 6. For example, the average values for MK01 (0.000E+00), MK02 (0.000E+00), MK03 (0.000E+00), MK04 (0.000E+00), MK05 (0.000E+00), MK06 (0.000E+00), MK07 (0.000E+00), MK08 (0.000E+00), MK09 (0.000E+00), and MK10 (1.280E-03) are all lower than the average values of comparison algorithms 5 and 6. Figure 10 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 5 and 6 under the GD metric. Figure 10 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -97.56%, compared to -6.57% for algorithm 5 and -71.34% for algorithm 6. Therefore, in terms of the GD metric, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of algorithms 5 and 6, meaning that the convergence performance of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 5 and 6. Experimental results show that the multi-threaded constraint programming-assisted optimization method proposed in this invention can effectively improve the convergence of the optimal solution set.
[0180] For the 20 selected standard instances, comparison algorithm 5, comparison algorithm 6, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The IGD index test results of the MTCP-SPEA algorithm, comparison algorithm 5, and comparison algorithm 6 of this invention under the selected 20 standard instances are summarized in Table 8:
[0181] Table 8 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 5 and 6 under the IGD index.
[0182]
[0183] The experimental results in Table 8 show that, in terms of IGD performance, the MTCP-SPEA designed in this invention achieves 19 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (0.000E+00), MFJS02 (0.000E+00), MFJS03 (1.815E-05), MFJS04 (7.089E-08), MFJS05 (0.000E+00), MFJS06 (6.407E-05), MFJS07 (3.266E-03), MFJS08 (2.073E-02), MFJS09 ... The values for MTCP-SPEA algorithm are: E+00, MFJS10 (0.000E+00), MK01 (0.000E+00), MK02 (1.724E-06), MK03 (0.000E+00), MK04 (2.172E-07), MK05 (0.000E+00), MK07 (0.000E+00), MK08 (2.618E-05), MK09 (0.000E+00), and MK10 (1.078E-05). Furthermore, the mean value of the IGD index for the MTCP-SPEA algorithm (1.213E-03) is lower than the mean values for comparison algorithms 5 and 6. Figure 11 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 5 and 6 under the IGD metric. Figure 11 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -97.17%, compared to -1.76% for algorithm 5 and -79.44% for algorithm 6. Therefore, in terms of the IGD metric, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of algorithms 5 and 6, meaning that the diversity of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 5 and 6. Experimental results show that the multi-threaded constraint programming-assisted optimization method proposed in this invention can effectively improve the diversity of the optimal solution set.
[0184] For the 20 selected standard instances, comparison algorithms 5, 6, and the MTCP-SPEA algorithm were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The HV index test results of the MTCP-SPEA algorithm of this invention, compared with comparison algorithms 5 and 6, under the selected 20 standard instances are summarized in Table 9:
[0185] Table 9 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 5 and 6 under the HV index.
[0186]
[0187] The experimental results in Table 9 show that, regarding the HV index, the MTCP-SPEA designed in this invention achieves 15 optimal values out of 20 standard instances, specifically including the following instances: MFJS03 (8.889E-01), MFJS04 (8.844E-01), MFJS06 (9.009E-01), MFJS07 (8.415E-01), MFJS09 ( The values for MTCP-SPEA algorithm are 9.948E-01, MFJS10 (9.775E-01), MK01 (1.000E+00), MK02 (9.998E-01), MK03 (9.999E-01), MK04 (1.000E+00), MK05 (1.000E+00), MK06 (9.981E-01), MK07 (1.000E+00), MK09 (1.000E+00), and MK10 (9.989E-01). Furthermore, the mean value of the HV index for the MTCP-SPEA algorithm (9.589E-01) is greater than the mean values for comparison algorithms 5 and 6. Figure 12 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 5 and 6 under the HV metric. Figure 12 It can be seen that the relative performance improvement of the MTCP-SPEA algorithm is -0.08%, compared to -34.56% for algorithm 5 and -5.07% for algorithm 6. Therefore, in terms of the HV metric, the relative performance improvement of the MTCP-SPEA algorithm is significantly greater than that of algorithms 5 and 6, meaning that the overall quality of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 5 and 6. Experimental results show that the multi-threaded constraint programming-assisted optimization method proposed in this invention can effectively improve the overall quality, distribution range, and coverage of the optimal solution set. In summary, multi-threaded constraint programming-assisted optimization effectively utilizes the powerful optimization capabilities of constraint programming models and the parallel computing capabilities of multi-threading technology, making it highly effective in improving algorithm performance.
[0188] To verify the effectiveness of the MTCP-SPEA algorithm proposed in solving the EFJSP-SDST problem, simulation experiments were conducted to further validate the invention. The simulation test examples used were 20 standard instances: MFJS01-MFJS10 and MK01-MK10. To evaluate the performance of the MTCP-SPEA algorithm, it was compared with four state-of-the-art algorithms (comparison algorithms 7-10). Comparison algorithm 7 is the NSGA-II algorithm; comparison algorithm 8 is the Multi-Objective Evolutionary Algorithm based on Decomposition (MOEA / D); comparison algorithm 9 is the Dual-quality guided Cooperative Evolution (DQCE) algorithm based on deep reinforcement learning; and comparison algorithm 10 is the Learning-assisted Bi-population Evolutionary Algorithm (LBPEA). The parameter settings for comparison algorithms 7-9 are as follows: For the NSGA-II algorithm, Ps is 300 individuals, the crossover probability is 0.8, and the mutation probability is 0.1; for the MOEA / D algorithm, Ps is 500 individuals, the crossover probability is 0.9, the mutation probability is 0.15, and the number of neighbors is 10; for the DQCE algorithm, Ps is 200 individuals, the crossover probability is 0.9, the mutation probability is 0.1, the learning rate is 0.001, the batch size is 8, and the greedy factor is 0. The algorithm has a 925-fold limit, a discount factor of 0.9, and an experience pool size of 1024 records. For the LBPEA algorithm, Ps is 100 individuals, the crossover probability is 0.8, the mutation probability is 0.2, the learning rate is 0.1, the greedy factor is 0.9, the discount factor is 0.6, and the trigger threshold is 0.9. For the MTCP-SPEA algorithm of this invention, Ps is 300 individuals, the crossover probability is 0.7, the mutation probability is 0.15, LR is 200 records, and the local search cycle is 30 generations / time. To comprehensively evaluate the optimization capabilities of each algorithm in handling the EFJSP-SDST problem, GD, IGD, and HV indices were selected as evaluation criteria. For the selected 20 standard instances, the five algorithms were run independently 10 times each, and all optimal solution sets obtained from these 10 runs were collected. All numerical values in the test results are in scientific notation. The GD index test results of the MTCP-SPEA algorithm proposed in this invention, compared with comparison algorithms 7, 8, 9, and 10, under 20 selected standard instances are summarized in Table 10:
[0189] Table 10 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 7, 8, 9 and 10 under the GD index.
[0190]
[0191] The experimental results in Table 10 show that, in terms of GD index, the MTCP-SPEA designed in this invention achieves 19 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (0.000E+00), MFJS02 (0.000E+00), MFJS03 (0.000E+00), MFJS04 (0.000E+00), MFJS05 (5.130E-04), MFJS06 (1.742E-04), MFJS07 (0.000E+00), MFJS... The values of 08 (0.000E+00), MFJS09 (0.000E+00), MFJS10 (0.000E+00), MK01 (0.000E+00), MK02 (0.000E+00), MK04 (0.000E+00), MK05 (0.000E+00), and MK08 (0.000E+00) are all lower than the average values of the comparison algorithms 7, 8, 9, and 10. Figure 13 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 7, 8, 9, and 10 under the GD metric. Figure 13 It can be seen that the relative performance improvement of the comparison algorithm 8 is -38.61%, the relative performance improvement of the comparison algorithm 7 is -25.39%, the relative performance improvement of the comparison algorithm 9 is -57.57%, the relative performance improvement of the comparison algorithm 10 is -60.25%, and the relative performance improvement of the MTCP-SPEA algorithm is -87.76%. Therefore, in terms of the GD index, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of the comparison algorithms 7, 8, 9, and 10, meaning that the convergence performance of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of the comparison algorithms 7, 8, 9, and 10. Experimental results show that the MTCP-SPEA algorithm proposed in this invention can effectively improve the convergence of the optimal solution set.
[0192] For the 20 selected standard instances, the MTCP-SPEA algorithm proposed in this invention, along with comparison algorithms 7, 8, 9, and 10, were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The IGD index test results of the MTCP-SPEA algorithm proposed in this invention, along with comparison algorithms 7, 8, 9, and 10, under the selected 20 standard instances are summarized in Table 11:
[0193] Table 11 Summary of test results of MTCP-SPEA algorithm and its counterparts Algorithms 7, 8, 9, and 10 under the IGD metric.
[0194]
[0195] The experimental results in Table 11 show that, in terms of IGD performance, the MTCP-SPEA designed in this invention achieves 19 optimal values out of 20 standard instances, specifically including the following instances: MFJS01 (1.277E-02), MFJS03 (0.000E+00), MFJS04 (0.000E+00), MFJS05 (2.335E-04), MFJS06 (5.895E-04), MFJS07 (0.000E+00), MFJS08 (3.532E-03), MFJS09 (3.747E-02), and MFJS10 (0.000E+00). The values for MK01 (0.000E+00), MK02 (5.263E-08), MK03 (2.621E-05), MK04 (7.482E-06), MK05 (0.000E+00), MK06 (9.799E-06), MK07 (1.046E-04), MK08 (8.204E-06), MK09 (6.861E-04), and MK10 (6.223E-02) are all lower than the average values for comparison algorithms 7, 8, 9, and 10. Furthermore, the mean value of the IGD metric for the MTCP-SPEA algorithm (8.957E-03) is lower than the mean values for comparison algorithms 7, 8, 9, and 10. Figure 14 The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 7, 8, 9, and 10 under the IGD metric. Figure 14It can be seen that the relative performance improvement of the comparison algorithm 8 is -55.16%, the relative performance improvement of the comparison algorithm 7 is -15.50%, the relative performance improvement of the comparison algorithm 9 is -71.09%, the relative performance improvement of the comparison algorithm 10 is -63.31%, and the relative performance improvement of the MTCP-SPEA algorithm is -88.41%. Therefore, in terms of the IGD index, the relative performance improvement of the MTCP-SPEA algorithm is significantly smaller than that of the comparison algorithms 7, 8, 9, and 10, meaning that the diversity of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of the comparison algorithms 7, 8, 9, and 10. Experimental results show that the MTCP-SPEA algorithm proposed in this invention can effectively improve the diversity of the optimal solution set.
[0196] For the 20 selected standard instances, the MTCP-SPEA algorithm proposed in this invention, along with comparison algorithms 7, 8, 9, and 10, were each run independently 10 times, and all optimal solution sets obtained from these 10 runs were collected; all numerical values in the test results are in scientific notation. The HV index test results of the MTCP-SPEA algorithm proposed in this invention, along with comparison algorithms 7, 8, 9, and 10, under the selected 20 standard instances are summarized in Table 12:
[0197] Table 12 Summary of test results of MTCP-SPEA algorithm and comparison algorithms 7, 8, 9 and 10 under the HV index.
[0198]
[0199] The experimental results in Table 12 show that, regarding the HV index, the MTCP-SPEA designed in this invention achieves 13 optimal values out of 20 standard instances, specifically including the following instances: MFJS03 (9.418E-01), MFJS04 (9.931E-01), MFJS05 (9.743E-01), MFJS07 (9.879E-01), MFJS08 (9.988E-01), MFJS09 (9.687E-01), MFJS1 0 (9.945E-01), MK01 (1.000E+00), MK02 (9.996E-01), MK03 (9.979E-01), MK04 (9.966E-01), MK05 (1.000E+00), MK09 (9.845E-01), and the mean value of the IGD index of the MTCP-SPEA algorithm (9.798E-01) is smaller than the mean values of the other comparison algorithms 7, 8, 9, and 10. Figure 15The diagram shown illustrates the range distribution of the relative performance improvement values of the MTCP-SPEA algorithm proposed in this invention compared to comparison algorithms 7, 8, 9, and 10 under the HV metric. Figure 15 It can be seen that the relative performance improvement of algorithm 8 is -11.57%, that of algorithm 7 is -23.47%, that of algorithm 9 is -4.13%, that of algorithm 10 is -7.85%, and that of the MTCP-SPEA algorithm is -0.55%. Therefore, in terms of the HV index, the relative performance improvement of the MTCP-SPEA algorithm is significantly greater than that of algorithms 7, 8, 9, and 10, meaning that the diversity of the optimal solution set of the MTCP-SPEA algorithm is significantly better than that of algorithms 7, 8, 9, and 10. Experimental results show that the MTCP-SPEA algorithm proposed in this invention can effectively improve the overall quality, distribution range, and coverage of the optimal solution set.
[0200] In summary, the experiments demonstrated that the MTCP-SPEA algorithm proposed in this invention has significant advantages in handling the energy-efficient flexible job shop scheduling optimization problem considering adjustment time. This advantage stems from the integration of three key components: a spatially aware environment selection strategy, which better balances population diversity and convergence; a local search strategy, which utilizes historical data to select appropriate search operators for individuals in the elite set, improving the quality of individuals in the elite set; and a multi-threaded constraint programming-assisted optimization method, which leverages the powerful solution capabilities of the constraint programming model and the parallel computing capabilities of multi-threading to filter out all non-dominated individuals from the improved elite set, causing the generated optimal solution set to approximate the true Pareto front. Therefore, this invention has broad application prospects. Thus, this invention provides an effective method for solving the energy-efficient flexible job shop scheduling optimization problem considering adjustment time.
Claims
1. A highly efficient and energy-saving flexible job shop scheduling method that considers adjustment time, characterized in that, Includes the following steps, Step 1: Initialize the initial population for the MTCP-SPEA algorithm; Step 2: Execute the spatial perception environment selection strategy. This strategy includes a transformation phase, a feature statistics phase, and an update phase. During the transition phase, each individual in the population is transferred to the target space, where each individual contains only the maximum completion time and total energy consumption; each individual in the population is then transferred to the decision space, where each individual contains only the process ordering vector and the machine selection vector. During the feature statistics phase, the following operations are performed on each individual in the population: the frontier level and hierarchical position of the individual in the target space are recorded in the target space feature set; the individual is compared with the feature sets of other individuals in the population, and the number of the same process at the same position on the process sorting vector is counted. The cumulative value of the count is divided by Ps * the length of the process sorting vector to obtain the process homology rate, where Ps is the initial population size; the number of the same machine at the same position on the machine selection vector is counted, and the cumulative value of the count is divided by Ps * the length of the machine selection vector to obtain the machine homology rate. The process homology rate and the machine homology rate are recorded in the decision space feature set. During the update phase, individuals in the target space feature set are sorted in ascending order according to the frontier level and hierarchical position information, and the top Ps / 2 individuals in the population are selected to improve the convergence of the population; the process homology rate and machine homology rate in the decision space feature set are sorted in ascending order, and the top Ps / 2 individuals in the population are selected to maintain population diversity. Step 3: Determine whether the current running time of the MTCP-SPEA algorithm has reached half of the total running time. If yes, proceed to step 6; otherwise, proceed to step 4. The total running time is twice the sum of the processing times of all processes. Step 4: Use the preset crossover and mutation operators to evolve the current population, generate new individuals, and select the current non-dominated individuals to form a Pareto solution set with the goal of minimizing the maximum completion time and total energy consumption, and save it to the elite set. The maximum completion time is the maximum value of the completion time corresponding to all workpieces after completing all their processes, and the total energy consumption is the sum of processing energy consumption, idle energy consumption and adjustment task energy consumption. Step 5: Individuals in the elite group perform local search operations to improve the quality of individuals in the elite group, and then return to step 2. The local search includes four neighborhood structures based on the critical path, two energy consumption optimization strategies, and two mathematical neighborhood structures. Step 6: Individuals in the updated elite set are subjected to a multi-threaded constraint programming-assisted optimization method to generate an improved elite set. All non-dominated individuals are selected from the improved elite set to form the optimal solution set, which is then output. The multi-threaded constraint programming-assisted optimization method involves creating an empty new elite set, calculating the number of individuals in the elite set, and initializing a thread pool equal to the number of individuals. This allows each thread to process one individual in the elite set, assigning a separate thread to each individual in the elite set. All threads execute concurrently. For each thread, the following operations are performed: traverse the individual's process sorting vector, obtain the processing order of the processes, extract the start time of the processes, adjust the start time of the tasks, and initialize a constraint programming solution. The machine assigned to each process is determined based on the individual's machine selection vector, and the processing machine for each process is then fed into the constraint programming solution. The start time of each process and the start time of each adjustment task are determined based on the individual process order vector, and then the start times of the process and the adjustment tasks are input into the constraint programming solution. And set up a constrained programming model. The maximum runtime of the constraint programming solver is half of the total runtime, achieved by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the constrained programming solution obtained through optimization. Solve by constraint programming Reshape the process order vector and machine selection vector of the individual, add the optimized individual to the new elite set, merge the new elite set into the original elite set, and select non-dominated individuals from the merged elite set to form the optimal solution set.
2. The highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 1, characterized in that, Crossover operators include priority operation crossover operators and uniform crossover operators. Priority operation crossover operators are applied to the operation sorting vector, while uniform crossover operators are applied to the machine selection vector. The operation process of the priority process crossover operator is as follows: randomly divide all workpieces Js of individuals t1 and t2 in the population into two subsets, namely workpiece set Js1 and workpiece set Js2; keep the processes belonging to workpiece set Js1 in the process sorting vectors of individuals t1 and t2 unchanged, replace the remaining processes in the process sorting vector of individual t1 with the processes belonging to workpiece set Js2 in the process sorting vector according to the order of the process sorting vector; replace the remaining processes in the process sorting vector of individual t2 with the processes belonging to workpiece set Js2 in the process sorting vector according to the order of the process sorting vector. The operation of the uniform crossover operator is as follows: a binary vector with the same length as the machine selection vector of individual t1 and individual t2 is randomly generated. The machines with a binary vector value of 0 in the machine selection vectors of individual t1 and individual t2 remain unchanged, and the machines with a binary vector value of 1 in the machine selection vectors of individual t1 and individual t2 are swapped. Mutation operators include exchange operators and redistribution operators. Exchange operators are applied to the process ordering vector, while redistribution operators are applied to the machine selection vector. The operation of the swap operator is as follows: in the individual's process sorting vector, two processes are randomly selected and swapped. The operation of the redistribution operator is as follows: in the individual machine selection vector, a machine is randomly selected, and the position of the selected machine is redistributed to a machine that can be processed.
3. The highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 2, characterized in that, The local search operation process is as follows: First, initialize a new elite set to store the optimized new individuals. Then, determine the current row value x based on the remainder of lr divided by LR, where lr is the total number of local searches and LR is the total length of the record table. Next, clear the statistics for row x in both the success and failure record tables. The success record table records the number of successful searches, and the failure record table records the number of failed searches. Finally, for each individual in the elite set, perform the following operation: if lr is less than LR, extract the historical data from the previous lr rounds of local searches and calculate the search operator. success rate The calculation formula is: ,in, For all search operators The set, For the workpiece, Indicates workpiece Use search operators Number of successes Indicates workpiece Use search operators The number of failures; if lr is greater than or equal to LR, then extract all data from the local search and compute the search operator. success rate The calculation formula is: Based on success rate The probability distribution, randomly select the search operator. Apply search operators to individuals Generate the corresponding improved individual, calculate the maximum completion time of the improved individual, if the maximum completion time of the improved individual is greater than or equal to the maximum completion time of the individual, record the failure information in the failure record table, if the maximum completion time of the improved individual is less than the maximum completion time of the individual, record the success information in the success record table, add the individual to the new elite set, merge the new elite set into the original elite set, and output the updated elite set.
4. The highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 1, characterized in that, For individuals in an elite group, construct a corresponding disjunctive graph model, denoted as . , ,in, Represents a set of nodes. Denotes the set of conjunctive arcs. The set representing the disjunctive arc; set Each node in the set corresponds to a specific process. The arcs in the code define the priority relationships between process nodes, and the set The arcs in the diagram define the processing sequence of process nodes on the same machine.
5. A highly efficient and energy-saving flexible job shop scheduling method considering adjustment time according to claim 4, characterized in that, For each individual in the current elite set, a local search operation is performed sequentially. This local search includes four neighborhood structures based on the critical path, two energy consumption optimization strategies, and two mathematical neighborhood structures. For individuals that satisfy... Process nodes This was identified as a critical process. The critical path consists of all critical processes, among which... For process nodes The earliest end time, For process nodes Processing time, For process nodes The latest start time; Indicates process node Earliest end time Subtract process nodes Processing time Equal to process node Latest start time Then process node Considered a key process, among which, The four neighborhood structures based on the critical path are reassignment neighborhood, exchange neighborhood, insertion neighborhood, and inversion neighborhood. The operation steps are as follows: The process of reallocating the neighborhood is as follows: randomly select a critical process from the critical path of an individual, and allocate different machines from the set of available machines to process the selected critical process; The process of exchanging neighborhoods is as follows: randomly select two critical processes from the critical path of an individual, and exchange the processing order of the two selected critical processes. The process of inserting a neighbor is to randomly select two critical steps from the critical path of an individual and insert the later selected critical step into the step before the earlier selected critical step. The process of reversing the neighborhood is to randomly select two critical processes from the critical path of an individual and completely reverse the processing order of all processes between the two selected critical processes. The two energy consumption optimization strategies include a first energy consumption optimization strategy and a second energy consumption optimization strategy. The operation steps are as follows: The first energy consumption optimization strategy operates by obtaining the individual's scheduling sequence based on the individual's machine selection vector, and determining the processing steps to be performed. Determine the processing steps Allocable machine set Calculate the energy consumption required for each machine. ,in Process to be processed In the machine Processing energy consumption Process to be processed In the machine Idle energy consumption Process to be processed In the machine Adjust the energy consumption of the task; compare the energy consumption required by each machine. Select the required energy consumption from all machines. The smallest machine The process to be processed Distributed to machine Generate a new scheduling sequence for each individual; The second energy consumption optimization strategy involves obtaining the individual's scheduling sequence based on the individual's process order vector, readjusting the processing order of each machine, and then targeting the specific machine... Perform scanning on the machine Search for free intervals on the timeline to determine if there are any that can be inserted into the current processing step. The idle space, if the current process to be processed If an empty interval can be inserted, then calculate the current process to be processed. Energy consumption required Compare the energy consumption required at the insertion position. Compared to the energy consumption at the original location, if the required energy consumption If the energy consumption is less than that at the original position, then the process to be processed will be... Insert an idle interval to generate a new scheduling sequence for the individual; Two mathematical neighborhood structures are available: the OS-MNS mathematical neighborhood structure and the MS-MNS mathematical neighborhood structure. The operation steps are as follows: The operation process of the OS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. Iterate through the process order vectors of each individual to obtain the processing order of the processes, extract the start time of each process, and input the start time of each process into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. In constrained programming models In the process, the fixed process is in the machine Upgrade processing is performed by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution According to the constraint programming solution Reshape the process order vector of an individual and output the updated individual; The operation process of the MS-MNS mathematical neighborhood structure is as follows: For each individual, perform the following operations: Initialize a constrained programming solution. A single empty storage space is allocated to record the assigned tasks on each machine and their start times. The process iterates through each task, extracts its start time, and inputs this start time into the constraint programming solution. In this process, the machine assigned to the process is determined based on the individual's machine selection vector. The process and its start time are stored in the corresponding machine. The storage space is used to extract all processing steps from each machine and sort them in ascending order according to the start time of each step in the constrained programming model. In the middle, based on the sorted storage space, the fixed machine The processing sequence of the previous process is determined by calling the constraint programming model. Constraint programming solver, optimizing constraint programming solutions Obtain the optimized constrained programming solution Solve by constraint programming Reshape the machine selection vector of the individual and output the updated individual.
6. A highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 5, characterized in that, The OS-MNS mathematical neighborhood structure and the MS-MNS mathematical neighborhood structure include the following constraint sets (1) - constraint sets (9), namely , Among them, interval variables For process Interval variables, variables For process Start time, optional range variable For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. and Both refer to workpieces. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process, Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Represent a constrained programming solution; The constraint set (1) is used to initialize a constrained programming solution. ;function Used to generate constrained programming solutions ; Constraint set (2) is used to define the process. start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ; The constraint set (3) is used to determine the process. allocated machines ;function Used for constraining processes You must select the assigned machine. Processing; The constraint set (4) in the constrained programming model In the middle, it is used to fix the process. In the machine Up processing; function Used to constrain optional interval variables It must be applied; The constraint set (5) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ; The constraint set (6) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming ; The constraint set (7) represents the constraint programming model. In the middle, fixed machine The processing sequence of the previous process; The first in the current machine sequence A machine; function Used to constrain interval variables Must appear in interval variables Before; The constraint set (8) represents the solution of the constraint programming problem. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ; The constraint set (9) represents the set obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
7. A highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 6, characterized in that, The constraint planning-assisted optimization method based on multithreading includes the following constraint sets (10)-(15), namely , Among them, interval variables For process Interval variables, variables For process start time, variable For process Adjust the task start time; optional range variable. For process Optional range variables, machine It is a machine assembly One of the machines, Indicates machine, Indicate process The collection of all workable machines. Indicates the workpiece. Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Represents a thread A constrained programming solution; Constraint set (10) for threads Initialize a constrained programming solution ;function Used to generate constrained programming solutions ; Constraint set (11) for threads Determine the process allocated machines ;function Used for constraining processes You must select the assigned machine. Processing; Constraint set (12) for threads , the process start time Input constraint programming solution ;function Used for constraining processes The start time must be the time of acquisition. ; Constraint set (13) for threads , the process Adjust the start time of the task Input constraint programming solution ,function Used for constraining processes The start time of the adjusted task must be the time it was obtained. ; The constraint set (14) represents the constructed constraint programming solution. Set as a constrained programming model The initial solution of the constraint programming solver; function Used for constrained programming models The constraint programming solver provides constraint programming solutions. ; The constraint set (15) represents the result obtained through the constraint programming model. The optimized constrained programming solution ;function Used to obtain the solution of constrained programming .
8. A highly efficient and energy-saving flexible workshop scheduling method considering adjustment time according to claim 7, characterized in that, The OS-MNS mathematical neighborhood structure, the MS-MNS mathematical neighborhood structure, and the multi-threaded constraint planning-assisted optimization method are further optimized by solving the following constraints (17)-constraints (24) and objective function (16), namely... , Among them, interval variables For process Interval variables; interval variables For process Adjust the range variable for the task; optional range variable For process Optional range variables, machine It is a machine assembly One of the machines; sequential decision variables For including the assigned optional range variables ; Adjustment time required to process the adjustment task; integer variable Indicates allocation to machine The completion time of the latest completed process among all processes; For the maximum completion time; Total energy consumption; This is the upper limit constraint value, used to limit... The maximum value; Indicates workpiece The number of processes; Represents the set of all workpieces; Indicates workpiece The One process; This represents the set of all processes. The maximum value is ; Indicates machine index; Indicate process The set of all machinable machines; transition matrix Represents a set of adjustment times. An empty identifier, This represents a preset positive integer whose value is greater than the sum of the processing times for all processes. The objective function (16) represents minimizing the completion time. Total energy consumption The dual objective problem is transformed into minimizing total energy consumption. Single-objective problem, function Used to constrain the maximum completion time. Not exceeding the upper limit constraint value Minimize total energy consumption ; Constraint (17) represents the process. The range variable of the adjustment task The length of the function is non-negative; Used to calculate interval variables Length; Constraint (18) represents an interval variable. The start time is no earlier than that of the interval variable. The end time of the function Used to calculate interval variables Start time; function Used to calculate interval variables End time; Constraint (19) represents an interval variable. The length equals the adjustment time ;function Return sequence decision variables The variable immediately adjacent to the selected interval The identifier of the optional interval variable; if the optional interval variable Not included in sequential decision variables In, function The return value is 0, and the time is adjusted. Equal to 0; if the optional interval variable Located in the sequence decision variable The last position, then the function The return value is And adjust the time Equals 0; Constraint (20) indicates that in the machine Above, interval variables The end time is no later than the time of the sequential decision variable. Selectable range variables The start time of the next interval variable; function Return sequence decision variables Follow the optional range variable The start time of the interval variable; if the interval variable is optional. Not included in sequential decision variables In, function The return value is 0; if the optional range variable is selected. Located in the sequence decision variable The last position in the function The return value is ; Constraint (21) represents an interval variable. Only in interval variables Processing begins after processing is complete; function Used to ensure process Previous process After processing, the process Only then is processing carried out; Constraint (22) represents the process. Processing is only allowed on one machine; function Used to ensure interval variables Only one optional range variable is allowed. exist; Constraint (23) represents the machine Only one process is allowed to be processed at a time. ,function Used to ensure the machine when adjusting the time. Optional range variables Non-overlapping; transition matrix Constrain the minimum distance between two consecutive interval variables; transition matrix The value is determined by the adjustment time. Decide; Constraint (24) represents integer variables. The value is greater than or equal to the optional range variable. The end time of the function Used to calculate optional interval variables The end time.