Generalized job shop scheduling method and device, computer equipment and storage medium
By employing a three-order neighborhood structure genetic algorithm, along with three-string encoding and a hybrid initialization strategy, the efficiency and quality issues of traditional scheduling methods in complex generalized job shop scheduling are resolved, generating an efficient scheduling scheme.
Patent Information
- Application Number
- CN202511743788.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-25
- Publication Date
- 2026-03-03
AI Technical Summary
Existing scheduling methods are insufficient to effectively solve complex generalized job shop scheduling problems within a reasonable timeframe, especially in scenarios involving forced parallel batch processing and flexible parallel batch processing operations. Traditional algorithms are inefficient in handling coupled constraints and struggle to obtain high-quality scheduling solutions.
A three-level neighborhood structure genetic algorithm (GATLNS) is adopted. The scheduling problem is represented by chromosomes through a three-string encoding scheme. An initial population is generated by combining a hybrid initialization strategy. Population diversity is enhanced by segmented crossover and hybrid mutation operations. A high-quality scheduling scheme is generated by using a three-level neighborhood structure for local search.
It improves the solution quality and computational efficiency of the generalized job shop scheduling problem, effectively solves complex parallel batch processing scheduling problems, and generates reasonable scheduling schemes.
Smart Images

Figure CN121599368A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a generalized job shop scheduling method, apparatus, computer equipment, and storage medium, belonging to the field of intelligent manufacturing and production scheduling optimization technology. Background Technology
[0002] As the manufacturing industry moves towards intelligence and flexibility, the generalized job shop scheduling problem is becoming increasingly important in actual production. Traditional job shop scheduling mainly considers the processing sequence of processes on machines, while generalized job shop scheduling further considers the allocation of processes across multiple selectable machines, greatly increasing the complexity of the problem.
[0003] In real-world production environments, such as electronic product quality inspection, semiconductor manufacturing, and steel processing, there is a widespread need for parallel batch processing operations. These operations allow a single machine to process multiple workpieces simultaneously, forming batch tasks, thereby improving equipment utilization and production efficiency. Parallel batch processing operations can be divided into two types: forced parallel batch processing operations (MPBPO) and flexible parallel batch processing operations (FPBPO). Forced parallel batch processing operations require a specific set of operations to start and finish simultaneously, while flexible parallel batch processing operations allow operations on different workpieces to be combined into batch tasks while meeting process parameters and machine capacity constraints.
[0004] Existing scheduling methods face numerous challenges in handling such complex problems. Traditional genetic algorithms, while possessing strong global search capabilities, are prone to generating infeasible solutions when dealing with complex constraints and exhibit insufficient local search capabilities. Tabu search algorithms, while possessing strong local search capabilities, are susceptible to getting trapped in local optima. Simple hybrid algorithms, although combining the advantages of both, remain inefficient when handling the coupled constraints of parallel batch processing operations.
[0005] Especially in Figure 1 In practical application scenarios such as electronic product quality inspection, there are both mandatory batch inspection requirements for different units of the same product, and flexible batch inspection needs for different products under the condition of meeting parameter ranges. The coupled influence of these multiple factors makes the scheduling problem more complex, and traditional scheduling methods are unable to obtain high-quality scheduling solutions within a reasonable time. Summary of the Invention
[0006] Generalized job shop scheduling with parallel batch processing operations relaxes the constraints on processing machines, allowing the same machine to process different workpieces at the same time, which is more in line with actual workshop production conditions. However, there is limited research on job shop scheduling involving such constraints. Therefore, this paper studies generalized job shop scheduling with parallel batch processing operations based on practical needs, and proposes a generalized job shop scheduling method, device, computer equipment, and storage medium based on a third-order neighborhood structure genetic algorithm (GATLNS). The aim is to effectively solve this complex scheduling problem and improve the quality of the solution and computational efficiency.
[0007] The first objective of this invention is to provide a generalized job shop scheduling method.
[0008] The second objective of this invention is to provide a generalized workshop scheduling device.
[0009] A third objective of this invention is to provide a computer device.
[0010] A fourth objective of this invention is to provide a storage medium.
[0011] The first objective of this invention can be achieved by adopting the following technical solution: A generalized job shop scheduling method includes: Based on the generalized job shop scheduling model with parallel batch processing, a three-string encoding scheme is used to represent the scheduling problem as a chromosome, and an initial population is generated by combining a hybrid initialization strategy. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence. Perform the following operations on the current population and iterate: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; When the iteration termination condition is met, the best individual in the population is converted into a scheduling scheme using an active decoding method, and a scheduling Gantt chart is output.
[0012] The second objective of this invention can be achieved by adopting the following technical solution: A generalized job shop scheduling device, comprising: The generation module is used for a generalized job shop scheduling model with parallel batch processing operations. It adopts a three-string encoding scheme to represent the scheduling problem as chromosomes and combines a hybrid initialization strategy to generate an initial population. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence. The iteration module is used to perform the following operations on the current population and iterate over it: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; The output module is used to convert the best individual in the population into a scheduling scheme using an active decoding method when the iteration termination condition is met, and outputs the scheduling Gantt chart.
[0013] The third objective of this invention can be achieved by adopting the following technical solution: A computer device includes a processor and a memory for storing a processor-executable program, wherein when the processor executes the program stored in the memory, it implements the generalized job shop scheduling method described above.
[0014] The fourth objective of this invention can be achieved by adopting the following technical solution: A storage medium storing a program that, when executed by a processor, implements the generalized job shop scheduling method described above. Attached Figure Description
[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the structures shown in these drawings without creative effort.
[0016] Figure 1 This is a schematic diagram of data from a testing workshop for electronic components, according to an embodiment of the present invention.
[0017] Figure 2 This is a flowchart of a generalized job shop scheduling method according to an embodiment of the present invention.
[0018] Figure 3 This is a schematic diagram of an encoding method according to an embodiment of the present invention.
[0019] Figure 4 This is a schematic diagram illustrating the principle of segmented intersection according to an embodiment of the present invention.
[0020] Figure 5 This is a schematic diagram illustrating a hybrid variation according to an embodiment of the present invention.
[0021] Figure 6 This is a schematic diagram of a first-level neighborhood operation according to an embodiment of the present invention.
[0022] Figure 7 This is a schematic diagram of a second-level neighborhood operation according to an embodiment of the present invention.
[0023] Figure 8 This is a schematic diagram of a third-level neighborhood operation according to an embodiment of the present invention.
[0024] Figure 9 This is a scheduling Gantt chart obtained by processing a case using a third-order neighborhood structure genetic algorithm according to an embodiment of the present invention.
[0025] Figure 10 This is a flowchart of another generalized job shop scheduling method according to an embodiment of the present invention. Figure 11 This is a structural diagram of a generalized workshop scheduling device according to an embodiment of the present invention. Detailed Implementation
[0026] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0027] Figure 2 This is a flowchart of a generalized job shop scheduling method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes: 201. Based on the generalized job shop scheduling model with parallel batch processing operations, a three-string encoding scheme is adopted to represent the scheduling problem as chromosomes, and an initial population is generated by combining a hybrid initialization strategy. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence.
[0028] In this embodiment, a generalized job shop scheduling model with parallel batch processing operations is established, as follows: The generalized job shop scheduling problem with parallel batch processing operations is described as follows: N One workpiece exist M Taiwanese machine The system operates on a defined process route for each workpiece. Due to process constraints, some workpieces have mandatory parallel batch processing (MPBPO) operations. To reduce certain performance indicators, and under constraints such as process parameters and equipment capacity, different workpieces are allowed to be randomly combined for batch processing, forming flexible parallel batch processing (FPBPO). Each operation may be performed on multiple different machines, and the operation time of each workpiece operation is determined by the machine on which it is located. The scheduling objective is to select the most suitable machine for each operation and determine the optimal operation sequence of each operation on each machine, while satisfying constraints such as machine availability, operation sequence, mandatory parallel batch processing, and flexible parallel batch processing, so as to minimize the system's maximum completion time (Makespan).
[0029] In this embodiment, the constraints of the model are determined as follows: Table 1. Symbol Meanings
[0030] Continued from Table 1: Symbol Definitions
[0031] Objective function: (1) Constraints: (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) Equation (1) is the objective function for optimization, namely minimizing the maximum completion time. The constraints include: Equation (2) indicates that the machines operating the forced parallel batch processing operation set are the intersection of the machines operating each operation in the operation set; Equation (3) indicates that the machines operating the sub-operation set selected for batch processing in the flexible parallel batch processing operation set are the intersection of the machines operating each operation in the sub-operation set; Equation (4) indicates that each operation is performed only once on the machine; Equation (5) indicates that the number or weight of parallel batch processing operations on the machine does not exceed the machine capacity; Equation (6) defines the operation time of non-parallel batch processing operations; Equation (7) defines the operation time of parallel batch processing operations, which is the maximum operation time in the parallel batch processing operation; Equation (8) indicates the maximum operation time at the start of any operation on the machine. The time interval must not be earlier than the end time of its predecessor process. Equation (9) indicates that the machine cannot be interrupted once it starts running. Equation (10) indicates that the start time of the process is greater than or equal to the completion time of the predecessor process of the machine. Equation (11) indicates that only one process or one parallel batch process can be operated on the same machine at the same time. Equation (12) defines the start time of the process. Equation (13) defines the end time of the process. Equation (14) indicates that the end time of the machine is not greater than the maximum completion time. Equation (15) indicates that processes belonging to the same set of forced parallel batch processes must be batch processed simultaneously. Equation (16) indicates that processes belonging to the same set of flexible parallel batch processes can be processed individually or randomly combined for batch processing.
[0032] In this embodiment, as Figure 3 As shown, generalized job shop scheduling with parallel batch processing operations considers operation sequencing, machine selection, and batch processing combination. A three-string encoding scheme (chromosome) is proposed here, extending the traditional two-string encoding of FJSP to effectively represent all three subproblems. The three-string representation (chromosome) of a feasible scheduling scheme can be formally described as... : JS (Job Sequence): Each element is directly encoded using job numbers. The order of these job numbers from left to right determines the processing order of the jobs. All operations associated with a specific job share the same symbol. Jobᵢ The j-th occurrence of the symbol corresponds to the j-th operation of the task.
[0033] BS (Batch Sequence): Represents the batch assignment of operations, where operations within the same parallel batch task are assigned the same numerical label, while operations corresponding to non-parallel batch tasks are marked as 0. To distinguish between different parallel batch tasks, their numerical labels are incremented sequentially from left to right during initialization.
[0034] MS (Machine Sequence): Specifies the machine assignment, where each element represents the machine index selected for the corresponding process in JS.
[0035] In this embodiment, a hybrid initialization approach is designed to enhance the quality of the initial solution. Half of the population is generated using a greedy initialization method, while the other half is generated using a random initialization method. The hybrid initialization population generation algorithm based on the encoding method is as follows: Node Update: By integrating the MPBPO and FPBPO, the node set V is redefined to obtain the updated node set V'. In this step, the operation set in each MPBPO is treated as a single task. Similarly, the operation sets in each FPBPO can be combined randomly or using a heuristic strategy, with each combination... It is considered a single task.
[0036] Arc set adjustment: Based on the updated node set Modify the set of connecting arcs A and the set of disjunctive arcs E to generate revised sets A' and E'. For In the parallel batch processing task u, remove the connections between its constituent processes ( o 1, o 2,…, o n The arc in A. Conversely, in ( o 1, o 2,…, o n The direct workpiece precursor u between u and ( o 1, o 2,…, o n Directed connection arcs are introduced between the direct successors of tasks u, thus generating A'. Furthermore, each node in V' can be assigned to a machine selected from its respective set of available machines Ms. Specifically, each parallel batch processing task can be assigned to a machine from the set of available machines corresponding to its constituent operations. Once the machine for processing a task is determined, disjunctive arcs are added between tasks processed on the same machine, forming E'. Based on Ts, the processing time T for each task u on its corresponding machine can be determined. u This further allows for the determination of the length of the connecting arc or disjunction arc.
[0037] Directed Acyclic Selection: Identify directed acyclic selections for each machine to generate corresponding... This forms the final directed graph. Full selection S Initially, disjunction arcs of tasks assigned to the same machine are removed. Next, machines M are randomly selected sequentially. k The tasks are assigned to A' while ensuring that the order constraints between different tasks on the same workpiece are preserved. Disjunctive arcs are used to connect each consecutive selected task pair, ensuring that the first task is connected to node 0 and the last task is connected to the end node. This process guarantees the generation of a valid task sequence while maintaining the structural integrity of the graph.
[0038] Based on the problem characteristics, corresponding greedy strategies can be introduced during the initialization of the feasible scheduling solution set. These strategies include greedy heuristics for parallel batch processing operations and machine greedy heuristics. The greedy heuristic for parallel batch processing operations is mainly applied in two aspects: first, during the node update phase, operations are combined into a single parallel batch processing task; second, during the directed acyclic selection phase, parallel batch processing tasks are scheduled as early as possible. Specifically, parallel batch processing tasks are placed on the selected machine M. k The process begins with A' and determines the predecessor tasks for parallel batch processing tasks based on the arc connections in A'. These predecessor tasks are also assigned to machine M. k These are then placed sequentially before the parallel batch processing tasks. The machine greedy heuristic involves selecting a machine for each task by evaluating the cumulative processing time of the tasks already allocated to each available machine. The machine with the smallest cumulative processing time is selected for that task.
[0039] 202. Perform the following operations on the current population and iterate: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; In this embodiment, segmented crossover and mixed mutation operations are designed to enhance population diversity, as detailed below: Fragment crossover operation: such as Figure 4 As shown, the fragment crossover operation aims to ensure that JS maintains the priority constraints between operations after crossover and preserves the coupling effects within each parallel batch processing task. During the crossover process, the fragments are first crossovered based on the parallel batch processing tasks. JS 1 and JS 2 It is divided into segments, where each parallel batch processing task is treated as an independent segment. Next, from JS 1 or JS 2 Randomly select a segment and copy its elements to the descendant sequence. JS c In the middle. Simultaneously, remove the corresponding elements from another parent sequence from left to right. This process continues until... JS 1 and JS 2 All are empty.
[0040] Based on this, the corresponding BS and MS are generated using the same method to obtain the offspring chromosomes. Ch c ={ JS c , BS c , MSc}.although JS 1 and JS 2 It may contain different parallel batch processing tasks, but the generated JS c It still conforms to the FJSP_PBPM constraint.
[0041] Mixed mutation operations: such as Figure 5 As shown, hybrid mutation operators for specific problems include JS mutation and MS mutation. JS mutation includes intra-segment swap mutation, parallel batch segment swap mutation, and inter-segment swap mutation. In JS mutation, the JS is first divided into different segments based on the parallel batch task. Intra-segment swap mutation involves randomly selecting two job indices (i.e., two operations) in a randomly selected non-parallel batch task segment and swapping them. Since this swap occurs within a segment that does not involve the parallel batch task and obeys the FJSP constraints, the resulting... JS c The scheduling solution remains feasible. In the parallel batch segment swap mutation, one parallel batch task is swapped with another task while ensuring all priority constraints are met. The inter-segment swap mutation swaps artifact indices across segments while ensuring they are independent of the parallel batch tasks that separated them. The MS mutation is applied to a single-point mutation of a randomly selected task, where the machine allocation and its corresponding processing time are modified by selecting different machines from its available options.
[0042] It is worth noting that these operations, while ensuring the feasibility of the solution, effectively improve the diversity of the solution set and help the algorithm escape local optima.
[0043] Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; In this embodiment, the neighborhood structure is designed as follows: The effectiveness of neighborhood search largely depends on the design of the neighborhood structure, which incorporates problem-specific feature information to guide the search process. This avoids blind exploration, thereby improving efficiency and solution quality. FJSP_PBPM requires simultaneous optimization of three interdependent subproblems: (1) batch formation; (2) machine allocation; and (3) task ordering. Corresponding to these three subproblems, this study proposes a third-order neighborhood structure (TLNS) specifically designed for FJSP_PBPM, including: (1) flexible parallel batch process reorganization; (2) cross-machine task transfer; and (3) intra-machine task reordering. Based on the established principle that modifying adjacent non-critical operations will not improve the maximum completion time, the neighborhood structure design restricts all movable tasks to tasks on the critical path.
[0044] L1 flexible parallel batch processing workflow reconfiguration: such as Figure 6 As shown, the first-order TLNS identifies tasks that form each flexible parallel batch processing set on the critical path and attempts to relocate them to form larger batches with other operations in the same flexible parallel batch processing set. If a task u is on the critical path and processed on machine k, and another task v belongs to the same flexible parallel batch processing set, then u is moved after v if the feasibility condition is met. After this move, the connecting arc is removed, while a new connecting arc is introduced, thereby generating a neighborhood solution.
[0045] L2 cross-machine task transfer: such as Figure 7 As shown, the neighborhood structure in the second-order TLNS focuses on reallocating critical tasks across machines to maximize the utilization of idle time on alternative machines. For a task u processed on machine k and located on the critical path, if there are two consecutive tasks v and v' on the alternative machine k' that satisfy the feasibility condition, then u is moved between v and v'. After the move, connecting arcs are deleted and simultaneously introduced, thereby generating a new solution.
[0046] L3 machine task reordering: such as Figure 8 As shown, suppose there is a task u on the critical path on machine k. If there is another task v on the same machine that satisfies a given condition, then u is moved after v. After this move, connecting arcs are deleted and introduced, thus generating a neighborhood solution. Similarly, if there is a task v on the same machine that satisfies the condition, then u is moved before v. After the move, connecting arcs are deleted and introduced, thus generating a neighborhood solution.
[0047] Based on the theoretical finding that modifying the first and last operations within a critical block does not reduce the maximum completion time, the L3 operator combines two pruning strategies: (1) eliminating neighborhood solutions involving internal position adjustments within the critical block; and (2) excluding moves for the first or last task on the critical path.
[0048] 203. When the iteration termination condition is met, the best individual in the population is converted into a scheduling scheme using an active decoding method, and the scheduling Gantt chart is output.
[0049] In this embodiment, existing decoding methods based on the FJSP problem cannot be directly applied to the generalized job shop scheduling problem with parallel batch processing operations. This is because the parallel batch processing operations in the generalized job shop scheduling problem with parallel batch processing operations have multiple predecessor and successor operations. Therefore, a corresponding decoding scheme needs to be designed according to the characteristics of the generalized job shop scheduling problem with parallel batch processing operations. The decoding process adopts an active decoding method, which combines the batch implicit connection graph (DG) to determine the earliest start and finish times of each task, and obtains the latest start and finish times through semi-active decoding of the directed graph of the reverse solution, thereby ensuring the feasibility of scheduling. The active decoding method adapted to the generalized job shop scheduling problem with parallel batch processing operations is designed based on the encoding scheme, and the steps are as follows: Step 1: Settings , Store the start and end times of each process separately. ;set up , Record the end time of the preceding process for each machine and workpiece. Initialize. , All elements in the array are 0. .
[0050] Step 2: Read sequentially Gene loci, determining their process and from MPlan and TmPlan Obtain from each Corresponding operating machines and homework time ,calculate .
[0051] Step 3: Locate the machine idle time interval ,like If yes, proceed to Step 4; otherwise, proceed to Step 5.
[0052] Step 4: , .like Delete this interval ;like ,renew ;like ,renew ;like ,renew And insert new , .
[0053] Step 5: , .like In the machine Added free space . , .
[0054] Step 6: Update , .
[0055] Step 7: ,like If yes, proceed to Step 2; otherwise, proceed to Step 8.
[0056] Step 8: End.
[0057] In other embodiments, such as Figure 10 As shown, a generalized job shop scheduling method based on a three-order neighborhood structure genetic algorithm includes the following steps: 1) Establish a generalized job shop scheduling model with parallel batch processing operations; 2) Determine the constraints of the model; 3) Design corresponding three-string encoding and active decoding methods for generalized job shop scheduling oriented towards parallel batch processing operations; 4) Generate a high-quality initial population by combining heuristic initialization strategies; 5) Design segmented crossover and mixed mutation operations to enhance population diversity; 6) Design a three-layer neighborhood structure (TLNS) oriented towards mission-critical tasks to generate high-quality neighborhood solution sets; 7) Output the optimization results and provide the relevant scheduling Gantt chart.
[0058] Calculation example: Using the MK01 example from the BRdata dataset proposed by Brandim Arte as the benchmark example, we constructed a forced parallel batch processing operation set and a flexible parallel batch processing operation set by selecting different workpiece operations, thus forming a test example GMK01 applicable to the generalized job shop scheduling problem with parallel batch processing operations. The specific information of the example is shown in Table 2.
[0059] All code in this invention was implemented using Matlab R2025a and ran on a computer configured with a 64-bit Windows 10 operating system, an Intel(R) Core(TM) i5-12600kf CPU @ 3.70GHz processor, and 32GB of RAM. The algorithm iterates with 120 individuals, with a maximum number of iterations set to 100, a crossover rate of 0.8, a mutation rate of 0.3, and a neighborhood operation screening ratio of 0.3.
[0060] Figure 9One of the scheduling Gantt charts was obtained by using a three-order neighborhood structure genetic algorithm to solve the example. This shows that the proposed three-order neighborhood structure genetic algorithm can effectively solve the generalized job shop scheduling problem with parallel batch processing operations.
[0061] Table 2. Process Information for Test Case GMK01
[0062]
[0063] Figure 11 This is a structural diagram of a generalized workshop scheduling device according to an embodiment of the present invention, as shown below. Figure 11 As shown, the device includes: The generation module 1101 is used for a generalized job shop scheduling model based on parallel batch processing operations. It adopts a three-string encoding scheme to represent the scheduling problem as chromosomes and combines a hybrid initialization strategy to generate an initial population. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence. Iteration module 1102 is used to perform the following operations on the current population and iterate: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; The output module 1103 is used to convert the best individual in the population into a scheduling scheme using an active decoding method when the iteration termination condition is met, and output the scheduling Gantt chart.
[0064] Example 2: Embodiments of this application also provide a computer device, including: a memory storing an executable program; and a processor for running the program, wherein the program executes the methods in various embodiments of the present invention during runtime.
[0065] The aforementioned memory can refer to devices inside a computer used to store data and programs, including RAM, hard disks, etc. RAM can be used to temporarily store running programs and data, while hard disks can be used to store programs and data long-term. Memory enables the computer to read and write data and execute programs. The aforementioned processor is responsible for executing instructions in computer programs and performing data processing. It can also be responsible for controlling and executing various operations, including arithmetic operations, logical operations, and data transmission.
[0066] Example 3: Embodiments of this application also provide a computer-readable storage medium including a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to perform the methods of various embodiments of the present invention.
[0067] The aforementioned computer storage media can refer to the media used in computer memory to store certain discontinuous physical quantities. Computer storage media mainly include semiconductors, magnetic cores, magnetic drums, magnetic tapes, laser discs, etc. Computer-readable storage media include stored programs, which can be a set of instructions that a computer can recognize and execute, running on an electronic computer to meet certain information needs.
[0068] Example 4: Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the methods of various embodiments of the present invention.
[0069] The aforementioned computer program products can refer to software programs that have been written, tested, and released, and can run on computers or other devices. Computer program products can include application programs, operating systems, utility software, etc., used to achieve specific functions or solve specific problems.
[0070] Example 5: Embodiments of this application also provide a computer program product, including a non-volatile computer-readable storage medium for storing a computer program that, when executed by a processor, implements the methods in various embodiments of the present invention.
[0071] The aforementioned non-volatile computer-readable storage medium can refer to a medium for storing data. Non-volatile computer-readable storage media can retain data without loss when power is off and can be used to store long-term data, such as operating systems, applications, and user files. Non-volatile storage media can include hard disk drives, solid-state drives, optical disks, and flash memory storage devices, etc.
[0072] Example 6: Embodiments of this application also provide a computer program that, when executed by a processor, implements the methods described in the various embodiments of the present invention.
[0073] The aforementioned computer program can refer to a set of instructions used to tell the computer to perform specific tasks or operations. Computer programs can be written by programmers using specific programming languages and can include algorithms, data structures, logic, and control flow. Computer programs can be used for a variety of purposes, including application software, operating systems, etc.
[0074] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0075] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0076] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0077] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0078] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0079] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A generalized job shop scheduling method, characterized in that, include: Based on the generalized job shop scheduling model with parallel batch processing, a three-string encoding scheme is used to represent the scheduling problem as a chromosome, and an initial population is generated by combining a hybrid initialization strategy. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence. Perform the following operations on the current population and iterate: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; When the iteration termination condition is met, the best individual in the population is converted into a scheduling scheme using an active decoding method, and a scheduling Gantt chart is output.
2. The generalized job shop scheduling method according to claim 1, characterized in that, The optimization objective of the generalized job shop scheduling model with parallel batch processing is to minimize the maximum completion time, and its mathematical expression is: ; in, Indicates workpiece j The o This process is done on the machine. m The l End time at each processing position.
3. The generalized job shop scheduling method according to claim 1, characterized in that, In the three-string encoding scheme, chromosomes are represented as follows: : The workpiece sequence JS Each element is coded using a job number, and all processes associated with a specific job share the same symbol; The batch processing sequence BS Operation batch assignment, where operations within the same parallel batch processing task are assigned the same numerical label, while operations corresponding to non-parallel batch processing tasks are marked as zero; The machine sequence MS : Specifies the machine assignment, where each element represents the machine index selected for the corresponding operation in the workpiece sequence.
4. The generalized job shop scheduling method according to claim 1, characterized in that, The initial population is generated using a hybrid initialization strategy, where half of the population is generated through greedy initialization and the other half through random initialization. The greedy strategy includes a parallel batch processing greedy heuristic and a machine greedy heuristic. The parallel batch processing greedy heuristic includes: During the node update phase, the processes are combined into a single parallel batch processing task; The parallel batch processing task is placed at the beginning of a randomly selected machine, and the predecessor task of the parallel batch processing task is determined based on the arc connections in the revised set of connection arcs.
5. The generalized job shop scheduling method according to claim 1, characterized in that, The segmented crossover operation includes: For workpiece sequence JS Based on parallel batch processing tasks JS 1 and JS 2 The process is divided into segments, where each parallel batch processing task is treated as an independent segment. from JS 1 or JS 2 Randomly select a segment and copy its elements to the descendant sequence. JS c Meanwhile, elements are removed from another parent sequence from left to right until... JS 1 and JS 2 All are empty; The corresponding batch processing sequence is generated using the partitioning, copying, and removal operations described above. BS and machine sequence MS To obtain the chromosomes of offspring Ch c ={ JS c , BS c , MS c } 6. The generalized job shop scheduling method according to claim 1, characterized in that, The hybrid mutation operation includes: For workpiece sequence JS The variations include intra-segment swap variations, parallel batch segment swap variations, and inter-segment swap variations; machine sequence MS The mutation is a single-point mutation of a randomly selected task, which modifies the machine allocation and its corresponding processing time by selecting different machines from its available options.
7. The generalized job shop scheduling method according to claim 1, characterized in that, The three-layer neighborhood structure includes: the first layer of flexible parallel batch processing process reorganization, the second layer of cross-machine task transfer, and the third layer of intra-machine task reordering. The task reordering operation within the third layer of the machine also includes a policy pruning mechanism: excluding operations on non-edge tasks within the critical block and operations on the first and last tasks on the critical path.
8. A generalized workshop scheduling device, characterized in that, include: The generation module is used for a generalized job shop scheduling model with parallel batch processing operations. It adopts a three-string encoding scheme to represent the scheduling problem as chromosomes and combines a hybrid initialization strategy to generate an initial population. The three strings of encoding include the job sequence, the batch processing sequence, and the machine sequence. The iteration module is used to perform the following operations on the current population and iterate over it: Genetic manipulation: Performing segmented crossover and mixed mutation operations on individuals in a population to enhance population diversity; Neighborhood search: For individuals generated through genetic operations, a local search is performed based on a three-layer neighborhood structure to generate a neighborhood solution set; The output module is used to convert the best individual in the population into a scheduling scheme using an active decoding method when the iteration termination condition is met, and outputs the scheduling Gantt chart.
9. A computer device comprising a processor and a memory for storing a processor-executable program, characterized in that, When the processor executes the program stored in the memory, it implements the generalized job shop scheduling method according to any one of claims 1-7.
10. A storage medium storing a program, characterized in that, When the program is executed by the processor, it implements the generalized job shop scheduling method according to any one of claims 1-7.