Flexible job shop batch scheduling method and device, storage medium and program product

By applying a flexible work workshop batch scheduling method based on the gray wolf optimization algorithm in cigarette production scheduling, the problem of low cigarette production scheduling efficiency in the prior art is solved, and the maximum completion time is minimized and the production efficiency is improved.

CN119758930APending Publication Date: 2025-04-04CHINA TOBACCO FUJIAN IND
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411978009.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

The existing cigarette production scheduling methods have problems such as low machine utilization, waste of human resources, and the inability to respond quickly to new orders and equipment failures, resulting in low production efficiency and order delivery rates.

Method used

The flexible operation workshop batch scheduling method based on the Gray Wolf Optimization algorithm is used to determine the parameters of the Gray Wolf Optimization algorithm, solve the fluid model, and use workpiece batch coding and sub-batch sorting encoding to encode individuals in the population, perform decoding processing, cross processing, tournament selection, walk operation and variable neighborhood downward search until the number of iterations reaches the maximum number of iterations.

Benefits of technology

It effectively minimizes the maximum completion time, improves the work efficiency of the flexible operation workshop, improves machine utilization and order delivery rates, and reduces human resource waste and shutdowns or condition disorders during production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119758930A_ABST
    Figure CN119758930A_ABST
Patent Text Reader

Abstract

The present disclosure provides a flexible job shop batch scheduling method and device, storage medium and program product. The scheduling method includes: determining the parameters of the gray wolf optimization algorithm according to the workpiece information and the machine information in the flexible job shop; solving the fluid model; encoding the individuals in the population using the workpiece batch coding and the sub-batch sorting coding; performing decoding processing according to the semi-active scheduling and the delay-free scheduling, and calculating the individual fitness of the population; performing cross processing according to the way that the leading wolf leads the following wolves, generating a new population with the same size as the existing population, and evaluating the individual fitness of the new population; performing tournament selection on the new population to generate gray wolf offspring; performing wandering operations on all gray wolves according to a predetermined wandering probability; performing a variable neighborhood descent search on the leading wolf in the population, and if a better individual is found, replacing the original individual with the better individual; repeating the decoding process until the number of iterations reaches the predetermined maximum number of iterations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of control technology, and in particular to a flexible job shop batch scheduling method and device, a storage medium and a program product. Background Art

[0002] The cigarette production scheduling problem is a classic NP-hard problem, which is difficult to solve and has not been well solved in the current cigarette production scheduling. Cigarette production mainly includes processes such as silk making, rolling and packaging, which are responsible for the various processing tasks of raw material processing, rolling and forming, and packaging finished products. Cigarette production is mainly carried out in flexible workshops. As an important part of the production operation of tobacco enterprises, how to shorten the maximum completion time of cigarettes is crucial in the current fierce market competition.

[0003] The common production scheduling method for tobacco production lines at present is to determine order priority based on experience, giving priority to the production of high-level orders. There are two processing methods in the production process. One is to follow the principle of first come first served and not modify the order sequence; the other is to let the equipment give priority to higher-level orders in the buffer for production. Summary of the invention

[0004] The inventors have noticed that in the prior art, the production scheduling method mainly has the following disadvantages.

[0005] 1. Relying on experience and rules for scheduling results in reduced machine utilization and increased machine idling time, wasting both electricity and production capacity, increasing production costs and reducing order delivery rates;

[0006] 2. Manual production scheduling consumes a lot of time and manpower, resulting in a waste of human resources;

[0007] 3. New orders may arrive and equipment may fail during the production process. At this time, employees have to spend a lot of time to reschedule production, making it difficult to respond quickly, resulting in current shutdowns or production status disruptions.

[0008] To this end, the present invention provides a flexible job shop batch scheduling method based on the grey wolf optimization algorithm, which can effectively minimize the maximum completion time and improve the work efficiency of the flexible job shop.

[0009] In a first aspect of the present disclosure, a flexible job shop batch scheduling method is provided, comprising: determining parameters of a gray wolf optimization algorithm according to workpiece information and machine information in the flexible job shop; solving a fluid model corresponding to the flexible job shop to obtain the quantity of each type of fluid processed by each machine; encoding individuals in a population using workpiece batch coding and sub-batch sorting coding; performing decoding processing according to semi-active scheduling and delay-free scheduling, calculating the individual fitness of the population, selecting a specified number of individuals as leading wolves according to the individual fitness, and using other individuals as follower wolves; and scheduling the follower wolves according to the direction in which the leading wolves lead the follower wolves. The method comprises the following steps: performing crossover processing according to the formula to generate a new population with the same size as the existing population, and evaluating the individual fitness of the new population; performing tournament selection on the new population to generate gray wolf offspring; performing wandering operations on all gray wolves according to a predetermined wandering probability, updating the leading wolf and the following wolves, modifying the corresponding batch coding and sub-batch sequence coding of workpieces, and updating the individual fitness; performing a variable neighborhood descent search on the leading wolf in the population, and if a better individual is found, replacing the original individual with the better individual; and repeatedly performing the decoding processing according to the semi-active scheduling and the delay-free scheduling until the number of iterations reaches the predetermined maximum number of iterations.

[0010] In some embodiments, the performing of a variable neighborhood descent search on the leader wolf in the population includes: for the workpiece batch coding and the sub-batch sorting coding, respectively designing the neighborhood for transferring a single workpiece between different sub-batches of the same workpiece and the neighborhood for exchanging adjacent sub-batches of the same machine; changing the workpiece batch coding, generating a predetermined number of neighborhood candidate solutions, and evaluating the neighborhood solutions; if the best individual is better than the original individual, replacing the original individual with the best individual, and repeating the step of changing the workpiece batch coding; changing the sub-batch sorting coding, generating a predetermined number of neighborhood candidate solutions, and evaluating the neighborhood solutions; if the best individual among them is better than the original individual, replacing the original individual with the best individual, and repeating the step of changing the workpiece batch coding, otherwise exiting the loop.

[0011] In some embodiments, the decoding process includes: performing a decoding process on the sub-batch sorting encoding using the semi-active scheduling, and performing a decoding process on the workpiece batch encoding using the delay-free scheduling.

[0012] In some embodiments, the decoding process includes: determining the order in which each machine processes each sub-batch according to the sub-batch sorting code; traversing each machine, and recording the machines that are in an idle state and have corresponding sub-batch workpieces in the buffer in the set of processable machines according to the sub-batch that each machine currently needs to process, and recording the set of processable processes at the same time; traversing the processes in the set of processable processes, if there are multiple machines that want to process the process at the same time, then preferentially assigning a workpiece corresponding to the process to the machine with the longest unit processing time, otherwise directly assigning the corresponding workpiece to the only machine; setting the state of the machine to which the workpiece has been assigned to busy, updating its next completion time, and recording the time of this processing. The process of the machine is updated, the number of workpieces to be processed in this process is reduced by 1, and the number of workpieces processed by the machine in this sub-batch is increased by 1. If the number of workpieces processed by the machine in this sub-batch reaches the corresponding number in the workpiece batch code, the sub-batch that the machine hopes to process next time is updated, and the steps of traversing each machine are repeated; the current scheduling time point is updated, the time is moved to the earliest moment when the machine completes the processing, the status of the corresponding machine is updated to idle, the process completed by the corresponding machine is read, and the number of workpieces to be processed in this process is increased by 1; it is determined whether all sub-batches have been processed. If they have been processed, the scheduling plan and the maximum completion time are output, otherwise the steps of traversing each machine are repeated.

[0013] In some embodiments, if the set of processable machines is empty, the process jumps to the step of updating the time point of the current schedule.

[0014] In some embodiments, the cross processing according to the manner in which the leading wolf guides the following wolves includes: randomly selecting a gray wolf from the leading wolf pack and the following wolf pack respectively, crossing the batch coding and sub-batch sorting coding of the artifacts of the two selected gray wolves to generate two individuals; randomly selecting one of the generated individuals and putting it into a new population; repeating the steps of randomly selecting a gray wolf from the leading wolf pack and the following wolf pack respectively until the new population is equal to the existing population size.

[0015] In some embodiments, the workpiece batch encoding adopts two-point crossover; and the sub-batch sorting encoding adopts crossover based on workpiece priority.

[0016] In some embodiments, the modification method of the workpiece batch encoding includes at least one of exchange, insertion and reversal; and the modification method of the sub-batch sorting encoding includes transferring the batch.

[0017] In some embodiments, selecting a specified number of individuals as leading wolves according to the individual fitness includes: determining the specified number according to a predetermined leader rate; and selecting the specified number of individuals as leading wolves in order of individual fitness from large to small.

[0018] In some embodiments, when the population is initialized, a predetermined proportion of individual workpiece batch codes are determined according to the fluid model; and the sub-batch sort codes are initialized in a random manner.

[0019] In some embodiments, the predetermined ratio is 50%.

[0020] In some embodiments, the workpiece batch code is a matrix, the number of rows of the matrix is ​​the number of all processes, the number of columns is the number of all machines, and the workpiece batch code is used to indicate the number of workpieces assigned to each machine for each process; the sub-batch sorting code is a one-dimensional code, the length of the one-dimensional code is the sum of the number of optional machines for each process, and the numbers in the one-dimensional code are used to indicate the serial number of the workpiece type.

[0021] In some embodiments, the parameters of the gray wolf optimization algorithm include population size, maximum number of iterations, alpha rate, wandering probability, and the number of candidate solutions for each neighborhood in a variable neighborhood descent search.

[0022] In a second aspect of the present disclosure, a flexible job shop batch scheduling device is provided, comprising: a memory; a processor, coupled to the memory, the processor being configured to execute a method as described in any of the above embodiments based on instructions stored in the memory.

[0023] In a third aspect of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the method described in any of the above embodiments is implemented.

[0024] In a fourth aspect of the present disclosure, a computer program product is provided, comprising computer instructions, wherein when the computer instructions are executed by a processor, the method described in any of the above embodiments is implemented.

[0025] Other features and advantages of the present disclosure will become apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0027] Figure 1 A flow chart of a flexible job shop batch scheduling method according to an embodiment of the present disclosure;

[0028] Figure 2It is a structural schematic diagram of a flexible job shop batch scheduling device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0029] The following will be combined with the drawings in the embodiments of the present disclosure to clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is by no means intended to limit the present disclosure and its application or use. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0030] Unless specifically stated otherwise, the relative arrangement of components and steps, the numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure.

[0031] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0032] Technologies, methods, and apparatus known to ordinary technicians in the relevant field may not be discussed in detail, but where appropriate, such technologies, methods, and apparatus should be considered part of the authorization specification.

[0033] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0034] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0035] Figure 1 The following is a flow chart of a flexible job shop batch scheduling method according to an embodiment of the present disclosure. In some embodiments, the following flexible job shop batch scheduling method is executed by a flexible job shop batch scheduling device, including steps 11-19.

[0036] In step 11, the parameters of the Grey Wolf optimization algorithm are determined according to the workpiece information and the machine information in the flexible job shop.

[0037] In some embodiments, the parameters of the gray wolf optimization algorithm include population size pop-size, maximum number of iterations max_iter, alpha wolf rate , walk probability p_walk, and the number of candidate solutions neighbor_num for each neighborhood in the variable neighborhood descent search.

[0038] It should be noted here that the Grey Wolf Optimizer (GWO) is a swarm intelligence optimization algorithm proposed by Mirjalili et al., a scholar from Griffith University in Australia, in 2014. The algorithm simulates the cooperative hunting process of a group of gray wolves to solve the optimization problem.

[0039] In step 12, the fluid model corresponding to the flexible job shop is solved to obtain the quantity of each type of fluid processed by each machine.

[0040] It should be noted here that the fluid model is a simplification of the workshop scheduling problem model. By solving the fluid model, the quantity of each type of fluid processed by each machine can be obtained.

[0041] For example, a process of a workpiece can be called a type of fluid, and the workpiece is replaced by the same number of continuous fluids that are infinitely divisible. In other words, the fluid model can transform the complex mathematical model of flexible job shop scheduling into a simple linear programming model for solution, and obtain the optimal number of each machine to process each type of fluid, which may not be an integer.

[0042] In step 13, the individuals in the population are encoded using the artifact batch encoding and the sub-batch sorting encoding.

[0043] It should be noted here that if there are multiple machines in the workshop, there are multiple workpieces to be processed, each workpiece has a batch size to be processed, and each workpiece requires multiple processes during processing, so each workpiece can be divided into multiple sub-batches. That is, sub-batches are used as the basic unit of scheduling.

[0044] In some embodiments, the batch coding of workpieces is in the form of a matrix, where the number of rows of the matrix is ​​the number of all processes, and the number of columns is the number of all machines, that is, the row number and column number represent the corresponding process and machine, respectively. The coding represents the number of workpieces assigned to each machine for each process, that is, the sub-batch size. In the case where a process cannot select a certain machine, the sub-batch size of the corresponding position always remains 0. The sub-batch size of a process on some optional machines can also be 0, which means that the workpieces of the process are not processed on the corresponding machine.

[0045] The sub-batch sorting code is a one-dimensional code. The length of the one-dimensional code is the sum of the number of optional machines for each process. The numbers in the one-dimensional code are used to represent the workpiece type number, which actually expresses the sub-batch of the workpiece assigned to a certain machine under a certain process. For each sub-batch with the same workpiece type number in the code, the process corresponding to the front sub-batch is not larger than the back sub-batch, and for each sub-batch under the same process, the machine number used by the front sub-batch is also smaller than that of the back sub-batch.

[0046] In some embodiments, when the population is initialized, a predetermined proportion of individual workpiece batch codes are determined according to a fluid model, and the sub-batch sort codes are initialized in a random manner.

[0047] For example, the predetermined ratio is 50%.

[0048] It should be noted that the fluid model has a good capacity planning effect on the flexible job shop, which is reflected in the fact that the flexible job shop is transformed into a fluid model after constraint relaxation. In most cases, after solving the fluid model, its processes do not use all optional machines for processing. Therefore, when the population is initialized, the corresponding relationship between the processes and machines of 50% of the individuals is arranged according to the fluid model. When batching, the sub-batch size of the process on the corresponding machine is generated randomly, and the sub-batch sorting code is also randomly generated.

[0049] In step 14, decoding processing is performed according to the semi-active scheduling and the non-delayed scheduling, the individual fitness of the population is calculated, and a specified number of individuals are selected as leading wolves according to the individual fitness, and the other individuals are used as follower wolves.

[0050] In some embodiments, the sub-batch sorting code is decoded using semi-active scheduling, and the workpiece batch code is decoded using non-delay scheduling, so that the workpieces in the sub-batch can be immediately prepared for the next process after the previous process is completed, and the machine that can start the work the earliest and whose processing quantity has not reached the sub-batch size set in the workpiece batch code is selected for production.

[0051] In some embodiments, the decoding process includes the following.

[0052] S141: Determine the order in which each machine processes each sub-batch according to the sub-batch sorting code.

[0053] S142: Traverse each machine, and according to the sub-batches that each machine currently needs to process, record the machines that are in idle state and have corresponding sub-batch workpieces in the buffer in the set of processable machines, and record the set of processable procedures at the same time.

[0054] In some embodiments, if the set of processable machines is empty, the process jumps to step S145.

[0055] S143: Traverse the processes in the processable process set. If there are multiple machines that want to process the process at the same time, a workpiece corresponding to the process is preferentially assigned to the machine with the longest unit processing time. Otherwise, the corresponding workpiece is directly assigned to the only machine.

[0056] S144: Set the machine status of the assigned workpiece to busy, update its next completion time, record the current processing procedure, reduce the number of workpieces to be processed in this procedure by 1, and increase the number of workpieces processed by the machine in this sub-batch by 1. If the number of workpieces processed by the machine in this sub-batch reaches the corresponding number in the workpiece batch code, update the sub-batch that the machine hopes to process next time, and repeat step S142.

[0057] S145: Update the current scheduling time point, move the time to the earliest moment when a machine completes processing, update the status of the corresponding machine to idle, read the process completed by the corresponding machine, and increase the number of workpieces currently to be processed in this process by 1.

[0058] S146, determine whether all sub-batches have been processed. If they have been processed, output the scheduling plan and the maximum completion time, otherwise repeat step S142.

[0059] In some embodiments, according to a predetermined alpha wolf rate Determine the specified number. Next, select a specified number of individuals as the leader wolves in the order of individual fitness from large to small.

[0060] In step 15, a crossover process is performed according to the way in which the leading wolf leads the following wolves to generate a new population with the same size as the existing population, and the individual fitness of the new population is evaluated.

[0061] In some embodiments, a gray wolf is randomly selected from the leading wolf pack and the following wolf pack, and the batch coding and sub-batch sorting coding of the two selected gray wolves are crossed to generate two individuals. One generated individual is randomly selected and placed in a new population. The steps of randomly selecting a gray wolf from the leading wolf pack and the following wolf pack are repeated until the new population is equal in size to the existing population.

[0062] For example, two-point crossover can be used for batch coding of workpieces, and POX (precedence preserving order-based crossover) can be used for sub-batch sorting coding.

[0063] In step 16, tournament selection is performed on the new population to generate gray wolf offspring.

[0064] It should be noted here that the purpose of generating gray wolf offspring is to update the leading wolf and the following wolves.

[0065] In step 17, all gray wolves are subjected to a wandering operation according to a predetermined wandering probability, the leading wolf and the following wolf are updated, the corresponding workpiece batch coding and sub-batch sequence coding are modified, and the individual fitness is updated.

[0066] In some embodiments, the modification of the batch encoding of the workpieces includes at least one of swapping, inserting and reversing. The modification of the sub-batch sorting encoding includes transferring the batch.

[0067] In step 18, a variable neighborhood descent search is performed on the leader wolf in the population. If a better individual is found, the better individual is used to replace the original individual.

[0068] In some embodiments, the step of performing a variable neighborhood descent search on a leader wolf in a population includes the following.

[0069] S181: For the batch coding of workpieces and the sub-batch sorting coding, the neighborhood for transferring a single workpiece between different sub-batches of the same workpiece and the neighborhood for exchanging adjacent sub-batches of the same machine are designed respectively.

[0070] S182: Change the batch encoding of the workpieces, generate a predetermined number of neighborhood candidate solutions, and evaluate them. If the best individual is better than the original individual, replace the original individual with the best individual, and repeat step S182. Otherwise, execute the next step.

[0071] S183: Change the sub-batch sorting code to generate a predetermined number of neighborhood candidate solutions for evaluation. If the best individual among them is better than the original individual, replace the original individual with the best individual and repeat step S182. Otherwise, exit the loop and the neighborhood descent search ends.

[0072] In step 19, the decoding process according to the semi-active scheduling and the no-delay scheduling is repeatedly performed until the number of iterations reaches a predetermined maximum number of iterations.

[0073] In the flexible job shop batch scheduling method provided in the above embodiment of the present disclosure, by integrating the correspondence between machines and processes obtained after solving the fluid model into the population initialization process, the maximum completion time can be effectively minimized, thereby improving the work efficiency of the flexible job shop.

[0074] Figure 2 It is a structural schematic diagram of a flexible job shop batch scheduling device according to an embodiment of the present disclosure.

[0075] like Figure 2 As shown, the flexible job shop batch scheduling device 20 can be embodied in the form of a general-purpose computing device. The flexible job shop batch scheduling device 20 includes a memory 21, a processor 22, and a bus 23 connecting different system components.

[0076] The memory 21 may include, for example, a system memory, a non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, and other programs. The system memory may include a volatile storage medium, such as a random access memory (RAM) and / or a cache memory. The non-volatile storage medium may store, for example, instructions of a corresponding embodiment of at least one flexible job shop batch scheduling method being executed. The non-volatile storage medium includes, but is not limited to, a disk memory, an optical memory, a flash memory, and the like.

[0077] The processor 22 may be implemented by a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistors, and other discrete hardware components. Accordingly, each module such as an acquisition module, a calculation module, and an adjustment module may be implemented by a central processing unit (CPU) running instructions in a memory that execute corresponding steps, or may be implemented by a dedicated circuit that executes corresponding steps.

[0078] For example, the processor 12 is configured to execute instructions stored in the memory to implement the following Figure 1 The method of any one of the embodiments.

[0079] The bus 23 may use any of a variety of bus structures, including, but not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, and a Peripheral Component Interconnect (PCI) bus.

[0080] The interfaces 24, 25, 26 of the flexible job shop batch scheduling device 20, as well as the memory 21 and the processor 22 can be connected via a bus 23. The input and output interface 24 can provide a connection interface for input and output devices such as a display, a mouse, and a keyboard. The network interface 25 provides a connection interface for various networked devices. The storage interface 26 provides a connection interface for external storage devices such as a floppy disk, a USB flash drive, and an SD card.

[0081] Here, various aspects of the present disclosure are described with reference to flowcharts and / or block diagrams of methods, devices, and computer program products according to embodiments of the present disclosure. It should be understood that each frame of the flowchart and / or block diagram and the combination of frames can be implemented by computer-readable program instructions.

[0082] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable device to produce a machine, so that the processor executes the instructions to produce means for implementing the functions specified in one or more blocks in the flowchart and / or block diagram.

[0083] These computer-readable program instructions may also be stored in a computer-readable memory, which cause the computer to work in a specific manner to produce an article of manufacture, including instructions for implementing the functions specified in one or more blocks in the flowchart and / or block diagram.

[0084] The present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects.

[0085] The present disclosure also provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the following is implemented: Figure 1 The method of any one of the embodiments.

[0086] The present disclosure also provides a computer program product, including computer instructions, wherein when the computer instructions are executed by a processor, the following is achieved: Figure 1 The method of any one of the embodiments.

[0087] By implementing the above-mentioned embodiments of the present disclosure, the following beneficial effects can be obtained.

[0088] Considering that the production scheduling problem of tobacco packaging production line is similar to the FJSP (Flexible Job shop Scheduling Problem) problem, which has NP-hard properties, the actual production is currently mainly scheduled based on experience and some simple scheduling rules. Since the gray wolf optimization algorithm has the advantages of fast calculation speed and strong global search ability, the present disclosure proposes a flexible job shop variable batch scheduling method based on the gray wolf optimization algorithm to solve the problem of minimizing the maximum completion time. A two-stage encoding of workpiece batching and sub-batch sorting is proposed, and the encoding is accurate to the sub-batch of each process to each machine, which is more conducive to finding a better solution. The capacity planning function of the fluid model is applied to the initialization of the workpiece batching plan, which improves the quality of the initial population and guides the population to search better. Considering the characteristics of process overlap, a decoding method combining semi-active scheduling and delay-free scheduling is designed. Semi-active scheduling is used for sub-batches, and delay-free scheduling is used for workpieces, so that each workpiece in each process can be allocated to a suitable sub-batch and machine for processing as soon as possible, which compresses the completion time and improves the scheduling quality. The traditional gray wolf optimization algorithm was improved by changing the number of leading wolves from three to multiple, solving the problem of premature convergence. A variable neighborhood descent search was developed to improve the local search capability of the algorithm.

[0089] In some embodiments, the functional unit described above may be implemented as a general-purpose processor, a programmable logic controller (PLC), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any appropriate combination thereof, for performing the functions described in the present disclosure.

[0090] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0091] The description of the present disclosure is given for the purpose of illustration and description, and is not intended to be exhaustive or to limit the present disclosure to the disclosed form. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments are selected and described in order to better illustrate the principles and practical applications of the present disclosure, and to enable those of ordinary skill in the art to understand the present disclosure and thereby design various embodiments with various modifications suitable for specific uses.

Claims

1. A flexible job shop batch scheduling method, comprising: Determine the parameters of the Gray Wolf optimization algorithm based on the workpiece information and the machine information in the flexible job shop; Solving the fluid model corresponding to the flexible job shop to obtain the quantity of each type of fluid processed by each machine; Encode individuals in the population using artifact batch encoding and subbatch sort encoding; Performing decoding processing according to semi-active scheduling and non-delayed scheduling, calculating individual fitness of the population, selecting a specified number of individuals as leading wolves according to the individual fitness, and using other individuals as follower wolves; Perform crossover processing based on the way the leader wolf leads the follower wolves to generate a new population of the same size as the existing population, and evaluate the individual fitness of the new population; Conducting tournament selection on the new population to generate gray wolf offspring; All gray wolves are roamed according to the predetermined roaming probability, the leading wolf and the following wolf are updated, the corresponding batch coding and sub-batch sequence coding of the workpiece are modified, and the individual fitness is updated; Performing a variable neighborhood descent search on the leader wolf in the population, if a better individual is found, the better individual is used to replace the original individual; The decoding process according to the semi-active scheduling and the no-delay scheduling is repeatedly performed until the number of iterations reaches a predetermined maximum number of iterations.

2. The method according to claim 1, wherein: The performing of a variable neighborhood descent search on the leader wolf in the population includes: For the workpiece batch coding and the sub-batch sorting coding, a neighborhood for transferring a single workpiece between different sub-batches of the same workpiece and a neighborhood for exchanging adjacent sub-batches of the same machine are designed respectively; Changing the batch coding of the workpieces, generating a predetermined number of neighborhood candidate solutions for evaluation, and if the best individual is better than the original individual, replacing the original individual with the best individual, and repeating the step of changing the batch coding of the workpieces; Change the sub-batch sorting code to generate a predetermined number of neighborhood candidate solutions for evaluation. If the best individual among them is better than the original individual, replace the original individual with the best individual and repeat the step of changing the batch coding of the workpiece, otherwise exit the loop.

3. The method according to claim 1, wherein: The decoding process includes: The sub-batch sorting code is decoded using the semi-active scheduling, and the workpiece batch code is decoded using the delay-free scheduling.

4. The method according to claim 3, wherein: The decoding process includes: Determining the order in which each machine processes each sub-batch according to the sub-batch sorting code; Traverse each machine, and according to the sub-batches that each machine currently needs to process, record the machines that are in idle state and have corresponding sub-batches in the buffer in the set of machines that can be processed, and record the set of processes that can be processed; Traverse the processes in the processable process set. If there are multiple machines that want to process the process at the same time, a workpiece corresponding to the process is preferentially assigned to the machine with the longest unit processing time. Otherwise, the corresponding workpiece is directly assigned to a unique machine. Set the state of the machine to which the workpiece has been assigned to busy, update its next completion time, record the process of this processing, reduce the number of workpieces to be processed in this process by 1, and increase the number of workpieces processed by the machine in this sub-batch by 1. If the number of workpieces processed by the machine in this sub-batch reaches the corresponding number in the workpiece batch code, update the sub-batch that the machine wants to process next time, and repeat the steps of traversing each machine; Update the current scheduling time point, move the time to the earliest moment when a machine completes processing, update the status of the corresponding machine to idle, read the process completed by the corresponding machine, and increase the number of workpieces currently to be processed in this process by 1; Determine whether all sub-batches have been processed. If so, output the scheduling plan and the maximum completion time. Otherwise, repeat the steps of traversing each machine.

5. The method according to claim 4, further comprising: If the set of processable machines is empty, jump to the step of updating the time point of the current schedule.

6. The method according to claim 1, wherein: The cross processing according to the way the leading wolf guides the following wolves includes: A gray wolf is randomly selected from the leading wolf pack and the following wolf pack, respectively, and the batch coding and sub-batch sorting coding of the artifacts of the two selected gray wolves are crossed to generate two individuals; Randomly select a generated individual and put it into the new population; The steps of randomly selecting a gray wolf from the lead pack and the follower pack are repeated until the new population is equal in size to the existing population.

7. The method according to claim 6, wherein: The workpiece batch encoding adopts two-point crossover; The sub-batch sorting encoding adopts crossover based on the priority of workpieces.

8. The method according to claim 1, wherein: The modification method of the batch encoding of the workpieces includes at least one of swapping, inserting and reversing; The modification of the sub-batch sorting code includes transferring the batch.

9. The method according to claim 1, wherein: The selecting a specified number of individuals as leading wolves according to the individual fitness comprises: Determining said designated number according to a predetermined alpha wolf rate; The specified number of individuals are selected as leading wolves in the order of individual fitness from large to small.

10. The method according to claim 1, further comprising: In the case of population initialization, a predetermined proportion of individual workpieces are determined to be encoded in batches according to the fluid model; The sub-batch sorting encoding is initialized randomly.

11. The method according to claim 10, wherein: The predetermined ratio is 50%.

12. The method according to claim 1, wherein: The workpiece batch code is a matrix, the number of rows of the matrix is ​​the number of all processes, the number of columns is the number of all machines, and the workpiece batch code is used to indicate the number of workpieces allocated to each machine in each process; The sub-batch sorting code is a one-dimensional code, the length of which is the sum of the number of selectable machines for each process, and the numbers in the one-dimensional code are used to represent the serial number of the workpiece type.

13. The method according to any one of claims 1 to 12, wherein: The parameters of the gray wolf optimization algorithm include population size, maximum number of iterations, alpha rate, wandering probability, and the number of candidate solutions for each neighborhood in the variable neighborhood descent search.

14. A flexible job shop batch scheduling device, comprising: Memory; A processor is coupled to the memory, and the processor is configured to execute the method according to any one of claims 1 to 13 based on instructions stored in the memory.

15. A computer-readable storage medium, wherein: The computer-readable storage medium stores computer instructions, and when the instructions are executed by a processor, the method according to any one of claims 1 to 13 is implemented.

16. A computer program product, comprising computer instructions, wherein when the computer instructions are executed by a processor, the method according to any one of claims 1 to 13 is implemented.