A distributed flexible job shop scheduling method and device
By constructing a three-layer local search strategy and a machine idle time saving method under the framework of the quality-diversity optimization algorithm, the scheduling of distributed flexible job shops is optimized, the transmission constraint problem is solved, the production efficiency and resource utilization are improved, and the production cost is reduced.
Patent Information
- Application Number
- CN202311831353.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-27
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2043-12-27
AI Technical Summary
Existing technologies are difficult to effectively solve the distributed flexible job shop scheduling problem with transmission constraints, which leads to increased machine idle time, low production efficiency and high production costs.
A three-layer local search strategy and machine idle time saving method under the quality-diversity optimization algorithm framework are adopted to construct encoding and decoding rules to optimize factory allocation, machine selection and process sequencing. The scheduling sequence is optimized through local search operators and decoding rules to shorten the completion time.
It improves machine utilization efficiency, shortens the completion time of the scheduling sequence, reduces production costs, and improves production efficiency and resource utilization.
Smart Images

Figure CN117872979B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of flexible job shop scheduling, and particularly relates to a scheduling method and device for distributed flexible job shop. BACKGROUND
[0002] With the continuous development of social economy, manufacturing has become an important pillar of the national economy. The distributed flexible job shop scheduling problem is a production scheduling problem in manufacturing, which widely exists in the production environment of various fields in reality, such as the semiconductor field, the aerospace field, the chemical and chemical field, the textile field, etc., so it has attracted the attention of many researchers. As an NP difficult problem, it is difficult to solve this kind of problem by traditional mathematical methods. However, in the actual production process of enterprises, distributed environment and transmission constraints exist universally in job shops, and by reducing the transmission of workpieces and the idle time of machines, the productivity of enterprises can be significantly improved, and the production cost can be reduced.
[0003] At present, the research on the distributed flexible job shop scheduling problem with transmission constraints is not enough, there is no relevant literature to establish the corresponding coding and decoding rules for this problem, and there is no effective method to solve this problem, but this problem exists universally in real production, so it is very important to establish effective coding and decoding rules for the distributed flexible job shop scheduling problem with transmission constraints and design a corresponding solving method. By solving this problem, the equipment utilization efficiency of enterprises can be fully improved, unnecessary time waste of machines can be reduced, productivity can be effectively improved, and scheduling decisions can be provided for actual production planning. In addition, different scheduling sequences will have different effects on the completion time. If the scheduling sequence is not reasonable, it may cause a large amount of idle time of machines, thereby prolonging the processing time and reducing the production efficiency. SUMMARY
[0004] To at least partially solve one of the technical problems existing in the prior art, the purpose of the present application is to provide a scheduling method and device for distributed flexible job shop.
[0005] The technical solution adopted by the present application is:
[0006] A scheduling method for distributed flexible job shop, comprising the following steps:
[0007] S1, taking minimizing the maximum completion time of the scheduling sequence as the target, coding rules and decoding rules of the distributed flexible job shop scheduling problem with transmission constraints are constructed;
[0008] S2. Generate an initial solution within the framework of the quality-diversity optimization algorithm: Assign appropriate plants and machines to the processes in the scheduling sequence based on the plant allocation, machine selection, and process sorting vectors in the three-layer encoding rules. Use decoding rules to initialize the scheduling sequence and calculate the corresponding target values.
[0009] S3. Execute a three-level local search strategy: randomly generate a solution x and a random operator p, with the value of p ranging from 1, 2, and 3. If p = 1, execute the factory-based local search operator; if p = 2, execute the machine-based local search operator; if p = 3, execute the process-based local search operator;
[0010] S4. Execute the machine idle time saving method: move all the processes that can be shifted left in the semi-active schedule SAS into the idle time area of the preceding machine, thus obtaining the active schedule AS. Move all the processes that can be shifted right in the active schedule AS into the idle time area of the following machine, thus obtaining the fully active schedule FAS.
[0011] S5. Update the solution saved in the behavior space and determine whether the termination condition is met. If so, the evaluation ends and the current optimal scheduling sequence and target value are output; otherwise, return to step S3.
[0012] Furthermore, in step S1, there are two decoding rules: one is decoding according to the machine allocation vector, and the other is decoding according to the first idle time of the machine. The use of the two decoding rules is controlled by a bool variable. The objective function of the distributed flexible job shop scheduling problem with transmission constraints is:
[0013]
[0014] Among them, obj is the optimization objective, which is to minimize the maximum completion time of the scheduling sequence; is the nth i Process, n i is the last process of workpiece i.
[0015] Furthermore, the constraints of the distributed flexible job shop scheduling problem include:
[0016] Ensure that each process has one and only one direct predecessor and successor in the scheduling sequence. If the process is at the first or last position in the sequence, its predecessor and successor are both empty;
[0017] Ensure that one machine can only process one process at a time, and one process can only be processed by one machine at a time;
[0018] Ensure that once a process starts, it cannot be preempted or interrupted by other processes;
[0019] Ensure that the settings, adjustments, detection time of the machine are included in the residence time;
[0020] Ensure that at time zero, all machines are available;
[0021] Ensure that the process processing time is greater than 0.
[0022] Further, the encoding and decoding rules include the following steps:
[0023] Generate three integer vectors of factory allocation FA, order sorting OS, and machine selection MS;
[0024] Traverse the data in the three integer vectors, extract the factory and machine number allocated to each process;
[0025] According to the bool variable to select the decoding rule, if bool is True, then select the machine for the process according to the machine selection vector MS; otherwise, select the first idle machine to process;
[0026] Calculate the completion time of the entire process to obtain the target value, characteristics and corresponding solution.
[0027] Further, the initial solution generated under the quality-diversity optimization algorithm framework includes:
[0028] According to the encoding and decoding rules, the target value, characteristics and complete solution are calculated;
[0029] According to the presence or absence of the corresponding characteristic unit in the row space and the target value size, update the solution in the grid;
[0030] If there is no solution in the grid, save the current solution in the grid; if there is a solution in the grid, judge whether the target value of the solution in the grid is less than the target value of the current solution, if less, replace the solution in the grid with the newly generated solution, otherwise, the solution in the grid remains unchanged.
[0031] Further, after the initialization strategy is completed, a random operator p is generated, if p = 1, execute the factory-based local search operator, the operation steps of the factory-based local search operator include:
[0032] Find the critical factory f_critical of the current solution x;
[0033] Randomly select a job cri_job from the critical factory f_critical;
[0034] Randomly select one non-critical factory f_rand from solution x;
[0035] Randomly select one job rnd_job from non-critical factory f_rand;
[0036] Exchange the factory assignment of job rnd_job and job cri_job;
[0037] Update the job information in factory assignment vector FA to get a new solution x new .
[0038] Further, after the initialization strategy is completed, a random operator p is generated, if p = 2, a process-based local search operator is executed, the operation steps of the process-based local search operator include:
[0039] Find the critical factory f_critical and the critical path ope_path of the current solution x;
[0040] Randomly select one process O from critical path ope_path; i,j , wherein i represents the job number, and j represents the specific process in job i;
[0041] Randomly select one process O' from critical factory f_critical; i,j , and ensure that process O' i,j and process O i,j do not belong to the same job;
[0042] Exchange the sorting positions of process O' and process O'; i,j i,j
[0043] Update the job information in process sorting vector OS to get a new solution x new .
[0044] Further, after the initialization strategy is completed, a random operator p is generated, if p = 3, a machine-based local search operator is executed, the operation steps of the machine-based local search operator include:
[0045] Find the critical factory f_critical and the critical path ope_path of the current solution x;
[0046] Randomly select one process O from critical path ope_path; i,j , wherein i represents the job number, and j represents the specific process in job i;
[0047] Randomly select one process O from process O i,j Randomly select a machine k that can process, and ensure that machine k is different from the original assigned machine;
[0048] Replacement process O i,j processing machines;
[0049] Update the information in the machine selection vector MS and get a new solution x new .
[0050] Furthermore, after the three-layer local search strategy operation is completed, a machine idle time saving method is executed, and the operation steps of the machine idle time saving method include:
[0051] Traverse the scheduling sequence in positive order and find the idle time in front of the machine where the process is located for all processes. If the sum of the process's processing time and its machine retention time is less than the machine idle time, and the processes meet the order constraints, move the workpiece to the idle time period of the machine for processing;
[0052] When there is no process that can be shifted left in the scheduling sequence, the scheduling plan is converted from the semi-active schedule SAS to the active schedule AS;
[0053] Traverse the scheduling sequence in reverse order and find the idle time behind the machine where the process is located for all processes. If the sum of the process's processing time and its machine retention time is less than the machine idle time, and the processes meet the order constraints, move the workpiece to the idle time period of the machine for processing;
[0054] When there is no process that can be shifted left in the scheduling sequence, the scheduling plan is converted from the active scheduling table AS to the fully active scheduling table FAS; at this time, there is no process that can be shifted left or right for each machine in the scheduling sequence, and the idle time of the process is further reduced.
[0055] Another technical solution adopted in the present invention is:
[0056] A distributed flexible job shop scheduling device, comprising:
[0057] at least one processor;
[0058] at least one memory for storing at least one program;
[0059] When the at least one program is executed by the at least one processor, the at least one processor implements the method described above.
[0060] Another technical solution adopted in the present invention is:
[0061] 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.
[0062] The present application has the beneficial effects that the present application solves the distributed flexible job shop scheduling problem with the transmission constraint, shortens the completion time of the scheduling sequence, reduces the time cost of processing, and improves the production efficiency of the workshop. BRIEF DESCRIPTION OF DRAWINGS
[0063] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following introduces the drawings of the related technical solutions in the embodiments of the present application or the prior art. It should be understood that the drawings in the following introduction are only for the convenience of clearly describing part of the embodiments of the technical solutions of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the premise.
[0064] Figure 1 is a flow chart of a distributed flexible job shop scheduling method in the embodiments of the present application;
[0065] Figure 2 is a performance comparison chart of the method proposed in the embodiments of the present application and other algorithms;
[0066] Figure 3 is a convergence curve comparison chart of the method proposed in the embodiments of the present application and other algorithms. DETAILED DESCRIPTION
[0067] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the drawings, wherein the same or similar reference signs represent the same or similar elements or elements with the same or similar functions throughout. The embodiments described below with reference to the drawings are exemplary and are only used to explain the present application, and cannot be understood as a limitation of the present application. For the step numbers in the following embodiments, they are only set for the convenience of description and explanation, and the order between the steps is not limited in any way, and the execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
[0068] In the description of the present application, it should be understood that the orientation description, such as the orientation or position relationship indicated by up, down, front, back, left, right, etc. is based on the orientation or position relationship shown in the drawings, and is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as a limitation of the present application.
[0069] In the description of the present application, the meaning of one or more is one or more, the meaning of multiple is two or more, greater than, less than, more than, etc. are understood as not including the number, above, below, within, etc. are understood as including the number. If the first, second is described for the purpose of distinguishing technical features, it cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features or implicitly indicating the order of the indicated technical features.
[0070] In addition, in the description of the present application, unless otherwise specified, "a plurality of" means two or more. The association relationship of the associated objects is described, which means that there can be three relationships, for example, A and / or B can represent three cases: A exists alone, A and B exist together, and B exists alone. The character " / " generally represents that the front and rear associated objects are in an "or" relationship.
[0071] In the description of the present application, unless otherwise explicitly limited, the words such as setting, installing, connecting, etc. should be broadly understood, and the person skilled in the art can reasonably determine the specific meaning of the above words in the present application in combination with the specific content of the technical solution.
[0072] In order to better solve the distributed flexible job shop scheduling problem with transmission constraints, the present application provides an effective scheduling method, that is, a scheduling method for distributed flexible job shop with transmission constraints, which takes the maximum completion time as the optimization target, and stores the solution and target value into the grid of the row space. Compared with the traditional flexible job shop scheduling method, the scheduling method provided by the present application finds the solution from a new angle in the row space, has fewer parameters, is easier to implement and improve, can find more diversified solutions and continuously improve and optimize, so as to obtain a higher quality scheduling scheme, can effectively improve the scheduling scheme according to the user demand, improve the production efficiency of the enterprise, balance the load between multiple factories, avoid unreasonable allocation phenomenon in production, improve the stability and reliability of the production line, and reduce the idle time of the machine after optimization, reduce time waste, and thus reduce production cost.
[0073] As shown in Figure 1 The embodiment provides a scheduling method for distributed flexible job shop with transmission constraints, guarantees resource allocation of the factory, improves utilization efficiency of the machine, and reduces the completion time of the whole scheduling scheme. The method comprises the following steps:
[0074] Step 1: taking the minimum maximum completion time of the scheduling sequence as the target, the coding and decoding rules of the distributed flexible job shop scheduling problem with transmission constraints are constructed.
[0075] Step 2: Generating initial solutions under the framework of quality-diversity optimization algorithm: based on the vectors of factory allocation, machine selection and operation sequencing in the three-layer encoding rules, appropriate factories and machines are allocated to the operations in the scheduling sequence, and decoding rules are used to initialize the scheduling sequence and calculate the corresponding objective value.
[0076] Step 3: Three-layer local search strategy: a solution x is randomly generated, and a random operator p is generated, p takes values in the range of 1, 2, 3, if p = 1, execute the local search operator based on the factory, if p = 2, execute the local search operator based on the machine, if p = 3, execute the local search operator based on the operation.
[0077] Step 4: Machine idle time saving method, first move all left- movable operations in the semi-active scheduling table SAS to the area of idle time in front of the machine, at this time the active scheduling table AS will be obtained, then move all right- movable operations in the active scheduling table AS to the area of idle time behind the machine, at this time the full active scheduling table FAS will be obtained.
[0078] Step 5: Update the solutions saved in the row space, judge whether the termination condition is met, if yes, the evaluation is ended and the current best scheduling sequence and objective value are output, otherwise, continue to execute step 3.
[0079] As an optional implementation, in step 1, the encoding and decoding rules of distributed flexible job shop scheduling problem with transportation constraints are constructed to minimize the maximum completion time of the scheduling sequence, among which there are two decoding rules, one is to decode according to the machine allocation vector, and the other is to decode according to the first idle time of the machine, the use of the two decoding rules is controlled according to a bool variable, the objective function of distributed flexible job shop scheduling problem with transportation constraints is:
[0080]
[0081] Where, obj is the optimization objective, that is, to minimize the maximum completion time of the scheduling sequence; is the n i th operation of workpiece i, n i is the last operation of workpiece i.
[0082] The encoding and decoding rules include the following steps A1-A4:
[0083] A1, first, generate three integer vectors of factory allocation FA, operation sequencing OS and machine selection MS;
[0084] A2, second, traverse the data in the three vectors, extract the factory and machine number allocated to each operation;
[0085] A3、Next, the decoding rule is selected according to the bool variable, if the bool is True, the MS vector is used to select the machine for the process, otherwise, the first idle machine is used to process the process;
[0086] A4、Finally, the completion time of the whole process is calculated to obtain the target value, the characteristics and the corresponding solution.
[0087] The constraint conditions of the distributed flexible job shop scheduling problem with transportation constraints include B1-B6:
[0088] B1、Ensure that each process has and only has one direct predecessor and successor in the scheduling sequence, if the position of the process is the first or last process in the scheduling sequence, its predecessor and successor are empty;
[0089] B2、Ensure that a machine can only process one process at a time, and a process can only be processed by one machine at a time;
[0090] B3、Ensure that once the process starts, it cannot be preempted or interrupted by other processes;
[0091] B4、Ensure that the setting, adjustment and detection time of the machine is included in the residence time;
[0092] B5、Ensure that at time zero, all machines are available;
[0093] B6、Ensure that the process processing time is greater than 0.
[0094] As an optional implementation, in step 2, the initial solution is generated based on the quality-diversity optimization algorithm framework, which includes the following steps:
[0095] First, the target value, characteristics and complete solution are calculated according to the encoding and decoding rules;
[0096] Second, the solution in the grid is updated according to the presence or absence of the corresponding characteristic unit in the row space and the size of the target value, and whether the filling condition is met is judged;
[0097] Finally, if there is no solution in the grid, the current solution is saved in the grid, otherwise, it is judged whether the target value of the solution in the grid is less than the target value of the current solution, if it is less than, the newly generated solution replaces the solution in the grid, otherwise, the solution in the grid remains unchanged.
[0098] As an optional implementation, in step 3, a three-layer local search strategy is executed: a solution x is randomly generated, and a random operator p is generated, where the value range of p is 1, 2, 3. If p = 1, a factory-based local search operator is executed; if p = 2, a machine-based local search operator is executed; if p = 3, a process-based local search operator is executed.
[0099] 1) The factory-based local search operator is implemented as follows:
[0100] First, find the critical factory f_critical of the current solution x;
[0101] Secondly, randomly select a workpiece cri_job from f_critical;
[0102] Next, a non-critical factory f_rand is randomly selected from the solution x;
[0103] Then, a job rnd_job is randomly selected from f_rand;
[0104] Finally, swap the factories assigned by rnd_job and cri_job and update the workpiece information in the factory assignment vector FA to obtain a new solution x new .
[0105] 2) The specific implementation of the process-based local search operator is as follows:
[0106] First, find the critical factory f_critical and the critical path ope_path of the current solution x;
[0107] Next, randomly select a process O from ope_path i,j , where i represents the workpiece number and j represents the specific process in workpiece i;
[0108] Next, randomly select a process O' from f_critical i,j , and ensure that O′ i,j With O i,j Do not belong to the same artifact;
[0109] Finally, swap O′ i,j and O i,j The sorting position and update the workpiece information in the process sorting vector OS to get a new solution x new .
[0110] 3) The specific implementation of the machine-based local search operator is as follows:
[0111] Firstly, find the critical factory f_critical and the critical path ope_path of the current solution x;
[0112] Secondly, randomly select a process O from ope_path i,j ;
[0113] Then, randomly select a processable machine k from Q i,j , and make sure that machine k is different from the original assigned machine;
[0114] Finally, replace the processing machine of O i,j and update the information in the machine selection vector MS to obtain a new solution x new .
[0115] As an optional implementation, in step 4, the machine idle time saving method is executed, and the specific steps of the machine idle time saving method are as follows:
[0116] Firstly, traverse the scheduling sequence in the forward order, find the idle time in front of the machine of each process, if the sum of the processing time of the process and the machine residence time is less than the machine idle time and the process meets the before-after ordering constraint, move the workpiece to the machine idle time period for processing, when there is no process that can be moved left in the scheduling sequence, the scheduling scheme is converted from SAS to AS;
[0117] Secondly, traverse the scheduling sequence in the reverse order, find the idle time behind the machine of each process, if the sum of the processing time of the process and the machine residence time is less than the machine idle time and the process meets the before-after ordering constraint, move the workpiece to the machine idle time period for processing;
[0118] Finally, when there is no process that can be moved left in the scheduling sequence, the scheduling scheme is converted from AS to FAS, at this time, there is no process that can be moved left and right in each machine in the scheduling sequence, and the idle time of the process is further reduced.
[0119] The application improves the global search ability of the algorithm and increases the diversity of the solution by using the quality-diversity framework. The local search ability of the algorithm is further improved and the quality of the solution is improved by using the three-layer local search strategy and the machine idle time saving method.
[0120] The application balances the search and development ability by the cooperation of the quality-diversity framework, the three-layer local search strategy and the machine idle time saving method. The application is further described and explained by specific embodiments as follows:
[0121] The simulation experiment adopts 20 standard examples, wherein, the number of workpieces j={10, 20, 30, 40, 50, 100, 150, 200}, the number of machines m=5, the number of workpieces f={2, 3, 4, 5, 6, 7}, and the workpiece processing time is uniformly distributed in the range of [5, 20]. In the specific examples of the application, detailed explanation and experimental verification will be carried out.
[0122] The three-layer quality-diversity algorithm based on the quality-diversity framework proposed in the application, referred to as TLQD, is compared with the original quality-diversity algorithm QD, the variable neighborhood search-genetic algorithm VNS-GA and the improved iterative greedy-simulated annealing algorithm IGSA to verify the effectiveness of the application. These comparison algorithms are high-performance optimization algorithms proposed in recent years. In order to reduce the error of the experiment, 20 times of execution are repeated for each example to ensure the uniformity and consistency of the algorithm. The relative percentage increase RPI is used as the evaluation index of the performance of the algorithm, and the calculation formula of RPI is RPI=(C i -C best ) / C best ×100, wherein C i represents the maximum completion time obtained by the specific algorithm, and C best represents the minimum maximum completion time obtained by all algorithms. Obviously, the smaller the RPI value is, the smaller the maximum completion time is, and the better the performance of the corresponding algorithm is.
[0123] Figure 2 is an intuitive representation of the optimization results of all algorithms. Specifically, from the RPI value distribution range of Figure 2 , it can be seen that TLQD is obviously better than VNS-GA, QD and IGSA. In addition, Figure 3 gives the convergence curves of the completion time of the four algorithms with the increase of the evaluation number. From Figure 3 , it can be known that with the increase of the evaluation number, the evolution curve of the TLQD algorithm of the application is obviously lower than that of the comparison algorithms, and the value of the completion time is continuously reduced, which shows that the convergence of the method of the application is very good, and can be continuously iterated and updated.
[0124] In summary, compared with the prior art, the method of the application has at least the following advantages and beneficial effects:
[0125] (1) Method level:
[0126] 1) The method further improves the global search ability of the algorithm on the basis of the quality-diversity algorithm, greatly improves the diversity of the solution, and the method has the advantages that
[0127] 2) The three-layer local search strategy improves the quality of the solution by changing the factory allocation, process sequencing and machine selection, which is conducive to finding a better solution in the search area and improving the global search ability of the algorithm;
[0128] 3) The machine idle time saving method saves machine idle time, further improving the quality of the solution;
[0129] 4) According to the local search strategy, the appropriate decoding rule is selected, the machine first idle decoding rule is used after the factory and process-based local search operator and the machine idle time saving method, which effectively improves the utilization efficiency of the machine and shortens the completion time of the process. According to the MS vector after initialization and machine-based local search operator, the decoding is carried out, which effectively improves the diversity of the solution;
[0130] (2) Application level:
[0131] 1) Compared with the traditional distributed flexible job shop scheduling method, the method provided by the present application studies the problem from a new angle, has the advantages of easy implementation and improvement, easy adjustment of parameters, etc.;
[0132] 2) The scheduling scheme can be continuously improved and optimized to obtain more diverse and high-quality solutions;
[0133] 3) The scheduling sequence can be effectively optimized according to the user's demand, the utilization efficiency of the machine is improved, and the processing efficiency of the enterprise is ultimately improved;
[0134] 4) The load balance between multiple factories can be effectively guaranteed, the situation of uneven resource allocation in the processing process is avoided, the utilization rate of the machine is improved, the idle time and completion time of the machine are greatly shortened after optimization of the scheduling scheme, resource waste is reduced, and the production cost of the enterprise is reduced.
[0135] The embodiment also provides a distributed flexible job shop scheduling device, which comprises:
[0136] at least one processor;
[0137] at least one memory for storing at least one program;
[0138] When the at least one program is executed by the at least one processor, the at least one processor implements the method as shown in the description. Figure 1
[0139] The distributed flexible job shop scheduling device of the embodiment can execute the distributed flexible job shop scheduling method provided by the method embodiment of the present application, can execute any combination of the steps of the method embodiment, and has the corresponding functions and beneficial effects of the method.
[0140] The embodiment of the present application further discloses a computer program product or computer program, which comprises 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 to enable the computer device to perform the method shown in the embodiment. Figure 1 The embodiment of the present application further discloses a computer program product or computer program, which comprises 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 to enable the computer device to perform the method shown in the embodiment.
[0141] The embodiment of the present application further discloses a computer program product or computer program, which comprises 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 to enable the computer device to perform the method shown in the embodiment.
[0142] In some alternative embodiments, the functions / operations mentioned in the block diagrams can not occur in the order mentioned in the operation diagrams. For example, depending on the functions / operations involved, two blocks shown in succession can actually be executed substantially concurrently or the blocks can sometimes be executed in reverse order. Furthermore, the embodiments presented and described in the flow diagrams of the present application are only examples. The steps presented and described in the flow diagrams are provided by way of examples in order to provide a more thorough understanding of the technology. The disclosed methods are not limited to the operations and logical flows presented in the specification. Alternative embodiments are contemplated in which the order of various steps is changed and in which sub-steps of a larger step are performed in parallel rather than sequentially. Variations of these methods can become apparent to those of ordinary skill in the art once the above disclosure is considered.
[0143] Furthermore, although the present application is described in the context of functional modules, it is to be understood that one or more of the described functions and / or features can be integrated in a single physical device and / or software module, or one or more functions and / or features can be implemented in separate physical devices or software modules. It is also to be understood that detailed discussion of the actual implementation of each module is unnecessary to an understanding of the present application. Rather, the actual implementation is to be understood in terms of the specifications, applications, and relationships of the various functional modules disclosed herein. The skilled artisan will readily appreciate that the actual implementation of the modules is within the well- understood skill set of one of ordinary skill in the art. The disclosed specific concepts are merely illustrative and are not intended to limit the scope of the present application, which is defined by the full scope of the claims appended hereto and equivalents thereof.
[0144] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the parts of the technical solutions that essentially contribute to the prior art or the parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing 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 methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0145] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered a list of executable instructions for implementing logic functions, and can be specifically embodied in any computer-readable medium for use by an instruction execution system, apparatus, or device, such as a computer-based system, a system including a processor, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions, or in conjunction with these instructions execution systems, apparatuses, or devices. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport programs for use by an instruction execution system, apparatus, or device, or in conjunction with these instruction execution systems, apparatuses, or devices.
[0146] More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection having one or more wires (electrical devices), a portable computer diskette (magnetic devices), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable medium can even be paper or other suitable medium on which the program can be printed, because the program can be electronically obtained, for example, by optical scanning of the paper or other medium, followed by editing, interpreting, or otherwise processing, if necessary, in other suitable ways, to be electronically obtained, and then stored in the computer memory.
[0147] It should be understood that various parts of the present application can be implemented in hardware, software, firmware or a combination thereof. In the above embodiments, various steps or methods can be implemented in software or firmware that is stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any of the following technologies, known in the art, or their combinations can be used: a discrete logic circuit having logic gates for implementing logic functions on data signals, an application specific integrated circuit having appropriate combinational logic gates, a programmable gate array (PGA), a field programmable gate array (FPGA), or the like.
[0148] In the above description of the present specification, the description of the terms "one embodiment / one example", "another embodiment / another example", or "certain embodiments / certain examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiments or examples are included in at least one embodiment or example of the present application. In the present specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Also, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0149] Although the embodiments of the present application have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and variations can be made thereto without departing from the principles and spirit of the present application, the scope of which is defined by the claims and their equivalents.
[0150] The above is a specific description of the preferred embodiments of the present application, but the present application is not limited to the above-described embodiments, and those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present application, and these equivalent modifications or substitutions are included in the scope defined by the claims of the present application.
Claims
1. A distributed flexible job shop scheduling method, characterized in that: The following steps are involved: S1. With the goal of minimizing the maximum completion time of the scheduling sequence, we construct encoding and decoding rules for the distributed flexible job shop scheduling problem with transmission constraints. S2. Generate an initial solution within the framework of the quality-diversity optimization algorithm: assign plants and machines to the processes in the scheduling sequence, and use decoding rules to initialize the scheduling sequence and calculate the corresponding target values; S3. Execute a three-level local search strategy: randomly generate a solution x and a random operator p, where the value of p ranges from 1, 2, and 3. If p = 1, execute the factory-based local search operator; if p = 2, execute the machine-based local search operator; if p = 3, execute the process-based local search operator; S4. Execute the machine idle time saving method: move all the processes that can be shifted left in the semi-active schedule SAS into the idle time area of the preceding machine, thus obtaining the active schedule AS. Move all the processes that can be shifted right in the active schedule AS into the idle time area of the following machine, thus obtaining the fully active schedule FAS. S5. Update the solution saved in the behavior space and determine whether the termination condition is met. If so, the evaluation ends and the current optimal scheduling sequence and target value are output; otherwise, return to step S3.
2. A distributed flexible job shop scheduling method according to claim 1, characterized in that: In step S1, there are two decoding rules: one is decoding according to the machine allocation vector, and the other is decoding according to the first idle time of the machine. The use of the two decoding rules is controlled by a bool variable. The objective function of the distributed flexible job shop scheduling problem with transmission constraints is: Among them, obj is the optimization objective, which is to minimize the maximum completion time of the scheduling sequence; is the nth i Process, n i is the last process of workpiece i.
3. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: The constraints of the distributed flexible job shop scheduling problem include: Ensure that each process has one and only one direct predecessor and successor in the scheduling sequence. If the process is at the first or last position in the sequence, its predecessor and successor are both empty; Ensure that one machine can only process one process at a time, and one process can only be processed by one machine at a time; Ensure that once a process starts, it cannot be preempted or interrupted by other processes; Ensure that the machine setup, adjustment, and testing time are included in the residence time; Ensure that all machines are available at time zero; Make sure the process time is greater than 0.
4. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: The encoding rules and decoding rules include: Generate three integer vectors: factory allocation vector FA, process sorting vector OS, and machine selection vector MS; Traverse the data in the three integer vectors and extract the factory and machine number assigned to each process; The decoding rule is selected according to the bool variable. If bool is True, the machine is selected for the process according to the machine selection vector MS; otherwise, the process selects the first idle machine for processing; Calculate the completion time of the entire process and obtain the target value, characteristics and corresponding solutions.
5. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: The generation of an initial solution under the framework of the quality-diversity optimization algorithm includes: Calculate according to the encoding rules and decoding rules to obtain the target value, features and complete solution; Update the solution in the grid based on the presence or absence of the corresponding feature unit in the behavior space and the size of the target value; If there is no solution in the grid, the current solution is saved in the grid; if there is a solution in the grid, it is determined whether the target value of the solution in the grid is less than the target value of the current solution. If so, the newly generated solution replaces the solution in the grid. Otherwise, the solution in the grid remains unchanged.
6. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: After the initialization strategy is completed, a random operator p is generated. If p=1, the factory-based local search operator is executed. The operation steps of the factory-based local search operator include: Find the critical factory f_critical for the current solution x; Randomly select a job cri_job from the critical factory f_critical; Randomly select a non-critical plant f_rand from solution x; Randomly select a job rnd_job from a non-critical factory f_rand; Exchange the factories assigned to the workpiece rnd_job and the workpiece cri_job; Update the workpiece information in the factory allocation vector FA to obtain a new solution x new .
7. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: After the initialization strategy is completed, a random operator p is generated. If p=2, the process-based local search operator is executed. The operation steps of the process-based local search operator include: Find the critical factory f_critical and critical path ope_path of the current solution x; Randomly select an operation O from the critical path ope_path i,j , where i represents the workpiece number and j represents the specific process in workpiece i; Randomly select a process O′ from the critical factory f_critical i,j , and ensure process O' i,j With process O i,j Do not belong to the same artifact; Exchange process O' i,j and process O i,j The sorting position of Update the workpiece information in the process sorting vector OS to obtain a new solution x new .
8. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: After the initialization strategy is completed, a random operator p is generated. If p=3, the machine-based local search operator is executed. The operation steps of the machine-based local search operator include: Find the critical factory fcritical and critical path ope_path of the current solution x; Randomly select an operation O from the critical path ope_path i,j , where i represents the workpiece number and j represents the specific process in workpiece i; From process O i,j Randomly select a machine k that can process, and ensure that machine k is different from the original assigned machine; Replacement process O i,j processing machines; Update the information in the machine selection vector MS and get a new solution x new .
9. The method for scheduling a distributed flexible job shop according to claim 1, characterized in that: After the three-layer local search strategy operation is completed, a machine idle time saving method is executed. The operation steps of the machine idle time saving method include: Traverse the scheduling sequence in positive order and find the idle time in front of the machine where the process is located for all processes. If the sum of the process's processing time and its machine retention time is less than the machine idle time, and the processes meet the order constraints, move the workpiece to the idle time period of the machine for processing; When there is no process that can be shifted left in the scheduling sequence, the scheduling plan is converted from the semi-active schedule SAS to the active schedule AS; Traverse the scheduling sequence in reverse order and find the idle time behind the machine where the process is located for all processes. If the sum of the process's processing time and its machine retention time is less than the machine idle time, and the processes meet the order constraints, move the workpiece to the idle time period of the machine for processing; When there is no process that can be shifted left in the scheduling sequence, the scheduling plan is converted from the activity schedule AS to the full activity schedule FAS.
10. 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 9.
Citation Information
Patent Citations
Distributed flow shop scheduling method and device
CN115496322A
Optimization method and system for scheduling problem of reentrant assembly flexible job shop
CN117055481A