A Dynamic Flexible Job Shop Scheduling Method Based on Kepler Optimization Algorithm

The workshop scheduling method based on the Kepler optimization algorithm to simulate planetary trajectories solves the problem of low efficiency of traditional workshop scheduling algorithms in dynamic environments, and achieves efficient production scheduling and improved equipment utilization.

CN118822207BActive Publication Date: 2025-11-14HEFEI UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411083265.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2025-11-14
Estimated Expiration
2044-08-08

AI Technical Summary

Technical Problem

Traditional workshop scheduling algorithms cannot respond quickly to emergencies in dynamic production environments, resulting in low production scheduling efficiency and an inability to meet the needs of multi-variety personalized production.

Method used

A dynamic flexible job shop scheduling method based on the Kepler optimization algorithm is adopted. The scheduling scheme is optimized by simulating the planetary trajectory, which increases the global search capability and the ability to escape local optima. A job shop scheduling model with objective function and constraints is constructed, and rescheduling is performed when dynamic events occur.

Benefits of technology

It improved workshop production efficiency, enhanced equipment utilization and anti-interference capabilities, reduced the impact of dynamic events on the production process, and achieved the optimal production plan with the shortest time consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118822207B_ABST
    Figure CN118822207B_ABST
Patent Text Reader

Abstract

This invention provides a dynamic flexible job shop scheduling method based on the Kepler optimization algorithm. Its main purpose is to solve the dynamic scheduling problem of flexible jobs shops, offering a solution to the uncertainty of events. The steps are as follows: 1. Modeling the job shop scheduling problem; 2. Presetting relevant parameters for the Kepler optimization algorithm; 3. Driving the Kepler optimization algorithm to solve for the scheduling scheme; 4. Dynamically rescheduling for sudden uncertain events to obtain a new production plan. This invention can fully utilize equipment, improve production efficiency, and provide a decision-making basis for actual production scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of workshop production scheduling, specifically involving a dynamic flexible workshop scheduling algorithm for the scheduling and management of workshop production plans. Background Technology

[0002] With the continuous development and improvement of manufacturing technology, the traditional workshop scheduling problem, which involves processes operating on fixed equipment, can no longer meet the current demand for diversified and personalized production. Flexible workshop scheduling, with its flexibility in processing paths and machine equipment, is more suitable for the needs of the manufacturing industry. Flexible workshop scheduling is a production scheduling method based on flexible manufacturing systems. It achieves a high degree of adaptability and flexibility in the production process by flexibly configuring production equipment and resources. Flexible workshop scheduling technology allows for the rapid adjustment and reorganization of production lines to adapt to changes in different product types and production demands, thereby improving production efficiency and resource utilization.

[0003] Evolutionary algorithms are a class of optimization algorithms that simulate the biological evolution process in nature. They mainly include genetic algorithms, evolutionary strategies, and genetic programming. These algorithms search for optimal solutions in the solution space through operations such as selection, crossover, and mutation. Swarm intelligence algorithms are optimization algorithms based on the collective behavior of biological groups in nature. They mainly include ant colony optimization, particle swarm optimization, and genetic algorithms. In recent years, they have made significant progress in solving complex optimization problems. In the field of flexible workshop scheduling, both evolutionary algorithms and swarm intelligence algorithms optimize the scheduling of workpieces across multiple machines by simulating intelligent behavior in nature, thereby improving production efficiency and reducing costs.

[0004] Dynamic scheduling technology has always been a hot research topic in the field of shop floor scheduling. In the research process, researchers have used various optimization algorithms, including evolutionary algorithms, swarm intelligence algorithms, simulated annealing algorithms, tabu search algorithms, and neural network algorithms. Dynamic scheduling treats shop floor production as a dynamic process, taking into account various unforeseen events that may occur during production, such as the random generation of new workpiece orders and equipment failures, requiring the scheduling scheme to respond to these events in a timely manner. Traditional algorithms, when dealing with dynamic shop floor scheduling problems, suffer from low scheduling efficiency due to insufficient search speed, thus failing to obtain a satisfactory scheduling scheme. Summary of the Invention

[0005] To overcome the shortcomings of existing technologies, this invention proposes a dynamic flexible job shop scheduling method based on the Kepler optimization algorithm, aiming to obtain high-quality production scheduling plans, thereby improving the utilization rate of workshop equipment and its ability to resist risks.

[0006] To achieve the above-mentioned objectives, the present invention adopts the following technical solution:

[0007] The present invention provides a dynamic flexible job shop scheduling method based on the Kepler optimization algorithm, characterized by the following steps:

[0008] Step 1: Obtain the raw data, including:

[0009] Number of workpieces n, i-th workpiece J i i∈n, number of machines m, k-th machine M k , k∈m, the i-th workpiece J i The process set is N i N i The quantity is A i The total number of all processes is A. N The i-th workpiece J i The g-th process O ig , g∈A i Boolean variable O igk , when O igk =1, indicating that the g-th process O ig On the kth device M k Upgrade processing, otherwise, O igk =0、Process O igk Processing time t igk O igk Start time ST igk Process O igk Completion time ET igk Maximum completion time C max The rescheduling period is T. re ;

[0010] Step 2: Construct a workshop scheduling model based on the objective function and constraints;

[0011] Step 3: Define and initialize the initial scheduling scheme set;

[0012] Step 3.1: Define the total number of iterations as S, the current iteration number as s, and initialize s=1;

[0013] Let the s-th generation planetary group be denoted as SP. s ={ |w=1,2,…,N SP}, Let N be the s-th planet of the w-th generation, representing a scheduling scheme. SP Indicates the size of a planetary group;

[0014] Based on the original data, define the s-th generation scheduling scheme set SP. sEach scheduling scheme consists of a process code and a machine code. The process code is composed of all process numbers of all workpieces arranged in sequence, and the process numbers of the same workpiece are the same. The position of each process in the process code is numbered in sequence to form a process number vector.

[0015] Based on the process code, the machine serial numbers used for the processing process of the corresponding workpiece are selected sequentially to form the machine code, and each machine position in the machine code is numbered sequentially to form a machine serial number vector.

[0016] Step 3.2: For the s-th generation scheduling scheme set SP s The process code of each scheduling scheme is randomly initialized, and the sequence number of the processing machine corresponding to each process is determined according to the initialized process code to initialize the machine code;

[0017] Step 4: Initialize the parameters for each planet:

[0018] Step 4.1: Initialize the orbital eccentricity E of the w-th planet using equation (6). w :

[0019] E w = r a n d [ 0 , 1 ] , w ∈ N S P (6)

[0020] In equation (6), r a n d [ 0 , 1 ] This represents a random number uniformly distributed between [0,1].

[0021] Step 4.2: Initialize the orbital period T of the w-th planet using equation (7). w :

[0022] T w = | r a n d N [ 0 , 1 ] | , w ∈ N S P (7)

[0023] In equation (7), r a n d N [ 0 , 1 ] Represents a random number in a standard normal distribution. Indicates taking the absolute value;

[0024] Step 5: Use the Kepler optimization algorithm to analyze the s-th generation planetary group SP. s After performing the mutation operation, the (s+1)th generation scheduling scheme set SP is obtained. s+1 ;

[0025] Step 6: After assigning s+1 to s, determine whether s≤S holds true. If true, return to step 5 and execute sequentially. Otherwise, it means that the S-generation scheduling scheme set has been obtained, and the fitness of all scheduling schemes in the S-generation scheduling scheme set is calculated, so as to retain the individual with the highest fitness as the final job shop scheduling scheme.

[0026] The dynamic flexible job shop scheduling method based on Kepler optimization algorithm described in this invention is also characterized in that step 2 includes:

[0027] Step 2.1: Construct the objective function f using equation (1):

[0028] (1)

[0029] Step 2.2: Construct constraints using equations (3)-(6):

[0030] (2)

[0031] (3)

[0032] (4)

[0033] (5)

[0034] In equation (4), ET i(g-1)k J represents the i-th workpiece. i On the kth device M k The g-1th process is processed. i(g-1)k The completion time.

[0035] Step 5 includes:

[0036] Step 5.1: Calculate the w-th planet of the s-th generation using equation (8). fitness And select the sth generation planetary group SP s Maximum fitness The corresponding planet is the s-th generation sun. Other planets orbit the sun:

[0037] (8)

[0038] In equation (8), SP s The wth planet Maximum completion time;

[0039] Step 5.2: Initialize w=1;

[0040] Step 5.3: Calculate SP using equation (9) s Mid-Sun For the w-th planet The appeal :

[0041] (9)

[0042] In equation (9), μ s This represents the gravitational constant at the s-th iteration. Represents the sun The weight, Represents the w-th planet of the s-th generation. The weight, Represents the w-th planet of the s-th generation. With the sun The Euclidean distance between them, where ε represents a constant. Represents the w-th planet of the s-th generation. The first random number between [0,1] is obtained, and:

[0043] (10)

[0044] (11)

[0045] (12)

[0046] (13)

[0047] In equations (10)-(13), Represents the sun Process sequence number vector, Represents the w-th planet of the s-th generation. Process sequence number vector, Denotes the second norm, SP s Mid-Sun The value at the q-th position in the process sequence number vector. Represents the w-th planet of the s-th generation. The value at the q-th position in the process sequence number vector; Represents the w-th planet of the s-th generation. The corresponding second random number between [0,1] This represents the minimum fitness at the s-th iteration; γ represents the initial gravitational constant, and γ represents a constant.

[0048] Step 5.4: Generate a random number r. If r < 0.5, proceed to step 5.5; otherwise, proceed to step 5.7.

[0049] Step 5.5: Use equation (14) to obtain the w-th planet of the s-th generation. speed :

[0050] (14)

[0051] In equation (14), , SP s The a-th planet The process sequence vector and the b-th planet The process sequence number vector, where X represents the initial sorting vector of all processes; Indicates according to and Random distance determination Speed ​​parameters, Indicates according to and Random distance determination Speed ​​parameters, Indicates according to And X determined The parameters of the minimum step size direction, This indicates calculations based on Kepler's second law. Speed ​​parameters; express The Boolean parameter vector of the minimum step size position. express Whether to use the minimum step size Boolean parameter during movement. , express The third and fourth random numbers, express A random vector that determines the minimum random step size during movement. Indicates to The standardized Euclidean distance is as follows:

[0052] (15)

[0053] (16)

[0054] (17)

[0055] (18)

[0056] (19)

[0057] (20)

[0058] (twenty one)

[0059] (twenty two)

[0060] (twenty three)

[0061] a w s = r a n d w , 3 s × [ T w 2 × μ ( s ) × ( m s u n s + m w s ) 4 π 2 ] 1 3 (twenty four)

[0062] (25)

[0063] In equations (15)-(25), express random parameters, express random parameters, Indicates confirmation The Boolean parameter vector of velocity, Indicates confirmation random vectors, express The semi-major axis of the elliptical orbit, This represents the minimum distance between all planets and the Sun at the s-th iteration. This represents the maximum distance between all planets and the Sun at the s-th iteration;

[0064] Step 5.6: Use equation (26) to obtain the w-th planet of the s-th generation. Updated process sequence number vector Then proceed to step 5.8 to execute:

[0065] (26)

[0066] In equation (26), express The first random number in the standard normal distribution;

[0067] Step 5.7: Use equation (27) to obtain the w-th planet of the s-th generation. Updated process sequence number vector :

[0068] (27)

[0069] In equation (27), Indicates control of the s-th generation sun and An adaptive factor for the distance between them, and:

[0070] (28)

[0071] (29)

[0072] (30)

[0073] In equations (28)-(30), express The linear decreasing factor, a2 represents the loop control parameter, and % represents integer division. This represents the average value across all periods. express The second random number in a normal distribution;

[0074] Step 5.8: Update Process coding and machine coding:

[0075] Planet w of generation s Process coding according to After reordering in ascending order, we get The reordered process codes are then used to update the minimum completion time strategy based on the reordered process codes. The machine code is used to obtain the updated w-th planet of the s-th generation. ;

[0076] Step 5.9: Calculate the planet using equation (8) and The fitness of the planets is considered, and planets with higher fitness are retained as the wth planet of the (s+1)th generation. and according to Process code, calculation Process sequence number vector ;

[0077] Step 5.10: After assigning w+1 to w, check if w ≤ N. SP If the condition is met, return to step 5.3 and execute sequentially; otherwise, it means that all planets in generation s have completed one position update and step 6 is executed.

[0078] If any machine fails, rescheduling will proceed as follows:

[0079] Determine the resumption time of the faulty machine, and then postpone the processing steps of the affected workpieces in the final workshop scheduling plan to after the resumption time. The completion time of the last machine will be used as the new completion time. ;

[0080] judge If the conditions are met, production scheduling will continue according to the postponed scheduling plan. Otherwise, the remaining unprocessed workpieces will be treated as unprocessed processes, and a new scheduling plan will be obtained according to the process of steps 3-5.

[0081] If a new batch of workpieces is generated, the rescheduling will proceed as follows:

[0082] The new workpiece's processing steps are scheduled after the final job shop scheduling plan. Based on the new workpiece's processing steps, the machines with the shortest current completion times are selected sequentially for processing, and the completion time of the last machine is taken as the completion time of the new workpiece. ,judge If the condition is met, the new workpiece's processing steps are directly appended to the final job shop scheduling plan to form a new scheduling plan; otherwise, the process waits until the rescheduling cycle T is reached. re The process of the new workpiece to be processed is combined with the process of the unprocessed workpiece as the process to be processed, and a new scheduling scheme is obtained according to the process of steps 3-5.

[0083] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0084] 1. Based on the actual production situation in the workshop, this invention establishes multiple constraints and optimizes the completion time of the workshop. It also introduces the Kepler optimization algorithm into the workshop scheduling problem for the first time to solve the model and obtain an optimal production plan with the shortest time, thereby improving the efficiency of workshop production.

[0085] 2. The Kepler optimization algorithm used in this invention simulates the optimization process as a planetary trajectory, increasing global search capability and the ability to escape local optima. It can find the optimal scheduling scheme more quickly during the workshop scheduling scheme optimization process, thereby reducing production scheduling time and improving workshop efficiency.

[0086] 3. This invention proposes a dynamic shop floor rescheduling strategy based on the Kepler optimization algorithm. Rescheduling is performed based on real dynamic events in the shop floor, such as machine failure or new orders. This reduces the impact of dynamic events on efficiency during shop floor production, enhances the anti-interference capability of the shop floor production process, improves equipment utilization, and increases the efficiency of shop floor production. Attached Figure Description

[0087] Figure 1 This is a flowchart of the Kepler algorithm optimization algorithm of the present invention;

[0088] Figure 2 This is an example diagram illustrating the optimization process of the present invention;

[0089] Figure 3 This is a diagram illustrating the rescheduling strategy for dynamic events encountered in this invention.

[0090] Figure 4 This is a diagram illustrating the strategy for determining the rescheduling period T in this invention. Detailed Implementation

[0091] In this embodiment, a dynamic flexible job shop scheduling method based on the Kepler optimization algorithm (such as...) Figure 1 As shown), the optimization process is simulated as a planetary trajectory, increasing global search capabilities and the ability to escape local optima. For flexible workshop scheduling, it can obtain high-quality scheduling solutions more quickly, thereby improving workshop scheduling efficiency. Furthermore, a rescheduling strategy is proposed for dynamic events, increasing the workshop's resilience to risks and improving machine utilization, thus increasing workshop production efficiency (e.g., ...). Figure 2 As shown), specifically, the method includes the following steps: Step 1: Obtain the raw data, including:

[0092] Number of workpieces n, i-th workpiece J i i∈n, number of machines m, k-th machine M k , k∈m, the i-th workpiece J i The process set is N i N i The quantity is A i The total number of all processes is A. N The i-th workpiece J i The g-th process O ig , g∈A i Boolean variable O igk , when O igk =1, indicating that the g-th process O ig On the kth device M k Upgrade processing, otherwise, O igk =0、Process O igk Processing time t igk O igk Start time ST igk Process O igk Completion time ET igk Maximum completion time C max The rescheduling period is T. re .

[0093] Step 2: Construct a workshop scheduling model based on the objective function and constraints;

[0094] Step 2.1: Construct the objective function f using equation (1):

[0095] (1)

[0096] Step 2.2: Construct constraints using equations (3)-(6):

[0097] (2)

[0098] (3)

[0099] (4)

[0100] (5)

[0101] In equation (4), ET i(g-1)k J represents the i-th workpiece. i On the kth device M k The g-1th process is processed. i(g-1)k The completion time.

[0102] Step 3: Define and initialize the initial scheduling scheme set;

[0103] Step 3.1: Define the total number of iterations as S, the current iteration number as s, and initialize s=1;

[0104] Let the s-th generation planetary group be denoted as SP. s ={ |w=1,2,…,N SP}, Let N be the s-th planet of the w-th generation, representing a scheduling scheme. SP Indicates the size of a planetary group;

[0105] Based on the original data, define the s-th generation scheduling scheme set SP. s Each scheduling scheme consists of a process code and a machine code. The process code is composed of all process numbers of all workpieces arranged in sequence, and the process numbers of the same workpiece are the same. The position of each process in the process code is numbered in sequence to form a process number vector.

[0106] Based on the process code, the machine serial numbers used for the processing process of the corresponding workpiece are selected sequentially to form the machine code, and each machine position in the machine code is numbered sequentially to form a machine serial number vector.

[0107] The sequence number corresponding to the process code and machine code indicates the process being performed on the machine; that is, the process being performed by the machine will not change due to changes in the process code order. For example... Figure 2 In the process, the 1st, 2nd, and 3rd processes of workpiece 1 always correspond to the 1st, 2nd, and 3rd processes in the process sequence vector, and the 1st, 2nd, and 3rd processes in the machine sequence vector always process the processes corresponding to the 1st, 2nd, and 3rd processes in the process sequence vector.

[0108] Step 3.2: For the s-th generation scheduling scheme set SP s The process code of each scheduling scheme is randomly initialized, and the sequence number of the processing machine corresponding to each process is determined according to the initialized process code to initialize the machine code.

[0109] Step 4: Initialize the parameters for each planet:

[0110] Step 4.1: Initialize the orbital eccentricity E of the w-th planet using equation (6). w :

[0111] E w = r a n d [ 0 , 1 ] , w ∈ N S P (6)

[0112] In equation (6), r a n d [ 0 , 1 ] This represents a random number uniformly distributed between [0,1].

[0113] Step 4.2: Initialize the orbital period T of the w-th planet using equation (7). w :

[0114] T w = | r a n d N [ 0 , 1 ] | , w ∈ N S P (7)

[0115] In equation (7), r a n d N [ 0 , 1 ] Represents a random number in a standard normal distribution. This indicates taking the absolute value.

[0116] Step 5: Use the Kepler optimization algorithm to analyze the s-th generation planetary group SP. s After performing the mutation operation, the (s+1)th generation scheduling scheme set SP is obtained. s+1 :

[0117] Step 5.1: Calculate the w-th planet of the s-th generation using equation (8). fitness And select the sth generation planetary group SP s Maximum fitness The corresponding planet is the s-th generation sun. Other planets orbit the Sun. Unlike the original Kepler algorithm, which updates the Sun when a planet with the highest fitness is generated, this algorithm determines whether a new Sun has been generated after updating the positions of all planets in each generation. The purpose of this is to allow each planet to perform a round of search around the global optimum, thereby enhancing the scope of the local search.

[0118] (8)

[0119] In equation (8), SP s The wth planet The maximum completion time.

[0120] Step 5.2: Initialize w=1;

[0121] Step 5.3: Calculate SP using equation (9) s Mid-Sun For the w-th planet The appeal :

[0122] (9)

[0123] In equation (9), μ s This represents the gravitational constant at the s-th iteration. Represents the sun The weight, Represents the w-th planet of the s-th generation. The weight, Represents the w-th planet of the s-th generation. With the sun The Euclidean distance between them, where ε represents a constant. Represents the w-th planet of the s-th generation. The first random number between [0,1] is obtained, and:

[0124] (10)

[0125] (11)

[0126] (12)

[0127] (13)

[0128] In equations (10)-(13), Represents the sun Process sequence number vector, Represents the w-th planet of the s-th generation. Process sequence number vector, Denotes the second norm, SP s Mid-Sun The value at the q-th position in the process sequence number vector. Represents the w-th planet of the s-th generation. The value at the q-th position in the process sequence number vector; Represents the w-th planet of the s-th generation. The corresponding second random number between [0,1] This represents the minimum fitness at the s-th iteration; Let represent the initial gravitational constant, and γ represent a constant.

[0129] Step 5.4: Generate a random number r. If r < 0.5, proceed to step 5.5; otherwise, proceed to step 5.7.

[0130] Step 5.5: Use equation (14) to obtain the w-th planet of the s-th generation. speed When calculating the speed, the planet's speed depends on its distance from the sun. When the planet is close to the sun, the sun's gravitational pull on the planet is strong, resulting in a high speed, meaning a faster search speed in local optima. Conversely, when the planet is far from the sun, the sun's gravitational pull on the planet is weak, allowing for slower exploration of new regions. Equation (14) introduces the positions of two additional random planets, which helps planets have more search strategies when near the sun. It also introduces the distance between the sun and X to prevent the planet's step size from being too small and getting trapped in local optima.

[0131] (14)

[0132] In equation (14), , SP s The a-th planet The process sequence vector and the b-th planet The process sequence number vector is used here because the process code cannot be directly used as the planetary position for calculation. X represents the initial sorting vector for all processes. Indicates according to and Random distance determination Speed ​​parameters, Indicates according to and Random distance determination Speed ​​parameters, Indicates according to And X determined The parameters of the minimum step size direction, This indicates calculations based on Kepler's second law. Speed ​​parameters; express The Boolean parameter vector of the minimum step size position. express Whether to use the minimum step size Boolean parameter during movement. , express The third and fourth random numbers, express A random vector that determines the minimum random step size during movement. Indicates to The standardized Euclidean distance is as follows:

[0133] (15)

[0134] (16)

[0135] (17)

[0136] (18)

[0137] (19)

[0138] (20)

[0139] (twenty one)

[0140] (twenty two)

[0141] (twenty three)

[0142] a w s = r a n d w , 3 s × [ T w 2 × μ ( s ) × ( m s u n s + m w s ) 4 π 2 ] 1 3 (twenty four)

[0143] (25)

[0144] In equations (15)-(25), express random parameters, express random parameters, Indicates confirmation The Boolean parameter vector of velocity, Indicates confirmation random vectors, express The semi-major axis of the elliptical orbit, This represents the minimum distance between all planets and the Sun at the s-th iteration. This represents the maximum distance between all planets and the Sun at the s-th iteration.

[0145] Step 5.6: Use equation (26) to obtain the w-th planet of the s-th generation. Updated process sequence number vector Then proceed to step 5.8 to execute:

[0146] (26)

[0147] In equation (26), express The first random number in the standard normal distribution.

[0148] Step 5.7: Use equation (27) to obtain the w-th planet of the s-th generation. Updated process sequence number vector :

[0149] (27)

[0150] In equation (27), Indicates control of the s-th generation sun and An adaptive factor for the distance between them, and:

[0151] (28)

[0152] (29)

[0153] (30)

[0154] In equations (28)-(30), express The linear decreasing factor, a2 represents the loop control parameter, and % represents integer division. This represents the average value across all periods. express The second random number in a normal distribution.

[0155] Step 5.8: Update Process coding and machine coding, such as Figure 2 As shown.

[0156] Planet w of generation s Process coding according to After reordering in ascending order, we get The reordered process codes are then used to update the minimum completion time strategy based on the reordered process codes. The machine code is used to obtain the updated w-th planet of the s-th generation. The minimum completion time strategy is to select the machine with the minimum completion time for the current process according to the process code. If the minimum completion times are the same, the machine with the minimum completion time for the current process is randomly selected.

[0157] Step 5.9: Calculate the planet using equation (8) and The fitness of the planets is considered, and planets with higher fitness are retained as the wth planet of the (s+1)th generation. and according to Process code, calculation Process sequence number vector ;

[0158] Step 5.10: After assigning w+1 to w, check if w ≤ N. SP If the condition is met, return to step 5.3 and execute sequentially; otherwise, it means that all planets in generation s have completed one position update and step 5.11 is executed.

[0159] Step 5.11: After assigning s+1 to s, check if s≤S is true. If true, return to step 5 and execute sequentially; otherwise, it indicates that the S-generation scheduling scheme set has been obtained, and the scheduling scheme set SP is calculated. s The fitness of all scheduling schemes is evaluated, and the individual with the highest fitness is retained as the final job shop scheduling scheme.

[0160] Step 6: As Figure 3 As shown, when a new random dynamic event occurs during the production process, it is determined whether it is a new order or a machine malfunction. Based on the determination, a rescheduling strategy is selected. There are three common rescheduling strategies: The first is the right-shift rescheduling strategy, which shifts the entire affected pending processes to the right based on the machine's recovery time. This is often used for dynamic events caused by machine malfunctions. The second is the full rescheduling strategy, which reschedules the unprocessed processes as pending production processes. This is suitable for both machine malfunctions and new orders. The third is partial rescheduling, which reschedules the affected pending processes based on the machine's recovery time. This is also often used for dynamic events caused by machine malfunctions.

[0161] If any machine fails, rescheduling will proceed as follows:

[0162] Determine the resumption time of the faulty machine, and then postpone the processing steps of the affected workpieces in the final workshop scheduling plan to after the resumption time. The completion time of the last machine will be used as the new completion time. ;

[0163] judge If the conditions are met, production scheduling will continue according to the postponed scheduling plan. Otherwise, the remaining unprocessed workpieces will be treated as unprocessed processes, and a new scheduling plan will be obtained according to the process of steps 3-5.

[0164] If a new batch of workpieces is generated, the rescheduling will proceed as follows:

[0165] The new workpiece's processing steps are scheduled after the final job shop scheduling plan. Based on the new workpiece's processing steps, the machines with the shortest current completion times are selected sequentially for processing, and the completion time of the last machine is taken as the completion time of the new workpiece. ,judge If the condition is met, the new workpiece's processing steps are directly appended to the final job shop scheduling plan to form a new scheduling plan; otherwise, the process waits until the rescheduling cycle T is reached. re The rescheduling period T here is determined by... Figure 4 The strategy shown determines that the process of the new workpiece to be processed is combined with the process of the unprocessed workpiece as the process to be processed, and a new scheduling scheme is obtained according to the process of steps 3-5.

Claims

1. A dynamic flexible job shop scheduling method based on the Kepler optimization algorithm, characterized in that, This includes the following: Step 1: Obtain the raw data, including: Number of workpieces n, i-th workpiece J i i∈n, number of machines m, k-th machine M k , k∈m, the i-th workpiece J i The process set is N i N i The quantity is A i The total number of all processes is A. N The i-th workpiece J i The g-th process O ig , g∈A i Boolean variable O igk , when O igk =1, indicating that the g-th process O ig On the kth device M k Upgrade processing, otherwise, O igk =0、Process O igk Processing time t igk O igk Start date ST igk Process O igk Completion time ET igk Maximum completion time C max The rescheduling period is T. re ; Step 2: Construct a workshop scheduling model based on the objective function and constraints; Step 3: Define and initialize the initial scheduling scheme set; Step 3.1: Define the total number of iterations as S, the current iteration number as s, and initialize s=1; Let the s-th generation planetary group be denoted as SP. s ={ |w=1,2,…,N SP }, Let N be the s-th planet of the w-th generation, representing a scheduling scheme. SP Indicates the size of a planetary group; Based on the original data, define the s-th generation scheduling scheme set SP. s Each scheduling scheme consists of a process code and a machine code. The process code is composed of all process numbers of all workpieces arranged in sequence, and the process numbers of the same workpiece are the same. The position of each process in the process code is numbered in sequence to form a process number vector. Based on the process code, the machine serial numbers used for the processing process of the corresponding workpiece are selected sequentially to form the machine code, and each machine position in the machine code is numbered sequentially to form a machine serial number vector. Step 3.2: For the s-th generation scheduling scheme set SP s The process code of each scheduling scheme is randomly initialized, and the sequence number of the processing machine corresponding to each process is determined according to the initialized process code to initialize the machine code; Step 4: Initialize the parameters for each planet: Step 4.1: Initialize the orbital eccentricity E of the w-th planet using equation (6). w : (6) In equation (6), This represents a random number uniformly distributed between [0,1]. Step 4.2: Initialize the orbital period T of the w-th planet using equation (7). w : (7) In equation (7), Represents a random number in a standard normal distribution. Indicates taking the absolute value; Step 5: Use the Kepler optimization algorithm to analyze the s-th generation planetary group SP. s After performing the mutation operation, the (s+1)th generation scheduling scheme set SP is obtained. s+1 ; Step 6: After assigning s+1 to s, determine whether s≤S holds true. If true, return to step 5 and execute sequentially. Otherwise, it means that the S-generation scheduling scheme set has been obtained, and the fitness of all scheduling schemes in the S-generation scheduling scheme set is calculated, so as to retain the individual with the highest fitness as the final job shop scheduling scheme.

2. The dynamic flexible job shop scheduling method based on Kepler optimization algorithm according to claim 1, characterized in that, Step 2 includes: Step 2.1: Construct the objective function f using equation (1): (1) Step 2.2: Construct constraints using equations (3)-(6): (2) (3) (4) (5) In equation (4), ET i(g-1)k J represents the i-th workpiece. i On the kth device M k The g-1th process is processed. i(g-1)k The completion time.

3. The dynamic flexible job shop scheduling method based on Kepler optimization algorithm according to claim 2, characterized in that, Step 5 includes: Step 5.1: Calculate the w-th planet of the s-th generation using equation (8). fitness And select the sth generation planetary group SP s Maximum fitness The corresponding planet is the s-th generation sun. Other planets orbit the sun: (8) In equation (8), SP s The wth planet Maximum completion time; Step 5.2: Initialize w=1; Step 5.3: Calculate SP using equation (9) s Mid-Sun For the w-th planet The appeal : (9) In equation (9), μ s This represents the gravitational constant at the s-th iteration. Represents the sun The weight, Represents the w-th planet of the s-th generation. The weight, Represents the w-th planet of the s-th generation. With the sun The Euclidean distance between them, where ε represents a constant. Represents the w-th planet of the s-th generation. The first random number between [0,1] is obtained, and: (10) (11) (12) (13) In equations (10)-(13), Represents the sun Process sequence number vector, Represents the w-th planet of the s-th generation. Process sequence number vector, SP s Mid-Sun The value at the q-th position in the process sequence number vector. Represents the w-th planet of the s-th generation. The value at the q-th position in the process sequence number vector; Represents the w-th planet of the s-th generation. The corresponding second random number between [0,1] This represents the minimum fitness at the s-th iteration; γ represents the initial gravitational constant, and γ represents a constant. Step 5.4: Generate a random number r. If r < 0.5, proceed to step 5.5; otherwise, proceed to step 5.

7. Step 5.5: Use equation (14) to obtain the w-th planet of the s-th generation. speed : (14) In equation (14), , SP s The a-th planet The process sequence vector and the b-th planet The process sequence number vector, where X represents the initial sorting vector of all processes; Indicates according to and Random distance determination Speed ​​parameters, Indicates according to and Random distance determination Speed ​​parameters, Indicates according to And X determined The parameters of the minimum step size direction, This indicates calculations based on Kepler's second law. Speed ​​parameters; express The Boolean parameter vector of the minimum step size position. express Whether to use the minimum step size Boolean parameter during movement. , express The third and fourth random numbers, express A random vector that determines the minimum random step size during movement. Indicates to The standardized Euclidean distance is as follows: (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) In equations (15)-(25), express random parameters, express random parameters, Indicates confirmation The Boolean parameter vector of velocity, Indicates confirmation random vectors, express The semi-major axis of the elliptical orbit, This represents the minimum distance between all planets and the Sun at the s-th iteration. This represents the maximum distance between all planets and the Sun at the s-th iteration; Step 5.6: Use equation (26) to obtain the w-th planet of the s-th generation. Updated process sequence number vector Then proceed to step 5.8 to execute: (26) In equation (26), express The first random number in the standard normal distribution; Step 5.7: Use equation (27) to obtain the w-th planet of the s-th generation. Updated process sequence number vector : (27) In equation (27), Indicates control of the s-th generation sun and An adaptive factor for the distance between them, and: (28) (29) (30) In equations (28)-(30), express The linear decreasing factor, a2 represents the loop control parameter, and % represents integer division. This represents the average value across all periods. express The second random number in a normal distribution; Step 5.8: Update Process coding and machine coding: Planet w of generation s Process coding according to After reordering in ascending order, we get The reordered process codes are then used to update the minimum completion time strategy based on the reordered process codes. The machine code is used to obtain the updated w-th planet of the s-th generation. ; Step 5.9: Calculate the planet using equation (8) and The fitness of the planets is considered, and planets with higher fitness are retained as the wth planet of the (s+1)th generation. and according to Process code, calculation Process sequence number vector ; Step 5.10: After assigning w+1 to w, check if w ≤ N. SP If the condition is met, return to step 5.3 and execute sequentially; otherwise, it means that all planets in generation s have completed one position update and step 6 is executed.

4. The dynamic flexible job shop scheduling method based on Kepler optimization algorithm according to claim 3, characterized in that, If any machine fails, rescheduling will proceed as follows: Determine the resumption time of the faulty machine, and then postpone the processing steps of the affected workpieces in the final workshop scheduling plan to after the resumption time, and use the completion time of the last machine as the new completion time. ; judge If the conditions are met, production scheduling will continue according to the postponed scheduling plan. Otherwise, the remaining unprocessed workpieces will be treated as unprocessed processes, and a new scheduling plan will be obtained according to the process of steps 3-5.

5. The dynamic flexible job shop scheduling method based on Kepler optimization algorithm according to claim 3, characterized in that: If a new batch of workpieces is generated, the rescheduling will proceed as follows: The new workpiece's processing steps are scheduled after the final job shop scheduling plan. Based on the new workpiece's processing steps, the machines with the shortest current completion time are selected sequentially for processing, and the completion time of the last machine is taken as the completion time of the new workpiece. ,judge If the condition is met, the new workpiece's processing steps are directly appended to the final job shop scheduling plan to form a new scheduling plan; otherwise, the process waits until the rescheduling cycle T is reached. re The process of the new workpiece to be processed is combined with the process of the unprocessed workpiece as the process to be processed, and a new scheduling scheme is obtained according to the process of steps 3-5.

Citation Information

Patent Citations

  • Flexible job shop dynamic event scheduling method based on improved NSGAII

    CN114926033A

  • Flexible job shop scheduling optimization method based on Petri network and brainstorm

    CN116679626A