Judgment method of job shop scheduling process movement feasible solution
By adopting wide constraints and topological sorting methods in the work workshop scheduling, combined with the reduction of the generated matrix and intermediate process sets, the efficiency and accuracy of process movement feasibility judgment are solved, and an efficient judgment process is achieved.
Patent Information
- Application Number
- CN202411656309.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-03-11
AI Technical Summary
The prior art is difficult to quickly and accurately judge the feasibility of process movement in operation workshop scheduling, especially when the process moves in large-scale range, resulting in a significant increase in calculation time.
A method including wide constraints and topological sorting is adopted, by generating an adjacency matrix and an accessible matrix, combined with the bidirectional reduction of the intermediate process set, the feasibility of process movement is judged.
It significantly improves the accuracy and efficiency of the judgment of feasible solutions for process movement, reduces calculation time, and achieves accurate coverage of large-scale movement of process.
Smart Images

Figure CN119596861A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of production scheduling, and in particular to a method for determining a feasible solution for the movement of a job shop scheduling process. Background Art
[0002] The statements herein merely provide background information related to the present invention and do not necessarily constitute prior art.
[0003] The job shop scheduling problem is not only widely used in actual production, but also the research basis of many complex shop scheduling problems (such as flexible and flow shop scheduling). Its core task is to arrange the processing sequence of multiple workpieces under limited resource constraints to achieve specific optimization goals (such as minimizing the maximum completion time, maximizing machine utilization, etc.).
[0004] In the job shop scheduling problem, a local search algorithm based on a certain neighborhood structure is a fast and effective method to solve the problem. Among them, the generation of neighborhood solutions by moving processes and judging the feasibility of neighborhood solutions have a great impact on the overall solution efficiency. Neighborhood solutions are usually generated by moving processes within the process block of the same machine (N5, N7, etc.), and there are also larger-scale process movements involving processes within and outside the process block (N8, etc.), but the neighborhood solutions they generate are not necessarily feasible solutions. Infeasible solutions will increase the search range of the algorithm, resulting in a significant increase in computing time, which is more prominent for large-scale process movements.
[0005] In response to this phenomenon, the rapid determination of feasible solutions came into being. The paper "Guided local search with shifting bottleneck for job shop scheduling. Management Science, 1998, 44(2): p262-275" proposed a constraint condition for determining feasible solutions from the perspective of the length of the process head and tail. The specific content is: if there are two processes u and v on the critical path block, and u is processed before v, if L(0, u)+p u ≥L(0,JP[v])+p JP[v] , then moving v to u will not produce an infeasible solution; if L(v, #) ≥ L(JS[u], #), then moving u to v will not produce an infeasible solution. Among them, the symbol L(0, x) is the head length of process x, L(x, #) is the tail length of process x, P xrepresents the processing time of process x, JP[x] represents the previous process of workpiece x, and JS[x] represents the subsequent process of workpiece x. Some scholars have subsequently expanded on this basis, extending the judgment scope to all processes of the same machine and increasing the judgment scope. However, most of these constraints are sufficient but not necessary conditions, and it is impossible to include all feasible solutions, which easily misses some solutions with potential for improvement.
[0006] In fact, from the perspective of the disjunctive graph, as long as there is no directed loop in the new disjunctive graph after the process is moved, the move is a feasible solution. Based on this, the literature "Necessary and Sufficient Conditions for Feasible Neighbourhood Solutions in the Local Search of the Job-Shop Scheduling Problem. Chinese Journal of Mechanical Engineering, 2022, 36 (4): p6-8" proposed the necessary and sufficient conditions for process movement, namely: two processes u and v on the same machine, and u is processed before v. When a neighborhood solution is generated by moving v before u, the necessary and sufficient condition for the neighborhood solution to be feasible is that there is no path from u to JP [v] in the disjunctive graph of the current solution; when a neighborhood solution is generated by moving u after v, the necessary and sufficient condition for the neighborhood solution to be feasible is that there is no path from JS [u] to v in the disjunctive graph of the current solution. This necessary and sufficient condition includes all feasible solutions, which improves the overall search range, but the corresponding calculation time is also increased accordingly. Therefore, the rapid and accurate determination of feasible solutions for process movement has always been an important research direction, but no better solution has been found yet. Summary of the invention
[0007] In view of the shortcomings of the prior art, the purpose of the present invention is to provide a method for determining feasible solutions for process movement in job shop scheduling, which greatly improves the accuracy and efficiency of determining feasible solutions for process movement, especially for large-scale process movement.
[0008] In order to achieve the above object, the present invention is implemented through the following technical solutions:
[0009] An embodiment of the present invention provides a method for determining a feasible solution for a job shop scheduling process movement, comprising the following steps:
[0010] Generate a neighborhood solution for the current movement of the first process or the second process in the feasible scheduling solution;
[0011] The feasibility of the current move is determined by using wide constraints on the neighborhood solution. If it is feasible, the current move of the first process or the second process is determined to be feasible. If it is determined to be infeasible, further judgment is performed. The specific method is as follows:
[0012] In the topological sorting, all intermediate process sets of the first process and the second process are found, and the intermediate process sets are bidirectionally reduced; an adjacency matrix is generated based on the reduced intermediate process set, and a reachability matrix is obtained according to the adjacency matrix; and whether the current movement is feasible is determined according to the reachability matrix.
[0013] Optionally, a method for obtaining the topological sorting is: obtaining the maximum number of arcs of all processes according to the disjunctive graph model corresponding to the scheduling result of the feasible scheduling solution, and topologically sorting each process in ascending order of the maximum number of arcs.
[0014] Optionally, the disjunctive graph model is a directed acyclic graph model.
[0015] Optionally, when the current movement is from the first process to after the second process, the wide constraint condition is: the tail length of the second process is not less than the tail length of the subsequent process of the workpiece of the first process.
[0016] Optionally, when the current movement is the second process moving to before the first process, the wide constraint condition is: the sum of the head length and processing time of the first process is not less than the sum of the head length and processing time of the preceding process of the workpiece of the second process.
[0017] Optionally, the method for bidirectionally reducing the set of intermediate processes before the current move from the second process to the first process is:
[0018] Find the direct subsequent process closest to the first process in the topological sorting fragment of the intermediate process set. The direct subsequent process is the workpiece subsequent process or machine subsequent process of the first process. If the direct subsequent process is after the workpiece predecessor process of the second process, the current move is determined to be a feasible solution. Otherwise, delete the workpiece predecessor process of the second process, all processes between the second process and the second process in the intermediate process set, delete all processes between the first process and the direct subsequent process in the intermediate process set and the first process, and form a set of intermediate processes after bidirectional reduction.
[0019] Optionally, the method for bidirectional reduction of the intermediate process set after the current movement is the first process moving to the second process is:
[0020] Find the direct predecessor process closest to the second process in the topological sorting fragment of the intermediate process set. The direct predecessor process is the workpiece predecessor process or machine predecessor process of the second process. If the direct predecessor process is before the workpiece successor process of the first process, the current move is determined to be feasible. Otherwise, delete the first process and all processes between the first process and the workpiece successor process of the first process in the intermediate process set, delete the second process and all processes between the direct predecessor process and the second process, and form a set of intermediate processes after bidirectional reduction.
[0021] Optionally, when the current movement is from the second process to before the first process, the path relationship between the subsequent process of the workpiece of the first process to the preceding process of the workpiece of the second process and the subsequent process of the machine of the first process to the preceding process of the workpiece of the second process is judged in the reachable matrix. If no path exists, the current movement is feasible, otherwise the current movement is infeasible.
[0022] Optionally, when the current movement is from the first process to after the second process, the path relationship between the workpiece subsequent process of the first process to the workpiece predecessor process of the second process and the workpiece subsequent process of the first process to the machine predecessor process of the second process is judged in the reachable matrix. If no path exists, the current movement is a feasible solution, otherwise the current movement is infeasible.
[0023] Optionally, the current movement is after the first process moves to the second process. If it is determined that the current movement is not feasible, it is determined that the current movement reaches the boundary of the first process moving backwards;
[0024] The current movement is the movement of the second process to before the first process. If it is determined that the current movement is not feasible, it is determined that the current movement has reached the boundary of the second process moving forward.
[0025] The beneficial effects of the present invention are as follows:
[0026] The judgment method of the present invention first applies wide constraint conditions to judge, and then performs secondary judgment, thereby avoiding the phenomenon of missing possible solutions. Through the wide constraint conditions judgment, the number of times the reachable matrix is used to judge the path relationship is reduced, and then the number of intermediate process sets is reduced from two moving directions, which greatly reduces the size of the reachable matrix to be calculated. Finally, the process reaching the process movement boundary is directly judged. These three aspects of design have significantly improved the efficiency of judging whether it is a feasible solution and shortened the calculation time. Accurate coverage is achieved for both local movement within the key block of the process and large-scale movement outside the block. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0028] Figure 1 is a flow chart of the method of embodiment 1 of the present invention;
[0029] Figure 2 It is a feasible scheduling solution Gantt chart of an actual calculation example of embodiment 1 of the present invention;
[0030] Figure 3 It is a disjunctive graph model diagram of a feasible scheduling solution of an actual calculation example of embodiment 1 of the present invention;
[0031] Figure 4 It is a scheduling Gantt chart of a feasible scheduling solution of an actual calculation example of embodiment 1 of the present invention after the first movement of the process;
[0032] Figure 5 It is a scheduling Gantt chart of a feasible scheduling solution of an actual calculation example of embodiment 1 of the present invention after the second movement of the process;
[0033] Figure 6 A feasible scheduling solution of an actual calculation example of embodiment 1 of the present invention after the third shift of the process; DETAILED DESCRIPTION
[0034] In this embodiment, the first process is defined as u and the second process is defined as v. The first process u is located before the second process v. JP[x] represents the workpiece predecessor process of process x, MP[x] represents the machine predecessor process of process x, JS[x] represents the workpiece subsequent process of process x, and MS[x] represents the machine subsequent process of process x.
[0035] The head length represents the time difference from time 0 to the earliest start time of the process, and the tail length represents the time difference from the latest completion time of the process to the maximum completion time of the entire scheduling solution.
[0036] Example 1
[0037] This embodiment provides a method for determining a feasible solution for job shop scheduling process movement. Figure 1 As shown, the following steps are included:
[0038] Step 1: For a feasible scheduling solution, decode the disjunctive graph model G according to the scheduling result, and find the maximum number of arcs L of all processes according to the disjunctive graph model G a (x), the maximum number of arcs is calculated as: L a (x) = max{L a (JP[x]), L a (MP[x])}+1, JP[x] represents the workpiece predecessor process of process x, and MP[x] represents the machine predecessor process of process x.
[0039] The disjunctive graph model G =<N,E> , where: N is the set of process nodes, including two virtual start nodes 0 and end nodes #; E is the set of connecting arcs and disjunctive arcs, representing the binary relationship between workpiece process and machine process respectively.
[0040] The number of arcs is the sum of the number of directed arcs between adjacent nodes on the path. In the disjunctive graph model G, for any process x, the maximum number of arcs L a (x) represents the maximum number of arcs on all paths from 0 to x. The maximum number of arcs is determined by the following formula: a (x) = max{L a (JP[x]), L a (MP[x])}+1, JP[x] represents the workpiece predecessor process of process x, and MP[x] represents the machine predecessor process of process x.
[0041] Step 2: According to the maximum number of arcs L of the process a (x), sort each process from small to large to make a legal topological sort F s .
[0042] The disjunctive graph model G is a directed acyclic graph model, and there exists a topological sorting F s The topological sorting of the scheduling solution is a node sequence obtained by arranging all the nodes in the disjunctive graph model G from small to large according to the maximum number of arcs (if the maximum number of arcs of two nodes is equal, the order between the two can be randomly determined). This is a legal topological sorting of the scheduling solution.
[0043] Step 3: Generate a neighborhood solution for a movement of the first process u and the second process v in the feasible scheduling solution. In this embodiment, this movement is defined as the current movement, and the feasibility of the current movement is judged for the generated neighborhood solution using a wide constraint condition. If feasible, the current movement is considered feasible. If not feasible, a secondary judgment is required and the process goes to step 4 to avoid missing a feasible solution.
[0044] When the current movement is from the first process u to the second process v, the wide constraint condition is: the tail length of the second process v is not less than the tail length of the subsequent process of the workpiece of the first process u.
[0045] That is, L(v, #) ≥ L(JS[u], #)
[0046] L(v, #) is the tail length of the second process v, and L(JS[u], #) represents the tail length of the subsequent process JS[u] of the workpiece of the first process u.
[0047] If this wide constraint condition is met, the current move is considered feasible and is a feasible solution; otherwise, go to step 4.
[0048] When the current movement is from the second process v to the front of the first process u, the width constraint condition is: the sum of the head length and processing time of the first process u is not less than the sum of the head length and processing time of the workpiece preceding process JP[v] of the second process v.
[0049] That is, L(0,u)+p u ≥L(0,JP[v])+p JP[v]
[0050] Where L(0,u) is the head length of the first process u, p u is the processing time of the first process, L(0, JP[v]) is the head length of the previous process of the workpiece in the second process, p JP[v] It is the processing time of the previous process of the workpiece in the second process.
[0051] If this wide constraint condition is met, the current move is considered feasible and is a feasible solution; otherwise, go to step 4.
[0052] The wide constraint condition is a sufficient but not necessary condition for judging the feasibility of process movement. It has a faster judgment speed, but it may miss some solutions with potential improvement. In the subsequent secondary judgment, the reachable matrix judgment path relationship requires a certain amount of calculation time. The combination of the two can achieve full coverage and efficient calculation of process movement judgment.
[0053] Step 4: Find all the intermediate process sets W of the first process u and the second process v in the topological sorting, obtain the adjacency matrix based on the intermediate process set, and obtain the reachable matrix based on the adjacency matrix. In this embodiment, in order to improve the judgment efficiency and reduce the computational workload, the intermediate process set W is bidirectionally reduced in combination with the necessary and sufficient conditions for the feasible solution of process movement, and the adjacency matrix and reachable matrix are calculated based on the intermediate process set after the bidirectional reduction.
[0054] If the first process u is moved to the second process v, there is no path from the subsequent process JS[u] of the workpiece of the first process u to the second process v in the disjunctive graph model G; if the second process v is moved before the first process u, there is no path from the first process u to the predecessor process JP[v] of the workpiece of the second process v in the disjunctive graph model G. Based on this necessary and sufficient condition, the intermediate process set W can be further reduced.
[0055] Specific:
[0056] (1) The method for bidirectional reduction of the set of intermediate processes before the current move from the second process v to the first process u is:
[0057] In the topologically sorted fragment of the intermediate process set W, find the direct subsequent process DS[u] that is closest to the first process u. The direct subsequent process DS[u] is the workpiece subsequent process JS[u] or the machine subsequent process MS[u] of the first process u. If the direct subsequent process DS[u] is after the workpiece predecessor process JP[v] of the second process, it means that there is no path from DS[u] to JP[v], and the current move is determined to be a feasible solution, otherwise it is F s (DS[u])<F s (JP[v]), delete the workpiece predecessor process JP[v] of the second process in the intermediate process set W, all processes between the second process v and the second process v, delete all processes between the first process u and the directly subsequent process DS[u] in the intermediate process set W and the first process u, and the intermediate process set is reduced to the workpiece predecessor process JP[v] that can be reduced to the directly subsequent process DS[u] to the second process v.
[0058] The set of intermediate processes after bidirectional reduction is W′={x∈N|F s (DS[u])≤F s (x)≤F s (JP[v])}.
[0059] (2) The method for bidirectional reduction of the intermediate process set after the current move is from the first process u to the second process v is:
[0060] In the topologically sorted fragment of the intermediate process set W, find the direct predecessor process DP[v] closest to the second process v. The direct predecessor process DP[v] is the workpiece predecessor process JP[v] of the second process v or the machine predecessor process MP[v] of the second process v. If the direct predecessor process DP[v] is before the workpiece successor process JS[u] of the first process u, it means that there is no path from JS[u] to DP[v], and the current movement is determined to be feasible. Otherwise, delete the first process u and all processes between the first process u and the workpiece successor process JS[u] of the first process in the intermediate process set W, delete the second process v and all processes between the direct predecessor process DP[v] and the second process v, and form a set of intermediate processes after bidirectional reduction. The intermediate process set W can be reduced from the workpiece successor process JS[u] of the first process u to the direct predecessor process DP[v].
[0061] At this time, the new intermediate process set W′={x∈N|F s (JS[u])≤F s (x)≤F s (DF[v])}.
[0062] Step 5: Generate the adjacency matrix A based on the reduced set of intermediate processes ij , according to the adjacency matrix Aij Get the reachable matrix M [i][j] ; If according to the reachable matrix M [i][j] Determine whether the current move is feasible.
[0063] Specifically, calculate the adjacency matrix A of the reduced intermediate process set W ij , the adjacency matrix A ij is a |W|-order square matrix, |W| is the total number of processes in the reduced intermediate process set W, and the adjacency matrix A ij It can be obtained by the following formula, where (i, j) represents the connection arc or disjunction arc from node i to j.
[0064]
[0065] According to the adjacency matrix A ij , calculate the reachability matrix M [i][j] , where M [i][j] Indicates whether there is a path from node i to node j.
[0066] The reachability matrix M [i][j] The adjacency matrix A ij It is calculated to describe whether there is a path from any node to another node, and to identify the degree to which each node in the disjunctive graph model G can be reached after a certain length, reflecting the path relationship of each process. The reachability matrix and the adjacency matrix are matrices of the same order. [i][j] =1 means there is a path from node i to node j.
[0067] The reachability matrix M [i][j] Whether there is a path for the moving process u and v, according to the necessary and sufficient conditions for the feasible solution of the movement, it is only necessary to determine whether there is a path from JS[u] to DP[v] (DS[u] to JP[v]) in the reachable matrix, that is, [i][j] Middle judgment M [i][j] Whether it is 1, i represents the starting node, j represents the ending node, if it is 0, it means that there is no directed loop in the disjunctive graph model G, and this move is feasible. If it is 1, it means that there is a directed loop in the disjunctive graph model G, and this move is not feasible.
[0068] Specific:
[0069] The current move is v moving before u. If you want to move v before u to generate a neighborhood solution, determine the path relationship from JS[u] to JP[v] and MS[u] to JP[v] in the reachable matrix (if JS[u] or MS[u] is not in the reachable matrix, only the other one needs to be determined). If neither path exists, that is, M [JS[u]][JP[v]] =0, M [JS[u]][JP[v]] =0, the current move is a feasible solution; if one of them is not 0, the current move is an infeasible solution.
[0070] The current move is u moving to v. If you want to move u to v to generate a neighborhood solution, determine the path relationship from JS[u] to JP[v] and JS[u] to MP[v] in the reachable matrix (if JP[u] or MP[u] is not in the reachable matrix, only the other one needs to be determined). If neither path exists, M [JS[u]][JP[v]] =0, M [JS[u]][MP[v]] =0, then the move is a feasible solution; if one of them is not 0, then the current move is an infeasible solution.
[0071] If the current move is judged as an infeasible solution through the above path, then all processes before u on the machine have a path relationship with v. Similarly, all processes after u and v on the machine also have a path relationship. At this moment, it is considered that the move of u or v has reached the boundary on the machine. Specifically:
[0072] The boundary of process movement is the farthest position that the process can reach on the same machine after path judgment. It can be summarized as follows: if a first process u is moving backward on the machine, and when it moves to the second process v, it is judged as an infeasible solution through the path relationship, then process u has a path relationship with all processes after v. At this time, no matter which process after v u moves to, the generated solution is an infeasible solution, so it can be determined that the first process u has reached the boundary of moving backward on the machine; similarly, if a second process v is moving forward on the machine, and when it moves before the first process u, it is judged as an infeasible solution through the path relationship, then all processes before the first process u have a path relationship with the second process v. At this time, no matter which process before u v moves to, the generated solution is an infeasible solution, so it can be determined that the second process v has reached the boundary of moving forward on the machine.
[0073] The determination method of this embodiment achieves accurate coverage for both local movement within the key block of the process and large-scale movement outside the block. In the fast determination method provided by this embodiment, the calculation of the reachable matrix is the key to affecting the overall efficiency. In particular, for large-scale movement of the process, the reachable matrix generated by a single movement may be extremely large, and its order is closely related to the number of intermediate process sets. Therefore, in the determination method, a wide constraint condition is first applied to reduce the number of times the reachable matrix is used to determine the path relationship. Then, the number of intermediate process sets is reduced from two moving directions, which greatly reduces the size of the reachable matrix to be calculated. Finally, the process reaching the process movement boundary is directly judged. These three aspects of design significantly improve the efficiency of determining whether it is a feasible solution.
[0074] In a practical example of this embodiment:
[0075] Take a classic FT06 example, which contains 6 workpieces and 6 machines, with a total number of processes of 36, as shown in Table 1. The numbers in the table represent the processing time of each process. Figure 2 is a feasible scheduling solution for this example. The horizontal axis represents the processing time of the process, the vertical axis represents the processing machine of the process, the rectangular blocks with numbers represent the workpiece processes, and the maximum completion time of the current scheduling solution is 112. Figure 3 The disjunctive graph model G of the scheduling solution is represented by process nodes, disjunctive arcs, and connecting arcs. The following are the specific steps for determining process movement:
[0076] Table 1 Example of FT06 job shop scheduling problem
[0077]
[0078]
[0079] Step 1: According to the disjunctive graph model and the scheduling solution, the machine-based encoding of the scheduling solution is [(143256)(651423)(351426)(643125)(526413)(632514)], and the corresponding maximum number of arcs is [(4712131415)(1356713)(1238917)(2910111415)(41016171819)(31112131418)].
[0080] Step 2: The topological ordering obtained by sorting from small to large is [O6.1, O3.1, O5.1, O6.2, O5.2, O1.1, O6.3, O1.2, O5.3, O1.3, O4.1, O4.2, O2.1, O4.3, O2.2, O4.4, O3.2, O2.3, O1.4, O3.3, O3.4, O2.4, O2.5, O3.5, O5.4, O5.5, O2.6, O1.5, O6.4, O5.6, O6.5, O6.6, O4.5, O1.6, O4.6, O3.6].
[0081] When selecting the moving processes u and v, the reduction of the intermediate process set W and the determination of the path relationship correspond to different situations according to the different moving directions of the processes u and v. The following uses four different moves of the scheduling solution to illustrate:
[0082] First move: If process O6.5 is moved after process O4.5, the next steps are:
[0083] Step 1: First, use the wide constraint feasible solution to move back to the judgment condition: L(v, #) ≥ L(JS[u], #). At this time, u = O6.5, v = O4.5, JS[u] = O6.6, L(v, #) = 21, L(JS[u], #) = 1, which meets the wide constraint condition. This move is a feasible solution. The Gantt chart after the move is as follows: Figure 4 shown.
[0084] Second move: If process O1.3 is moved after process O3.5, the next steps are:
[0085] Step 1: First, use the wide constraint feasible solution to move back to determine the condition: L(v, #) ≥ L(JS[u], #). At this time, u = O1.3, v = O3.5, JS[u] = O1.4, L(v, #) = 8, L(JS[u], #) = 23, which does not meet the wide constraint condition. However, in fact, this move is as follows Figure 5 As shown, this is a feasible solution, and the maximum completion time is reduced to 105, which is an effective move.
[0086] Step 2: Select the intermediate process set W = [O1.3, O4.1, O4.2, O2.1, O4.3, O2.2, O4.4, O3.2, O2.3, O1.4, O3.3, O3.4, O2.4, O2.5, O3.5].
[0087] Step 3: Calculate the adjacency matrix A and reachability matrix M of the intermediate process set W. The rows and columns of the matrix represent the nodes of the intermediate process set.
[0088] Table 2 The adjacency matrix A of the second move
[0089] O1.3 O4.1 O4.2 O2.1 O4.3 O2.2 O4.4 O3.2 O2.3 O1.4 O3.3 O3.4 O2.4 O2.5 O3.5 O1.3 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 O4.1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 O4.2 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 O2.1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 O4.3 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 O2.2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 O4.4 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 O3.2 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 O2.3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 O1.4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O3.3 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 O3.4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 O2.4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 O2.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O3.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[0090] Table 3 The reachable matrix M of the second move
[0091]
[0092]
[0093] At this time, the reachable matrix is still too large, so the set of intermediate processes in step 2 is reduced.
[0094] New step 2: If process O1.3 is moved to after process O3.5, all processes between u and JS[u] in the intermediate process set are deleted, and the new intermediate process set is W'=[O1.4, O3.3, O3.4, O2.4, O2.5, O3.5].
[0095] Furthermore, the process between v and the closest direct predecessor process of v is deleted. At this time, DP[v]=JP[v]=O3.4, and the new intermediate process set is W'=[O1.4, O3.3, O3.4].
[0096] New step 3: Calculate the adjacency matrix of the intermediate process set W' Reachability Matrix
[0097] Step 4: At this time, MP[v] = O2.1 is not in the reachable matrix, M′ [JS[u]][JP[v]] =0, indicating that this solution is a feasible solution.
[0098] After the reduction, the result is the same as before, but the order of the matrix is reduced from 15 to 3, and the calculation speed is significantly improved.
[0099] In order to demonstrate the efficiency of reducing the set of intermediate processes, this move judgment was taken out separately for comparison. In actual judgment, the method of reducing the set of intermediate processes can be directly integrated into the method for fast determination of feasible solutions.
[0100] The third move: If process O5.5 is moved before process O3.4, the next steps are:
[0101] Step 1: Use the wide constraint feasible solution to move forward the judgment condition: L(0,u)+p u ≥L(0,JP[v])+p JP[v] , at this time u=O3.4,v=O5.5,JP[v]=O5.4,L(0,u)+p u =-63, L(0,JP[v])+p JP[v] =68, which does not meet the wide constraint condition.
[0102] Step 2: Select the u and v intermediate process set W = [O3.4, O2.4, O2.5, O3.5, O5.4, O5.5], reduce the intermediate process set, delete all processes between JP[v] to v in the intermediate process set, and the new intermediate process set is W' = [O3.4, O2.4, O2.5, O3.5, O5.4].
[0103] Furthermore, the process between u and the nearest subsequent process is deleted. At this time, DS[u]=MS[u]=O2.5, and the new intermediate process set is W'=[O2.5, O3.5, O5.4].
[0104] Step 3: Calculate the adjacency matrix of the intermediate process set w′ Reachability Matrix
[0105] Step 4: At this time, M′[MS[u]][JP[v]] =0, M′ [JS[u]][JP[v]] =0, indicating that this solution is a feasible solution. The Gantt chart after moving is as follows Figure 6 shown.
[0106] Fourth move: If process O5.1 is moved after process O4.3, the next steps are:
[0107] Step 1: First, use the wide constraint feasible solution to move back the judgment condition: L(v, #) ≥ L(JS[u], #). At this time, u = O5.1, v = O4.3, JS[u] = O5.2, L(v, #)) = 78, L(JS[u], #) = 97, which does not meet the wide constraint condition.
[0108] Step 2: Select the intermediate process set W = [O5.1, O6.2, O5.2, O1.1, O6.3, O1.2, O5.3, O1.3, O4.1, O4.2, O2.1, O4.3], delete all processes between u and JS[u] in the intermediate process set, and the new intermediate process set is W′ = [O5.2, O1.1, O6.3, O1.2, O5.3, O1.3, O4.1, O4.2, O2.1, O4.3].
[0109] Furthermore, delete the processes between v and v’s nearest direct predecessor process. At this time, DP[v]=JP[v]=O4.2, and the new set of intermediate processes is W′=[O5.2, O1.1, O6.3, O1.2, O5.3, O1.3, O4.1, O4.2].
[0110] Step 3: Calculate the reachability matrix M′ of the intermediate process set W′.
[0111] Table 4 The reachable matrix M′ of the fourth move
[0112] O5.2 O1.1 O6.3 O1.2 O5.3 O1.3 O4.1 O4.2 O5.2 0 0 0 0 1 1 1 1 O1.1 0 0 0 1 0 1 1 1 O6.3 0 0 0 0 0 0 0 0 O1.2 0 0 0 0 0 1 1 1 O5.3 0 0 0 0 0 0 0 0 O1.3 0 0 0 0 0 0 1 1 O4.1 0 0 0 0 0 0 0 1 O4.2 0 0 0 0 0 0 0 0
[0113] Step 4: At this time, M′ [JS[u]][JP[v]] =1, which means that this solution is an infeasible solution.
[0114] Step 5: Figure 2 As shown, all the processes on the current machine are [O3.1, O5.1, O1.1, O4.3, O2.2, O6.6]. Through the path relationship, it is judged that it is an infeasible solution for process O5.1 to move to process O4.3. At the same time, the backward movement of process O5.1 reaches the boundary of movement on this machine. The subsequent movements of this process are all infeasible solutions, that is, it is an infeasible solution for process O5.1 to move to process O2.2; it is also an infeasible solution for process O5.1 to move to process O6.6.
[0115] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A method for determining a feasible solution for a job shop scheduling process movement, characterized in that: The following steps are involved: Generate a neighborhood solution for the current movement of the first process or the second process in the feasible scheduling solution; The feasibility of the current move is determined by using wide constraints on the neighborhood solution. If it is feasible, the current move of the first process or the second process is determined to be a feasible solution. If it is determined to be infeasible, further judgment is performed. The specific method is as follows: In the topological sorting, all intermediate process sets of the first process and the second process are found, and the intermediate process sets are bidirectionally reduced; an adjacency matrix is generated based on the reduced intermediate process set, and a reachability matrix is obtained according to the adjacency matrix; and whether the current movement is feasible is determined according to the reachability matrix.
2. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: The method for obtaining the topological sorting is as follows: the maximum number of arcs of all processes is obtained according to the disjunctive graph model corresponding to the scheduling result of the feasible scheduling solution, and each process is topologically sorted in the order of the maximum number of arcs from small to large.
3. The method for determining a feasible solution for a job shop scheduling process movement according to claim 2, characterized in that: The disjunctive graph model is a directed acyclic graph model.
4. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: When the current move is from the first process to after the second process, the wide constraint condition is: the tail length of the second process is not less than the tail length of the subsequent process of the workpiece of the first process.
5. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: When the current move is from the second process to before the first process, the wide constraint condition is: the sum of the head length and processing time of the first process is not less than the sum of the head length and processing time of the preceding process of the workpiece of the second process.
6. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: The method of bidirectional reduction of the intermediate process set before the current move from the second process to the first process is: Find the direct subsequent process closest to the first process in the topological sorting fragment of the intermediate process set. The direct subsequent process is the workpiece subsequent process or machine subsequent process of the first process. If the direct subsequent process is after the workpiece predecessor process of the second process, the current move is determined to be a feasible solution. Otherwise, delete the workpiece predecessor process of the second process, all processes between the second process and the second process in the intermediate process set, delete all processes between the first process and the direct subsequent process in the intermediate process set and the first process, and form a set of intermediate processes after bidirectional reduction.
7. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: The method of bidirectional reduction of the intermediate process set after the current move is from the first process to the second process is: Find the direct predecessor process closest to the second process in the topological sorting fragment of the intermediate process set. The direct predecessor process is the workpiece predecessor process or machine predecessor process of the second process. If the direct predecessor process is before the workpiece successor process of the first process, the current move is determined to be feasible. Otherwise, delete the first process and all processes between the first process and the workpiece successor process of the first process in the intermediate process set, delete the second process and all processes between the direct predecessor process and the second process, and form a set of intermediate processes after bidirectional reduction.
8. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: When the current movement is from the second process to before the first process, the path relationship between the workpiece subsequent process of the first process to the workpiece preceding process of the second process and the machine subsequent process of the first process to the workpiece preceding process of the second process is judged in the reachable matrix. If no path exists, the current movement is feasible, otherwise the current movement is infeasible.
9. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: When the current movement is from the first process to the second process, the path relationship between the workpiece subsequent process of the first process to the workpiece predecessor process of the second process and the workpiece subsequent process of the first process to the machine predecessor process of the second process is judged in the reachable matrix. If no path exists, the current movement is feasible, otherwise the current movement is infeasible.
10. The method for determining a feasible solution for a job shop scheduling process movement according to claim 1, characterized in that: The current movement is after the first process moves to the second process. If it is determined that the current movement is not feasible, it is determined that the current movement has reached the boundary of the first process moving backward; The current movement is the movement of the second process to before the first process. If it is determined that the current movement is not feasible, it is determined that the current movement has reached the boundary of the second process moving forward.