A flexible job shop batch flow scheduling method with topological neighborhood structure
A flexible job shop batch flow scheduling method based on three-dimensional disjunctive graph coding and topological neighborhood structure solves the problems of high computational complexity and many infeasible solutions in the existing technology, and realizes efficient and stable flexible job shop batch flow scheduling.
Patent Information
- Application Number
- CN202411130160.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2044-08-16
AI Technical Summary
The existing neighborhood structure has high computational complexity in the flexible job shop batch flow scheduling problem and a high probability of producing infeasible solutions, resulting in low solution efficiency and unstable solution quality.
A flexible job shop batch flow scheduling method with a topological neighborhood structure is adopted. Through a three-dimensional disjunctive graph encoding model and topological sorting decoding, the floating time method is combined to identify the critical path. Two neighborhood perturbation operations TNS-1 and TNS-2 are designed to quickly generate high-quality neighborhood solutions and avoid the generation of infeasible solutions.
It effectively reduces the computational complexity, improves the solution efficiency, ensures the quality and feasibility of the neighborhood solution, and enhances the scheduling optimization effect.
Smart Images

Figure CN119065329B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field related to scheduling theory in workshop manufacturing processes, and more specifically, relates to a flexible job shop batch flow scheduling method with a topological neighborhood structure. Background Art
[0002] Neighborhood structures play a key role in job shop scheduling. As a crucial component of optimization algorithms, they enable efficient exploration of different regions of the solution space to identify optimal scheduling solutions. In job shop scheduling, the proper design and application of neighborhood structures can effectively improve the algorithm's search efficiency and problem-solving capabilities. Guided by neighborhood structures, optimization algorithms can quickly escape local optima and find the global optimal solution, thereby improving scheduling efficiency and production profitability.
[0003] Most existing neighborhood structures are aimed at flexible job shop scheduling problems and have the following problems: First, when perturbing nodes on the critical path, the existing neighborhood structures need to strictly consider the process sequence constraints between nodes and determine the insertion position by calculating the head time and tail time. In these steps, the algorithm needs to consume a lot of resources for calculation and judgment to ensure that the generated solution meets all constraints; second, the existing neighborhood structure has a certain probability of generating infeasible solutions during the optimization process, and the feasibility judgment will also consume a lot of computing resources. In addition, the generation of infeasible solutions will cause the algorithm to fall into invalid search.
[0004] Unlike traditional flexible job shop scheduling problems, flexible job shop batch flow scheduling problems involve multiple batch manufacturing tasks that require processing on multiple machines. Flexible job shop batch flow scheduling also needs to consider the characteristics of batch flow. Existing neighborhood structures are mostly based on two-dimensional disjunctive graph encoding, where processes are represented by nodes and moved around to generate neighborhood solutions. However, in flexible job batch flow scheduling problems, sub-batches are represented by nodes in the disjunctive graph, and each node has three attributes: product number, process number, and sub-batch number. This high-dimensional and complex constraint further increases the difficulty of node movement and the probability of generating infeasible solutions after movement, further increasing the complexity of the solution. The solution space is too large and complex, resulting in low solution efficiency and unstable output solution quality. Existing neighborhood structures are no longer applicable.
[0005] Therefore, considering the characteristics of the flexible job shop batch flow scheduling problem, it is urgent to design a flexible job shop batch flow scheduling method with a topological neighborhood structure to reduce the computational complexity while ensuring the quality and feasibility of the neighborhood solution, thereby improving the scheduling optimization effect. Summary of the Invention
[0006] In response to the above-mentioned defects or improvement needs of the prior art, the present invention provides a flexible job shop batch flow scheduling method with a topological neighborhood structure to solve the technical problems of low solution efficiency and high computing resource consumption. It can avoid the generation of illegal neighborhood solutions and stably and efficiently obtain excellent neighborhood solutions to the flexible job shop batch flow scheduling problem.
[0007] To achieve the above object, according to one aspect of the present invention, a flexible job shop batch flow scheduling method with a topological neighborhood structure is provided, comprising the following steps:
[0008] S1: Population initialization, taking the flexible job shop batch flow scheduling solution to be optimized as the initial solution;
[0009] S2: Establish a three-dimensional disjunctive graph encoding model for the flexible job shop batch flow scheduling problem. The initial solution in S1 is expressed through a three-dimensional disjunctive graph, and the optimization objective is to minimize the maximum completion time.
[0010] S3: Based on the three-dimensional disjunctive graph encoding model in S2, perform topological sorting decoding to obtain a one-dimensional topological linked list;
[0011] S4: Use the float time method to identify the critical path. Based on the topology list in step S3, traverse each sub-batch node in the linear topology list in a linear order, and insert the nodes with a float time of 0 into the set to form the critical path.
[0012] S5: For each key node on the critical path, a topological neighborhood structure is used to obtain a neighborhood solution; the topological neighborhood structure includes two neighborhood perturbation operations: neighborhood perturbation operation TNS-1 is set to move the key node on the same machine, and neighborhood perturbation operation TNS-2 is set to move the key node across machines;
[0013] S6: Calculate the maximum completion time and select the one with the shortest maximum completion time from the neighborhood solutions as the new optimal solution. When the maximum completion time of the optimal solution is better than the initial solution, the optimal solution will replace the initial solution to update the population and determine whether the termination condition is met. If so, output the optimal solution. If not, go to step S1.
[0014] Furthermore, in step S2, the three-dimensional disjunctive graph encoding model maps the product number, process number and sub-batch number corresponding to each sub-batch in the flexible job batch flow scheduling to the product axis, process axis and sub-batch axis respectively; each coordinate position in the three-dimensional disjunctive graph encoding model represents a sub-batch node, and the sub-batch nodes are connected by product arcs, sub-batch arcs and machine arcs. The product arc is the process sequence constraint arc between the previous and next processes, the sub-batch arc is the virtual arc between the sub-batch nodes of the same process, and the machine arc is the connection arc between the previous and next tasks on the same machine.
[0015] Furthermore, in step S3, the specific steps of topological sorting decoding are: create a new empty topological linked list, start from the starting node, calculate the in-degree of all nodes, put one node V among all nodes with in-degree 0 into the topological linked list, and reduce the in-degree of all adjacent nodes by 1, and repeat this cycle. As long as it is determined that there is a node with in-degree 0, it will be placed in the topological linked list until all nodes have been placed. At this time, the order of the topological linked list is the order of the nodes after topological sorting, and there will be no situation where a node with a larger index points to a node with a smaller index between any two nodes in the topological linked list.
[0016] Furthermore, the calculation process of the floating time in step S4 is:
[0017] According to the directional relationship between the connecting arcs of each node in the topological linked list, starting from the starting node, recursively calculate the earliest start time ES of each sub-batch node j,o,s,m After recursively reaching the terminal node, reverse recursion is performed to calculate the latest start time LS of each sub-batch node. j,o,s,m The calculation formulas for the earliest start time and the latest start time are as follows:
[0018]
[0019]
[0020] in, Represents the sub-batch node SL j,o,s,m The earliest start time of the preceding node, Represents the sub-batch node SL j,o,s,m The latest start time of the subsequent nodes, Represents the sub-batch node SL j,o,s,m The processing time of the preceding node, TC j,o,s,m Represents the sub-batch node SL j,o,s,m processing time;
[0021] Based on the earliest start time ES of each sub-batch node j,o,s,m and the latest start time LS j,o,s,m , calculate the floating time TF j,o,s,m , the calculation formula is as follows:
[0022] TF j,o,s,m =LS j,o,s,m -ES j,o,s,m .
[0023] Furthermore, step S5 specifically includes the following steps:
[0024] S51: Selection of neighborhood perturbation operation: A randomly generated probability value P, ranging from [0, 1], is used to determine which neighborhood perturbation operation to perform on the basis of the current solution to generate a new solution. If P>0.5, the neighborhood perturbation operation TNS-1 is selected; otherwise, the neighborhood perturbation operation TNS-2 is selected.
[0025] S52: Feasibility determination of the neighborhood perturbation operation. Based on the neighborhood perturbation operation selected in S51, feasibility determination is performed according to the determination theorem. The determination theorem is set as follows:
[0026] Theorem 1 for the neighborhood perturbation operation TNS-1: Sub-batch S and For two nodes in the key block, only when When the constraint condition is After moving to node S, a loop-free feasible solution can be generated; where Index represents the index position of the node in the topology list, S JP and S JS They represent the node immediately before and after node S in terms of process constraints, respectively. MP and S MS They represent the immediate preceding node and the immediate following node of node S in the machine task sequence constraint, respectively. and Represents nodes respectively The immediately preceding and following nodes in terms of process constraints, and Represents nodes respectively The immediate preceding and succeeding nodes on the machine task order constraints;
[0027] Theorem 2 for the neighborhood perturbation operation TNS-2: If we want to move node S to machine M', we need to find the previous node S that is also on machine M'. M’P and the immediately following node S M’S , and ensure that the position index in the topology list satisfies Index(S M ’P ) <Index(S),Index(S)<Index(S M’S ), then move node S to machine M' and insert it into node S M’P and S M’S There will be no infeasible solutions with cycles;
[0028] S53: Execution of neighborhood perturbation operation. When the judgment theorem is not satisfied, the position of the key node is kept unchanged. When the judgment theorem is satisfied, the neighborhood perturbation operation is executed, the position of the key node is exchanged, and a new neighborhood solution is generated.
[0029] Among them, the specific execution process of the neighborhood perturbation operation is:
[0030] Neighborhood perturbation operation TNS-1: Determine the key node S to be moved i and its key blocks {S1, S2, ..., S i ,…,S n}, on this basis, find the key node S i The first node S of the key block processed by the same machine f and block tail node S l , and mark their sequence indexes on the topological linked list as Index(S f ), Index(S i ), Index(S l ), based on a certain random probability, it is determined that the block head node S is swapped with it. f Or the block tail node S l , the index positions of the two nodes to be exchanged in the topological linked list are determined using theorem 1, and the nodes are exchanged under the premise of satisfying the constraints to generate a neighborhood solution;
[0031] Neighborhood perturbation operation TNS-2: Determine the key node S to be moved i and its processing machine M, and determine the new processing machine M' that needs to be moved to. On this basis, find the processing machine M' that belongs to the processing machine and is connected to the key node S in the topological linked list. i The closest preceding node S M’P and the immediately following node S M’S , disconnect the key node S in the original topology list i The relevant machine arc, originally S MP →S i →S MS , after disconnection it is S MP →S MS , separate the key node S i The arc is broken and reconnected on the new processing machine M' to form a new complete topological chain list. The original S M ' P →S M ' S , after reconnection it is S M ' P →S i →S M ' S , which can generate feasible new neighborhood solutions while ensuring the sufficiency of the perturbation.
[0032] Furthermore, the maximum completion time c max The calculation formula is as follows:
[0033] c max =Max(c j,o,s,m ) o∈{1,2,...,O j}; s∈{1,2,...,N jo}; m∈{1,2,...,M}
[0034] Where, j is the subscript of the product, and its range is j = 1, 2, ..., J, and J is the total number of products; o is the subscript of the process corresponding to product j, and its range is o = 1, 2, ..., O j , O j is the total number of processes for the product; s is the subscript of the subbatch, ranging from s = 0, 1, ..., sn j,o , where sn j,o Representative process O j,o The number of sub-batches divided; m is the subscript of the machine, ranging from m = 0, 1, ..., M, where M is the total number of machines; c j,o,s,m Representative process O j,o The corresponding s-th sub-batch SL j,o,s Makespan on machine m.
[0035] Furthermore, in step S6, the termination condition is that the number of iterations reaches a predetermined value.
[0036] The present invention also provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a computer, the computer executes the flexible job shop batch flow scheduling method with a topological neighborhood structure.
[0037] The present invention also provides an electronic device, which includes a processor and a memory, wherein a computer program is stored in the memory, and the processor is used to execute the flexible job shop batch flow scheduling method with a topological neighborhood structure by calling the computer program stored in the memory.
[0038] In general, compared with the prior art, the above technical solution conceived by the present invention provides a flexible job shop batch flow scheduling method with a topological neighborhood structure, which has the following beneficial effects:
[0039] 1. Based on the topological linked list and the identified critical path, a topological neighborhood structure is designed that includes two neighborhood perturbation operations. This allows for fast and efficient high-quality neighborhood perturbations in a short period of time, while avoiding the generation of infeasible solutions. This reduces the computational resource consumption for subsequent feasibility determination and improves the search performance of the solution algorithm.
[0040] 2. Aiming at the characteristics of batch flow scheduling problems in flexible job shops, a three-dimensional disjunctive graph encoding model is established. Combining the characteristics of nodes, connecting arcs, and non-connecting arcs, the scheduling scheme is fully and comprehensively characterized, and the processing sequence and process sequence of all sub-batch nodes are clearly and intuitively reflected, providing a technical foundation for high-quality neighborhood perturbations.
[0041] 3. Based on the high-dimensional and complex characteristics of the three-dimensional disjunctive graph, a fast decoding method based on topological sorting is designed to transform the high-dimensional and complex spatial graph of flexible job shop batch flow scheduling into a linear topological linked list expression. The critical path determination method is designed in combination with the floating time method to reduce the decoding time. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 It is a flow chart of a flexible job shop batch flow scheduling method with a topological neighborhood structure provided by the present invention;
[0043] Figure 2 It is a schematic diagram of the three-dimensional disjunctive graph coding model and topological sorting of the present invention;
[0044] Figure 3 It is a schematic diagram of the neighborhood disturbance operation TNS-1 of the present invention; Figure 3 (a) is a schematic diagram of generating feasible solutions by perturbation within a topological block. Figure 3 (b) is a schematic diagram of the infeasible solution generated by perturbation within the topological block;
[0045] Figure 4 Schematic diagram of the neighborhood disturbance operation TNS-2 of the present invention. DETAILED DESCRIPTION
[0046] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
[0047] See also Figure 1 The present invention proposes a flexible job shop batch flow scheduling method with a topological neighborhood structure. This method establishes a three-dimensional disjunctive graph encoding model for the flexible job shop batch flow scheduling problem, linearly transforms it based on the idea of topological sorting, and uses the floating time method to decode the scheduling scheme and identify the critical path. For the key nodes on the critical path, the two neighborhood perturbation operations in the designed topological neighborhood structure are used to efficiently and stably output feasible neighborhood solutions to avoid the generation of illegal neighborhood solutions.
[0048] The present invention is further described in detail below with reference to specific embodiments.
[0049] See also Figure 2 、 Figure 3 and Figure 4 In a precision-equipped processing workshop, there are 3 processing machines and 3 products to be processed. The number of processes for each product is 2, and the required quantity for each product is 10 pieces. The length of each coding layer in the three-layer coding is 2+2+2=6.
[0050] This embodiment includes the following steps:
[0051] S1: Population initialization, taking the flexible job shop batch flow scheduling solution to be optimized as the initial solution;
[0052] S2: Establish a three-dimensional disjunctive graph encoding model for the flexible job batch flow scheduling problem. The initial solution in S1 is expressed through a three-dimensional disjunctive graph, and the optimization goal is to minimize the maximum completion time.
[0053] See also Figure 2 The three-dimensional disjunctive graph encoding model maps the product number, process number, and sub-batch number corresponding to each sub-batch in the flexible batch flow scheduling to the product axis, process axis, and sub-batch axis respectively; each coordinate position in the three-dimensional disjunctive graph encoding model represents a sub-batch node, and the sub-batch nodes are connected through product arcs, sub-batch arcs, and machine arcs. The product arc is the process sequence constraint arc between the previous and next processes, the sub-batch arc is the virtual arc between the sub-batch nodes of the same process, and the machine arc is the connection arc between the previous and next tasks on the same machine. Among them, J types of products need to be manufactured in a workshop containing M machines, and each product contains O j The product route is known, and each process can be processed on one of several machines. The quantity of each product to be produced is D, and at each process, the same type of product can be divided into several sub-batches.
[0054] S3: Based on the three-dimensional disjunctive graph encoding model in S2, perform topological sorting decoding to obtain a one-dimensional topological linked list;
[0055] The specific steps of topological sort decoding are as follows: create an empty topological linked list, start from the starting node, calculate the in-degree of all nodes, put a node V among all nodes with in-degree 0 into the topological linked list, and reduce the in-degree of all adjacent nodes by 1, and repeat this cycle. As long as it is determined that there is a node with in-degree 0, it will be placed in the topological linked list until all nodes have been placed. Figure 2 The topological linked list in the lower part, at this time the order in the linked list is the order of the nodes after topological sorting.
[0056] S4: Use the float time method to identify the critical path. Based on the topology list in step S3, traverse each sub-batch node in the topology list in a linear order, and insert the nodes with a float time of 0 into the set to form the critical path.
[0057] The calculation process of floating time is:
[0058] According to the directional relationship between the connecting arcs of each node in the topological linked list, starting from the starting node, recursively calculate the earliest start time ES of each sub-batch node j,o,s,m After recursively reaching the terminal node, reverse recursion is performed to calculate the latest start time LS of each sub-batch node. j,o,s,m The calculation formulas for the earliest start time and the latest start time are as follows:
[0059]
[0060]
[0061] in, Represents the sub-batch node SL j,o,s,m The earliest start time of the preceding node, Represents the sub-batch node SL j,o,s,m The latest start time of the subsequent nodes, Represents the sub-batch node SL j,o,s,m The processing time of the preceding node, TC j,o,s,m Represents the sub-batch node SL j,o,s,m processing time;
[0062] Based on the earliest start time ES of each sub-batch node j,o,s,m and the latest start time LS j,o,s,m , calculate the floating time TF j,o,s,m , the calculation formula is as follows:
[0063] TF j,o,s,m =LS j,o,s,m -ES j,o,s,m .
[0064] S5: For each key node on the critical path, a topological neighborhood structure is used to obtain a neighborhood solution. This topological neighborhood structure includes two neighborhood perturbation operations: neighborhood perturbation operation TNS-1 is set to move key nodes on the same machine, and neighborhood perturbation operation TNS-2 is set to move key nodes across machines.
[0065] S51: Selection of neighborhood perturbation operation: A randomly generated probability value P, ranging from [0, 1], is used to determine which neighborhood perturbation operation to perform on the basis of the current solution to generate a new solution. If P>0.5, the neighborhood perturbation operation TNS-1 is selected; otherwise, the neighborhood perturbation operation TNS-2 is selected.
[0066] S52: Feasibility determination of the neighborhood perturbation operation. Based on the neighborhood perturbation operation selected in S51, feasibility determination is performed according to the determination theorem. The determination theorem is set as follows:
[0067] Theorem 1 for the neighborhood perturbation operation TNS-1: Sub-batch S and For two nodes in the key block, only when When the constraint condition is After moving to node S, a loop-free feasible solution can be generated; where Index represents the index position of the node in the topology list, S JP and S JS They represent the node immediately before and after node S in terms of process constraints, respectively. MP and S MS They represent the immediate preceding node and the immediate following node of node S in the machine task sequence constraint, respectively. and Represents nodes respectively The immediately preceding and following nodes in terms of process constraints, and Represents nodes respectively The immediate preceding and succeeding nodes on the machine task order constraints;
[0068] Theorem 2 for the neighborhood perturbation operation TNS-2: If we want to move node S to machine M', we need to find the previous node S that is also on machine M'. M’P and the immediately following node S M’S , and ensure that the position index in the topology list satisfies Index(S M ’P ) <Index(S),Index(S)<Index(S M’S ), then move node S to machine M' and insert it into node S M’P and S M’S There will be no infeasible solutions with cycles;
[0069] S53: Execution of neighborhood perturbation operation. When the judgment theorem is not satisfied, the position of the key node is kept unchanged. When the judgment theorem is satisfied, the neighborhood perturbation operation is executed, the position of the key node is exchanged, and a new neighborhood solution is generated.
[0070] Among them, the specific execution process of the neighborhood perturbation operation is:
[0071] Neighborhood Perturbation Operation TNS-1 See Figure 3 Its main function is to change the position of the node on the critical path within the block, perform an exchange operation with the first node or the last node of the block, and then generate a feasible neighborhood solution. Figure 3 As shown in (a), if the sub-batch node SL 2,2,1 With SL 1,2,2 Exchange, because Index(SL 1,1,2 ) <Index(SL 2,2,1 ) <Index(SL 1,3,2 ), so exchanging the positions of two nodes will not produce an infeasible solution. Figure 3 As shown in (b), if the sub-batch node SL 2,2,1 With SL 1,2,2 Exchange, because Index(SL 2,2,1 ) <Index(SL 1,1,2 ) <Index(SL 1,3,2 ), so after exchanging the two points, (SL 1,1,2 →SL 1,2,2 →SL 1,1,2 ) cycle, resulting in an infeasible solution.
[0072] Neighborhood Perturbation Operation TNS-2 See Figure 4 Its main function is to change the processing machine of the node on the critical path. After determining the number of the machine to be inserted, it searches for the pre-order and post-order nodes of the machine on the topological linked list and performs the topological k-insertion operation. Figure 4 As shown, if the sub-batch node S is moved from machine M2 to machine M1, it is first necessary to find the immediate predecessor task S on the original machine M2. MP and the immediate task S MS , and the previous task S to be inserted into machine M1 M’P and subsequent task S M’S , and then perform an arc breaking and reconnecting operation to obtain a feasible neighborhood solution that meets the requirements.
[0073] S6: Calculate the maximum completion time and select the one with the shortest maximum completion time from the neighborhood solutions as the new optimal solution. If the maximum completion time of the optimal solution is better than the initial solution, the optimal solution replaces the initial solution to update the population. Determine whether the termination condition is met. If so, output the optimal solution. If not, go back to step S1. The termination condition is that the number of iterations reaches a predetermined value.
[0074] Among them, the maximum completion time cmax The calculation formula is as follows:
[0075] c max =Max(c j,o,s,m ) o∈{1,2,...,O j}; s∈{1,2,...,N jo}; m∈{1,2,...,M}
[0076] Where, j is the subscript of the product, and its range is j = 1, 2, ..., J, and J is the total number of products; o is the subscript of the process corresponding to product j, and its range is o = 1, 2, ..., O j , O j is the total number of processes for the product; s is the subscript of the subbatch, ranging from s = 0, 1, ..., sn j,o , where sn j,o Representative process O j,o The number of sub-batches divided; m is the subscript of the machine, ranging from m = 0, 1, ..., M, where M is the total number of machines; c j,o,s,m Representative process O j,o The corresponding s-th sub-batch SL j,o,s Makespan on machine m.
[0077] The present invention also provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a computer, the computer executes the above-mentioned flexible job shop batch flow scheduling method with a topological neighborhood structure.
[0078] The present invention also provides an electronic device, which includes a processor and a memory, wherein a computer program is stored in the memory, and the processor is used to execute the above-mentioned flexible job shop batch flow scheduling method with a topological neighborhood structure by calling the computer program stored in the memory.
[0079] It will be easily understood by those skilled in the art that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A flexible job shop batch flow scheduling method with a topological neighborhood structure, characterized in that: The following steps are involved: S1: Population initialization, taking the flexible job shop batch flow scheduling solution to be optimized as the initial solution; S2: Establish a three-dimensional disjunctive graph encoding model for the flexible job shop batch flow scheduling problem. The initial solution in S1 is expressed through a three-dimensional disjunctive graph, and the optimization objective is to minimize the maximum completion time. S3: Based on the three-dimensional disjunctive graph encoding model in S2, perform topological sorting decoding to obtain a one-dimensional topological linked list; S4: Use the float time method to identify the critical path. Based on the topology list in step S3, traverse each sub-batch node in the linear topology list in a linear order, and insert the nodes with a float time of 0 into the set to form the critical path. S5: For each key node on the critical path, a topological neighborhood structure is used to obtain a neighborhood solution; the topological neighborhood structure includes two neighborhood perturbation operations: neighborhood perturbation operation TNS-1 is set to move the key node on the same machine, and neighborhood perturbation operation TNS-2 is set to move the key node across machines; S6: Calculate the maximum completion time and select the one with the shortest maximum completion time from the neighborhood solutions as the new optimal solution. When the maximum completion time of the optimal solution is better than the initial solution, the optimal solution will replace the initial solution to update the population and determine whether the termination condition is met. If so, output the optimal solution. If not, go to step S1.
2. A flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: In step S2, the three-dimensional disjunctive graph encoding model maps the product number, process number and sub-batch number corresponding to each sub-batch in the flexible job batch flow scheduling to the product axis, process axis and sub-batch axis respectively; each coordinate position in the three-dimensional disjunctive graph encoding model represents a sub-batch node, and the sub-batch nodes are connected by product arcs, sub-batch arcs and machine arcs. The product arc is the process sequence constraint arc between the previous and next processes, the sub-batch arc is the virtual arc between the sub-batch nodes of the same process, and the machine arc is the connection arc between the previous and next tasks on the same machine.
3. The flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: In step S3, the specific steps of topological sorting decoding are: create a new empty topological linked list, start from the starting node, calculate the in-degree of all nodes, put one node V among all nodes with in-degree 0 into the topological linked list, and reduce the in-degree of all adjacent nodes by 1, and repeat this cycle. As long as it is determined that there is a node with in-degree 0, it will be placed in the topological linked list until all nodes have been placed. At this time, the order of the topological linked list is the order of the nodes after topological sorting.
4. The flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: The calculation process of the floating time in step S4 is: According to the directional relationship between the connecting arcs of each node in the topological linked list, starting from the starting node, recursively calculate the earliest start time ES of each sub-batch node j,o,s,m After recursively reaching the terminal node, reverse recursion is performed to calculate the latest start time LS of each sub-batch node. j,o,s,m The calculation formulas for the earliest start time and the latest start time are as follows: in, Represents the sub-batch node SL j,o,s,m The earliest start time of the preceding node, Represents the sub-batch node SL j,o,s,m The latest start time of the subsequent nodes, Represents the sub-batch node SL j,o,s,m The processing time of the preceding node, TC j,o,s,m Represents the sub-batch node SL j,o,s,m processing time; Based on the earliest start time ES of each sub-batch node j,o,s,m and the latest start time LS j,o,s,m , calculate the floating time TF j,o,s,m , the calculation formula is as follows: TF j,o,s,m =LS j,o,s,m -ES j,o,s,m 。 5. The flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: Step S5 specifically includes the following steps: S51: Selection of neighborhood perturbation operation: A randomly generated probability value P, ranging from [0, 1], is used to determine which neighborhood perturbation operation to perform on the basis of the current solution to generate a new solution. If P>0.5, the neighborhood perturbation operation TNS-1 is selected; otherwise, the neighborhood perturbation operation TNS-2 is selected. S52: Feasibility determination of the neighborhood perturbation operation. Based on the neighborhood perturbation operation selected in S51, feasibility determination is performed according to the determination theorem. The determination theorem is set as follows: Theorem 1 for the neighborhood perturbation operation TNS-1: Sub-batch S and For two nodes in the key block, only when When the constraint condition is After moving to node S, a loop-free feasible solution can be generated; where Index represents the index position of the node in the topology list, S JP and S JS They represent the node immediately before and after node S in terms of process constraints, respectively. MP and S MS They represent the immediate preceding node and the immediate following node of node S in the machine task sequence constraint, respectively. and Represents nodes respectively The previous and next nodes in the process constraints, and Represents nodes respectively The immediate preceding and succeeding nodes on the machine task order constraints; Theorem 2 for the neighborhood perturbation operation TNS-2: If we want to move node S to machine M', we need to find the previous node S that is also on machine M'. M’P and the immediately following node S M’S , and ensure that the position index in the topology list satisfies Index(S M’P ) <Index(S),Index(S)<Index(S M’S ), then move node S to machine M' and insert it into node S M’P and S M’S There will be no infeasible solutions with cycles; S53: Execution of neighborhood perturbation operation. When the judgment theorem is not satisfied, the position of the key node remains unchanged. When the judgment theorem is satisfied, the neighborhood perturbation operation is executed, the position of the key node is exchanged, and a new neighborhood solution is generated.
6. The flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: Maximum completion time c max The calculation formula is as follows: o∈{1,2,...,O j }; s∈{1,2,...,N jo }; m∈{1,2,...,M}, where j is the subscript of the product, and its range is j=1,2,...,J, and J is the total number of products; o is the subscript of the process corresponding to product j, and its range is o=1,2,...,O j , O j is the total number of processes for the product; s is the subscript of the subbatch, ranging from s = 0, 1, ..., sn j,o , where sn j,o Representative process O j,o The number of sub-batches divided; m is the subscript of the machine, ranging from m = 0, 1, ..., M, where M is the total number of machines; c j,o,s,m Representative process O j,o The corresponding s-th sub-batch SL j,o,s Makespan on machine m.
7. The flexible job shop batch flow scheduling method with a topological neighborhood structure according to claim 1, characterized in that: In step S6, the termination condition is that the number of iterations reaches a predetermined value.
8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 7.
9. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 7 by calling the computer program stored in the memory.
Citation Information
Patent Citations
Critical path-combined hybrid neighborhood search algorithm for job-shop scheduling
CN106611377A
Flexible job shop scheduling method and device based on sub-batch division
CN116880410A