A Flexible Scheduling Method, System, and Application for UPMS Workshop Based on an Improved Differential Evolutionary Algorithm
By improving the real-number encoding and dual-depth optimization mechanism of the differential evolution algorithm, the problems of mapping distortion and sequence-related mold-changing constraints in the scheduling of unrelated parallel machines are solved, and load balancing and mold-changing time optimization are achieved. It is suitable for efficient scheduling in workshops such as textile printing and dyeing and injection molding.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- YANGO UNIV
- Filing Date
- 2026-04-14
- Publication Date
- 2026-07-10
AI Technical Summary
Existing differential evolution algorithms suffer from several problems when dealing with scheduling problems of unrelated parallel machines with sequence-dependent mode-changing time. These problems include distortion in the mapping between continuous encoding and discrete solution space, lack of optimization due to sequence-dependent mode-changing constraints, insufficient local development capabilities, and conflict between load balancing and mode-changing optimization objectives. As a result, they are difficult to achieve efficient scheduling in large-scale production scenarios.
An improved differential evolution algorithm is adopted, which combines destruction and reconstruction (D&R) and sequence smoothing optimization mechanism through real vector encoding task to achieve dual deep optimization, thereby achieving load balancing and mode switching time optimization. The population is updated by using Baldwinian learning strategy, and a hierarchical optimization architecture of macro global search and micro local pruning is constructed.
It significantly shortens the maximum completion time, improves equipment utilization, achieves effective optimization of load balancing and mold change time, and can quickly converge to the global optimum. It is suitable for discrete manufacturing systems with multi-variety, small-batch customized production.
Smart Images

Figure CN122366992A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of industrial intelligent manufacturing and operations optimization technology, and in particular to a flexible scheduling method, system and application of UPMS workshop based on an improved differential evolution algorithm. Background Technology
[0002] Discrete manufacturing industries such as textile printing and dyeing, injection molding, semiconductor packaging and testing, and machining are facing the challenge of transforming their production models from low-variety, high-volume production to high-variety, low-volume, customized production. In the production scheduling of these industries, a representative combinatorial optimization problem widely exists—the Unrelated Parallel Machine Scheduling Problem with Sequence-Dependent SetupTimes (UPMS-SDST).
[0003] Unrelated parallel machines refer to multiple machines in a workshop with similar functions but different performance parameters, resulting in varying processing efficiencies for the same task. Sequence-dependent mold-change time refers to the preparation time required when switching between different processing tasks, such as equipment cleaning, mold changing, and parameter adjustment. This time depends not only on the physical characteristics of the current equipment but also, strictly, on the differences in physical attributes (color, material, and process parameters) between the preceding and following tasks. For example, in dyeing and printing processes, following a processing sequence from light to dark colors results in shorter equipment cleaning time; conversely, performing a reverse sequence requires deep cleaning, significantly increasing the time required. Therefore, in such production scenarios, the core objective of scheduling optimization is to minimize non-productive time losses caused by task switching while balancing the load on each machine.
[0004] UPMS-SDST is a typical nondeterministic polynomial-time hard (NP-Hard) problem in computational complexity theory. Existing solutions for this highly challenging combinatorial optimization problem in academia and industry mainly fall into three categories: exact algorithms, heuristic rules, and metaheuristic algorithms. Exact algorithms, including mixed-integer linear programming and branch-and-bound methods, can theoretically find the global optimum, but their computational complexity increases exponentially with the problem size, making them unsuitable for real-time scheduling in large-scale production scenarios. Heuristic rules, including shortest-time-first and NEH algorithms, are computationally fast, but lack a global search mechanism, often failing to avoid high-level conversion penalties when dealing with complex sequence-related modulus-changing constraints, resulting in limited scheduling solution quality.
[0005] Metaheuristic algorithms are currently the mainstream method for solving large-scale complex scheduling problems. Among them, Differential Evolution (DE) is widely used in continuous optimization due to its few control parameters, strong global search capability, and ease of parallelization, and is gradually being introduced into the field of discrete scheduling. DE drives the search evolution through mutation, crossover, and selection operations of individuals within the population. Its perturbation mechanism based on vector difference endows the algorithm with strong global exploration capabilities, enabling it to quickly locate high-quality regions in the solution space.
[0006] Although the differential evolution algorithm performs well in continuous optimization problems, when applied to the strongly constrained, discrete combinatorial optimization problem of scheduling of unrelated parallel machines with sequential correlation and modulus-changing time, the existing technology still has the following shortcomings:
[0007] 1. A structural mismatch exists in the mapping between continuous encoding and discrete solution space. Differential evolution algorithms are designed based on continuous real number fields, and their mutation and crossover operators rely on floating-point operations. When solving discrete scheduling problems, it is usually necessary to map continuous vectors to discrete task permutations through encoding and decoding strategies. This mapping process often disrupts the neighborhood topology between tasks, leading to significant differences in the scheduling schemes corresponding to two closely spaced individuals after decoding. This structural mismatch reduces the search efficiency of differential evolution operators, making it difficult for the algorithm to effectively utilize known high-quality solution structures for evolution.
[0008] 2. Standard algorithms lack targeted optimization mechanisms for sequence-related switching constraints. In the UPMS-SDST problem, the key to optimization lies in clustering tasks with similar attributes to form a low-cost continuous production flow. However, the random mutation operator of the standard difference evolutionary algorithm lacks the ability to process sequence features and cannot identify cost differences between different task connections. The solutions generated by the algorithm often contain a large number of high-cost switching sequences at the physical level. Due to the lack of smoothing or sorting mechanisms for sequence features, standard algorithms struggle to eliminate implicit switching waste, resulting in low equipment utilization in the final solution.
[0009] 3. Insufficient local exploration capability hinders refined optimization. The performance of evolutionary algorithms depends on a balance between global exploration and local exploration. While differential evolution algorithms possess strong global exploration capabilities, their local refined search capabilities are relatively weak. In the later stages of scheduling optimization, often only minor order swaps between a few tasks on specific devices are needed to significantly improve performance. However, relying on random vector differencing makes it difficult to accurately reach such small, discrete neighborhoods. This leads to oscillations or stagnation in the later stages of convergence, making it difficult to converge to the global optimum.
[0010] 4. There is a conflict between load balancing and mold-changing optimization objectives, and a lack of adjustment mechanism. In unrelated parallel machine scheduling, balancing the completion time of each device and minimizing the mold-changing time of a single device are two mutually constraining objectives. Standard difference evolutionary algorithms typically employ a greedy selection strategy with a single objective, lacking a mechanism for actively adjusting the solution structure. During the iteration process, the algorithm struggles to establish an effective balance between these two conflicting objectives, leading to a scheduling scheme where some devices are overloaded while others are idle, resulting in insufficient robustness when facing complex order structures.
[0011] In summary, the existing technology lacks a scheduling method that can retain the global search advantages of differential evolution algorithms, effectively handle discrete sequence features, have local pruning capabilities, and balance load and mode-changing conflicts. Summary of the Invention
[0012] The purpose of this invention is to solve the problem of multi-variety, small-batch customized production that traditional rigid scheduling cannot handle. It provides a flexible scheduling method, system and application for UPMS workshop based on an improved differential evolution algorithm. Through flexible scheduling strategy, the dynamic allocation and optimization of machine resources can be achieved, thereby meeting the urgent needs of modern discrete manufacturing systems for high response speed and high equipment utilization.
[0013] The technical solution adopted in this invention is:
[0014] The UPMS flexible scheduling method based on the improved differential evolution algorithm includes the following steps:
[0015] S1: Establish an independent parallel machine scheduling model with sequentially correlated mold change time based on workshop production data, with the goal of minimizing the maximum completion time;
[0016] S2: Encode each discrete variable in the unrelated parallel machine scheduling model as a population individual using a real number vector. Each position value in the real number vector corresponds to a task to be processed. The integer part of the position value of the real number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real number vector is used to indicate the processing priority of the task to be processed on the allocated machine.
[0017] S3: Perform mutation and crossover operations of the differential evolution algorithm on the target real vector of the current population to generate a test vector;
[0018] S4: Perform double deep optimization on the scheduling scheme obtained after decoding the test vectors to obtain an optimized new scheduling scheme, specifically including:
[0019] S40: Decode the test vector into an initial scheduling scheme based on the maximum position value rule;
[0020] S41: Destruction and Reconstruction Optimization: Randomly remove a predetermined proportion of the assigned tasks from the current scheduling scheme, and re-insert the removed tasks into the optimal position among all possible processing positions of all machines, using the criterion of minimizing the maximum completion time.
[0021] S42: Sequence smoothing optimization: Keep the task allocation of each machine unchanged, traverse the task sequence on each machine, calculate the change in local time cost before and after swapping any two adjacent tasks, and swap the two adjacent tasks that reduce local time cost.
[0022] S5: Encode the new scheduling scheme after double deep optimization into a new real vector, compare its fitness with the original real vector, and use the real vector with better fitness as the target real vector of the current population according to the Baldwinian learning strategy to complete the population update.
[0023] S6: Repeat steps S3 to S5 until the termination condition is met, and output the optimal scheduling scheme.
[0024] Furthermore, the production data includes a set of tasks to be processed, the attributes and processing time of each task, a set of available machines, the time for each machine to process different tasks, and a mold-changing time matrix that defines the sequence-dependent mold-changing time required for processing any two tasks with different attributes on any machine.
[0025] Furthermore, the predetermined ratio in step S41 ranges from 0.1 to 0.3.
[0026] Furthermore, the implementation of the greedy criterion of minimizing the maximum completion time in step S41 includes: calculating the maximum completion time of the temporary scheduling scheme corresponding to inserting each removed task into each possible position of each machine, and selecting the insertion position that minimizes the increment of the maximum completion time.
[0027] Furthermore, in step S42, the local time cost is the sum of the processing time of the two adjacent tasks on the machine and the sequentially related mold-changing time between them.
[0028] Furthermore, the sequence-related mode-switching time is determined by a predefined mode-switching time matrix, which records the preparation time required when switching between tasks with different attributes.
[0029] Furthermore, the termination condition determination includes: checking whether the current iteration count has reached the preset maximum iteration count. If the optimal solution is not reached, return to step S3; if it is reached, the algorithm terminates and outputs the allocation scheme matrix corresponding to the global optimal solution. and the start and end times of each order. As the final production scheduling instruction.
[0030] This invention also discloses a flexible scheduling system for UPMS workshops based on an improved differential evolution algorithm, comprising:
[0031] The modeling module is used to build an independent parallel machine scheduling model with sequentially correlated mold change times based on workshop production data, with the goal of minimizing the maximum completion time.
[0032] The encoding and decoding module is used to encode real-number vectors for individuals in the population of discrete variables of the unrelated parallel machine scheduling model. Each position value in the real-number vector corresponds to a task to be processed. The integer part of the position value of the real-number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real-number vector is used to indicate the processing priority of the task to be processed on the allocated machine.
[0033] The global evolutionary search module is used to perform mutation and crossover operations of the differential evolution algorithm on the target vector of the current population to generate test vectors;
[0034] A dual-depth optimization module, connected to the global evolutionary search module, is used to sequentially perform load balancing optimization and mode switching optimization on the scheduling scheme obtained after decoding the test vector through the load balancing optimization unit and the mode switching optimization unit. The dual-depth optimization module includes a load balancing optimization unit and a mode switching optimization unit. The load balancing optimization unit is used to randomly remove some of the assigned tasks from the current scheduling scheme and re-insert the removed tasks into the optimal position among all possible processing positions of all machines, using the criterion of minimizing the maximum completion time. The mode switching optimization unit is used to traverse the task sequence on each machine while keeping the task allocation of each machine unchanged, and optimize the task sequence on each machine by evaluating and executing exchange operations that can reduce the local time cost between adjacent tasks.
[0035] The population update and output module is used to update the population according to the Baldwinian learning strategy and output the optimal scheduling scheme when the termination condition is met.
[0036] Furthermore, the implementation of the mold-changing optimization unit includes: calculating the local time cost consisting of the processing time of the two corresponding tasks and the sequentially related mold-changing time between them before and after exchanging any two adjacent tasks, and exchanging the two adjacent tasks that reduce the local time cost.
[0037] Furthermore, it also includes a data acquisition module, used to acquire workshop machine status, order processing time matrix P, and sequence-related mold change time matrix S to form workshop production data;
[0038] Furthermore, it also includes a visualization output module, which outputs a Gantt chart of the optimal scheduling scheme and the start and end times of each order.
[0039] An electronic device includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the program to implement the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm.
[0040] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm.
[0041] The present invention, by adopting the above technical solution, has the following significant advantages compared with the prior art:
[0042] (1) The destruction and reconstruction (D&R) large neighborhood search mechanism introduced in this invention can effectively help the algorithm escape local optima and accelerate convergence, thereby quickly obtaining better solutions for complex scheduling problems in textile printing and dyeing, injection molding and other workshops.
[0043] (2) The present invention is designed to reduce core production losses. The sequence smoothing operator can directly utilize the mold change time matrix to automatically cluster tasks with similar attributes by adjusting the order of adjacent tasks in the machine, thereby significantly reducing the sequence-related mold change time and directly reducing production costs.
[0044] (3) This invention achieves the two often conflicting goals of minimizing the maximum completion time and minimizing the total mold change time through a hierarchical optimization architecture of macro (differential evolution global search), meso (D&R cross-machine load balancing), and micro (sequence smoothing single-machine mold change optimization).
[0045] (4) The real number encoding combined with the maximum position value decoding rule and the subsequent dual deep optimization of direct operation at the discrete scheduling level adopted by the present invention fundamentally solves the mapping distortion problem when the continuous algorithm is applied to discrete scheduling, enabling it to stably and efficiently handle the actual scheduling problems of production workshops of different sizes. Attached Figure Description
[0046] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments;
[0047] Figure 1 This is a flowchart illustrating the UPMS flexible scheduling method for workshops based on the improved differential evolution algorithm of this invention.
[0048] Figure 2 This is a schematic diagram comparing the convergence curves of the present invention and the standard DE algorithm;
[0049] Figure 3 This is a schematic diagram of the standard DE processing effect;
[0050] Figure 4 This is a schematic diagram illustrating the processing effect of the improved algorithm of the present invention. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0052] Addressing the four major shortcomings of the standard differential evolution algorithm (DE) in solving the UPMS-SDST problem—continuous-discrete mapping distortion, insensitivity to mold-changing constraints, insufficient local exploitation capabilities, and conflict between load balancing and mold-changing optimization objectives—this invention aims to provide a flexible scheduling method and system for the UPMS workshop based on an improved differential evolution algorithm. It constructs a mathematical model that accurately describes machine heterogeneity and sequence-dependent mold-changing constraints, and combines a hybrid optimization framework of global evolution and local pruning to overcome the premature convergence problem of the standard algorithm. This invention introduces a destruction and reconstruction mechanism to dynamically adjust the allocation of tasks among different machines, achieving automatic load balancing. It also introduces a sequence smoothing strategy to accurately eliminate high mold-changing losses caused by improper sorting within machines, thereby significantly shortening the maximum completion time and improving equipment utilization. Finally, this invention organically integrates the powerful global search capability of the traditional DE algorithm with the local exploitation capabilities of large neighborhood search (LNS) and sequence optimization strategies, designing a hierarchical optimization architecture that guides from macro-global to micro-local pruning.
[0053] like Figures 1 to 4 As shown in any of the accompanying drawings, a specific embodiment of the present invention discloses a flexible scheduling method for UPMS workshops based on an improved differential evolution algorithm, comprising the following steps:
[0054] S1: Establish an independent parallel machine scheduling model with sequentially correlated mold change time based on workshop production data, with the goal of minimizing the maximum completion time;
[0055] To accurately describe machine heterogeneity and sequence-dependent mode-changing constraints, this invention first establishes a mathematical model of the problem. Assume there are... A collection of orders awaiting processing ,as well as Taiwan-independent parallel machine set To describe the start and end states of scheduling, a virtual order 0 is introduced to represent the starting order. This represents the termination of the order. The expression for the objective function is:
[0056] ;
[0057] The constraints include the following aspects:
[0058] (1) Each order must be processed only once. That is, for each order... Regardless of what it comes after or which machine it's on, the sum must be 1.
[0059] ;
[0060] in, For if order Following the order In the machine Upward processing, .otherwise . For order index 0 to ; Index the machine from 1 to K;
[0061] (2) Flow balancing If an order Entered the machine When there are orders in front of the machine Then the order Must leave the machine ,Order Subsequent orders Alternatively, the order can be terminated to ensure the path remains continuous and uninterrupted.
[0062] ;
[0063] in, For if order Following the order In the machine Upward processing, .otherwise . It is a set of unrelated parallel machines.
[0064] (3) Time continuity constraint: If the order Orders in order Next, the orders Completion time Order Completion time + mold change time ( ) + orders Processing time. Using maximum constraints: if Then the constraint fails if The constraint will then take effect.
[0065] ;
[0066] ;
[0067] in, For orders Completion time; For orders Completion time; For in the machine From orders Switch to Orders Required mold change time; For orders In the machine Processing time; For order index 0 to ; Index the machine from 1 to K; It is a maximal positive number used for constraints.
[0068] (4) Makespan defines constraints: It must be greater than or equal to the completion time of all orders.
[0069] ;
[0070] in, This is the maximum completion time (Makespan) of the system.
[0071] S2: Encode each discrete variable in the unrelated parallel machine scheduling model as a population individual using a real number vector. Each position value in the real number vector corresponds to a task to be processed. The integer part of the position value of the real number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real number vector is used to indicate the processing priority of the task to be processed on the allocated machine.
[0072] Specifically, this implementation uses a population initialization based on hybrid encoding and LOV rules. Because the unrelated parallel machine scheduling model contains a large number of intervals... discrete variables Directly solving this problem is extremely difficult. This invention constructs a bijective mapping mechanism between the real-valued vector encoding space and the discrete scheduling solution space, so as to solve it using the differential evolution algorithm. The specific implementation is as follows:
[0073] (1) Definition of coding space: The population size is set as Each individual in the population represents a candidate scheduling scheme, which will schedule the individual... Defined as a dimension real vectors, ,in For each element in the vector, representing the total number of orders. Corresponding orders The scheduling information, whose value range is strictly constrained to within between, This represents the total number of machines.
[0074] (2) Decoding mapping based on LOV rules: In order to evaluate individual fitness, continuous vectors need to be mapped. Mapped to decision variables in a mathematical model The specific steps are as follows:
[0075] 2.1 Machine allocation mapping: For any order The machine index it assigns Depend on The integer part is uniquely determined, that is At this point, the order belongs to the machine. The set to be processed .
[0076] 2.2 Process Sequencing Mapping: On each machine Internally, for sets All orders, in accordance with their corresponding decimal parts Sort the orders in ascending order. Let the sorted order sequence be... Based on this sequence, let the first variable in the model be... Intermediate connecting tasks End of mission The remaining unconnected paths All variables are 0.
[0077] (3) Through the above decoding, the values of all decision variables are uniquely determined, and the completion time of each order can be calculated according to constraint 3. .
[0078] Furthermore, in step S2, each element in the real number vector corresponds to a task to be processed. The integer part of the element is used to determine the machine number assigned to the task, and the fractional part of the element is used to determine the processing priority of the task on the selected machine.
[0079] S3: Perform mutation and crossover operations on the current population using the differential evolution algorithm to generate test vectors;
[0080] Step S3 above performs a global differential evolution search; in each iteration, a global search is performed in the continuous real space using the differential evolution operator to discover potential high-quality solution regions.
[0081] The above mutation operation is for the current number Each target vector in the population Randomly select three distinct individual indexes. Generate mutation vector :
[0082] ;
[0083] in, The scaling factor; if the mutated component exceeds the boundary. If the boundary reflection method is used, it is corrected back to the feasible region.
[0084] The above crossover operation will mutate the vector With the target vector Binomial crossover generation of test vectors For the first Dimensional components exist:
[0085] ;
[0086] in, For crossover probability, The index for a randomly selected dimension.
[0087] S4: Perform dual-depth optimization on the scheduling scheme obtained after decoding the test vectors. The dual-depth optimization includes:
[0088] The aforementioned dual-depth optimization process is the core of this invention, aiming to solve the problem that the standard difference evolutionary algorithm cannot effectively handle the sequence correlation modulus-changing time matrix in mathematical models. The issues include:
[0089] S40: Decode the test vector into an initial scheduling scheme based on the maximum position value rule;
[0090] S41: Destruction and Reconstruction Optimization (First-Level Optimization): Randomly remove a predetermined proportion of the assigned tasks from the current scheduling scheme, and re-insert the removed tasks into the optimal position among all possible processing positions of all machines using the criterion of minimizing the maximum completion time; further, the implementation of the criterion of minimizing the maximum completion time in step S41 includes: calculating the maximum completion time of the temporary scheduling scheme corresponding to inserting each removed task into each possible position of each machine, and selecting the insertion position that minimizes the increment of the maximum completion time.
[0091] The first-level optimization described above is based on a destruction and reconstruction (D&R) load balancing mechanism, which primarily adjusts decision variables. The machine allocation relationship in the function is optimized. Involves; (1) Disruption: Randomly remove from the current scheduling scheme. One order. At the mathematical model level, orders will be removed. The relevant connection is broken, that is, and And reconnect its preceding and following tasks, making (2) Restructuring: Place the removed orders into the queue. For each order to be inserted... traverse all Each machine and all possible insertion positions on each machine, i.e., any two scheduled orders. and Between. Calculate the completion time increment caused by the insertion. Then, according to the greed principle, choose to make Minimum position And insert the order. Simultaneously update the decision variables, letting... , and place and This process forces tasks to be routed to machines with lower loads, thus achieving peak shaving and valley filling.
[0092] S42: Sequence Smoothing Optimization (Second-Level Optimization): Keeping the task allocation of each machine unchanged, traverse the task sequence on each machine, calculate the change in local time cost before and after swapping any two adjacent tasks, and swap the two adjacent tasks that reduce local time cost; further, the local time cost in step S42 is the sum of the processing time of the two swapped adjacent tasks on the machine and the sequence-related switching time between them. The sequence-related switching time is determined by a predefined switching time matrix, which records the preparation time required when switching between tasks with different attributes.
[0093] The second layer of optimization mentioned above is based on a sequence smoothing mechanism for mold changeover time optimization. This mechanism keeps the machine allocation unchanged and only adjusts the processing sequence within a single machine to minimize the cumulative mold changeover time. Specifically, it includes the following steps:
[0094] (1) Scanning and evaluation: Traversing each machine The current task sequence. Assume the current order is... For any two adjacent orders in the sequence and ,set up The preceding order is , The successor to Using the modulus transformation matrix in the input data and processing time matrix Calculate local time cost:
[0095] Local time consumption before swap for:
[0096] ;
[0097] in,
[0098] Local time consumption after swap for:
[0099] ;
[0100] in,
[0101] (2) Perform the swap: Calculate the difference .like This indicates that after changing the order, although the processing time... The total remains the same, but the mold change time... Significantly reduced. At this point, immediately update the sequence structure, making... , and ; juxtapose , and Repeat this scanning process until the machine sequence can no longer be optimized through swapping.
[0102] S5: Encode the new scheduling scheme after double deep optimization into a new real vector, compare its fitness with the original real vector, and use the real vector with better fitness as the target real vector of the current population according to the Baldwinian learning strategy to complete the population update.
[0103] The above implementation of updating the population using the Baldwinian learning strategy includes:
[0104] 1. Calculate the objective function value of the new scheduling scheme after double deep optimization. .
[0105] 2. Calculate the original target vector Corresponding objective function value .
[0106] 3. Perform the selection operation:
[0107] ;
[0108] If the new solution is better, the optimized discrete scheduling scheme is reverse-encoded into a real number vector and used to replace the original individual; otherwise, the original individual is retained.
[0109] S6: Repeat steps S3 to S5 until the termination condition is met, and output the optimal scheduling scheme.
[0110] Specifically, as a feasible implementation, step S6 outputs the Gantt chart of the optimal scheduling scheme and the start and end times of each order.
[0111] Furthermore, the termination condition determination includes: checking whether the current iteration count has reached the preset maximum iteration count. If the optimal solution is not reached, return to step S3; if it is reached, the algorithm terminates and outputs the allocation scheme matrix corresponding to the global optimal solution. and the start and end times of each order. As the final production scheduling instruction.
[0112] This invention also discloses a flexible scheduling system for UPMS workshops based on an improved differential evolution algorithm, comprising:
[0113] The modeling module is used to build an independent parallel machine scheduling model with sequentially correlated mold change times based on workshop production data, with the goal of minimizing the maximum completion time.
[0114] The encoding and decoding module is used to encode real-number vectors for individuals in the population of discrete variables of the unrelated parallel machine scheduling model. Each position value in the real-number vector corresponds to a task to be processed. The integer part of the position value of the real-number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real-number vector is used to indicate the processing priority of the task to be processed on the allocated machine.
[0115] The global evolutionary search module is used to perform mutation and crossover operations of the differential evolution algorithm on the target vector of the current population to generate test vectors;
[0116] A dual-depth optimization module, connected to the global evolutionary search module, is used to sequentially perform load balancing optimization and mode switching optimization on the scheduling scheme obtained after decoding the test vector through the load balancing optimization unit and the mode switching optimization unit. The dual-depth optimization module includes a load balancing optimization unit and a mode switching optimization unit. The load balancing optimization unit is used to randomly remove some of the assigned tasks from the current scheduling scheme and re-insert the removed tasks into the optimal position among all possible processing positions of all machines, using the criterion of minimizing the maximum completion time. The mode switching optimization unit is used to traverse the task sequence on each machine while keeping the task allocation of each machine unchanged, and optimize the task sequence on each machine by evaluating and executing exchange operations that can reduce the local time cost between adjacent tasks.
[0117] The population update and output module is used to update the population according to the Baldwinian learning strategy and output the optimal scheduling scheme when the termination condition is met.
[0118] Furthermore, the implementation of the mold-changing optimization unit includes: calculating the local time cost consisting of the processing time of the two corresponding tasks and the sequentially related mold-changing time between them before and after exchanging any two adjacent tasks, and exchanging the two adjacent tasks that reduce the local time cost.
[0119] Furthermore, it also includes a data acquisition module, used to acquire workshop machine status, order processing time matrix P, and sequence-related mold change time matrix S to form workshop production data;
[0120] Furthermore, it also includes a visualization output module, which outputs a Gantt chart of the optimal scheduling scheme and the start and end times of each order.
[0121] An electronic device includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the program to implement the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm.
[0122] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm.
[0123] This invention is particularly applicable to unrelated parallel machine scheduling (UPMS) scenarios with multiple heterogeneous devices and significant sequence-dependent setup times (SDST).
[0124] The specific principles of this invention will be explained in detail below:
[0125] This embodiment takes the actual production scenario of a textile printing and dyeing workshop as the background, and verifies the effectiveness of the UPMS workshop flexible scheduling method based on the improved differential evolution algorithm proposed in this invention for the unrelated parallel machine scheduling problem with sequentially correlated mold change time (UPMS-SDST).
[0126] To ensure the reproducibility of the experiment, the following hardware and software environment and parameter configurations were adopted: Hardware environment: The experiment was conducted on a computer equipped with an Intel Core i7-13700H processor with a clock speed of 2.40GHz and 16GB DDR5 memory. Software environment: The operating system was Windows 11, and the algorithm was written and run on the MATLAB R2025a platform. Problem scale: The problem was set to include... The number of heterogeneous, independent parallel machines, labeled M1 to M5, is [number] pending orders. One. Data generation rule: Processing time matrix. :obey Uniform distribution of time units. Reflects machine heterogeneity, meaning the processing time for the same order differs on different machines. Sequence-dependent mold changeover time matrix. Set as a strong sequence correlation feature. Switching between similar processes. Simulates a simple water rinse, which takes very little time. (Switching between different processes) Simulating deep chemical cleaning is extremely time-consuming. The differential algorithm parameters are set to the population size... Maximum number of iterations scaling factor Crossover probability Degree of damage That is, each destruction and reconstruction operation involves 4 orders.
[0127] The specific implementation steps of the present invention in the above environment are as follows:
[0128] Step S1: Model Building and Data Loading. The system first reads the production data of 5 machines × 50 orders and constructs the processing time matrix in the mathematical model. and the model change time matrix Simultaneously initialize decision variables. The storage structure.
[0129] Step S2: The population initialization algorithm uses real number vector encoding to generate the initial population. Each individual is represented as a real number vector of length 50.
[0130] Decoding is performed using the Maximum Position Value (LOV) rule: the integer part of the vector elements determines machine allocation, and the fractional part determines the processing order. After decoding, the maximum completion time for each individual in the initial population is calculated. .
[0131] Step S3: Global evolutionary search, entering the main loop, from generation 1 to 150. Perform differential evolution mutation and adaptive crossover operations on the current population to generate experimental individuals. This step aims to utilize the perturbation capability of the differential vector to quickly explore potential high-quality regions in the global solution space.
[0132] Step S4: Dual-depth optimization. To overcome the limitations of the standard difference evolutionary algorithm in discrete scheduling, the following two layers of depth optimization are performed sequentially on the test individuals generated in step S3:
[0133] Layer 1: The Destruction and Reconstruction (D&R) based load balancing optimization algorithm first evaluates the completion time of each machine in the current scheduling scheme. .
[0134] Disruption: Randomly remove 4 orders from the current solution and place them in the waiting pool.
[0135] Refactoring: Iterate through the orders in the queue and calculate the time increment after inserting them into all possible positions of all machines M1-M5. .
[0136] Decision: Based on the greed principle, choose... Insertion is performed at the smallest possible position. This mechanism forces tasks to flow to machines with lower loads, achieving peak shaving and valley filling between machines, and ensuring that all machines complete their tasks as simultaneously as possible.
[0137] The second layer: The sequence smoothing-based model-changing optimization algorithm keeps the machine allocation unchanged and scans the task sequence within each machine.
[0138] Scan: Inspect the machine Any two adjacent tasks and .
[0139] Probing: Attempting to exchange and The location.
[0140] Evaluation: Using the model change matrix Calculate the local time cost before and after the swap. For example: if the original order was dark... light color The dark-colored part underwent two high-cost mold changes, and after the exchange, it became dark-colored. Dark If a light-colored mold is changed once with a high cost and once with a low cost, the total time will be significantly reduced.
[0141] Update: If the profit after the exchange is positive, then the change is confirmed, eliminating unreasonable mold changes.
[0142] Step S5: Selection and Update. Calculate the fitness value of the new solution after double optimization. If the new solution is better than the original individual, update the population; otherwise, retain the original individual.
[0143] Step S6: Output the results. The iteration will terminate when the iteration reaches 150 generations. Output the globally optimal scheduling scheme and a visualized Gantt chart.
[0144] To verify the advancement of this invention, the method of this invention was compared with the standard difference evolution algorithm without the dual optimization mechanism under the same conditions. Figure 2 As shown, the initial solution quality of the standard DE is poor, with Makespan > 2300, slow convergence speed, and a tendency to get trapped in local optima, eventually settling around 2035. The method of this invention benefits from a dual deep optimization mechanism, rapidly decreasing in the initial stage, and successfully escaping local optima around the 40th and 100th generations through destruction and reconstruction, ultimately converging to 1867, with convergence accuracy significantly superior to the standard algorithm.
[0145] like Figure 3As shown, the maximum system completion time in the standard algorithm results is 2035. This indicates an uneven load distribution across machines; M5's completion time is close to 2000, while M2 finishes earlier. More importantly, the color blocks representing different product families are randomly distributed, leading to mode switching issues caused by family transitions, which consumes valuable production time.
[0146] like Figure 4 As shown, the maximum system completion time in the results of the method of this invention is 1867. The method of this invention arranges tasks of the same color closely together, reducing the gaps in the dark gray transitions. The completion times of the five machines are more uniform, the load is balanced, and the task allocation is more reasonable. Compared with existing standard algorithms, the method of this invention shortens the maximum completion time by 168 time units, verifying the effectiveness of the sequence smoothing and load balancing mechanisms.
[0147] Compared with the prior art, the present invention has the following significant advantages and positive effects:
[0148] (1) In view of the shortcomings of the standard difference evolution algorithm in solving discrete scheduling problems, such as weak local development ability and premature convergence, the invention introduces a destruction and reconstruction (D&R) large neighborhood search mechanism. When the algorithm gets stuck in a local optimum, it can actively break the inferior structure of the current scheduling scheme and guide it to a better search area through greedy reconstruction guided by minimizing the maximum completion time. Thus, when facing large-scale scheduling problems in actual workshops such as textile printing and dyeing and injection molding, it can converge to a higher quality scheduling scheme at a faster speed.
[0149] (2) To address the problem that existing optimization algorithms are insufficiently aware of the strong process constraint of "sequence correlation," the sequence smoothing optimization operator designed in this invention can be directly applied to the decoded scheduling scheme. This operator uses a predefined mold-changing time matrix as prior knowledge to evaluate and adjust the processing order of adjacent tasks on the same machine in real time online. Through the exchange operation, tasks with similar attributes and low mold-changing costs are automatically clustered for processing, thereby significantly reducing the waste of unproductive time caused by frequent task type switching and directly reducing the total production cost.
[0150] (3) In flexible workshop scheduling, minimizing the maximum completion time (load balancing) and minimizing the total mold change time often have an inherent conflict. This invention intelligently resolves this contradiction through a three-layer collaborative optimization architecture of macroscopic, mesoscopic, and microscopic levels: At the macroscopic level, the differential evolution algorithm performs global exploration to maintain the diversity of solutions; at the mesoscopic level, the destruction and reconstruction (D&R) operator dynamically adjusts task allocation through cross-machine task removal and re-insertion, directly focusing on "peak shaving and valley filling" to optimize the load balancing of each machine; at the microscopic level, the sequence smoothing operator focuses on the internal workings of a single machine, finely optimizing the processing sequence through local exchanges to reduce mold change time. The three elements work together to achieve a Pareto improvement in overall performance.
[0151] (4) The real number encoding and maximum position value (LOV) decoding rules adopted in this invention, combined with the subsequent dual depth optimization (DDO) operator executed in the discrete domain, constitute a complete solution. After the algorithm performs efficient global exploration in the continuous space, it directly performs targeted pruning and optimization on the scheduling Gantt chart (discrete topology) with clear physical meaning through the DDO operator. This method retains the advantages of the differential evolution algorithm, such as strong global search capability and ease of parallelization, while overcoming the problem of low search efficiency caused by the mismatch between continuous encoding and discrete solution space structure. Therefore, this invention can stably and efficiently handle actual scheduling problems of different scales, ranging from tens to hundreds of orders, and has practical engineering value.
[0152] Obviously, the described embodiments are only a part of the embodiments of this application, not all of them. Without conflict, the embodiments and features in the embodiments of this application can be combined with each other. The components of the embodiments of this application described and illustrated herein can generally be arranged and designed in various different configurations. Therefore, the detailed description of the embodiments of this application is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
Claims
1. A flexible scheduling method for UPMS workshops based on an improved differential evolution algorithm, characterized in that, Includes the following steps: S1: Establish an independent parallel machine scheduling model with sequentially correlated mold change time based on workshop production data, with the goal of minimizing the maximum completion time; S2: Encode each discrete variable in the unrelated parallel machine scheduling model as a population individual using a real number vector. Each position value in the real number vector corresponds to a task to be processed. The integer part of the position value of the real number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real number vector is used to indicate the processing priority of the task to be processed on the allocated machine. S3: Perform mutation and crossover operations of the differential evolution algorithm on the target real vector of the current population to generate a test vector; S4: Perform double deep optimization on the scheduling scheme obtained after decoding the test vectors to obtain an optimized new scheduling scheme, specifically including: S40: Decode the test vector into an initial scheduling scheme based on the maximum position value rule; S41: Destruction and Reconstruction Optimization: Randomly remove a predetermined proportion of the assigned tasks from the current scheduling scheme, and re-insert the removed tasks into the optimal position among all possible processing positions of all machines, using the criterion of minimizing the maximum completion time. S42: Sequence smoothing optimization: Keep the task allocation of each machine unchanged, traverse the task sequence on each machine, calculate the change in local time cost before and after swapping any two adjacent tasks, and swap the two adjacent tasks that reduce local time cost. S5: Encode the new scheduling scheme after double deep optimization into a new real vector, compare its fitness with the original real vector, and use the real vector with better fitness as the target real vector of the current population according to the Baldwinian learning strategy to complete the population update. S6: Repeat steps S3 to S5 until the termination condition is met, and output the optimal scheduling scheme.
2. The UPMS flexible workshop scheduling method based on the improved differential evolution algorithm according to claim 1, characterized in that, Production data includes a set of tasks to be processed, the attributes and processing time of each task, a set of available machines, the time each machine takes to process different tasks, and a mold-change time matrix that defines the sequence-dependent mold-change time required to process any two tasks with different attributes on any machine.
3. The UPMS flexible workshop scheduling method based on the improved differential evolution algorithm according to claim 1, characterized in that, The implementation of the greedy criterion of minimizing the maximum completion time in step S41 includes: calculating the maximum completion time of the temporary scheduling scheme corresponding to inserting each removed task into each possible position of each machine, and selecting the insertion position that minimizes the increment of the maximum completion time.
4. The UPMS flexible workshop scheduling method based on the improved differential evolution algorithm according to claim 1, characterized in that, In step S42, the local time cost is the sum of the processing time of the two adjacent tasks on the machine and the sequence-related switching time between them; the sequence-related switching time is determined by a predefined switching time matrix, which records the preparation time required when switching between tasks with different attributes.
5. The UPMS flexible scheduling method based on the improved differential evolution algorithm according to claim 1, characterized in that, The termination condition determination includes: checking whether the current iteration count has reached the preset maximum iteration count. If the optimal solution is not reached, return to step S3; if it is reached, the algorithm terminates and outputs the allocation scheme matrix corresponding to the global optimal solution. and the start and end times of each order. As the final production scheduling instruction.
6. A flexible UPMS shop floor scheduling system based on an improved differential evolution algorithm, employing the UPMS flexible shop floor scheduling method based on an improved differential evolution algorithm as described in any one of claims 1 to 5, characterized in that, The system includes: The modeling module is used to build an independent parallel machine scheduling model with sequentially correlated mold change times based on workshop production data, with the goal of minimizing the maximum completion time. The encoding and decoding module is used to encode real-number vectors for individuals in the population of discrete variables of the unrelated parallel machine scheduling model. Each position value in the real-number vector corresponds to a task to be processed. The integer part of the position value of the real-number vector is used to indicate the machine allocation of the task to be processed, and the fractional part of the position value of the real-number vector is used to indicate the processing priority of the task to be processed on the allocated machine. The global evolutionary search module is used to perform mutation and crossover operations of the differential evolution algorithm on the target vector of the current population to generate test vectors; A dual-depth optimization module, connected to the global evolutionary search module, is used to sequentially perform load balancing optimization and mode switching optimization on the scheduling scheme obtained after decoding the test vector through the load balancing optimization unit and the mode switching optimization unit. The dual-depth optimization module includes a load balancing optimization unit and a mode switching optimization unit. The load balancing optimization unit is used to randomly remove some of the assigned tasks from the current scheduling scheme and re-insert the removed tasks into the optimal position among all possible processing positions of all machines, using the criterion of minimizing the maximum completion time. The mode switching optimization unit is used to traverse the task sequence on each machine while keeping the task allocation of each machine unchanged, and optimize the task sequence on each machine by evaluating and executing exchange operations that can reduce the local time cost between adjacent tasks. The population update and output module is used to update the population according to the Baldwinian learning strategy and output the optimal scheduling scheme when the termination condition is met.
7. The UPMS flexible scheduling system for workshops based on the improved differential evolution algorithm according to claim 6, characterized in that, It also includes a data acquisition module, which is used to obtain the status of workshop machines, order processing time matrix P and sequence-related mold change time matrix S to form workshop production data.
8. The UPMS flexible scheduling system for workshops based on the improved differential evolution algorithm according to claim 6, characterized in that, It also includes a visualization output module, which outputs a Gantt chart of the optimal scheduling scheme and the start and end times of each order.
9. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the program to implement the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm as described in any one of claims 1 to 5.
10. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the UPMS flexible workshop scheduling method based on the improved differential evolution algorithm as described in any one of claims 1 to 5.