Flexible job shop scheduling method and system based on hybrid dune cat optimization algorithm

By combining the hybrid Sand Cat optimization algorithm with the sine and cosine algorithms and the uniform crossover operator, the scheduling of flexible job shops is optimized. This solves the problems of slow convergence speed and low accuracy of existing algorithms in flexible job shop scheduling, and achieves efficient scheduling solutions and Gantt chart output.

CN116451932BActive Publication Date: 2026-04-17SOUTH CHINA UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SOUTH CHINA UNIV OF TECH
Filing Date
2023-03-15
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

The existing Sand Cat algorithm suffers from slow convergence speed, low accuracy, and a tendency to get trapped in local optima when solving the flexible job shop scheduling problem, resulting in low scheduling efficiency.

Method used

A hybrid sand cat optimization algorithm is adopted, which combines two-stage coding rules and uniform crossover operators. By initializing the population, adjusting the sand cat sensitivity, combining sine and cosine algorithms and local development, and combining global search with local development, the process and machine coding are optimized.

Benefits of technology

It improves the search accuracy and iteration efficiency of the algorithm, outputs high-precision optimal solutions and Gantt charts, solves the problem of inaccurate scheduling in industrial production, and reduces the consumption of human resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116451932B_ABST
    Figure CN116451932B_ABST
Patent Text Reader

Abstract

This invention discloses a flexible job shop scheduling method and system based on a hybrid sandcat optimization algorithm. The method includes the following steps: S1, reading information from a standard format flexible job shop scheduling problem example, and storing the machine information, machine processing time information, and workpiece information in a list for classification; S2, randomly generating multiple feasible process codes and machine codes based on a two-stage coding rule as an initial population; S3, using the obtained initial population, setting the sandcat sensitivity, iteratively optimizing the process codes using a hybrid sine and cosine algorithm of the sandcat optimization algorithm, and updating the machine codes using a uniform crossover operator; S4, recording the minimum maximum completion time in the population after each iteration, and outputting the Gantt chart of the optimal solution obtained by the algorithm after the iteration. This invention solves the problem of inaccurate manual scheduling calculations in industrial production, which requires a large amount of human resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of flexible job shop scheduling technology, specifically relating to a flexible job shop scheduling method and system based on the hybrid sand cat optimization algorithm. Background Technology

[0002] With the marketization and globalization of my country's national economy, the complexity of production processes is constantly increasing. The original unitary, single-product, large-batch, assembly-line production mode is gradually shifting towards diversified, multi-product, small-batch, highly flexible, and relatively complex agile manufacturing. The Flexible Job Shop Scheduling Problem (FJSP), based on the classic Job Shop Problem (JSP), provides a set of selectable machines for processing workpieces, making it more closely aligned with actual production. For solving NP-hard problems like FJSP, the emergence of metaheuristic algorithms, such as particle swarm optimization and the Grey Wolf algorithm, has made the optimization process more efficient and accurate, and has become the preferred choice for scholars both domestically and internationally in solving such problems.

[0003] The Sandcat algorithm, proposed by Seyyedabbasi in 2022 based on the hunting behavior of sandcats, is an emerging metaheuristic algorithm with fewer parameters and computations, and it performs well in solving functional and engineering problems. However, when the algorithm is discretized to solve the FJSP problem, some problems common to metaheuristic algorithms occur, such as low convergence speed, low accuracy, and easy getting trapped in local optima, resulting in low scheduling efficiency and poor results. Summary of the Invention

[0004] The main objective of this invention is to overcome the shortcomings and deficiencies of the prior art and to propose a flexible job shop scheduling method and system based on the hybrid sand cat optimization algorithm.

[0005] To achieve the above objectives, the present invention adopts the following technical solution:

[0006] A flexible job shop scheduling method based on the hybrid sand cat optimization algorithm includes the following steps:

[0007] S1. Read information from the standard format flexible job shop scheduling problem example and store the machine information, machine processing time information and workpiece information in a list.

[0008] S2. Based on the data obtained in step S1, initialize the parameters of the hybrid sand cat optimization algorithm, and randomly generate multiple feasible process codes and machine codes based on the two-stage coding rules as the initial population.

[0009] S3. Using the obtained initial population, set the sand cat sensitivity, use the sand cat optimization algorithm mixed with the sine and cosine algorithm to iteratively optimize the process code, and use the uniform crossover operator to update the machine code.

[0010] S4. Record the minimum maximum completion time in the population after each iteration, and output the Gantt chart of the optimal solution obtained by the algorithm after the iteration is completed.

[0011] Furthermore, in step S2, the process code is generated using the ascending order sorting rule ROV. First, a random number with a total number of processes in the range of [0,1] is generated as the position element, and these elements are arranged in ascending order. Then, the process sequence is generated from the corresponding process number.

[0012] Furthermore, in step S2, the machine code generation method uses the mapping of individual position vectors to optional machine numbers, and transforms x(j) into a real number belonging to [1, s(j)] through a linear transformation. u(j) takes the nearest integer value of this real number, and the calculation formula is as follows:

[0013]

[0014] Where s(j) is the set of available machines for the corresponding process of element j, u(j) is the machine number selected for the process, x(j)∈[-δ,δ], and δ is a constant.

[0015] Furthermore, step S3 specifically includes:

[0016] S31. Initialize population parameters, set sand cat sensitivity, and set the criteria for judging global search and local exploitation;

[0017] S32, Global Algorithm Search Phase or Local Algorithm Development Phase;

[0018] S33. Update machine codes using uniform crossover operators;

[0019] S34. The algorithm iterates continuously until the preset maximum number of iterations is reached.

[0020] Furthermore, step S31 specifically includes:

[0021] Set the population size and maximum number of iterations;

[0022] Set the sensitivity of the Sand Cat. G For non-linear reduction, the formula is as follows:

[0023]

[0024] Where k is the nonlinear adjustment coefficient, t is the current iteration number, and t max This represents the maximum number of iterations.

[0025] The parameter R is set as the basis for the algorithm to perform global search and local development of process codes, as shown in the following formula:

[0026] R = 2 × r G ×rand(0,1)-r G

[0027] When the value of R is in the range [-1, 1], the algorithm performs local search; otherwise, it performs a global search.

[0028] Furthermore, step S32, the global search phase of the algorithm, specifically involves:

[0029] Each sand cat is positioned based on its current optimal location. Current position and sensitivity range To update your location;

[0030] To expand the search range of the sand cat and discover new local optima, the sand cat's position update formula is combined with the sine and cosine algorithms, i.e.

[0031]

[0032] Where r2 is a random number in the range [0, 2π], and θ is a random number in the range [0, 1].

[0033] Furthermore, step S32, the local development phase of the algorithm, specifically includes:

[0034] The hybrid sandcat algorithm uses roulette wheel betting to select an angle θ for each sandcat to update its position, specifically:

[0035] Generate a random number r in the interval [0,1] and an array [1,2,…,360]. Calculate the sum of numbers from 1 to 360, which is 64980. Divide each number in the array [1,2,…,360] by 64980 to find the first number greater than or equal to r. Record its index in the array as the angle θ. Update the position using θ.

[0036]

[0037] in, The distance between the optimal position and the current position.

[0038] Furthermore, step S33 specifically includes:

[0039] The machine encoding update uses a uniform crossover operator. During the machine encoding iteration, the two best individuals are selected as parents P1 and P2, and a sequence WCross with the same length as the parent sequence is generated, which contains only 0 and 1. When the current position is 0, the offspring C1 and C2 inherit the machine selection of their own parents; otherwise, they inherit the machine selection of the other parent.

[0040] This invention also includes a flexible job shop scheduling system based on a hybrid sandcat optimization algorithm. The system employs the scheduling method provided by this invention and includes:

[0041] The example information reading, classification, and storage module is used to read information from standard format flexible job shop scheduling problem examples and store the machine information, machine processing time information, and workpiece information in a list classification.

[0042] The coding generation module is used to randomly generate multiple feasible process codes and machine codes based on two-stage coding rules;

[0043] The hybrid Sand Cat optimization module uses the Sand Cat optimization algorithm combined with the sine and cosine algorithms to iteratively optimize the process code, and uses the uniform crossover operator to update the machine code.

[0044] The output module is used to output the Gantt chart of the optimal solution obtained by the hybrid Sand Cat optimization module.

[0045] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0046] 1. This invention is based on a standard format flexible job shop scheduling problem example. It analyzes the data to extract machine information, machine processing time information, and workpiece information. Then, it uses a two-segment coding method to randomly generate multiple process codes and machine codes. The process codes are updated using a hybrid sand dune cat optimization algorithm, and the machine codes are updated using a uniform crossover operator, improving the algorithm's search accuracy. After iteration, the optimal solution and Gantt chart obtained by the algorithm are output. It can also calculate other scheduling tasks written in a standard format, solving the problem of inaccurate manual scheduling calculations in industrial production, which requires a large amount of human resources. Attached Figure Description

[0047] Figure 1 This is a flowchart of the method of the present invention;

[0048] Figure 2 This is the process coding flow for the three workpieces in the embodiment;

[0049] Figure 3 This is the machine coding process for the three workpieces in the embodiment;

[0050] Figure 4 This is a schematic diagram of the uniform cross-update of part of the machine code in the embodiment;

[0051] Figure 5 It is a Gantt chart of a standard example Kacem04. Detailed Implementation

[0052] The present invention will be further described in detail below with reference to the embodiments and accompanying drawings, but the embodiments of the present invention are not limited thereto.

[0053] Example

[0054] like Figure 1 As shown, the present invention provides a flexible job shop scheduling method based on a hybrid sandcat optimization algorithm, comprising the following steps:

[0055] S1. Read information from the standard format flexible job shop scheduling problem example and store the machine information, machine processing time information and workpiece information in a list.

[0056] In this embodiment, taking the first three workpieces as an example, Table 1 below is the Tmachine information table, where Tmachine represents the machine number that can be selected for the process. Table 2 below is the Tmachinetime information table, where Tmachinetime represents the time taken for the machine to process the process. Table 1 shows that in the three processes of workpiece No. 1, one of the 10 machines can be selected for each process. Table 2 shows the time required for the machine in Table 1 to process the corresponding process.

[0057] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

[0058] Table 1

[0059] 1 4 6 9 3 5 2 8 9 5 4 1 1 3 4 8 10 4 11 4 3 2 5 1 5 6 9 5 10 3

[0060] Table 2

[0061] S2. Based on the data obtained in step S1, initialize the parameters of the hybrid sand cat optimization algorithm, and randomly generate multiple feasible process codes and machine codes based on the two-stage coding rules as the initial population.

[0062] In this embodiment, the process code is generated using the ROV (Ranked Order Value) sorting rule. First, a random number of [0,1] is generated for the total number of processes (i.e., n random numbers are generated for the total number of processes, and the random value is [0,1]) as the position element. These random numbers are then arranged in ascending order, and the process sequence is generated from their corresponding process numbers.

[0063] like Figure 2 The diagram shows the process coding flow for the first three workpieces.

[0064] The machine code generation method uses the mapping of individual position vectors to optional machine numbers, and transforms x(j) into a real number belonging to [1, s(j)] through a linear transformation. u(j) takes the nearest integer value of this real number. The calculation formula is as follows:

[0065]

[0066] Where s(j) is the set of available machines for the corresponding process of element j, u(j) is the machine code selected for the process, x(j)∈[-δ,δ], and δ is a constant.

[0067] like Figure 3 The diagram shows the machine coding process for the first three workpieces. In the diagram, the selectable machine set for each process is 1-10, i.e., s(j) = 10. When x(j) takes the value -δ, u(j) = 1, meaning machine number 1 is selected as the processing machine. Similarly, when x(j) takes the value δ, u(j) = 10, meaning machine number 10 is selected as the processing machine. Therefore, based on the different values ​​of x(j), the processing machine for each process can be determined.

[0068] S3. Using the obtained initial population, set the sand cat sensitivity, and use the sand cat optimization algorithm combined with the sine and cosine algorithm to iteratively optimize the process code. Then, use the uniform crossover operator to update the machine code; specifically including:

[0069] S31. Set the population size to 100;

[0070] Set the sensitivity of the Sand Cat. G To reduce non-linearity, the global search intensity of individuals is increased in the early stages of iteration, and the local exploitation capability of the algorithm is enhanced in the later stages of iteration, thereby accelerating the convergence speed of the algorithm. The formula is as follows:

[0071]

[0072] Where k is the nonlinear adjustment coefficient, t is the current iteration number, and t max This represents the maximum number of iterations.

[0073] The parameter R is set as the basis for the algorithm to perform global search and local development of process codes, as shown in the following formula:

[0074] R = 2 × r G ×rand(0,1)-r G

[0075] When the value of R is in the range [-1, 1], the algorithm performs local search; otherwise, it performs a global search.

[0076] S32, Global Algorithm Search Phase or Local Algorithm Development Phase;

[0077] The global search phase of the algorithm specifically consists of:

[0078] Each sand cat is positioned based on its current optimal location. Current position and sensitivity range To update your location;

[0079] To expand the search range of the sand cat and discover new local optima, the sand cat's position update formula is combined with the sine and cosine algorithms, i.e.

[0080]

[0081] Where r2 is a random number in the range [0, 2π], and θ is a random number in the range [0, 1].

[0082] The specific steps of the algorithm's partial development phase are as follows:

[0083] The hybrid sandcat algorithm uses roulette wheel to select an angle θ for each sandcat. The process is as follows: Generate a random number r in the interval [0,1] and an array [1,2,…,360]. Calculate the sum of 1 to 360, which is 64980. Divide each number in the array [1,2,…,360] by 64980 to find the first number greater than or equal to r. Record its index in the array as the angle θ. Update the position using θ.

[0084]

[0085] in, The distance between the optimal position and the current position.

[0086] S33. Update the machine code using the uniform crossover operator; in this embodiment, specifically:

[0087] A uniform crossover operator is used for machine encoding updates. During machine encoding iteration, the two best individuals are selected as parents P1 and P2, and a sequence WCross with the same length as the parent sequence is generated, containing only 0s and 1s. When the current position is 0, the offspring C1 and C2 inherit the machine selection of their respective parents; otherwise, they inherit from the other parent. For example... Figure 4 The diagram shows a uniform crossover update of part of the machine code. When WCross is 0, C1 inherits from P1 and C2 inherits from P2; when WCross is 1, C1 inherits from P2 and C2 inherits from P1.

[0088] S34. The algorithm iterates continuously until the preset maximum number of iterations is reached. In this embodiment, the maximum number of iterations is preset to 200.

[0089] S4. Record the minimum maximum completion time in the population after each iteration, and output the Gantt chart of the optimal solution obtained by the algorithm after the iteration is completed.

[0090] like Figure 5 The figure shows a Gantt chart of a standard example, Kacem04.

[0091] In another embodiment, a flexible job shop scheduling system based on the hybrid sandcat optimization algorithm is also provided. The system adopts the scheduling method of the above embodiments and includes:

[0092] The example information reading, classification, and storage module is used to read information from standard format flexible job shop scheduling problem examples and store the machine information, machine processing time information, and workpiece information in a list classification.

[0093] The coding generation module is used to randomly generate multiple feasible process codes and machine codes based on two-stage coding rules;

[0094] The hybrid Sand Cat optimization module uses the Sand Cat optimization algorithm combined with the sine and cosine algorithms to iteratively optimize the process code, and uses the uniform crossover operator to update the machine code.

[0095] The output module is used to output the Gantt chart of the optimal solution obtained by the hybrid Sand Cat optimization module.

[0096] It should also be noted that, in this specification, terms such as "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0097] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A flexible job shop scheduling method based on hybrid dune cat optimization algorithm, characterized in that, Includes the following steps: S1. Read information from the standard format flexible job shop scheduling problem example and store the machine information, machine processing time information and workpiece information in a list. S2. Based on the data obtained in step S1, initialize the parameters of the hybrid sand cat optimization algorithm, and randomly generate multiple feasible process codes and machine codes based on the two-stage coding rules as the initial population. S3. Using the obtained initial population, set the sand cat sensitivity, and use the sand cat optimization algorithm combined with the sine and cosine algorithm to iteratively optimize the process code. Then, use the uniform crossover operator to update the machine code; specifically including: S31. Initialize population parameters, set sand cat sensitivity, and set the criteria for judging global search and local exploitation; specifically: Set the population size and maximum number of iterations; Set Sand Cat sensitivity For non-linear reduction, the formula is as follows: in, The nonlinear adjustment coefficient is... This represents the current iteration number. This represents the maximum number of iterations. Setting parameters The formula serves as the criterion for the algorithm to perform a global search and local development of process codes: when When the value is in the range [-1, 1], the algorithm performs local search; otherwise, it performs a global search. S32, Algorithm global search phase or algorithm local development phase; the algorithm global search phase specifically includes: Each sand cat is positioned based on its current optimal location. Current position and sensitivity range To update your location; To expand the search range of the sand cat and discover new local optima, the sand cat's position update formula is combined with the sine and cosine algorithms, i.e. in, for random numbers, for Random numbers between; The specific steps of the algorithm's partial development phase are as follows: The hybrid sandcat algorithm uses roulette wheel to select an angle for each sandcat. To update the location, specifically: Generate random numbers in the interval [0, 1]. Given the array [1, 2, ..., 360], calculate the sum of numbers from 1 to 360, which is 64980. Divide each number in the array [1, 2, ..., 360] by 64980 to find the first number greater than or equal to 64980. The number is used to denote its index in the array as the angle. ,pass Update location: in, The distance between the optimal position and the current position. ; S33. Update machine codes using uniform crossover operators; S34. The algorithm iterates continuously until it reaches the preset maximum number of iterations; S4. Record the minimum maximum completion time in the population after each iteration, and output the Gantt chart of the optimal solution obtained by the algorithm after the iteration is completed.

2. The flexible job shop scheduling method based on the hybrid sandcat optimization algorithm according to claim 1, characterized in that, In step S2, the process code is generated using the ascending order sorting rule ROV. First, a random number with a total number of processes in the range of [0,1] is generated as the position element, and these elements are arranged in ascending order. Then, the process sequence is generated from the corresponding process number.

3. The flexible job shop scheduling method based on the hybrid sandcat optimization algorithm according to claim 1, characterized in that, In step S2, the machine code generation method uses the mapping of individual position vectors to optional machine numbers, and transforms them through linear transformation. Convert to belong to real numbers, The formula for calculating the nearest integer value of the real number is as follows: in, For elements The set of optional machines for the corresponding process. Number the machine selected for this process. , It is a constant.

4. The flexible job shop scheduling method based on the hybrid sandcat optimization algorithm according to claim 1, characterized in that, Step S33 is as follows: The machine encoding update uses a uniform crossover operator. During the machine encoding iteration, the two best individuals are selected as parents P1 and P2, and a sequence WCross with the same length as the parent sequence is generated, which contains only 0 and 1. When the current position is 0, the offspring C1 and C2 inherit the machine selection of their own parents; otherwise, they inherit the machine selection of the other parent.

5. A flexible job shop scheduling system based on a hybrid sandcat optimization algorithm, characterized in that, The system employs the method described in any one of claims 1-4, and the system comprises: The example information reading, classification, and storage module is used to read information from standard format flexible job shop scheduling problem examples and store the machine information, machine processing time information, and workpiece information in a list classification. The coding generation module is used to randomly generate multiple feasible process codes and machine codes based on two-stage coding rules; The hybrid Sand Cat optimization module uses the Sand Cat optimization algorithm combined with the sine and cosine algorithms to iteratively optimize the process code, and uses the uniform crossover operator to update the machine code. The output module is used to output the Gantt chart of the optimal solution obtained by the hybrid Sand Cat optimization module.

Citation Information

Patent Citations

  • A method for solving flexible job shop scheduling based on a hybrid whale swarm algorithm

    CN109784603A

  • Method for solving flexible job shop scheduling based on hybrid genetic algorithm

    CN111967654A