Factory job shop scheduling control optimization method, device, equipment and medium

By improving the genetic algorithm and combining the MBs-GCETs neighborhood structure with the left shift insertion method based on active scheduling theory, the problems of high computational complexity and weak local search ability in solving the generalized job shop scheduling problem with forced parallel batch processing in the existing technology are solved, and efficient and stable scheduling optimization is achieved.

CN121329068APending Publication Date: 2026-01-13SOUTH CHINA AGRICULTURAL UNIVERSITY
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511568268.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-30
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

In existing technologies, exact methods have high computational complexity and are difficult to solve quickly when solving generalized job shop scheduling problems with forced parallel batch processing, while genetic algorithms have weak local search capabilities, are prone to getting trapped in local optima, and are difficult to effectively optimize scheduling schemes.

Method used

An improved genetic algorithm is adopted, which combines the neighborhood structure of MBs-GCETs and the left shift insertion method of active scheduling theory. By constructing job task ordering subchromosomes, job machine subchromosomes and job time subchromosomes, genetic operations are performed to generate the optimal scheduling scheme, including selection, crossover, mutation and population screening, to ensure that the task matches the machine and time and avoid constraint conflicts.

Benefits of technology

It effectively avoids constraint conflicts, improves the solution efficiency and accuracy of genetic algorithms, can quickly generate the production scheduling scheme with the earliest completion time, and individuals with high fitness can still converge stably in large-scale problems, reducing the cost of ineffective iterations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121329068A_ABST
    Figure CN121329068A_ABST
Patent Text Reader

Abstract

The invention relates to a factory job shop scheduling control optimization method and device, equipment and a medium, and the method comprises the steps: classifying workpieces irrelevant to all MPBPO sets into a first workpiece set, classifying the workpieces corresponding to each MPBPO set into one set to determine a second workpiece set, independently generating job task sorting sub-chromosome segments, and generating a job task sorting sub-chromosome segment; corresponding operation machine numbers and operation time are respectively filled into corresponding gene positions of the operation machine sub-chromosomes and the operation time sub-chromosomes, and the operation task sorting sub-chromosomes, the operation machine sub-chromosomes and the operation time sub-chromosomes are combined to obtain initial chromosomes so as to generate initial population individuals; genetic manipulation is carried out on the initial population individuals, and population individuals with the high fitness and the number of the population individuals being the population scale are selected as a next-generation initial population; and repeatedly executing, and outputting the production scheduling scheme with the optimal earliest completion time. According to the method, algorithm premature convergence can be avoided in a generalized job-shop scheduling problem with a forced parallel batch processing procedure.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of workshop scheduling, and in particular to a method for optimizing workshop scheduling control in a factory, a corresponding device, electronic equipment, and a computer-readable storage medium. Background Technology

[0002] Intelligent scheduling refers to the rational allocation of limited resources in a system within a given time frame to enable them to complete predetermined tasks with the best possible performance. It is a fundamental approach to optimizing the utilization of manufacturing system production resources, improving production efficiency and flexibility, rapidly responding to market changes and diversified customer needs, reducing workshop operating costs and energy consumption, shortening production cycles, and thereby enhancing enterprise productivity and competitiveness.

[0003] In actual production and manufacturing, there are many types of scheduling problems. As one of the classic shop floor scheduling problems, the Job Shop Scheduling Problem (JSP) is the simplest scheduling problem. At the same time, it is the foundation and simplification of many complex shop floor scheduling problems. It belongs to the typical NP-hard combinatorial optimization problem and is a hot research topic in the field of intelligent manufacturing. It is widely found in typical discrete manufacturing industries such as automobiles, electronics, and shipbuilding.

[0004] In research on the JSP problem, few scholars have considered the case of mandatory parallel batch processing operations. As an extension of the classic JSP, the Generalized Job Shop Scheduling Problem with Mandatory Parallel Batch Processing Operations (GJSP_MPBPO) allows a single machine to process multiple jobs simultaneously, thus challenging the traditional constraint of the JSP problem that a machine can only process one job at any given time. This problem is inspired by real-world observations in electronic product quality inspection and mold manufacturing workshops, and aligns with the actual production needs of various discrete manufacturing workshops, including electronic product testing workshops, and the future development requirements of intelligent manufacturing. Currently, some workshops require mandatory parallel batch processing operations for certain jobs (such as the assembly processing of mold mating parts, and the separate assembly and inspection of different units of the same product in electronic product testing workshops), resulting in mandatory parallel batch processing operations (MPBPO) for some processes of each job. Similarly, GJSP_MPBPO is widely used in various discrete manufacturing industries. Taking electronic product testing as an example, the workshop designs a general process route for prototypes of the same product and divides the prototypes into different groups (each group is considered a workpiece). Each group of prototypes completes the testing of each process sequentially according to the sub-routes specified in the general process route. However, some testing prototypes need to be combined across groups for testing, forming forced parallel batch processing processes, such as vibration testing, drop impact testing, and dust testing. Intelligent scheduling optimization that takes into account the impact of forced parallel batch processing processes in the actual production of the workshop is an inevitable trend and frontier in this field of research, and it is also one of the key problems that urgently need to be solved.

[0005] The GJSP_MPBPO problem allows multiple jobs to be processed simultaneously on the same machine. Solving it requires considering the constraints of forced parallel batch processing, resulting in higher scheduling complexity and greater difficulty compared to the JSP problem. Current methods for solving the JSP problem are mainly divided into two categories: exact methods and approximate methods. Common exact methods, such as Branch and Bound (B&B), Mixed Integer Linear Programming (MILP), Lagrangian Relaxation, and Decomposition Methods, can obtain globally optimal solutions for some small-scale JSP problems. However, because each calculation requires precise computation, the computational complexity of the algorithm is greatly increased, leading to decreased efficiency and difficulty in quickly solving the generalized job shop scheduling problem with forced parallel batch processing. Approximate methods, on the other hand, can obtain better solutions to the JSP problem in a relatively short time, better meeting practical needs and solving real-world problems. Therefore, the focus of solving the GJSP_MPBPO problem is on approximation methods, such as Genetic Algorithm (GA), Priority Dispatch Rules (PDR), Shifting Bottleneck (SB), Local Search (LS), Ant Colony Optimization (ACO), and Particle Swarm Optimization (PSO). Genetic Algorithm is widely used to solve the job shop scheduling problem because it is not constrained by restrictive conditions during optimization and has a strong global search capability. However, its local search capability is relatively weak and it is prone to premature convergence and getting trapped in local optima.

[0006] In summary, existing precise methods require precise calculations for each solution, which greatly increases the computational complexity of the algorithm and reduces its efficiency. This makes it difficult to quickly solve the generalized job shop scheduling problem with forced parallel batch processing, as well as the job shop scheduling problem using genetic algorithms. However, genetic algorithms have weak local search capabilities and are prone to premature convergence and getting stuck in local optima. The applicant has made corresponding explorations to address these issues. Summary of the Invention

[0007] The purpose of this application is to solve the above-mentioned problems by providing a method for optimizing the scheduling and control of a factory workshop, a corresponding device, electronic equipment, and a computer-readable storage medium.

[0008] To achieve the various objectives of this application, the following technical solution is adopted:

[0009] A factory workshop scheduling and control optimization method proposed to meet one of the purposes of this application includes:

[0010] Multiple MPBPO sets are obtained in the factory workshop. A preset production scheduling control optimization algorithm is called to construct a task ordering subchromosome, a machine subchromosome, and a time subchromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing tasks, and the forced parallel batch processing task set represents a group of tasks that need to perform parallel batch processing on related tasks of multiple workpieces.

[0011] Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used for decoding. The job tasks on the job task sorting subchromosome are selected in sequence and inserted into the corresponding job machines. The idle time interval of the job machine is used first. If there is no idle interval, it is arranged after the last job task of the current job machine to generate an active scheduling solution.

[0012] The workpieces that are not related to any MPBPO set are grouped into the first workpiece set. The workpieces corresponding to each MPBPO set are grouped into a set to determine the second workpiece set. The first workpiece set and the second workpiece set are each used to generate a task sorting sub-chromosome fragment. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. The task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome are merged to obtain the initial chromosome to generate the initial population individuals.

[0013] Genetic operations, including selection, crossover, mutation, and population screening, are performed on the individuals in the initial population to select individuals with high fitness and a population size as the next generation initial population.

[0014] Repeat the process until the preset number of iterations is reached, and output the production scheduling scheme with the highest fitness that satisfies the MPBPO set constraints and has the earliest completion time.

[0015] Optionally, the task sorting sub-chromosome represents the workpiece number, wherein the gene positions containing multiple workpiece numbers in the task sorting sub-chromosome correspond one-to-one with the MPBPO set, and the order in which the same workpiece appears on the task sorting sub-chromosome is consistent with the task order.

[0016] The sub-chromosome of the working machine represents the working machine number, and the sub-chromosome of the working time represents the actual working time;

[0017] The set of MPBPOs at a certain gene position on the task sorting sub-chromosome, together with the same gene position on the task machine sub-chromosome and the task time sub-chromosome, points to the complete information of the same task.

[0018] Optionally, based on the job machine sub-chromosome and the job time sub-chromosome, the left-shift insertion method based on active scheduling theory is used for decoding. Job tasks on the job task sorting sub-chromosome are sequentially selected and inserted into the corresponding job machines, prioritizing the use of idle time intervals. If no idle time interval is available, the task is arranged after the last job task of the current job machine. The steps for generating an active scheduling solution include:

[0019] Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used to decode the job task sorting subchromosome;

[0020] The tasks on the task sorting subchromosome are selected in sequence, and the corresponding task machine is determined according to the task machine subchromosome. The idle time interval between the tasks already completed on the task machine is searched first. If there is an idle time interval that meets the task's requirements, the task is inserted into the earliest available idle interval.

[0021] If no available idle time interval exists, the job task will be scheduled after the last job task currently being performed on the job machine to generate an active scheduling solution.

[0022] Optionally, the steps of generating task sorting sub-chromosome segments independently from the first workpiece set and the second workpiece set, summarizing them, filling the corresponding machine number and time into the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome, and merging the task sorting sub-chromosome, machine sub-chromosome, and time sub-chromosome to obtain an initial chromosome to generate the initial population individuals include:

[0023] For the first set of workpieces and the second set of workpieces, task sorting sub-chromosome segments are generated independently. The task sorting sub-chromosome segments are summarized. According to the machine information and time information corresponding to each task in the task sorting sub-chromosome segments, the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome are filled in respectively. The genes of the machine sub-chromosome and the genes of the task sorting sub-chromosome are in one-to-one correspondence in order to indicate the machine of the task. The genes of the time sub-chromosome and the genes of the task sorting sub-chromosome are in one-to-one correspondence in order to indicate the time of the task.

[0024] The task sorting subchromosome, the task machine subchromosome, and the task time subchromosome are merged to obtain an initial chromosome, which generates an initial population of individuals.

[0025] Optionally, the initial population individuals are subjected to genetic operations including selection, crossover, mutation, and population screening to select individuals with high fitness and a population size as the next generation initial population. This includes the following steps:

[0026] Using the reciprocal of the maximum completion time as the fitness function, the cumulative probability is calculated based on the fitness value of individuals in the population using the roulette wheel method, and individuals in the population are selected to be inherited into the next generation of candidate populations for selection operations;

[0027] The MPBPO set of related and unrelated task sets is subjected to restricted crossover, keeping the task order in each set unchanged. The task order sub-chromosome segments of the two parent sets are swapped, and the genes corresponding to the task machine sub-chromosome and task time sub-chromosome are updated synchronously to generate offspring population individuals for crossover operation.

[0028] Using the MPBPO set as the dividing point, the task sorting subchromosomes are segmented. From the segments with a length of not less than 2 and whose internal genes are not all the same, two task genes are randomly selected and swapped. The corresponding machines and times of all tasks of the workpieces involved by the original two task genes are taken out and filled into the positions of the machine subchromosomes and the corresponding time subchromosomes of the task of each workpiece after the two genes are swapped, in order of the task order of each workpiece. This is to maintain the matching of task, machine and time, so as to perform mutation operation.

[0029] Population screening is performed by merging the initial population individuals before selection, the offspring population individuals generated by crossover, and the mutated population individuals into a new population. The fitness values ​​of all population individuals in the new population are calculated, and the population individuals with the highest fitness values ​​and whose number is equal to the population size are selected as the initial population for the next generation.

[0030] Optionally, the steps are repeated until a preset number of iterations are reached, outputting the production scheduling scheme with the highest fitness that satisfies the MPBPO set constraints and has the optimal earliest completion time. These steps include:

[0031] Repeatedly perform the genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select the individuals with high fitness and a population size as the next generation initial population, until the preset number of iterations is reached, and output the production scheduling scheme that satisfies the MPBPO set constraints and has the earliest completion time corresponding to the highest fitness.

[0032] Optionally, the production scheduling control optimization algorithm is an improved genetic algorithm, wherein the improved genetic algorithm is constructed by incorporating the basic genetic algorithm into the MBs-GCETs neighborhood structure.

[0033] A factory workshop scheduling and control optimization device provided for another purpose of this application includes:

[0034] The chromosome encoding construction module is set to obtain multiple MPBPO sets in the factory workshop, call the preset production scheduling control optimization algorithm, and construct the job task ordering sub-chromosome, job machine sub-chromosome, and job time sub-chromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing job tasks, and the forced parallel batch processing job task set represents a group of job tasks that need to perform parallel batch processing on related job tasks of multiple workpieces.

[0035] The chromosome decoding module is configured to decode based on the job machine sub-chromosome and the job time sub-chromosome, using the left shift insertion method based on active scheduling theory. It sequentially selects job tasks on the job task sorting sub-chromosome and inserts them into the corresponding job machine, giving priority to utilizing the job machine's idle time interval. If there is no idle interval, it is arranged after the current last job task of the job machine, generating an active scheduling solution.

[0036] The population initialization module is configured to group workpieces unrelated to all MPBPO sets into a first workpiece set, and group the workpieces corresponding to each MPBPO set into a set to determine a second workpiece set. The first workpiece set and the second workpiece set are used to generate job task sorting sub-chromosome fragments independently. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. The job task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome are merged to obtain the initial chromosome to generate the initial population individuals.

[0037] The genetic operation module is configured to perform genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population, so as to select the individuals with high fitness and a population size as the initial population of the next generation.

[0038] The scheduling scheme output module is set to execute repeatedly until the preset number of iterations, and outputs the production scheduling scheme with the highest fitness corresponding to the MPBPO set constraints and the earliest completion time.

[0039] An electronic device provided for another purpose of this application includes a central processing unit and a memory, the central processing unit being configured to invoke and run a computer program stored in the memory to perform the steps of the factory workshop scheduling control optimization method of this application.

[0040] A computer-readable storage medium is provided for another purpose of this application, which stores, in the form of computer-readable instructions, a computer program implemented according to the factory workshop scheduling control optimization method, which, when invoked by a computer, executes the steps included in the corresponding method.

[0041] Compared to existing technologies, this application addresses the shortcomings of existing precise methods, which require precise calculations for each solution, significantly increasing computational complexity and reducing efficiency. These methods struggle to quickly solve generalized job shop scheduling problems with forced parallel batch processing, and genetic algorithms for job shop scheduling suffer from weak local search capabilities, leading to premature convergence and getting trapped in local optima. This application offers the following advantages, including but not limited to:

[0042] Firstly, the MBs-GCETs neighborhood structure treats MPBPO as a whole task. Before exchanging edge tasks of critical path blocks, it uses triple condition checks (e.g., when there are MPBPO tasks, it ensures that the workpiece sets corresponding to the exchanged tasks do not overlap; when there are non-MPBPO tasks, it ensures that the exchanged tasks do not contain the same workpieces, etc.) to avoid violating parallel batch processing constraints from the source. At the same time, after the exchange, the association genes of the job machine sub-chromosome and the job time sub-chromosome are adjusted synchronously to ensure that the task, machine, and time are always matched, and to prevent infeasible solutions from arising due to constraint conflicts.

[0043] Secondly, the crossover operation is divided into MPBPO-related and unrelated task sets. It does not change the task order within a set, only swapping the task order sub-chromosome segments of the corresponding sets of the two parent generations, and simultaneously updating the machine and time sub-chromosomes to avoid task and resource mismatch after crossover. The mutation operation segments the task order sub-chromosomes using MPBPO as the dividing point, swapping tasks only within segments with a length of at least 2 and whose internal genes are not entirely identical, and simultaneously adjusting the machine and time genes of related workpieces to ensure that MPBPO constraints are still met after mutation. Furthermore, the set-based insertion-style population initialization is grouped according to workpieces involved in MPBPO, and sub-chromosome segments are generated independently and then aggregated. The initial population individuals naturally conform to MPBPO constraints, requiring no additional repair and reducing ineffective iteration costs.

[0044] Third, the MBs-GCETs neighborhood structure operates on multiple critical path blocks on the critical path sequentially according to probability, supporting multiple pairs of edge task swaps (e.g., when the number of critical block tasks is 3 or more and they are not the first or last block, the first and last blocks can be swapped together). The first block task swap can utilize the machine idle time before the critical block, and the last block task swap can utilize the idle time after the critical block and the idle time before the next critical block. Through multi-critical block collaborative optimization, the scheduling cycle is compressed to the maximum extent.

[0045] Fourth, the MBs-GCETs neighborhood structure supports multiple neighborhood operations on the same feasible solution, uncovering effective combinations for collaborative optimization of multiple key blocks. Compared to traditional neighborhood structures that can only exchange a pair of edge tasks once, the size of the neighborhood solution space is significantly expanded. At the same time, through probability control (such as setting the operation probability when the number of key block tasks is 2), the proportion of high-quality neighborhood solutions is increased, providing a better evolutionary direction for the genetic algorithm and avoiding the algorithm from getting trapped in local optima.

[0046] Fifth, an improved genetic algorithm incorporating the MBs-GCETs neighborhood structure is used. After the genetic operation is completed, multiple MBs-GCETs neighborhood operations are performed on some individuals in the population. Combined with the left shift and insertion decoding method based on active scheduling theory, the scheduling cycle is further compressed, which makes up for the weakness of the traditional genetic algorithm in local optimization and accelerates the convergence of the algorithm to the optimal solution.

[0047] Sixth, the adaptive crossover and mutation operator divides the population into three categories—superior, average, and poor—based on individual fitness, and assigns different crossover and mutation probabilities to each category. For superior individuals with high fitness, the probability is reduced to preserve high-quality genes; for poor individuals with low fitness, the probability is increased to improve solution quality; and for average individuals, a moderate probability is used to maintain population diversity. This mechanism avoids premature convergence and improves convergence speed, maintaining stable convergence even in large-scale generalized job shop scheduling problems with forced parallel batch processing. Attached Figure Description

[0048] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:

[0049] Figure 1 This is a flowchart illustrating the factory workshop scheduling and control optimization method in the embodiments of this application;

[0050] Figure 2 This is a schematic diagram of the earliest start and completion time Gantt chart for a feasible solution in an embodiment of this application;

[0051] Figure 3 This is a schematic diagram of the chromosome encoding corresponding to a feasible solution in an embodiment of this application;

[0052] Figure 4 This is a schematic diagram of the task sorting subchromosome, the task machine subchromosome, and the task time subchromosome in the embodiments of this application;

[0053] Figure 5 This is a schematic diagram illustrating the generation methods of the task sorting subchromosome, the task machine subchromosome, and the task time subchromosome in the embodiments of this application;

[0054] Figure 6 This is a schematic diagram illustrating the crossover operation of the task sorting subchromosome, the task machine subchromosome, and the task time subchromosome in the embodiments of this application;

[0055] Figure 7 This is a schematic diagram of the job task variation operation in the embodiments of this application;

[0056] Figure 8 This is a flowchart of the improved genetic algorithm in an embodiment of this application;

[0057] Figure 9 This is a schematic diagram of the factory workshop scheduling and control optimization device in the embodiments of this application;

[0058] Figure 10 This is a schematic diagram of the structure of the computer device in the embodiments of this application. Detailed Implementation

[0059] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application.

[0060] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in this application means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It should be understood that when we say an element is “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein can include wireless connections or wireless coupling. The term “and / or” as used herein includes all or any units and all combinations of one or more associated listed items.

[0061] It will be understood by those skilled in the art that, unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. It should also be understood that terms such as those defined in general dictionaries should be understood to have the same meaning as in the context of the prior art, and should not be interpreted in an idealized or overly formal sense unless specifically defined as herein.

[0062] Those skilled in the art will understand that the terms "client," "terminal," and "terminal device" as used herein include both devices that receive wireless signals, devices that only possess wireless signal receiver capabilities without transmission capabilities, and devices with receiving and transmitting hardware, devices that have receiving and transmitting hardware capable of bidirectional communication over a bidirectional communication link. Such devices may include: cellular or other communication devices such as personal computers or tablets, having single-line displays, multi-line displays, or cellular or other communication devices without multi-line displays; PCS (Personal Communications Service) that can combine voice, data processing, fax, and / or data communication capabilities; PDA (Personal Digital Assistant) that may include a radio frequency receiver, pager, internet / intranet access, web browser, notepad, calendar, and / or GPS (Global Positioning System) receiver; and conventional laptops and / or handheld computers or other devices that have and / or include radio frequency receivers. As used herein, "client," "terminal," and "terminal device" can be portable, transportable, installed in a means of transportation (air, sea, and / or land), or suitable and / or configured to operate locally and / or in a distributed manner, operating in any other location on Earth and / or in space. "Client," "terminal," and "terminal device" as used herein can also be a communication terminal, an internet access terminal, or a music / video playback terminal, such as a PDA, a MID (Mobile Internet Device), and / or a mobile phone with music / video playback capabilities, or a smart TV, set-top box, etc.

[0063] The hardware referred to by the names "server," "client," and "service node" in this application is essentially an electronic device with the equivalent capabilities of a personal computer. It is a hardware device with the necessary components revealed by the von Neumann architecture, such as a central processing unit (including an arithmetic logic unit and a control unit), memory, input devices, and output devices. The computer program is stored in its memory, and the central processing unit loads the program stored in the secondary storage into the main memory to run it, execute the instructions in the program, and interact with the input and output devices to complete specific functions.

[0064] It should be noted that the concept of "server" used in this application can also be extended to the case of server clusters. Based on the network deployment principles understood by those skilled in the art, the servers should be logically divided. Physically, these servers can be independent of each other but accessible through interfaces, or they can be integrated into a single physical computer or a computer cluster. Those skilled in the art should understand this flexibility and should not use it to constrain the implementation of the network deployment method in this application.

[0065] One or more of the technical features of this application, unless explicitly specified herein, can be deployed on a server and accessed by a client remotely calling the online service interface provided by the server, or can be directly deployed and run on a client for access.

[0066] Unless otherwise specified, the neural network models referenced or potentially referenced in this application may be deployed on a remote server and invoked remotely on the client, or deployed on a client with the capability to invoke directly. In some embodiments, when running on the client, the corresponding intelligence may be acquired through transfer learning in order to reduce the requirements on the client's hardware resources and avoid excessive consumption of the client's hardware resources.

[0067] Unless otherwise specified, all data involved in this application may be stored remotely on a server or on a local terminal device, as long as it is suitable for use by the technical solution of this application.

[0068] Those skilled in the art will understand that although the various methods in this application are described based on the same concept and thus present commonality among them, they can be performed independently unless otherwise specified. Similarly, the various embodiments disclosed in this application are all based on the same inventive concept; therefore, concepts expressed in the same way, as well as concepts that are appropriately changed for convenience but are expressed differently, should be understood equivalently.

[0069] Unless otherwise expressly stated, the various embodiments disclosed in this application can be combined in a cross-cutting manner to flexibly construct new embodiments, as long as such combination does not depart from the inventive spirit of this application and can meet the needs of the prior art or solve a certain deficiency in the prior art. Those skilled in the art should be aware of such modifications.

[0070] Please see Figure 1 In one embodiment of the factory workshop scheduling control optimization method of this application, the method includes:

[0071] Step S10: Obtain multiple MPBPO sets in the factory workshop, call the preset production scheduling control optimization algorithm, and construct the job task ordering subchromosome, job machine subchromosome, and job time subchromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing job tasks, and the forced parallel batch processing job task set represents a group of job tasks that need to perform parallel batch processing on related job tasks of multiple workpieces.

[0072] The factory workshop scheduling and control optimization system in the terminal device can acquire multiple MPBPO sets in the factory workshop, call a preset production scheduling and control optimization algorithm, and construct a task ordering sub-chromosome, a machine sub-chromosome, and a time sub-chromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing tasks, which represents a group of tasks requiring parallel batch processing of related tasks for multiple workpieces. The production scheduling and control optimization algorithm is an improved genetic algorithm, which is constructed by incorporating a basic genetic algorithm into an MBs-GCETs neighborhood structure.

[0073] In some embodiments, the task sorting subchromosome represents the workpiece number, wherein the gene positions containing multiple workpiece numbers in the task sorting subchromosome correspond one-to-one with the MPBPO set, and the order in which the same workpiece appears on the task sorting subchromosome is consistent with the task order; the task machine subchromosome represents the task machine number, and the task time subchromosome represents the actual task time; the MPBPO set at a certain gene position on the task sorting subchromosome, together with the same gene position on the task machine subchromosome and the task time subchromosome, points to the complete information of the same task.

[0074] Step S20: Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used for decoding. The job tasks on the job task sorting subchromosome are selected in sequence and inserted into the corresponding job machines. The idle time interval of the job machine is used first. If there is no idle interval, it is arranged after the last job task of the current job machine to generate an active scheduling solution.

[0075] After obtaining multiple MPBPO sets in the factory workshop, calling the preset production scheduling control optimization algorithm, constructing the task sorting subchromosome, the machine subchromosome, and the time subchromosome to generate an expression scheduling solution, based on the machine subchromosome and the time subchromosome, the left shift insertion method based on the active scheduling theory is used for decoding, and the tasks on the task sorting subchromosome are selected in sequence and inserted into the corresponding machines. The idle time interval of the machine is used first. If there is no idle interval, it is arranged after the last task of the machine to generate an active scheduling solution.

[0076] In some embodiments, based on the job machine sub-chromosome and the job time sub-chromosome, a left-shift insertion method based on active scheduling theory is used for decoding. Job tasks on the job task sorting sub-chromosome are sequentially selected and inserted into the corresponding job machines, prioritizing the use of idle time intervals of the job machines. If no idle time interval is available, the task is arranged after the last job task of the current job machine. The steps for generating an active scheduling solution include:

[0077] Step S201: Based on the job machine subchromosome and the job time subchromosome, the job task sorting subchromosome is decoded using the left shift insertion method based on active scheduling theory;

[0078] Step S202: Select the tasks on the task sorting subchromosome in sequence, determine the corresponding task machine according to the task machine subchromosome, and prioritize finding the idle time interval between the tasks already completed on the task machine. If there is an idle time interval that meets the task's requirements, insert the task into the earliest available idle interval.

[0079] Step S203: If there is no available idle time interval, the job task is arranged after the last job task of the job machine to generate an active scheduling solution.

[0080] Step S30: Assign workpieces that are not related to all MPBPO sets to the first workpiece set. Assign workpieces corresponding to each MPBPO set to a set to determine the second workpiece set. Generate job task sorting sub-chromosome fragments for the first workpiece set and the second workpiece set separately. After summarizing, fill the corresponding job machine number and job time into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. Merge the job task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome to obtain the initial chromosome to generate the initial population individuals.

[0081] Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used for decoding. Job tasks on the job task sorting subchromosome are selected sequentially and inserted into the corresponding job machines. The idle time interval of the job machine is utilized first. If there is no idle interval, the job task is arranged after the last job task of the job machine. After generating the active scheduling solution, the job tasks that are not related to all MPBPO sets are grouped into the first job set. The job tasks corresponding to each MPBPO set are grouped into a set to determine the second job set. The first job set and the second job set are used to generate job task sorting subchromosome segments. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine subchromosome and the job time subchromosome, respectively. The job task sorting subchromosome, the job machine subchromosome and the job time subchromosome are merged to obtain the initial chromosome to generate the initial population individuals.

[0082] In some embodiments, the steps of generating task sorting sub-chromosome segments independently from the first workpiece set and the second workpiece set, summarizing them, filling the corresponding machine number and time into the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome, and merging the task sorting sub-chromosome, machine sub-chromosome, and time sub-chromosome to obtain an initial chromosome to generate an initial population of individuals include:

[0083] Step S301: Independently generate task sorting sub-chromosome fragments for the first workpiece set and the second workpiece set respectively. Summarize each task sorting sub-chromosome fragment. According to the machine information and time information corresponding to each task in the task sorting sub-chromosome fragment, fill in the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome respectively. The genes of the machine sub-chromosome and the genes of the task sorting sub-chromosome correspond one-to-one in order to indicate the machine of the task. The genes of the time sub-chromosome and the genes of the task sorting sub-chromosome correspond one-to-one in order to indicate the time of the task.

[0084] Step S302: Merge the task sorting sub-chromosome, the task machine sub-chromosome, and the task time sub-chromosome to obtain an initial chromosome and generate an initial population of individuals.

[0085] Step S40: Perform genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select individuals with high fitness and a population size as the next generation initial population.

[0086] The workpieces unrelated to all MPBPO sets are grouped into the first workpiece set. The workpieces corresponding to each MPBPO set are grouped into a set to determine the second workpiece set. The first workpiece set and the second workpiece set are each used to generate a task sorting sub-chromosome fragment. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. The task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome are merged to obtain the initial chromosome. After generating the initial population individuals, genetic operations including selection, crossover, mutation and population screening are performed on the initial population individuals to select the population individuals with high fitness and a population size as the next generation initial population.

[0087] In some embodiments, the steps of performing genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select individuals with high fitness and a population size as the next generation initial population include:

[0088] Step S401: Using the reciprocal of the maximum completion time as the fitness function, the cumulative probability is calculated based on the fitness value of individuals in the population using the roulette wheel method, and individuals in the population are selected to be inherited into the next generation of candidate populations for selection operation;

[0089] Step S402: Perform restricted crossover between the relevant task sets and irrelevant task sets of the MPBPO set, keeping the task order in each set unchanged, swap the task order sub-chromosome segments of the two parent sets, and synchronously update the genes corresponding to the task machine sub-chromosome and task time sub-chromosome to generate offspring population individuals for crossover operation.

[0090] Step S403: Using the MPBPO set as the dividing point, the task sorting subchromosomes are segmented. From the segments with a length of not less than 2 and whose internal genes are not all the same, two task genes are randomly selected and swapped. The corresponding machines and times of all tasks of the workpieces involved by the original two task genes are taken out and filled into the positions of the machine subchromosomes and the corresponding time subchromosomes of the task of each workpiece after the two genes are swapped, in order of the task of each workpiece. This is to maintain the matching of task, machine, and time for mutation operation.

[0091] Step S404: Perform population screening. Merge the initial population individuals before the selection operation, the offspring population individuals generated by crossover, and the mutated population individuals into a new population. Calculate the fitness value of all population individuals in the new population. Select the population individuals with the highest fitness value and whose number is equal to the population size as the initial population of the next generation.

[0092] Step S50: Repeat step S40 until the preset number of iterations is reached, and output the production scheduling scheme with the highest fitness that satisfies the MPBPO set constraints and has the best earliest completion time.

[0093] In some embodiments, the steps of repeating the process until a preset number of iterations are reached, and outputting the production scheduling scheme with the highest fitness corresponding to the one that satisfies the MPBPO set constraints and has the optimal earliest completion time, include:

[0094] Repeatedly perform the genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select the individuals with high fitness and a population size as the next generation initial population, until the preset number of iterations is reached, and output the production scheduling scheme that satisfies the MPBPO set constraints and has the earliest completion time corresponding to the highest fitness.

[0095] The GJSP_MPBPO problem in this application uses the MPBPO set as the core constraint and an improved genetic algorithm as the solution framework. The improved genetic algorithm is constructed by incorporating a neighborhood structure of MBs-GCETs into a basic genetic algorithm. GJSP_MPBPO, short for Generalized Job Shop Scheduling Problem with Mandatory Parallel Batch Processing Operations, is an extension of the traditional Job Shop Scheduling Problem (JSP). Its core is the integration of mandatory parallel batch processing operations (MPBPO) constraints within the generalized job shop scheduling framework.

[0096] In some embodiments, the MBs-GCETs neighborhood structure represents multiple pairs of edge task exchange operations moving concurrently across multiple critical path blocks. Conditional judgments and exchange operations are performed on the edge task pairs of each critical task block according to probability. The exchange operation for each critical path block on the critical path is performed based on the completion of the exchange operation for the previous critical path block, and then the operation is performed on the next critical path block. The specific exchange situation for each critical path block is determined by a probability value, which is chosen based on the number of critical tasks on the critical path block and the position of the critical path block on the critical path. Operations are performed sequentially from the first critical path block on the critical path. When performing task exchange and calculating the number of tasks, MPBPO is a collection of multiple tasks, but it is still treated as a whole and processed as a single task.When the number of critical tasks on a critical path block is 2, there is a 50% probability that a conditional check will be performed, and the swap operation will only be performed if the swap conditions are met. There is also a 50% probability that no conditional check will be performed and no operation will be performed, directly proceeding to the next critical path block. When the number of critical tasks on a critical path block is 3 or more, and this critical path block is the first (or last) block on the critical path, there is a 50% probability that a conditional check will be performed on the last two tasks (or the first two tasks) of this critical path block, and the swap operation will only be performed if the swap conditions are met. There is a 25% probability that no conditional judgment is performed and no operation is executed when the number of critical tasks on a critical path block is 3 or more and the critical path block is neither the first nor the last block on the critical path. If the condition for swapping is met, the first two tasks are swapped. If the condition for swapping is met, the first two tasks are swapped. If the condition for swapping is met, the last two tasks are swapped. If the condition for swapping is met, the last two tasks are swapped. There is a 25% probability that no conditional judgment is performed and no operation is executed. The operation has a 25% probability of first performing a conditional check on the first two tasks of the critical path block. If the condition is met, the first two tasks are swapped. If the number of critical tasks on the critical path block is 3, the first and last tasks are then checked for conditional checks after the first two tasks have been swapped. If the condition is met, the first and last tasks are swapped again. If the number of critical tasks on the critical path block is 4 or more, the first two tasks are swapped. After the task exchange is completed, the two tasks at the end of the original block are conditionally checked. If the conditions are met, the exchange operation for the two tasks at the beginning of the block continues after the exchange of the two tasks at the end of the original block is completed. If the two tasks at the beginning of the block do not meet the exchange conditions, the conditions for the two tasks at the end of the critical path block are conditionally checked. If the two tasks at the end of the block meet the exchange conditions, the exchange operation for these two tasks is performed. If the two tasks at the end of the block do not meet the exchange conditions, no operation is performed, and the process proceeds directly to the next critical path block. There is a 25% probability that no conditional check is performed and no operation is performed.

[0097] Figure 2 The image shows a Gantt chart of the earliest start and completion times for a feasible solution. Figure 2The diagram above shows the critical path blocks that can be operated on using the MBs-GCETs neighborhood structure. There are four critical path blocks with at least two critical tasks, as shown by the dashed boxes in the diagram, and they are numbered according to the order in which they appear on the critical path. The MBs-GCETs neighborhood structure operates on these four critical path blocks sequentially according to their numbers, ensuring that the neighborhood operations on the previous critical path block are preserved before operating on the current critical path block. For example, regardless of whether O in critical path block ①... 32 With O 62 Whether the two critical tasks have been swapped depends on whether a neighborhood operation is required on critical path block ②. Such operations are always performed after the operation on critical path block ① has been completed. If two consecutive neighborhood operations are performed on critical path block ② (assuming the condition is met), due to O... 63 With O 33 These two critical tasks and u1={O 12 O 55}, u2={O 22 O 43 The workpieces involved are irrelevant. Based on the judgment conditions, the first two tasks O of the critical path block ② are... 63 With O 33 Perform a swap operation, at which point O 63 With O 33 The processing sequence on machine M6 has been changed, namely O 33 Before, O 63 Then, based on this, O 63 With O 54 Perform a condition check; if the condition is met, swap O. 63 With O 54 At this point, the processing order of the tasks on the critical path block ② has changed from the original O after neighborhood operations. 63 →O 33 →O 54 Change to O 33 →O 54 →O 63 .

[0098] The neighborhood structure operation method of MBs-GCETs is quite different from that of the traditional N5 neighborhood structure operation method. Especially when the number of critical tasks on the critical path block is 3, it takes into account the parallel batch processing situation. Moreover, the overall exchange operation method is more novel and flexible, expanding the scale of neighborhood solutions. By performing neighborhood operations on the same feasible solution multiple times, more powerful combinations of effective block edge task pairs can be fully explored, maximizing the optimization effect on the maximum completion time and generating more and higher quality neighborhood solutions.

[0099] In some embodiments, this application designs novel encoding and decoding methods, population initialization methods, and appropriate crossover mechanisms to ensure population diversity and mutation mechanisms to prevent the improved genetic algorithm from getting trapped in local optima. The MBs-GCETs neighborhood structure is incorporated into the basic genetic algorithm to determine the improved genetic algorithm of this application, increasing the search range of neighborhood solutions and improving the algorithm's local optimization capability.

[0100] In some embodiments, the design of the improved genetic algorithm is as follows: In order to solve the GJSP_MPBPO problem, this application combines the characteristics of the GJSP_MPBPO problem and improves the basic genetic algorithm by incorporating the MBs-GCETs neighborhood structure into the basic genetic algorithm to design an improved genetic algorithm (IGA) for solving the GJSP_MPBPO problem.

[0101] In a further embodiment, chromosome encoding and decoding: Compared to the traditional job shop scheduling problem, the GJSP_MPBPO problem has more job task constraints and is more difficult to solve, requiring the use of genetic algorithms. To facilitate the determination of job task order and reduce the complexity of subsequent neighborhood operations, this application draws on the most classic encoding method of the traditional job shop scheduling problem: process-based encoding. This application adopts job task-based encoding, combining the neighborhood movement of job tasks with the job task-based encoding method, and expressing the solution of the problem in the form of chromosomes. For the GJSP_MPBPO problem, genetic operations or neighborhood structure operations are performed based on process encoding, using a three-level integer encoding structure. Job information is expressed through three sub-chromosomes: job task order, job machine, and job time. The three sub-chromosomes are of the same length. Among them, the genes on the job task ordering sub-chromosome are represented by job numbers. Each gene position represents a job task. When there is more than one job at a certain gene position, that position represents MPBPO. The order in which the same job appears from left to right on the job task ordering sub-chromosome is consistent with the job task order of that job. The genes on the machine sub-chromosome are represented by machine numbers, which correspond one-to-one with the genes on the task sorting sub-chromosome in sequence, thus representing the machine for that task. The genes on the task time sub-chromosome are represented by actual task time, which correspond one-to-one with the genes on the task sorting sub-chromosome and the machine sub-chromosome in sequence, thus representing the actual task time on the machine. Figure 3 The diagram shows the chromosome encoding corresponding to a feasible solution, where the shaded area represents the MPBPO set.

[0102] Decoding employs a left-shift insertion method based on active scheduling theory, ensuring that each chromosome generates an actively scheduled solution. Specifically, decoding is performed sequentially according to the task order on the task-sorting sub-chromosome. Each task is inserted into its corresponding machine. During insertion, every available time interval between already completed tasks on the corresponding machine is fully explored. If multiple available time intervals exist, the start time of the task is advanced as much as possible. If no available time intervals exist, the task is scheduled to run after the last task on the corresponding machine. This makes the entire task process more compact and efficient, resulting in a shorter maximum completion time. The specific steps of the decoding method are as follows:

[0103] Step 1: Set SC = zeros(2,L) to record the start and end times of each job task, where L is the length of the job task sorting subchromosome; set MP = zeros(1,M) and JP = zeros(1,N) to record the end times of the preceding jobs for each machine and each workpiece, respectively. Initially, k = 1.

[0104] Step 2: Select the k-th task u on the sorted subchromosome in sequence, u = {O ij O pq ,...,O yz}, 1≤k≤L, and obtain the job machine m and job time p corresponding to the job task u from the job machine sub-chromosome and the job machine sub-chromosome, respectively. u The initial start time for assignment u is determined.

[0105] Step 3: Find several idle time intervals [its,ite] for machine m. If at least one interval [its,ite] satisfies max(S u ',its)+p u If the value is less than or equal to ite, take the interval [its,ite] corresponding to the minimum value of its and go to step 4; otherwise, go to step 5.

[0106] Step 4: Start time S of task u u =max(S) u ',its), the task completion time C of task u. u =S u +p u If (S) u =its)∧(C u =ite), delete the interval [its,ite]; if (S u =its)∧(C u <ite), update the interval [its,ite] to [Cu [,ite];If Update the interval [its,ite] to [its,S] u ]; If (S u <its)∧(C u <ite), update the interval [its,ite] to two new intervals [its,S] u ] and [C u ,ite].

[0107] Step 5: S u =max{S u ',MP u}, C u =S u +p u If S u >MP u Add a free interval [its',ite'] = [MP on machine m] u ,S u MP(m)=C u JP(i / p / ... / y)=C u .

[0108] Step 6: Update SC(1,k) = S u ,SC(2,k)=C u .

[0109] Step 7: k = k + 1. If k ≤ L, go to step 2; otherwise, go to step 8.

[0110] Step 8: End.

[0111] Furthermore, population initialization: Due to the existence of the MPBPO set, there are task order constraints between some tasks. This application proposes a set-based insertion population initialization method, which divides the tasks involved in the MPBPO into different sets, with tasks unrelated to the MPBPO forming a separate set. Each set generates its own corresponding task ordering sub-chromosome fragment. Then, all sub-chromosome fragments are aggregated into a task ordering sub-chromosome of the chromosome. Based on the tasks on the task ordering sub-chromosomes, the corresponding machine number is filled into the corresponding position of the machine sub-chromosome, and the corresponding machine's operation time is filled into the corresponding position of the operation time sub-chromosome. Finally, the three sub-chromosomes are merged into one chromosome, and the initial population individuals are all generated using this initialization method.

[0112] by Figure 4 Taking the task sorting sub-chromosome, task machine sub-chromosome, and task time sub-chromosome as examples, their generation methods are as follows: Figure 5 As shown, u1 is O12 and O 43 The parallel batch processing job involves jobs J1 and J4, each with 3 job tasks. Due to the parallel batch processing of the job tasks, there are actually 5 job tasks in total, forming set A. Therefore, O... 11 O 41 and O 42 All before u1, O 13 After u1, the first three positions in A are a random permutation of 1, 4, 4, the fourth position is u1, and the fifth position is 1. u2 is 0. 22 and O 52 The parallel batch processing job tasks, whose job task encoding involves the workpieces, can be similarly encoded into set B. The remaining workpieces unrelated to MPBPO are encoded by randomly arranging them according to the workpiece number, resulting in set C. The set D is the gene composition set on the job task sorting sub-chromosome. Let length represent the set length, then length(D) is the total length of sets A, B, and C. Randomly and without repetition, length(A), length(B), and length(C) positions are selected from set D. The elements of sets A, B, and C are sequentially filled into set D according to the order of the selected positions. Once the elements at all positions in D are determined, the job task sorting part of the encoding is completed. Then, according to the job task sorting in set D, the corresponding job machine and job time are determined, and job machine sub-chromosomes and job time sub-chromosomes are generated respectively. Finally, the three sub-chromosomes are merged into a total chromosome, representing an initial solution.

[0113] Furthermore, the selection operation: In genetic algorithms, fitness is the degree to which an individual adapts to its environment. Individuals with high fitness values ​​have a greater chance of survival and a higher probability of being passed on to the next generation, while individuals with low fitness values ​​will be eliminated. This application uses the reciprocal of the objective function as the fitness function f. Following a roulette wheel approach, it calculates the cumulative probability based on the fitness value and selects individuals to be passed on to the next generation, using the individual's fitness to guide the evolutionary direction.

[0114] Furthermore, crossover and mutation operations: Both crossover and mutation operations are mechanisms for generating new individuals.

[0115] like Figure 6 As shown, crossover is an important operation that mixes the genes of different superior individuals to produce offspring with a better gene combination. Common crossover operations include single-point crossover, multi-point crossover, uniform crossover, sequential crossover, step-by-step crossover, and extended sequential crossover. If the effects of MPBPO are not considered, directly applying these crossover operations to the GJSP_MPBPO problem can easily lead to infeasible solutions.

[0116] To ensure that all individuals generated by crossover are feasible solutions, the influence of MPBPO is considered, and a restricted crossover is performed using a set-based crossover approach. First, crossover is performed on the task-ordered sub-chromosomes. All tasks of all jobs related to MPBPO jobs are grouped into one set, and tasks of jobs unrelated to MPBPO jobs are grouped into another set. The order of tasks within each set is not changed during crossover. Two parent generations are randomly selected: Parent 1 and Parent 2. All tasks of jobs related to MPBPO jobs in Parent 1 are sequentially replaced with all tasks of jobs related to MPBPO jobs in Parent 2. The same operation is performed on the job machine sub-chromosome and the job time sub-chromosome, thus generating Child 1. Similarly, all tasks of jobs related to MPBPO jobs in Parent 2 are sequentially replaced with all tasks of jobs related to MPBPO jobs in Parent 1. The same operation is performed on the job machine sub-chromosome and the job time sub-chromosome, thus generating Child 2.

[0117] To obtain a better population and accelerate convergence, an adaptive crossover and mutation operator is proposed. Individuals in the population are divided into three categories: the top 20% of individuals by fitness value are considered superior individuals, and their crossover and mutation probabilities should be appropriately reduced to preserve their superior genes; the bottom 20% of individuals by fitness value are considered inferior individuals, and their crossover and mutation rates should be appropriately increased to increase the probability of generating superior individuals; the remaining individuals are called ordinary individuals, and crossover and mutation are performed with a relatively moderate crossover and mutation rate. The adaptive crossover and mutation rates described by piecewise functions are shown in equations (4.1) and (4.2).

[0118]

[0119] Among them, f max f min f represents the maximum and minimum fitness values ​​in the population, respectively. i Let represent the fitness value of individual i, and s be some extremely small positive real number.

[0120] Furthermore, mutation operations: Mutation is an important component of genetic operations. It increases population diversity, affects the algorithm's search for local solutions, and prevents premature convergence. For JSP, common mutation methods include single-point mutation, swap mutation, insertion mutation, and reverse mutation. These mutation methods all have strong randomness and do not consider the constraints of preceding tasks imposed by forced parallel batch processing. If directly applied to the gene mutation of the task sequence in the GJSP_MPBPO problem of this application, it is very easy to mutate infeasible individuals. Therefore, these mutation methods are referenced and improved for application to this problem.

[0121] Furthermore, for the GJSP_MPBPO problem, a segmented two-point exchange mutation approach is adopted, using the job task sorting chromosome as the starting point for mutation operations. Taking the MPBPO job task as the dividing point, the job task sorting chromosome is divided into several segments. As long as the segment length between the dividing points is not less than 2 and the genes within the segments are not all identical, two job task genes are randomly selected from these gene segments for exchange. Simultaneously, the corresponding machines and times for all jobs involved in the original two job task genes are extracted and sequentially filled into the positions of the machine sub-chromosomes and the corresponding time sub-chromosomes for each job task after the gene exchange, in the order of each job task. This ensures that the machine and time corresponding to each job task are the same as before mutation (consistency adjustment). The specific job task mutation operation is as follows: Figure 7 As shown.

[0122] Furthermore, the individuals that have undergone crossover and mutation are combined with the individuals before the selection operation to form a new population. Fitness values ​​are calculated, and an elite retention strategy is employed to select the top N individuals from the new population, with the same population size as the previous one, based on their fitness values. pop Each individual then enters the next iteration. This allows the superior genes of excellent individuals to be continuously preserved and used for subsequent genetic operations.

[0123] In some embodiments, two novel neighborhood structures are proposed for the GJSP_MPBPO problem: MBs-GCETs and R-GCETs. The MBs-GCETs neighborhood structure has higher quality search solutions and better stability. Therefore, this application incorporates the superior MBs-GCETs into the basic genetic algorithm to determine the improved genetic algorithm designed in this application, so as to enhance the local search capability of the algorithm. The improved genetic algorithm (IGA) incorporating MBs-GCETs is called the MIGA algorithm.

[0124] Furthermore, such as Figure 8 As shown, Figure 8 The diagram shows the MIGA algorithm flowchart. In the MIGA algorithm, performing MBs-GCETs neighborhood operations may require multiple swaps of block edge task pairs, resulting in multiple changes to gene values ​​on the chromosome. If the constraints between multiple tasks caused by forced parallel batch processing are ignored and block edge tasks are swapped, it may not only fail to shorten the maximum completion time but also easily generate infeasible solutions, especially when integrated with intelligent algorithms. When MBs-GCETs are integrated with IGA, to ensure that all generated neighborhood solutions are feasible, a preliminary condition check is required before each swap of block edge tasks. Tasks u and v can only be swapped if the swap conditions are met.

[0125] Furthermore, the conditions for ensuring a feasible solution: When studying the neighborhood structure of MBs-GCETs in the GJSP_MPBPO problem, a series of constraints brought about by MPBPO need to be considered. When exchanging tasks, the genes on the chromosome will change, and the task order constraint must be satisfied to avoid generating infeasible solutions and to avoid repairing infeasible solutions. Therefore, condition judgment must be performed before the operation. The specific condition judgment is as follows:

[0126] When determining if a swap operation is needed, let the two jobs at the critical path block edge that require the swap operation be u and v (u precedes v). Both u and v could be MPBPO. The positions of u and v on the job sorting sub-chromosome are l and l, respectively. u and l v , This indicates the task ordering subchromosome from l u Location to l v The job task set consisting of all job tasks at a location. This indicates the task ordering subchromosome from l u Location to l v The set of job tasks excluding u and v. This indicates the task ordering subchromosome from l u Location to l v The set of workpieces corresponding to all job tasks at a location. This indicates the task ordering subchromosome from l u Location to l v The set of workpieces corresponding to the job tasks other than u and v, J u For the workpiece to which task u belongs (when u is MPBPO, J u For MPBPO involving a set of workpieces, the exchange operation between job tasks u and v will only be performed if any of the following conditions are met.

[0127] (1) The task set, composed of various tasks, contains MPBPO tasks, and at the same time... J is not included u and J v Any workpiece in the set of workpieces.

[0128] (2) None of the tasks in the list are MPBPO tasks, and J u and J v It does not contain the same workpiece.

[0129] (3)J u and J v Do not contain the same workpiece, and at the same time J is not included u and J v Any workpiece in the set of workpieces.

[0130] Further, local search: After the genetic operations are completed, MBs-GCETs neighborhood operations are performed, selecting individuals whose neighborhood operations are performed as a percentage of the population size N. pop If the ratio is λ and the neighborhood operation is based on the critical path, then it is necessary to actively decode each individual that selects the neighborhood operation to generate an active scheduling solution. Based on this, the critical path is found, and the critical block and block edge operation task pairs are determined.

[0131] Furthermore, before swapping block edge tasks for u and v, a condition check is first performed. If the condition is met, the task is sorted onto the sub-chromosome l. u Position and l v The genes for position are swapped, and then the genes on the swapped machine sub-chromosome and the time sub-chromosome are adjusted to ensure consistency. This ensures that the machines and times corresponding to all tasks remain the same after the swap. It also ensures that only the order of tasks u and v on the corresponding machines of the machine sub-chromosome changes, while the order of other tasks on the corresponding machines of the machine sub-chromosome remains unchanged. This further ensures that the neighborhood solutions generated by swapping tasks u and v are all feasible solutions.

[0132] After each block edge operation task completes a swap, the chromosome must be updated. The next operation operates on the updated chromosome until the individual's neighborhood operation is completed. The MBs-GCETs neighborhood operation is repeated 10 times for the same individual to generate a corresponding neighborhood solution. After all selected individuals have generated neighborhood solutions, the chromosomes corresponding to the neighborhood solutions are deduplicated. Then, the deduplicated neighborhood individuals, after genetic operations, are merged with the previous generation to form a new population. Active decoding is performed, and the fitness values ​​of individuals in the new population are calculated. The top N individuals with the highest fitness values ​​in the new population are selected. pop Each individual serves as the initial population for the next generation.

[0133] Performing neighborhood operations on the initial solution after decoding using the left-shift insertion method based on active scheduling theory will increase the difficulty of optimization. However, actively scheduling and decoding the chromosome again after neighborhood operations may make the improved neighborhood solution closer to the optimal solution.

[0134] As can be seen from the above embodiments, firstly, the MBs-GCETs neighborhood structure treats MPBPO as a whole task for processing. Before exchanging edge tasks of critical path blocks, it uses triple condition judgment (e.g., when there are MPBPO tasks, it ensures that the workpiece sets corresponding to the exchanged tasks do not overlap; when there are non-MPBPO tasks, it ensures that the exchanged tasks do not contain the same workpieces, etc.) to avoid violating parallel batch processing constraints from the source. At the same time, after the exchange, the association genes of the job machine sub-chromosome and the job time sub-chromosome are adjusted synchronously to ensure that the task, machine, and time are always matched, and to prevent infeasible solutions from arising due to constraint conflicts.

[0135] Secondly, the crossover operation is divided into MPBPO-related and unrelated task sets. It does not change the task order within a set, only swapping the task order sub-chromosome segments of the corresponding sets of the two parent generations, and simultaneously updating the machine and time sub-chromosomes to avoid task and resource mismatch after crossover. The mutation operation segments the task order sub-chromosomes using MPBPO as the dividing point, swapping tasks only within segments with a length of at least 2 and whose internal genes are not entirely identical, and simultaneously adjusting the machine and time genes of related workpieces to ensure that MPBPO constraints are still met after mutation. Furthermore, the set-based insertion-style population initialization is grouped according to workpieces involved in MPBPO, and sub-chromosome segments are generated independently and then aggregated. The initial population individuals naturally conform to MPBPO constraints, requiring no additional repair and reducing ineffective iteration costs.

[0136] Third, the MBs-GCETs neighborhood structure operates on multiple critical path blocks on the critical path sequentially according to probability, supporting multiple pairs of edge task swaps (e.g., when the number of critical block tasks is 3 or more and they are not the first or last block, the first and last blocks can be swapped together). The first block task swap can utilize the machine idle time before the critical block, and the last block task swap can utilize the idle time after the critical block and the idle time before the next critical block. Through multi-critical block collaborative optimization, the scheduling cycle is compressed to the maximum extent.

[0137] Fourth, the MBs-GCETs neighborhood structure supports multiple neighborhood operations on the same feasible solution, uncovering effective combinations for collaborative optimization of multiple key blocks. Compared to traditional neighborhood structures that can only exchange a pair of edge tasks once, the size of the neighborhood solution space is significantly expanded. At the same time, through probability control (such as setting the operation probability when the number of key block tasks is 2), the proportion of high-quality neighborhood solutions is increased, providing a better evolutionary direction for the genetic algorithm and avoiding the algorithm from getting trapped in local optima.

[0138] Fifth, an improved genetic algorithm incorporating the MBs-GCETs neighborhood structure is used. After the genetic operation is completed, multiple MBs-GCETs neighborhood operations are performed on some individuals in the population. Combined with the left shift and insertion decoding method based on active scheduling theory, the scheduling cycle is further compressed, which makes up for the weakness of the traditional genetic algorithm in local optimization and accelerates the convergence of the algorithm to the optimal solution.

[0139] Sixth, the adaptive crossover and mutation operator divides the population into three categories—superior, average, and poor—based on individual fitness, and assigns different crossover and mutation probabilities to each category. For superior individuals with high fitness, the probability is reduced to preserve high-quality genes; for poor individuals with low fitness, the probability is increased to improve solution quality; and for average individuals, a moderate probability is used to maintain population diversity. This mechanism avoids premature convergence and improves convergence speed, maintaining stable convergence even in large-scale generalized job shop scheduling problems with forced parallel batch processing.

[0140] Please see Figure 9 A factory workshop scheduling control optimization device provided for one of the purposes of this application includes a chromosome encoding construction module 1100, a chromosome decoding module 1200, a population initialization module 1300, a genetic operation module 1400, and a scheduling scheme output module 1500. The chromosome encoding construction module 1100 is configured to acquire multiple MPBPO sets in the factory workshop, call a preset production scheduling control optimization algorithm, and construct a task ordering sub-chromosome, a machine sub-chromosome, and a time sub-chromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing tasks, and the forced parallel batch processing task set represents a group of tasks requiring parallel batch processing of related tasks for multiple workpieces. The chromosome decoding module 1200 is configured to decode based on the machine sub-chromosome and the time sub-chromosome using a left-shift insertion method based on active scheduling theory. Tasks on the task ordering sub-chromosome are sequentially selected and inserted into the corresponding machines, prioritizing the use of idle time intervals. If no idle time interval is available, tasks are arranged after the last task of the current machine, generating an active scheduling solution. The population initialization module 1300 is configured to initialize populations independent of all MPBPO sets. The workpieces are grouped into a first workpiece set, and the workpieces corresponding to each MPBPO set are grouped into a set to determine a second workpiece set. The first workpiece set and the second workpiece set are each used to generate a task sorting sub-chromosome fragment. After summarizing, the corresponding machine number and time are filled into the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome, respectively. The task sorting sub-chromosome, machine sub-chromosome, and time sub-chromosome are merged to obtain an initial chromosome to generate an initial population of individuals. The genetic operation module 1400 is configured to perform genetic operations including selection, crossover, mutation, and population screening on the initial population of individuals to select the individuals with high fitness and a population size as the next generation of initial population. The scheduling scheme output module 1500 is configured to repeat the process until a preset number of iterations, and output the production scheduling scheme corresponding to the highest fitness that satisfies the MPBPO set constraints and has the optimal earliest completion time.

[0141] Based on any embodiment of this application, please refer to Figure 10 Another embodiment of this application also provides an electronic device, which can be implemented by a computer device, such as... Figure 10 The diagram shows the internal structure of a computer device. The computer device includes a processor, a computer-readable storage medium, a memory, and a network interface connected via a system bus. The computer-readable storage medium stores an operating system, a database, and computer-readable instructions. The database may store control information sequences. When the computer-readable instructions are executed by the processor, the processor can implement a factory workshop scheduling control optimization method. The processor of the computer device provides computing and control capabilities to support the operation of the entire computer device. The memory of the computer device may store computer-readable instructions. When the computer-readable instructions are executed by the processor, the processor can execute the factory workshop scheduling control optimization method of this application. The network interface of the computer device is used for communication with a terminal. Those skilled in the art will understand that… Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0142] In this embodiment, the processor is used to execute... Figure 9 The specific functions of each module are defined within the device, and the memory stores the program code and various data required to execute these modules or sub-modules. A network interface is used for data transmission between the user terminal and the server. In this embodiment, the memory stores the program code and data required to execute all modules in the factory workshop scheduling and control optimization device of this application, and the server can call the server's program code and data to execute the functions of all modules.

[0143] This application also provides a storage medium storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps of the factory job shop scheduling control optimization method described in any embodiment of this application.

[0144] This application also provides a computer program product, including a computer program / instructions that, when executed by one or more processors, implement the steps of the factory job shop scheduling control optimization method described in any embodiment of this application.

[0145] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. This computer program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The aforementioned storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0146] The above description is only a partial embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for optimizing the scheduling and control of factory workshops, characterized in that, include: Multiple MPBPO sets are obtained in the factory workshop. A preset production scheduling control optimization algorithm is called to construct a task ordering subchromosome, a machine subchromosome, and a time subchromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing tasks, and the forced parallel batch processing task set represents a group of tasks that need to perform parallel batch processing on related tasks of multiple workpieces. Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used for decoding. The job tasks on the job task sorting subchromosome are selected in sequence and inserted into the corresponding job machines. The idle time interval of the job machine is used first. If there is no idle interval, it is arranged after the last job task of the current job machine to generate an active scheduling solution. The workpieces that are not related to any MPBPO set are grouped into the first workpiece set. The workpieces corresponding to each MPBPO set are grouped into a set to determine the second workpiece set. The first workpiece set and the second workpiece set are each used to generate a task sorting sub-chromosome fragment. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. The task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome are merged to obtain the initial chromosome to generate the initial population individuals. Genetic operations, including selection, crossover, mutation, and population screening, are performed on the individuals in the initial population to select individuals with high fitness and a population size as the next generation initial population. Repeat the process until the preset number of iterations is reached, and output the production scheduling scheme with the highest fitness that satisfies the MPBPO set constraints and has the earliest completion time.

2. In the factory workshop scheduling and control optimization method according to claim 1, the task sorting sub-chromosome represents the workpiece number, wherein, The gene positions containing multiple workpiece numbers in the task sorting subchromosome correspond one-to-one with the MPBPO set, and the order in which the same workpiece appears on the task sorting subchromosome is consistent with the task order. The sub-chromosome of the working machine represents the working machine number, and the sub-chromosome of the working time represents the actual working time; The set of MPBPOs at a certain gene position on the task sorting sub-chromosome, together with the same gene position on the task machine sub-chromosome and the task time sub-chromosome, points to the complete information of the same task.

3. The factory workshop scheduling and control optimization method according to claim 2, characterized in that, Based on the job machine sub-chromosome and the job time sub-chromosome, the left-shift insertion method based on active scheduling theory is used for decoding. Job tasks on the job task sorting sub-chromosome are sequentially selected and inserted into the corresponding job machines, prioritizing the use of idle time intervals. If no idle time interval is available, the task is scheduled after the last job task of the current job machine. The steps for generating an active scheduling solution include: Based on the job machine subchromosome and the job time subchromosome, the left shift insertion method based on active scheduling theory is used to decode the job task sorting subchromosome; The tasks on the task sorting subchromosome are selected in sequence, and the corresponding task machine is determined according to the task machine subchromosome. The idle time interval between the tasks already completed on the task machine is searched first. If there is an idle time interval that meets the task's requirements, the task is inserted into the earliest available idle interval. If no available idle time interval exists, the job task will be scheduled after the last job task currently being performed on the job machine to generate an active scheduling solution.

4. The factory workshop scheduling and control optimization method according to claim 2, characterized in that, The steps of generating task sorting sub-chromosome segments independently from the first workpiece set and the second workpiece set, summarizing them, filling the corresponding machine number and time into the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome, and merging the task sorting sub-chromosome, machine sub-chromosome, and time sub-chromosome to obtain the initial chromosome, to generate the initial population individuals, include: For the first set of workpieces and the second set of workpieces, task sorting sub-chromosome segments are generated independently. The task sorting sub-chromosome segments are summarized. According to the machine information and time information corresponding to each task in the task sorting sub-chromosome segments, the corresponding gene positions of the machine sub-chromosome and the time sub-chromosome are filled in respectively. The genes of the machine sub-chromosome and the genes of the task sorting sub-chromosome are in one-to-one correspondence in order to indicate the machine of the task. The genes of the time sub-chromosome and the genes of the task sorting sub-chromosome are in one-to-one correspondence in order to indicate the time of the task. The task sorting subchromosome, the task machine subchromosome, and the task time subchromosome are merged to obtain an initial chromosome, which generates an initial population of individuals.

5. The factory workshop scheduling and control optimization method according to claim 2, characterized in that, The steps of performing genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select individuals with high fitness and a population size as the initial population for the next generation include: Using the reciprocal of the maximum completion time as the fitness function, the cumulative probability is calculated based on the fitness value of individuals in the population using the roulette wheel method, and individuals in the population are selected to be inherited into the next generation of candidate populations for selection operations; The MPBPO set of related and unrelated task sets is subjected to restricted crossover, keeping the task order in each set unchanged. The task order sub-chromosome segments of the two parent sets are swapped, and the genes corresponding to the task machine sub-chromosome and task time sub-chromosome are updated synchronously to generate offspring population individuals for crossover operation. Using the MPBPO set as the dividing point, the task sorting subchromosomes are segmented. From the segments with a length of not less than 2 and whose internal genes are not all the same, two task genes are randomly selected and swapped. The corresponding machines and times of all tasks of the workpieces involved by the original two task genes are taken out and filled into the positions of the machine subchromosomes and the corresponding time subchromosomes of the task of each workpiece after the two genes are swapped, in order of the task order of each workpiece. This is to maintain the matching of task, machine and time, so as to perform mutation operation. Population screening is performed by merging the initial population individuals before selection, the offspring population individuals generated by crossover, and the mutated population individuals into a new population. The fitness values ​​of all population individuals in the new population are calculated, and the population individuals with the highest fitness values ​​and whose number is equal to the population size are selected as the initial population for the next generation.

6. The factory workshop scheduling and control optimization method according to claim 1, characterized in that, Repeat the process until the preset number of iterations is reached, and the steps that output the production scheduling solution with the highest fitness, satisfying the MPBPO set constraints and having the earliest completion time, are included: Repeatedly perform the genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population to select the individuals with high fitness and a population size as the next generation initial population, until the preset number of iterations is reached, and output the production scheduling scheme that satisfies the MPBPO set constraints and has the earliest completion time corresponding to the highest fitness.

7. The factory workshop scheduling and control optimization method according to claims 1 to 6, characterized in that, The production scheduling control optimization algorithm is an improved genetic algorithm, wherein the improved genetic algorithm is constructed by incorporating the basic genetic algorithm into the MBs-GCETs neighborhood structure.

8. A factory workshop scheduling and control optimization device, characterized in that, include: The chromosome encoding construction module is set to obtain multiple MPBPO sets in the factory workshop, call the preset production scheduling control optimization algorithm, and construct the job task ordering sub-chromosome, job machine sub-chromosome, and job time sub-chromosome to generate an expression scheduling solution. The MPBPO set represents a set of forced parallel batch processing job tasks, and the forced parallel batch processing job task set represents a group of job tasks that need to perform parallel batch processing on related job tasks of multiple workpieces. The chromosome decoding module is configured to decode based on the job machine sub-chromosome and the job time sub-chromosome, using the left shift insertion method based on active scheduling theory. It sequentially selects job tasks on the job task sorting sub-chromosome and inserts them into the corresponding job machine, giving priority to utilizing the job machine's idle time interval. If there is no idle interval, it is arranged after the current last job task of the job machine, generating an active scheduling solution. The population initialization module is configured to group workpieces unrelated to all MPBPO sets into a first workpiece set, and group the workpieces corresponding to each MPBPO set into a set to determine a second workpiece set. The first workpiece set and the second workpiece set are used to generate job task sorting sub-chromosome fragments independently. After summarizing, the corresponding job machine number and job time are filled into the corresponding gene positions of the job machine sub-chromosome and the job time sub-chromosome, respectively. The job task sorting sub-chromosome, job machine sub-chromosome and job time sub-chromosome are merged to obtain the initial chromosome to generate the initial population individuals. The genetic operation module is configured to perform genetic operations, including selection, crossover, mutation, and population screening, on the individuals in the initial population, so as to select the individuals with high fitness and a population size as the initial population of the next generation. The scheduling scheme output module is set to execute repeatedly until the preset number of iterations, and outputs the production scheduling scheme with the highest fitness corresponding to the MPBPO set constraints and the earliest completion time.

9. An electronic device comprising a central processing unit and a memory, characterized in that, The central processing unit is used to invoke and run a computer program stored in the memory to perform the steps of the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, It stores, in the form of computer-readable instructions, a computer program implemented according to any one of claims 1 to 7, which, when invoked by a computer, executes the steps included in the corresponding method.

Citation Information

Cited By

  • Full-active-scheduling multi-workshop combined scheduling method and system and storage medium

    CN122219381A