A distributed flexible job shop scheduling method, device and storage medium
By decomposing the job shop scheduling problem into subproblems and adopting chromosome encoding and neighborhood search operators to optimize the scheduling scheme, the flexible job shop scheduling problem with transportation time in distributed manufacturing is solved, and the production efficiency and resource utilization are improved.
Patent Information
- Application Number
- CN202410664075.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-27
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-05-27
AI Technical Summary
Existing technologies are unable to effectively solve the problem of flexible job shop scheduling that takes transportation time into account in distributed manufacturing, resulting in low production efficiency and low resource utilization.
The workshop scheduling problem is transformed into multiple sub-problems, and the chromosome coding and heuristic rules are used to solve the model. A variable neighborhood search operator is designed, and the fitness value is calculated through chromosome coding and heuristic rules. The neighborhood search operator is used to optimize the scheduling plan.
It realizes the collaborative scheduling of multiple smart workshops, improves production efficiency and resource utilization, and adapts to complex smart manufacturing environments.
Smart Images

Figure CN118485259B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of workshop production scheduling, and in particular to a distributed flexible job shop scheduling method, device and storage medium. Background Art
[0002] With the continued advancement of economic globalization, market competition is intensifying, and customer demands are becoming increasingly diverse. Manufacturing companies need to more flexibly adjust their production strategies to meet the needs of customers in different regions. Against this backdrop, a production model known as distributed manufacturing has rapidly developed. Its key feature is its ability to integrate geographically dispersed factory resources to achieve global production collaboration. This production model effectively manages global supply chains, improves production efficiency, and rapidly responds to market changes. It is currently widely used in large-scale manufacturing sectors such as automotive, aviation, and consumer goods manufacturing.
[0003] Distributed manufacturing, as an emerging production model in the manufacturing industry, is naturally inseparable from production scheduling management. At present, some researchers have carried out research on the combination of distributed manufacturing and workshop scheduling problems. One of the important research directions is the distributed flexible job shop scheduling problem. Although this problem has achieved some research results and can be applied to some production tasks, with the continuous development of the manufacturing industry, actual production will become more and more complex. Especially under the promotion of the intelligent manufacturing strategy, many traditional production workshops are gradually upgrading to intelligent workshops and have begun to adopt advanced technologies such as automated logistics and transportation equipment and robots. In this case, the transportation time of materials between different machines is included in the consideration of the scheduling system. Researchers need to further study the distributed flexible job shop scheduling problem that conforms to this type of production environment.
[0004] However, this type of scheduling problem is more complex than the traditional workshop scheduling problem, more difficult to solve, and has fewer scheduling methods. Current research is still in its preliminary stage. Therefore, studying the problem of combining distributed manufacturing with workshop scheduling that takes transportation time into account has certain prospects. This will not only provide manufacturing companies with more intelligent and efficient production scheduling solutions, making production activities more cost-effective and thus improving the core competitiveness of enterprises, but also promote the further development of the manufacturing industry in the direction of intelligence and digitalization, and make positive contributions to the transformation and upgrading of the manufacturing industry. To this end, this application will study a distributed flexible job shop scheduling problem that takes transportation time into account to conform to actual production conditions. Summary of the Invention
[0005] In order to solve at least one of the technical problems existing in the prior art to a certain extent, the present invention aims to provide a distributed flexible job shop scheduling method, device and storage medium that take transportation time into consideration.
[0006] The first technical solution adopted by the present invention is:
[0007] A distributed flexible job shop scheduling method includes the following steps:
[0008] The workshop scheduling problem considering transportation time is transformed into several sub-problems, so that the solution to the overall problem can be determined based on each sub-problem.
[0009] Establish a mathematical model based on the workshop scheduling problem and initialize the algorithm parameters;
[0010] In order to avoid the coupling between sub-problems, chromosome encoding and heuristic rules are used to solve the model, initialize the chromosome, and use the corresponding decoding method to calculate the fitness value of the chromosome, that is, the maximum completion time C max ;
[0011] Determine whether the preset iteration termination condition is met. If so, terminate the iteration and output the optimal solution and the corresponding scheduling plan; if not, perform variable neighborhood search;
[0012] Design several different neighborhood search operators. Under the guidance of the variable neighborhood search strategy, select different search operators in each iteration, and finally obtain the optimal value and chromosome sequence through several iterations.
[0013] In each iteration, a new solution is generated. If the fitness value of the new solution is better than the original solution, the fitness value of the new solution is assigned to the optimal solution; otherwise, the original solution remains unchanged and the neighborhood search continues until the iteration termination condition is reached.
[0014] Furthermore, the workshop scheduling problem considering transportation time is specifically described as follows: there are multiple workpieces to be processed that need to be assigned to several factories for processing. Each factory is regarded as an independent workshop, consisting of several processing machines and transport carts. For any factory, the workpieces assigned to the factory need to be processed in several steps, and at least one processing machine can be selected for each step. After processing, the workpieces are transported by the transport cart to other processing machines to complete the subsequent steps.
[0015] The workshop scheduling problem considering transportation time is transformed into several sub-problems, including:
[0016] The shop scheduling problem is transformed into four sub-problems: factory allocation, machine selection, process sequencing and cart allocation.
[0017] Furthermore, the optimization objective of the mathematical model is selected as the maximum completion time, which is expressed as:
[0018] f=min C max
[0019] C max =max{C 1 ,C 2 ,…,C q}
[0020] Where C max is the maximum completion time, C q is the completion time of the qth factory.
[0021] Furthermore, the constraints of the workshop scheduling problem include:
[0022] 1) Each workpiece can only be assigned to one factory for processing;
[0023] 2) Each process can only be processed by one processing machine;
[0024] 3) Each trolley can only transport one workpiece at a time;
[0025] 4) Factories and carts are independent of each other.
[0026] Furthermore, for the four sub-problems, chromosome encoding and heuristic rules are used to solve the model;
[0027] The chromosome code consists of three codes: process segment OS, machine segment MS and factory segment FS;
[0028] Among them, the process code segment OS is used to solve the process sorting problem. Its length is equal to the total number of processes. Each gene represents a process. The number i on the gene represents that the process belongs to workpiece i. If a number appears j times from left to right, it means that the gene corresponding to the number is the jth process of the workpiece.
[0029] The machine code segment MS is used to solve the machine selection problem. Its length is equal to the total number of processes. All genes are sorted from left to right according to the size of the workpiece and process, and each gene represents the processing machine selected for the corresponding process. The number m on the gene represents the mth machine in the machine set corresponding to the process.
[0030] The factory encoding segment FS is used to solve the factory allocation problem. Its length is equal to the total number of artifacts. All genes are sorted from left to right according to the size of the artifacts. The number f on the gene represents the artifact allocated to factory f.
[0031] Furthermore, the calculation of the fitness value of the chromosome by using the corresponding decoding method includes:
[0032] The workpieces assigned to each factory are determined based on the genetic information of the factory coding segment FS. The original chromosome is decomposed into several sub-chromosomes, where each sub-chromosome corresponds to a factory and each sub-chromosome is composed of a new process segment OS and machine segment MS.
[0033] Each sub-chromosome is decoded to obtain the maximum completion time of the corresponding factory, and a heuristic rule is used in the decoding process to allocate the carts required for transportation of all processes.
[0034] Furthermore, the design of several different neighborhood search operators includes:
[0035] Four neighborhood search operators are designed based on the key factory. The key factory refers to the factory with the longest completion time. The specific descriptions of each neighborhood search operator are as follows:
[0036] N1: For the process segment OS in the key factory, obtain two different random integers in the range [1, length(OS)] and swap the processes at the corresponding positions of the two numbers. The specific implementation is to swap the gene numbers at the two positions;
[0037] N2: For the process segment OS in the key factory, get a random integer s in the range [1, length(OS)] and insert the last s genes on the process segment OS to the front;
[0038] N3: For the machine segment MS in the key factory, first obtain the set of all processes that can select two or more processing machines, with a total number of t. Then obtain a random integer s in the range [1, t] and reallocate a processing machine to the process at the position corresponding to the number s. The specific implementation is to modify the gene number at this position to the serial number of another processing machine in the process machine set;
[0039] N4: Select a workpiece in the key factory using a roulette wheel method and assign it to the factory with the shortest completion time. The specific implementation is to modify the gene number corresponding to the workpiece in the FS segment to the number of the factory with the shortest completion time.
[0040] Furthermore, under the guidance of the variable neighborhood search, a different search operator is selected in each iteration, and finally the optimal value and chromosome sequence are obtained through several iterations, including:
[0041] Create an array to store the optimal solution. During the iteration process, each time a better solution is found, it is added to the array. After randomly initializing an initial solution, the N1, N2, and N3 neighborhood search operators are used to search. The three are selected with equal probability. If no better solution is found after several consecutive searches, the optimal solution is selected from the array and the N4 neighborhood search operator is used to search again. Then, the search returns to N1, N2, and N3.
[0042] After each neighborhood search, the fitness value of the new solution is compared with the original solution. If the fitness value of the new solution is better than the original solution, the fitness value of the new solution replaces the original solution and the next iteration is performed until the iteration termination condition is reached, and finally the optimal scheduling plan is output.
[0043] The second technical solution adopted by the present invention is:
[0044] A distributed flexible job shop scheduling device, comprising:
[0045] at least one processor;
[0046] at least one memory for storing at least one program;
[0047] When the at least one program is executed by the at least one processor, the at least one processor implements the above method.
[0048] The third technical solution adopted by the present invention is:
[0049] A computer-readable storage medium stores a program executable by a processor, wherein the program executable by the processor is used to perform the method described above when executed by the processor.
[0050] The beneficial effects of the present invention are: the present invention can solve the distributed flexible job shop scheduling problem considering transportation time, realize the collaborative scheduling of multiple smart workshops in distributed scheduling, improve production efficiency and resource utilization, and is conducive to the future sustainable development of production enterprises. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following introduction is made to the drawings of the embodiments of the present invention or the related technical solutions in the prior art. It should be understood that the drawings introduced below are only for the convenience of clearly describing some embodiments of the technical solutions of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without any creative work.
[0052] Figure 1is a flow chart of a distributed flexible job shop scheduling method considering transportation time in an embodiment of the present invention;
[0053] Figure 2 is a schematic diagram of chromosome encoding in an embodiment of the present invention;
[0054] Figure 3 is an iterative curve diagram of the optimal solution when the number of factories is 2 in the embodiment of the present invention;
[0055] Figure 4 : is an iterative curve diagram of the optimal solution when the number of factories is 3 in the embodiment of the present invention;
[0056] Figure 5 This is the Gantt chart of the optimal solution when the number of factories is 2 in the embodiment of the present invention;
[0057] Figure 6 This is a Gantt chart of the optimal solution when the number of factories is 3 in the embodiment of the present invention. DETAILED DESCRIPTION
[0058] The embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention and are not to be construed as limiting the present invention. The step numbers in the following embodiments are provided for ease of explanation only and do not limit the order of the steps. The order of execution of the steps in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0059] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they cannot be understood as limitations on the present invention.
[0060] In the description of the present invention, the meaning of "several" is one or more, the meaning of "many" is two or more, and "greater than", "less than", "exceed", etc. are understood to exclude the number itself, and "above", "below", "within", etc. are understood to include the number itself. If there is a description of the first and the second, it is only for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features. In addition, "and / or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship.
[0061] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, and connecting should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.
[0062] like Figure 1 As shown, this embodiment provides a distributed flexible job shop scheduling method considering transportation time, including the following steps:
[0063] S1. Describe the original scheduling problem according to its characteristics and convert it into several sub-problems, so that the solution to the overall problem can be determined based on each sub-problem.
[0064] In this embodiment, the scheduling problem can be described as follows: there are multiple workpieces to be processed that need to be assigned to several factories for processing. Each factory can be regarded as an independent workshop, consisting of several processing machines and transport carts. For any factory, the workpieces assigned to the factory need to be processed in several steps, and at least one processing machine can be selected for each step. After processing is completed, the workpiece is transported by the transport cart to other processing machines to complete subsequent steps.
[0065] Based on the above description, the distributed flexible job shop scheduling problem considering transportation time needs to solve four sub-problems: factory allocation, machine selection, process sequencing, and cart allocation. The specific description of each sub-problem can be as follows:
[0066] Factory allocation: Allocate the workpiece to be processed to a certain factory.
[0067] Machine selection: After the workpiece is assigned to a factory, its corresponding process is assigned to the processing machine in the factory.
[0068] Process sequencing: Arrange the processing order of the assigned processes for the processing machines
[0069] Cart allocation: Assign a suitable transport cart to each process to complete the transportation task.
[0070] S2. To solve the scheduling problem, a mathematical model that meets the scheduling problem is first established, including the optimization goal of the problem and several assumptions and constraints.
[0071] In order to improve actual production efficiency, the optimization objective of this scheduling problem is selected as the maximum completion time, as shown in the following formula:
[0072] f=min C max
[0073] C max =max{C 1 ,C 2 ,…,C q}
[0074] Where C max is the maximum completion time, C q is the completion time of the qth factory.
[0075] To facilitate the study of the problem, the constraints of the scheduling problem include:
[0076] 1) Each workpiece can only be assigned to one factory for processing;
[0077] 2) Each process can only be processed by one processing machine;
[0078] 3) Each trolley can only transport one workpiece at a time;
[0079] 4) Factories and carts are independent of each other.
[0080] 5) Machine or trolley failures are not considered.
[0081] S3. Before executing the algorithm, the algorithm parameters need to be initialized.
[0082] S4. To avoid coupling between sub-problems, chromosome encoding and heuristic rules are used to solve the model. First, the chromosome is randomly initialized according to the given encoding method, and then the corresponding decoding method is used to calculate the fitness value of the chromosome, that is, the maximum completion time C max .
[0083] S5. Determine whether the algorithm iteration termination condition is met. If so, terminate the iteration and output the optimal solution and the corresponding scheduling plan. If not, perform a variable neighborhood search.
[0084] In this embodiment, in view of the coupling of the four sub-problems, the proposed algorithm adopts a solution combining chromosome encoding with heuristic rules. Figure 2 As shown, the chromosome code mainly consists of three segments: process segment OS, machine segment MS and factory segment FS, including:
[0085] The process code segment OS is used to solve the process sorting problem. Its length is equal to the total number of processes. Each gene represents a process. The number i on the gene represents that the process belongs to workpiece i. If a number appears j times from left to right, it means that the gene corresponding to the number is the jth process of the workpiece.
[0086] The machine encoding segment MS is used to solve the machine selection problem. Its length is equal to the total number of processes. All genes are sorted from left to right according to the size of the workpiece and process, and each gene represents the processing machine selected for the corresponding process. The number m on the gene represents the mth machine in the machine set corresponding to the process.
[0087] The factory encoding segment FS is used to solve the factory allocation problem. Its length is equal to the total number of artifacts. All genes are sorted from left to right according to the size of the artifacts. The number f on the gene represents the artifact allocated to factory f.
[0088] This code can not only specifically express the scheduling information of each process, but also each segment of code is independent of each other. Operating on one segment of code will not affect other segments of code, which is conducive to the implementation of the algorithm.
[0089] The essence of chromosome decoding is to obtain the start time and completion time of each process on the selected machine. In order to calculate the maximum completion time corresponding to each chromosome, it is necessary to first calculate the maximum completion time of each factory. First, the workpieces allocated to each factory are determined based on the genetic information of the FS. Then, on this basis, the original chromosome is divided into several sub-chromosomes, where each sub-chromosome corresponds to a factory and is composed of new process segments and machine segments (the original OS and FS segments are decomposed and combined according to the distribution of workpieces).
[0090] by Figure 2 For example, there are three workpieces that need to be assigned to two factories for processing. Their chromosome encoding is [3,2,2,1,1,3,2,3,1,1,2,1,1,2,1], of which OS is [3,2,2,1,1,3], MS is [2,3,1,1,2,1], and FS is [1,2,1]. First, according to FS, workpiece 1 and workpiece 3 need to be assigned to factory 1, and workpiece 2 is assigned to factory 2. Therefore, the original chromosome is decomposed into two parts. Taking factory 1 as an example, the sub-chromosome sequence of factory 1 is [3,1,1,3,2,3,2,1], of which OS1 is [3,1,1,3], MS1 is [2,3,2,1], but there is no FS segment. Then, according to the definition of the above coding segments, the process sequence of this factory is O 31 →O 11 →O 12 →O 32 (Oij represents the jth process of workpiece i), for the second factory, the process sequence is O 21 →O 22 , In addition, the machine selection information for each process can be obtained as shown in Table 1 below:
[0091] Table 1
[0092]
[0093] As can be seen from the above example, the chromosome encoding can be used to obtain the specific scheduling information for each process. Subsequent calculations are required to obtain the maximum completion time for all factories. However, due to the transportation constraint within each factory, the time it takes to transport the workpiece between different machines must also be considered during the decoding process. The formulas for calculating the start and completion times of each process are as follows:
[0094]
[0095] ET ij =ST ij +PT ij
[0096] Where, ST ij For the current process O ij Start time, ET ij and ET i(j-1) The current process O ij and the previous process O i(j-1) Completion time, AT m is the time it takes for the transport trolley to reach machine m, TT mm′ is the transportation time between the machine m assigned to the previous process and the machine m′ assigned to the current process, ET i′j′ The completion time of the previous process on the machine selected for the current process, PT ij For the current process O ij Machining time on the selected machine.
[0097] By traversing each process in the scheduling order and continuously updating some intermediate variables, including the time status of the processing machines and transport carts, the above formula is used to finally obtain the start time and completion time of all processes, thereby finding the maximum completion time of each factory. However, in order to shorten the maximum completion time, a scheduling rule will be used in the decoding process to allocate the carts required for transportation to all processes. The scheduling rule can be described in detail as follows:
[0098] ① If there is only one transport trolley in the workshop, the trolley will be dispatched in the order of each process;
[0099] ② There are multiple transport carts in the workshop. If a transport cart can arrive before the previous process of the assigned machine is completed, the cart with the earliest arrival time will be selected. If all arrive later, the cart that first arrives at the machine assigned to the previous process of the current process will be selected.
[0100] Using this scheduling rule can effectively improve the transportation efficiency of the cart, thereby minimizing the maximum completion time.
[0101] S6. Design several different neighborhood search operators, and consider a variable neighborhood search strategy suitable for the problem based on the characteristics of the problem. Under the guidance of this strategy, a different search operator is selected in each iteration, and finally the optimal value and chromosome sequence are obtained through several iterations.
[0102] S7. During each iteration, a new solution is generated. If the fitness value of the new solution is better than the original solution, the new solution is replaced with the original solution, and the fitness value of the new solution is assigned to the optimal solution. Otherwise, the original solution remains unchanged and the neighborhood search continues. The number of times the result is not improved is increased by 1.
[0103] S8. After each iteration, the total number of iterations increases by 1.
[0104] To effectively solve this scheduling problem, this application will adopt a variable neighborhood search algorithm. Its steps include chromosome initialization, determining whether the termination condition has been met, performing neighborhood search, and accepting and updating the neighborhood solution. The most important of these steps is the algorithm's neighborhood search, and the key lies in how to generate the neighborhood of the solution. To this end, this algorithm first designs four neighborhood search operators based on the key factory, where the key factory refers to the factory with the longest completion time. The specific descriptions of each neighborhood search operator are as follows:
[0105] N1: For the OS segment in the key factory, obtain two different random integers in the range [1, length(OS)] and exchange the corresponding positions of the two numbers. The specific implementation is to exchange the gene numbers of the two positions.
[0106] N2: For the OS segment in the key plant, obtain a random integer s in the range [1, length(OS)] and insert the last s genes on the OS segment to the front.
[0107] N3: For the MS segment in the key factory, first obtain the set of all processes that can select two or more processing machines, with a total number of t. Then obtain a random integer s in the range [1, t] and reallocate a processing machine to the process at the position corresponding to the number s. The specific implementation is to modify the gene number at that position to the serial number of other processing machines in the process machine set.
[0108] N4: Select a workpiece from the key factory using a roulette wheel and assign it to the factory with the shortest completion time. This is done by modifying the gene number corresponding to the workpiece in the FS segment to the number of the factory with the shortest completion time.
[0109] When the roulette wheel method is used for selection, the average processing time of each workpiece shall be used as the basis, that is, the average processing time of all processes of the workpiece. For processes that can be selected on two or more processing machines, the processing time is the average processing time on each processing machine.
[0110] In order to give full play to the role of the neighborhood search operator, a variable neighborhood search strategy suitable for the problem is considered according to the characteristics of the problem during the search. The specific implementation is as follows:
[0111] First, an array is created to store the optimal solution. During the iteration process, each time a better solution is found, it is added to the array. After randomly initializing an initial solution, the N1, N2, and N3 neighborhood search operators are first used for searching, with equal probability of being selected. If no better solution is found after several consecutive searches, the optimal solution is selected from the array and searched again using the N4 neighborhood search operator. The search then returns to using the N1, N2, and N3 neighborhood search operators.
[0112] After each neighborhood search, the fitness value of the new solution can be compared with the original solution. If the former is better than the latter, the former will replace the latter and the next iteration will be carried out. This cycle will be repeated until the iteration termination condition is reached and the optimal scheduling plan is finally output.
[0113] Based on the above, the working principle of the distributed flexible job shop scheduling method of this application has been clearly described. For actual production tasks, the relevant information of the production task is first obtained, including workpiece information and workshop information. Among them, the workpiece information is the number of workpieces, the processing sequence of each workpiece, and the set of selectable machines corresponding to each process; the workshop information is the number of machines and transport carts in each workshop, the processes that the machines can process and the corresponding processing time, and the time required for the transport cart to transport between different machines. Finally, the optimal scheduling plan for the production task is obtained through the above-mentioned workshop scheduling method.
[0114] In order to describe the method of the present invention in detail, the following is an illustration with reference to the accompanying drawings and specific embodiments.
[0115] In this embodiment, it is assumed that the production task of this example requires processing 10 workpieces {J1, J2, ···, J 10}, and can be allocated to 2 or 3 factories for processing. Each factory has the same processing resources, equipped with 5 processing machines {M1, M2, ···, M5} and 2 transport carts {A1, A2}. Each processed workpiece includes several processes. The processing time that can be allocated to each machine for each process is shown in Table 2. The data in the table represents the processing machines that can be allocated to the corresponding process, and the data in brackets is the processing time on the processing machine. In addition, Table 3 gives the transportation time of the workpiece between different machines in each factory, where LU is the material storage area in each factory, and the data unit in the table is seconds (s).
[0116] Table 2
[0117]
[0118] Table 3
[0119]
[0120] In order to obtain the optimal scheduling solution for the above production task, the production data of the production task is first converted into various matrices as the input of the algorithm. The algorithm is used to solve the example. First, the parameters of the algorithm are initialized. In this algorithm, the parameters are mainly the maximum number of iterations maxiteration and the unimproved parameter idle, both of which are set to 10000 and 0.02. The experiment is carried out 20 times when the number of factories is 2 and 3 respectively. The results are shown in Table 4, including the best value Best, average value Mean and average running time Runtime in the 20 experiments. Figure 3 and Figure 4 The iterative curves of the optimal solutions in two cases are also given.
[0121] Table 4
[0122]
[0123] In order to clearly express the optimal scheduling plan for this production task, Figure 5 and Figure 6 The Gantt charts of the optimal solutions for the two cases are given respectively. The same color represents the processes on the same workpiece.
[0124] This embodiment further provides a distributed flexible job shop scheduling device that takes transportation time into consideration, including:
[0125] at least one processor;
[0126] at least one memory for storing at least one program;
[0127] When the at least one program is executed by the at least one processor, the at least one processor implements Figure 1 The method.
[0128] A distributed flexible job shop scheduling device that takes transportation time into consideration in this embodiment can execute a distributed flexible job shop scheduling method that takes transportation time into consideration provided by the method embodiment of the present invention, can execute any combination of implementation steps of the method embodiment, and has the corresponding functions and beneficial effects of the method.
[0129] The present application also discloses a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs Figure 1 The method shown.
[0130] This embodiment also provides a storage medium storing instructions or programs that can execute a distributed flexible job shop scheduling method that takes transportation time into consideration provided by an embodiment of the method of the present invention. When the instructions or program are run, any combination of implementation steps of the method embodiment can be executed, and the corresponding functions and beneficial effects of the method can be obtained.
[0131] In some optional embodiments, the function / operation mentioned in the block diagram may not occur in the order mentioned in the operation diagram. For example, depending on the function / operation involved, the two boxes shown in succession can actually be executed substantially simultaneously or the boxes can sometimes be executed in reverse order. In addition, the embodiment presented and described in the flow chart of the present invention is provided in an exemplary manner for the purpose of providing a more comprehensive understanding of the technology. The disclosed method is not limited to the operation and logic flow presented herein. Optional embodiments are contemplated in which the order of the various operations is changed and the sub-operations described as a part of a larger operation are performed independently.
[0132] Furthermore, although the present invention is described in the context of functional modules, it should be understood that, unless otherwise indicated, one or more of the functions and / or features described may be integrated into a single physical device and / or software module, or one or more functions and / or features may be implemented in separate physical devices or software modules. It will also be understood that a detailed discussion of the actual implementation of each module is not necessary for understanding the present invention. More specifically, given the properties, functions, and internal relationships of the various functional modules in the devices disclosed herein, the actual implementation of the module will be understood within the ordinary skill of an engineer. Therefore, a person skilled in the art using ordinary skill will be able to implement the present invention set forth in the claims without undue experimentation. It will also be understood that the specific concepts disclosed are merely illustrative and are not intended to limit the scope of the present invention, which is determined by the full scope of the appended claims and their equivalents.
[0133] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0134] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by, or in conjunction with, an instruction execution system, apparatus, or device.
[0135] More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection with one or more wires (electronic devices), a portable computer disk cartridge (magnetic devices), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering, or processing in another suitable manner as necessary, and then stored in a computer memory.
[0136] It should be understood that various parts of the present invention can be implemented using hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0137] In the above description of this specification, reference to the terms "one embodiment / example," "another embodiment / example," or "certain embodiments / examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
[0138] While embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions, and variations may be made to the embodiments without departing from the principles and spirit of the invention, and that the scope of the invention is defined by the claims and their equivalents.
[0139] The above is a specific description of the preferred implementation of the present invention, but the present invention is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without violating the spirit of the present invention. These equivalent modifications or substitutions are all included in the scope defined by the claims of this application.
Claims
1. A distributed flexible job shop scheduling method, characterized in that: The following steps are involved: The workshop scheduling problem considering transportation time is transformed into four sub-problems: plant allocation, machine selection, process sequencing and cart allocation; A mathematical model is established based on the workshop scheduling problem, and the algorithm parameters are initialized. The optimization objective of the mathematical model is selected as the maximum completion time, which is expressed as follows: f=min C max C max =max{C 1 ,C 2 ,…,C q } Where C max is the maximum completion time, C q is the completion time of the qth factory; Use chromosome encoding and heuristic rules to solve the model, initialize the chromosome, and use the corresponding decoding method to calculate the chromosome's fitness value, that is, the maximum completion time; Determine whether the preset iteration termination condition is met. If so, end the iteration and output the optimal solution and corresponding scheduling plan; If it is not reached, a variable neighborhood search is performed; Design several different neighborhood search operators. Under the guidance of the variable neighborhood search strategy, select different search operators in each iteration, and finally obtain the optimal value and chromosome sequence through several iterations. In each iteration, a new solution is generated. If the fitness value of the new solution is better than the original solution, the fitness value of the new solution is assigned to the optimal solution. Otherwise, the original solution remains unchanged and the neighborhood search continues until the iteration termination condition is reached; The constraints of the workshop scheduling problem include: 1) Each workpiece can only be assigned to one factory for processing; 2) Each process can only be processed by one processing machine; 3) Each trolley can only transport one workpiece at a time; 4) Factories and carts are independent of each other; The design of several different neighborhood search operators includes: Four neighborhood search operators are designed based on the key factory, where the key factory refers to the factory with the longest completion time. The four neighborhood search operators are described as follows: N1: For the process segment OS in the key factory, obtain two different random integers in the range [1, length(OS)] and swap the processes at the corresponding positions of the two numbers. The specific implementation is to swap the gene numbers at the two positions; N2: For the process segment OS in the key factory, get a random integer s in the range [1, length(OS)] and insert the last s genes on the process segment OS to the front; N3: For the machine segment MS in the critical factory, first obtain the set of all processes that can select two or more processing machines, the total number of which is t. Then obtain a random integer s in the range [1, t] and reallocate a processing machine to the process at the position corresponding to the number s. N4: A workpiece is selected in a roulette wheel manner in the key factory and assigned to the factory with the shortest completion time. Under the guidance of the variable neighborhood search, a different search operator is selected in each iteration, and finally the optimal value and chromosome sequence are obtained through several iterations, including: Create an array to store the optimal solution. During the iteration process, each time a better solution is found, it is added to the array. After randomly initializing an initial solution, first use the N1, N2 and N3 neighborhood search operators to search, and the probability of the three being selected is equal. If a better solution is not found after several consecutive searches, select the optimal solution from the array and use the N4 neighborhood search operator to search once, and then go back to using N1, N2 and N3 to search again. After each neighborhood search, the fitness value of the new solution is compared with the original solution. If the fitness value of the new solution is better than the original solution, the fitness value of the new solution replaces the original solution, and the next iteration is performed until the iteration termination condition is reached, and finally the optimal scheduling plan is output.
2. A distributed flexible job shop scheduling method according to claim 1, characterized in that: The workshop scheduling problem considering transportation time is described as follows: there are multiple workpieces to be processed that need to be assigned to several factories for processing. Each factory is regarded as an independent workshop, consisting of several processing machines and transport carts. For any factory, the workpieces assigned to the factory need to be processed in several steps, and at least one processing machine can be selected for each step. After the processing is completed, the workpiece is transported by the transport cart to other processing machines to complete the subsequent steps.
3. A distributed flexible job shop scheduling method according to claim 1, characterized in that: For the four sub-problems, chromosome coding and heuristic rules are used to solve the model; The chromosome code consists of three codes: process segment OS, machine segment MS and factory segment FS; Among them, the process code segment OS is used to solve the process sorting problem. Its length is equal to the total number of processes. Each gene represents a process. The number i on the gene represents that the process belongs to workpiece i. If a number appears j times from left to right, it means that the gene corresponding to the number is the jth process of the workpiece. The machine code segment MS is used to solve the machine selection problem. Its length is equal to the total number of processes. All genes are sorted from left to right according to the size of the workpiece and process, and each gene represents the processing machine selected for the corresponding process. The number m on the gene represents the mth machine in the machine set corresponding to the process. The factory encoding segment FS is used to solve the factory allocation problem. Its length is equal to the total number of artifacts. All genes are sorted from left to right according to the size of the artifacts. The number f on the gene represents the artifact allocated to factory f.
4. A distributed flexible job shop scheduling method according to claim 3, characterized in that: The method of calculating the fitness value of the chromosome by using the corresponding decoding method includes: The workpieces assigned to each factory are determined based on the genetic information of the factory coding segment FS. The original chromosome is decomposed into several sub-chromosomes, where each sub-chromosome corresponds to a factory and each sub-chromosome is composed of a new process segment OS and machine segment MS. Each sub-chromosome is decoded to obtain the maximum completion time of the corresponding factory, and a heuristic rule is used in the decoding process to allocate the carts required for transportation of all processes.
5. A distributed flexible job shop scheduling device, characterized in that: include: at least one processor; at least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the method according to any one of claims 1 to 4.
6. A computer-readable storage medium storing a program executable by a processor, characterized in that: The processor-executable program is used to perform the method according to any one of claims 1 to 4 when executed by the processor.
Citation Information
Patent Citations
Distributed flexible job shop scheduling method considering machine faults
CN116880408A
Integrated scheduling method for production and transportation of distributed prefabricated parts
CN117910761A