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

By using a hybrid whale optimization algorithm and leveraging Tent chaotic mapping and tabu search strategies, the premature convergence problem of the whale optimization algorithm is solved, enabling reasonable allocation of flexible shop floor scheduling and improved production efficiency.

CN115829254BActive Publication Date: 2026-03-24ZHEJIANG SCI-TECH UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-24
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing flexible workshop scheduling methods based on the whale optimization algorithm are sensitive to the initial population and tend to converge too early, resulting in unreasonable workshop scheduling and failure to improve production efficiency.

Method used

A hybrid whale optimization algorithm is adopted, which initializes the individual whale positions through Tent chaotic mapping, combines tabu search and Lévy flight strategies to enhance local search capabilities and avoid premature convergence, and optimizes the neighborhood structure by combining tabu search.

Benefits of technology

The performance of the whale optimization algorithm was improved, enabling reasonable allocation of workshop scheduling and increasing production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115829254B_ABST
    Figure CN115829254B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of workshop production scheduling optimization, in particular to a flexible workshop scheduling method and system based on a hybrid whale optimization algorithm. The method comprises S1, analyzing the flexible workshop scheduling problem and determining the mathematical model of FJSP; S2, continuously processing the discrete workshop scheduling; S3, initializing the position of the whale individual in the whale optimization algorithm through Tent chaotic mapping; S4, calculating the fitness of all whale individuals; S5, updating the whale position; S6, searching the neighborhood structure; S7, judging whether the number of whale position updates reaches the maximum iteration number, if not, returning to step S4, if yes, continuing to step S8; S8, outputting the best whale position; S9, outputting the maximum completion time of the found machine and drawing a Gantt chart. The present application has the characteristics of enhancing the local search ability of the whale optimization algorithm, thereby realizing the reasonable allocation of workshop scheduling and improving the production efficiency.
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 optimization technology, specifically involving a flexible workshop scheduling method and system based on a hybrid whale optimization algorithm. Background Technology

[0002] Workshop scheduling is a key focus of modern enterprise production management. A well-planned production schedule can improve efficiency and reduce costs. With the development of multi-variety and mass customization models, the flexibility of production scheduling is increasing, and traditional manual scheduling methods are no longer sufficient. The development of information technology has attracted many researchers to design reasonable algorithms to handle production scheduling and accelerate production progress. Bowman first defined the Job-shop Scheduling Problem (JSP), which has been proven to be an NP-hard problem. In JSP, each production step, machine, and time is predetermined.

[0003] Flexible Job-shop Scheduling Problem (FJSP) is an extension of JSP that considers both job ordering and machine allocation. An FJSP is generally described as: n jobs J = {J1, J2, ..., J...} n} In m machines M = {M1, M2, ..., M} m In FJSP (Free-Solving Problems), each workpiece involves at least one process, and each process requires at least one processing machine. The processing time for the same process varies depending on the machine used, thus the processing time for each process is related to machine allocation. Current methods for solving FJSP include integer programming, branch and bound methods, reinforcement learning, and swarm optimization algorithms. Swarm optimization algorithms have attracted much attention due to their simple model architecture and efficient optimization performance. These include Particle Swarm Optimization (PSO), Genetic Algorithm (GA), Whale Optimization Algorithm (WOA), Tabu Search (TS), and others. Although the Whale Optimization Algorithm has fewer parameters and is advantageous for solving FJSP, it suffers from the common problem of swarm optimization algorithms: sensitivity to the initial population, premature convergence, and getting trapped in local optima.

[0004] Based on the above problems, it is very important to design a flexible workshop scheduling method and system based on a hybrid whale optimization algorithm that can enhance the local search capability of the whale optimization algorithm, thereby achieving reasonable allocation of workshop scheduling and improving production efficiency.

[0005] For example, Chinese patent document CN202110429914.X describes a method and system for optimizing scheduling in a flexible manufacturing workshop, including the following steps: constructing scheduling relationships between processing equipment based on the processing flow to be executed in the flexible manufacturing workshop; constructing the correlation between the operating parameters of each processing equipment and the processing efficiency of the flexible manufacturing workshop; constructing the correlation between the operating parameters of each processing equipment and the processing progress of each processing equipment; constructing the correlation between the processing progress of each processing equipment and the scheduling relationships between each processing equipment; constructing an upper-level optimization scheduling model based on the correlation between the operating parameters of each processing equipment and the processing efficiency of the flexible manufacturing workshop; constructing a lower-level optimization scheduling model based on the correlation between the processing progress of each processing equipment and the scheduling relationships between each processing equipment; and integrating the upper-level and lower-level optimization scheduling models. Although real-time monitoring of workshop data enables optimized scheduling of processing equipment and ensures the accuracy of scheduling results, its shortcoming is that it cannot guarantee that the completion time of each machine will not exceed the maximum completion time, thus limiting the improvement of production efficiency. Summary of the Invention

[0006] This invention aims to overcome the problems of existing flexible workshop scheduling methods based on the whale optimization algorithm, which are sensitive to the initial population, prone to premature convergence, and trapped in local optima, resulting in unreasonable workshop scheduling and failure to improve production efficiency. It provides a flexible workshop scheduling method and system based on a hybrid whale optimization algorithm that enhances the local search capability of the whale optimization algorithm, thereby achieving reasonable allocation of workshop scheduling and improving production efficiency.

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

[0008] The flexible shop scheduling method based on the hybrid whale optimization algorithm includes the following steps:

[0009] S1, Analyze the flexible workshop scheduling problem and determine the mathematical model of FJSP;

[0010] S2, based on the mathematical model definition of FJSP, performs continuous processing on discrete workshop scheduling;

[0011] S3, initializes the position of individual whales in the whale optimization algorithm using Tent chaotic mapping;

[0012] S4, calculate the fitness of all individual whales based on the fitness function;

[0013] S5, update the whale's position according to the set position update formula;

[0014] S6, using tabu search, searches for the neighborhood structure;

[0015] S7. Determine if the number of whale position updates has reached the maximum number of iterations. If not, return to step S4; if so, continue to step S8.

[0016] S8 outputs the optimal whale position;

[0017] S9, based on the optimal whale position, outputs the maximum completion time of the machine and draws a Gantt chart.

[0018] Preferably, step S1 includes the following steps:

[0019] S11, the mathematical model of FJSP is defined as follows:

[0020] The workpieces are independent, and each machine can only process one workpiece at a time.

[0021] Different operations on the same workpiece cannot be processed simultaneously.

[0022] All workpieces and machines are available at zero time;

[0023] Once a workpiece is processed on one machine, it is immediately transferred to the next machine, ignoring the transfer time.

[0024] The setup time for operations on the machine is independent of the operation sequence and is included in the processing time;

[0025] Production must be scheduled without interruption and must be able to be dispatched normally.

[0026] S12, defines the relevant symbols, specifically as follows:

[0027] n: the number of workpieces;

[0028] m: Number of machines;

[0029] i: Workpiece number, i∈{1,2,…,n};

[0030] n i : Total number of operations for workpiece i;

[0031] j: The j-th process of the workpiece, j∈{1,2,…,n} i};

[0032] k: Machine number, k∈{1,2,…,m};

[0033] M k : indicates the k-th machine;

[0034] O i,j The j-th process of the i-th workpiece;

[0035] M i,j The set of machines that can be selected for the j-th operation of the i-th workpiece;

[0036] T i,j,k : The processing time of the j-th process of the i-th workpiece on the k-th equipment;

[0037] JS i,j : Start time of the j-th process for the i-th workpiece;

[0038] JE i,j : The end time of the j-th process for the i-th workpiece;

[0039] S k,h : The start time of the h-th operation on the k-th device;

[0040] E k,h : The end time of the h-th operation on the k-th device;

[0041] x i,j,k : Indicates whether the j-th process of workpiece i is processed on the k-th machine;

[0042] C k The completion time of machine k;

[0043] C max Maximum completion time;

[0044] The decision variables are as follows:

[0045]

[0046] The objective function is as follows:

[0047] C max =min(max(C1, C2, ..., C m (2)

[0048] The constraints on the optimization objective are as follows:

[0049]

[0050] JS i,j ≤JE i,j-1 (4)

[0051] S k,h ≤E k,h-1 (5)

[0052] C k ≤C max (6)

[0053] S k,h ≥0, JS i,j ≥0 (7)

[0054] Mi,j ≥1 (8)

[0055] Formula (3) indicates that each process can only be performed in M. i,j Select one machine for processing; Formula (4) indicates the processing order of different processes of the workpiece. The next process can only be processed after the previous process is completed; Formula (5) indicates that machine k can only process one workpiece at a time. The h-th process can only be processed after the previous operation is completed; Formula (6) ensures that the completion time of each machine does not exceed the maximum completion time; Formula (7) ensures that the start time of the workpiece and the start time of the machine are both greater than or equal to zero; Formula (8) indicates that the processing of the workpiece process can be assigned to at least one machine.

[0056] Preferably, step S2 includes the following steps:

[0057] S21, code:

[0058] The individual position vector is divided into MS and OS parts; the MS part is for machine selection, which determines the machine assigned to each process, and sets M. 1,1 This indicates the number of selectable machines for the corresponding process, i.e., O. 1,1 The process can be selected from M1, M4, and M5; then it is converted into an individual position vector using formula (9), where x(j) is the j-th component of the individual position vector. i,j Indicates from M i,j The selected machine serial number, if M i,j =1, x(j) is a random number in [-n,n]; the OS part is the workpiece sorting, which determines the processing order of different workpieces. For OS encoding, firstly, a random number with the same length as the total process is generated, and then an ROV value is assigned to each random number in ascending order. Then, the ROV value is mapped to the workpiece number.

[0059]

[0060] S22, Decoding:

[0061] The MS part is decoded according to formula (10), where x(j) is the j-th component of the individual position vector, and round is the rounding symbol. If M i,j =1, then x(j) is a random number in [-n,n]; the OS part sorts the position vectors, assigns a ROV value to each position vector, and maps the ROV value to the workpiece number to obtain the process corresponding to the position vector;

[0062]

[0063] As a preferred embodiment, the Tent chaotic mapping in step S3 is specifically as follows:

[0064]

[0065] Where z k Represents the kth chaotic number, p∈(0,1), and the value of p is 0.5. The sequence is generated by formula (21) to replace the original pseudo-random initialization sequence.

[0066] Preferably, step S4 includes the following steps:

[0067] S41, first decode using formula (10), then calculate the maximum completion time using workpiece sorting and machine allocation, and the smaller the maximum completion time, the higher the mathematical model of FJSP.

[0068] Preferably, step S5 includes the following steps:

[0069] S51, the Whale Optimization Algorithm (WOA) includes three strategies: bubble net attack, prey search, and prey encirclement. The bubble net attack strategy is executed while encircling the prey, and a mathematical model is established by simulating the predation behavior of whale groups.

[0070] Surrounding the prey: When p < 0.5 and |A| < 1, use formula (11) to update the position:

[0071] X(t+1)=X * (t)-AD (11)

[0072] D = |C·X * (t)-X(t)| (12)

[0073] A = 2a·ra (13)

[0074] C = 2r (14)

[0075]

[0076] A and C are coefficient vectors, X(t) represents the current position of the individual whale. * (t) represents the current global best individual position obtained so far, D represents the distance between the current individual position and the global best individual, t represents the number of iterations, r is a random number and the value of r is in the range of [0,1]; a is a nonlinear control parameter used to balance global search and local search;

[0077] Bubble Web Attack: A spiral path is calculated by measuring the distance between the prey and the individual whale to explore possible other positional solutions between the current whale and the prey, thereby improving population diversity; where l is a random number between [-1,1] and b is a constant; when p≥0.5, formula (16) is used for updating:

[0078] X(t+1)=X* (t)+De bl cos(2πl) (16)

[0079] Searching for prey: When p < 0.5 and |A| ≥ 1, use formula (17) for position update;

[0080]

[0081] Among them, X rand (t) represents the randomly obtained location of an individual whale; sign[rand-1 / 2] contains three values: -1, 0, and 1, and the value is determined by [rand-1 / 2], where rand is a random number in the range [0,1].

[0082] s is the step size of Lévy's flight, obtained through formula (18):

[0083]

[0084] β = 1.5, u and v follow normal distributions:

[0085]

[0086] Preferably, step S6 includes the following steps:

[0087] S61, if there is an optimal solution in the neighborhood solution set generated by the search neighborhood structure that is not in the tabu list, then add the current optimal solution to the tabu list and return the updated position vector; otherwise, select the optimal solution in the neighborhood solution set, update the tabu list, release the last solution that entered the tabu list and update the individual position vector.

[0088] This invention also provides a flexible workshop scheduling system based on a hybrid whale optimization algorithm, comprising:

[0089] The model determination module is used to analyze the flexible job scheduling problem and determine the mathematical model of FJSP.

[0090] The continuous processing module is used to perform continuous processing on discrete workshop scheduling according to the mathematical model definition of FJSP.

[0091] The Tent chaotic mapping module is used to initialize the position of individual whales in the whale optimization algorithm using Tent chaotic mapping.

[0092] The fitness calculation module is used to calculate the fitness of all individual whales based on the fitness function;

[0093] The location update module is used to update the whale's location according to the set location update formula;

[0094] The search module is used to search for neighborhood structures through tabu search;

[0095] The judgment module is used to determine whether the number of whale position updates has reached the maximum number of iterations. If it has not reached the maximum number of iterations, it returns to the fitness calculation module. If it has reached the maximum number of iterations, it outputs the best whale position.

[0096] The output module is used to output the maximum completion time of the found machine based on the optimal whale position and to draw a Gantt chart.

[0097] Compared with the prior art, the beneficial effects of this invention are: (1) This invention provides a method for solving FJSP with fewer parameters in WOA. By optimizing the whale optimization algorithm, the performance of the algorithm is improved. A high-quality population is obtained through the Tent chaotic mapping strategy. The Lévy flight strategy is added in the global search stage of WOA so that individuals can explore a larger solution space. In order to avoid the WOA convergence speed being too fast, the global search and local search are adjusted by the nonlinear convergence factor. Tabu search is introduced to enhance the local search capability of the whale optimization algorithm; (2) This invention can enhance the local search capability of the whale optimization algorithm, thereby realizing the reasonable allocation of workshop scheduling and improving production efficiency. Attached Figure Description

[0098] Figure 1 A schematic diagram of an encoding result for machine selection in FJSP provided in an embodiment of the present invention;

[0099] Figure 2 A schematic diagram of an encoding result for FJSP workpiece sorting provided in an embodiment of the present invention;

[0100] Figure 3 A schematic diagram illustrating an improved result of the nonlinear parameters of WOA provided in an embodiment of the present invention;

[0101] Figure 4 A flowchart of a flexible workshop scheduling method based on a hybrid whale optimization algorithm provided in an embodiment of the present invention;

[0102] Figure 5 This is a convergence graph of Kacem04 in the Kacem example provided in this embodiment of the invention;

[0103] Figure 6 This is a Gantt chart for Mk08 in the Brandimarte example provided in the embodiments of the present invention. Detailed Implementation

[0104] To more clearly illustrate the embodiments of the present invention, specific implementation methods will be described below with reference to the accompanying drawings. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without any creative effort.

[0105] Example:

[0106] like Figure 4 As shown, this invention provides a flexible workshop scheduling method based on a hybrid whale optimization algorithm, comprising the following steps:

[0107] S1, Analyze the flexible workshop scheduling problem and determine the mathematical model of FJSP;

[0108] S2, based on the mathematical model definition of FJSP, performs continuous processing on discrete workshop scheduling;

[0109] S3, initializes the position of individual whales in the whale optimization algorithm using Tent chaotic mapping;

[0110] S4, calculate the fitness of all individual whales based on the fitness function;

[0111] S5, update the whale's position according to the set position update formula;

[0112] S6, using tabu search, searches for the neighborhood structure;

[0113] S7. Determine if the number of whale position updates has reached the maximum number of iterations. If not, return to step S4; if so, continue to step S8.

[0114] S8 outputs the optimal whale position;

[0115] S9, based on the optimal whale position, outputs the maximum completion time of the found machine and draws a Gantt chart. Figure 6 This demonstrates the effectiveness of the method of the present invention.

[0116] Furthermore, step S1 includes the following steps:

[0117] S11, the mathematical model of FJSP is defined as follows:

[0118] The workpieces are independent, and each machine can only process one workpiece at a time.

[0119] Different operations on the same workpiece cannot be processed simultaneously.

[0120] All workpieces and machines are available at zero time;

[0121] Once a workpiece is processed on one machine, it is immediately transferred to the next machine, ignoring the transfer time.

[0122] The setup time for operations on the machine is independent of the operation sequence and is included in the processing time;

[0123] Production must be scheduled without interruption and must be able to be dispatched normally.

[0124] S12, defines the relevant symbols, specifically as follows:

[0125] n: the number of workpieces;

[0126] m: Number of machines;

[0127] i: Workpiece number, i∈{1,2,…,n};

[0128] n i : Total number of operations for workpiece i;

[0129] j: The j-th process of the workpiece, j∈{1,2,…,n} i};

[0130] k: Machine number, k∈{1,2,…,m};

[0131] M k : indicates the k-th machine;

[0132] O i,j The j-th process of the i-th workpiece;

[0133] M i,j The set of machines that can be selected for the j-th operation of the i-th workpiece;

[0134] T i,j,k : The processing time of the j-th process of the i-th workpiece on the k-th equipment;

[0135] JS i,j : Start time of the j-th process for the i-th workpiece;

[0136] JE i,j : The end time of the j-th process for the i-th workpiece;

[0137] S k,h : The start time of the h-th operation on the k-th device;

[0138] E k,h : The end time of the h-th operation on the k-th device;

[0139] x i,j,k : Indicates whether the j-th process of workpiece i is processed on the k-th machine;

[0140] C k The completion time of machine k;

[0141] C max Maximum completion time;

[0142] The decision variables are as follows:

[0143]

[0144] The objective function is as follows:

[0145] C max =min(max(C1,C2,…,C m (2)

[0146] The constraints on the optimization objective are as follows:

[0147]

[0148] JS i,j ≤JE i,j-1 (4)

[0149] S k,h ≤E k,h-1 (5)

[0150] C k ≤C max (6)

[0151] S k,h ≥0,JS i,j ≥0 (7)

[0152] M i,j ≥1 (8)

[0153] Formula (3) indicates that each process can only be performed in M. i,j Select one machine for processing; Formula (4) indicates the processing order of different processes of the workpiece. The next process can only be processed after the previous process is completed; Formula (5) indicates that machine k can only process one workpiece at a time. The h-th process can only be processed after the previous operation is completed; Formula (6) ensures that the completion time of each machine does not exceed the maximum completion time; Formula (7) ensures that the start time of the workpiece and the start time of the machine are both greater than or equal to zero; Formula (8) indicates that the processing of the workpiece process can be assigned to at least one machine.

[0154] Specifically, this example uses the Mk08 instance from the Brandimarte examples, with n = 20 jobs, m = 10 machines, PopSize = 200, and a maximum number of iterations t. max =500, the taboo list length is 11.

[0155] Furthermore, step S2 includes the following steps:

[0156] S21, code:

[0157] Since WOA is designed for continuous optimization problems, while FJSP is a discrete combinatorial problem, it is necessary to handle the mapping between individual position vectors and FJSP sorting. This invention divides the individual position vectors into two parts: MS (Machines Selection) and OS (Operations Sequencing). The MS part is for machine selection, determining the machine assigned to each operation. The MS part is described as follows: Figure 1 As shown, M 1,1 This indicates the number of optional machines for this process, i.e., O 1,1 The process can be selected from M1, M4, and M5, where O 1,1 The value is 2, meaning M4 is selected for processing; then it is converted into an individual position vector using formula (9), where x(j) is the j-th component of the individual position vector. i,j Indicates from M i,j The selected machine serial number is in O 1,1 Here's a choice 1,1 =2, if M i,j =1, x(j) is a random number within [-n,n]. The OS part is for workpiece sorting, determining the processing order of different workpieces. For OS coding, firstly, random numbers of the same length as the total process are generated, and then a ROV value is assigned to each random number in ascending order. Finally, the ROV values ​​are mapped to the workpiece numbers. Figure 2 Three workpieces are shown, each containing two OS codes for each process. The workpiece order is mapped by the workpiece number corresponding to the ROV value, with the first "3" representing O. 3,1 The second "3" represents O. 3,2 ;

[0158]

[0159] S22, Decoding:

[0160] The MS part is decoded according to formula (10), where x(j) is the j-th component of the individual position vector, and round is the rounding symbol. If M i,j =1, then x(j) is a random number in [-n,n]; the OS part sorts the position vectors, assigns a ROV value to each position vector, and maps the ROV value to the workpiece number to obtain the process corresponding to the position vector;

[0161]

[0162] Furthermore, the Tent chaotic mapping described in step S3 is as follows:

[0163]

[0164] Where zk Represents the kth chaotic number, p∈(0,1), and the value of p is 0.5. The sequence is generated by formula (21) to replace the original pseudo-random initialization sequence.

[0165] Furthermore, step S4 includes the following steps:

[0166] S41, first decode using formula (10), then calculate the maximum completion time using workpiece sorting and machine allocation, and the smaller the maximum completion time, the higher the mathematical model of FJSP.

[0167] Furthermore, step S5 includes the following steps:

[0168] S51, the Whale Optimization Algorithm (WOA) includes three strategies: bubble net attack, prey search, and prey encirclement. The bubble net attack strategy is executed while encircling the prey, and a mathematical model is established by simulating the predation behavior of whale groups.

[0169] Surrounding the prey: When p < 0.5 and |A| < 1, use formula (11) to update the position:

[0170] X(t+1)=X * (t)-AD (11)

[0171] D = |C·X * (t)-X(t)| (12)

[0172] A = 2a·ra (13)

[0173] C = 2r (14)

[0174]

[0175] A and C are coefficient vectors, X(t) represents the current position of the individual whale. * (t) represents the current globally optimal individual position obtained so far, D represents the distance between the current individual position and the globally optimal individual, t represents the number of iterations, r is a random number and the value of r is in the range [0,1]; a is a nonlinear control parameter used to balance the global search and the local search, specifically as follows: Figure 3 As shown, the global search and local search are balanced by nonlinear parameters.

[0176] Bubble Web Attack: A spiral path is calculated by measuring the distance between the prey and the individual whale to explore possible other positional solutions between the current whale and the prey, thereby improving population diversity; where l is a random number between [-1,1] and b is a constant; when p≥0.5, formula (16) is used for updating:

[0177] X(t+1)=X *(t)+De bl cos(2πl) (16)

[0178] Searching for prey: When p < 0.5 and |A| ≥ 1, use formula (17) for position update;

[0179]

[0180] Among them, X rand (t) represents the randomly obtained location of an individual whale; sign[rand-1 / 2] contains three values: -1, 0, and 1, and the value is determined by [rand-1 / 2], where rand is a random number in the range [0,1].

[0181] s is the step size of Lévy's flight, obtained through formula (18):

[0182]

[0183] β = 1.5, u and v follow normal distributions:

[0184]

[0185] The parameters p < 0.5 and |A| ≥ 1 determine one of the strategies (bubble web attack, prey search, or prey encirclement) of the hybrid whale optimization algorithm.

[0186] Furthermore, step S6 includes the following steps:

[0187] There are no restrictions on tabu search; it is simply embedded in the WOA update process. Three neighborhood structures are designed to explore the neighborhood space of the current solution.

[0188] S61, if there is an optimal solution in the neighborhood solution set generated by the search neighborhood structure that is not in the tabu list, then add the current optimal solution to the tabu list and return the updated position vector; otherwise, select the optimal solution in the neighborhood solution set, update the tabu list, release the last solution that entered the tabu list and update the individual position vector.

[0189] The effects of the method of the present invention are as follows: Figure 5 , Figure 6 As shown:

[0190] Figure 5 The graph shows the convergence of Kacem04 in the Kacem example. It can be seen from the graph that the algorithm achieves a balance between global search and local search, and is able to find the global optimum.

[0191] Figure 6This is the Gantt chart for Mk08 in the Brandimarte example. No workpieces in the Mk08 example utilize machine 6, thus verifying the feasibility of the model and algorithm.

[0192] Based on this embodiment, the present invention also provides a flexible workshop scheduling system based on a hybrid whale optimization algorithm, comprising:

[0193] The model determination module is used to analyze the flexible job scheduling problem and determine the mathematical model of FJSP.

[0194] The continuous processing module is used to perform continuous processing on discrete workshop scheduling according to the mathematical model definition of FJSP.

[0195] The Tent chaotic mapping module is used to initialize the position of individual whales in the whale optimization algorithm using Tent chaotic mapping.

[0196] The fitness calculation module is used to calculate the fitness of all individual whales based on the fitness function;

[0197] The location update module is used to update the whale's location according to the set location update formula;

[0198] The search module is used to search for neighborhood structures through tabu search;

[0199] The judgment module is used to determine whether the number of whale position updates has reached the maximum number of iterations. If it has not reached the maximum number of iterations, it returns to the fitness calculation module. If it has reached the maximum number of iterations, it outputs the best whale position.

[0200] The output module is used to output the maximum completion time of the found machine based on the optimal whale position and to draw a Gantt chart.

[0201] This invention provides a method for solving FJSP using WOA with fewer parameters. It improves the performance of the Whale Optimization Algorithm by optimizing it, obtains a high-quality population through the Tent chaotic mapping strategy, incorporates a Lévy flight strategy in the global search phase of WOA to allow individuals to explore a larger solution space, and adjusts the global and local search by a nonlinear convergence factor to avoid excessively fast convergence of WOA. It also introduces tabu search to enhance the local search capability of the Whale Optimization Algorithm. This invention enhances the local search capability of the Whale Optimization Algorithm, thereby enabling more rational allocation of workshop scheduling and improving production efficiency.

[0202] The above description is merely a detailed explanation of preferred embodiments and principles of the present invention. For those skilled in the art, there may be changes in specific implementation methods based on the ideas provided by the present invention, and these changes should also be considered within the scope of protection of the present invention.

Claims

1. A flexible shop floor scheduling method based on a hybrid whale optimization algorithm, characterized in that, Includes the following steps: S1, Analyze the flexible workshop scheduling problem and determine the mathematical model of FJSP; S2, based on the mathematical model definition of FJSP, performs continuous processing on discrete workshop scheduling; S3, initializes the position of individual whales in the whale optimization algorithm using Tent chaotic mapping; S4, calculate the fitness of all individual whales based on the fitness function; S5, update the whale's position according to the set position update formula; S6, using tabu search, searches for the neighborhood structure; S7. Determine if the number of whale position updates has reached the maximum number of iterations. If not, return to step S4; if so, continue to step S8. S8 outputs the optimal whale position; S9, based on the optimal whale position, outputs the maximum completion time of the found machine and draws a Gantt chart; The Tent chaotic mapping described in step S3 is as follows: (21) in Represents the k-th chaotic number. ,and The value of is 0.5, and the sequence is generated by formula (21) to replace the original pseudo-random initialization sequence; Step S5 includes the following steps: S51, the Whale Optimization Algorithm (WOA) includes three strategies: bubble net attack, prey search, and prey encirclement. The bubble net attack strategy is executed while encircling the prey, and a mathematical model is established by simulating the predation behavior of whale groups. Surround the prey: When and Use formula (11) to update the position: (11) (12) (13) (14) (15) and It is a coefficient vector. The current location of the individual whale. This represents the globally optimal individual position obtained so far. The distance between the current individual's position and the globally optimal individual is represented by t, where t represents the number of iterations. It is a random number, and The value range is [0,1]; These are nonlinear control parameters used to balance global and local searches; Bubble web attack: This attack calculates the distance between prey and individual whales to create a spiral path, exploring possible alternative positions between the current whale and its prey, thus improving population diversity; for Random numbers between It is a constant; when When updating, use formula (16): (16) Searching for prey: When and The position is updated using formula (17); (17) in, The location of a randomly obtained individual whale; It contains three values: -1, 0, and 1, through Determine the value to take. for Random numbers; s is the step size of Lévy's flight, obtained through formula (18): (18) u and v follow normal distributions: (19); Step S6 includes the following steps: S61, if there is an optimal solution in the neighborhood solution set generated by the search neighborhood structure that is not in the tabu list, then add the current optimal solution to the tabu list and return the updated position vector; otherwise, select the optimal solution in the neighborhood solution set, update the tabu list, release the last solution that entered the tabu list and update the individual position vector.

2. The flexible shop floor scheduling method based on the hybrid whale optimization algorithm according to claim 1, characterized in that, Step S1 includes the following steps: S11, the mathematical model of FJSP is defined as follows: The workpieces are independent, and each machine can only process one workpiece at a time. Different operations on the same workpiece cannot be processed simultaneously. All workpieces and machines are available at zero time; Once a workpiece is processed on one machine, it is immediately transferred to the next machine, ignoring the transfer time. The setup time for operations on the machine is independent of the operation sequence and is included in the processing time; Production must be scheduled without interruption and must be able to be dispatched normally. S12, defines the relevant symbols, specifically as follows: The number of workpieces; The number of machines; : Workpiece serial number ; : workpiece Total number of operations; The first part of the workpiece One process, ; Machine serial number ; : indicates the k-th machine; : No. The first workpiece One process; : No. The first workpiece A set of machines from which operations can be selected; : No. The first workpiece The first process is in the Processing time on the machine; : No. The first workpiece Start time of each process; : No. The first workpiece End time of each process; : No. The start time of the h-th operation of the device; : No. The end time of the h-th operation of the device; : Indicates whether the j-th process of workpiece i is processed on the k-th machine; :machine Completion time; Maximum completion time; The decision variables are as follows: (1) The objective function is as follows: (2) The constraints on the optimization objective are as follows: (3) (4) (5) (6) (7) (8) Formula (3) indicates that each process can only be performed in [the specified time]. Select one machine for processing; Formula (4) indicates the processing order of different processes of the workpiece. The next process can only be processed after the previous process is completed; Formula (5) indicates that machine k can only process one workpiece at a time. The h-th process can only be processed after the previous operation is completed; Formula (6) ensures that the completion time of each machine does not exceed the maximum completion time; Formula (7) ensures that the start time of the workpiece and the start time of the machine are both greater than or equal to zero; Formula (8) indicates that the processing of the workpiece process can be assigned to at least one machine.

3. The flexible workshop scheduling method based on the hybrid whale optimization algorithm according to claim 2, characterized in that, Step S2 includes the following steps: S21, code: The individual position vector is divided into MS and OS parts; the MS part is for machine selection, which determines the machine assigned to each process and sets... This indicates the number of selectable machines for the corresponding process. Process can be selected Processing; then converting it into an individual position vector using formula (9), It is the j-th component of the individual position vector. Indicates from If the selected machine serial number is , for The random number within; the OS part is for workpiece sorting, determining the processing order of different workpieces. For OS encoding, firstly, a random number of the same length as the total process is generated, and an ROV value is assigned to each random number in ascending order. Then, the ROV value is mapped to the workpiece number. (9) S22, Decoding: The MS part is decoded according to formula (10). It is the j-th component of the individual position vector, and round is the rounding symbol. ,but for The OS part sorts the position vectors, assigns a ROV value to each position vector, and maps the ROV value to the workpiece number to obtain the process corresponding to the position vector. (10)。 4. The flexible workshop scheduling method based on the hybrid whale optimization algorithm according to claim 3, characterized in that, Step S4 includes the following steps: S41, first decode using formula (10), then calculate the maximum completion time using workpiece sorting and machine allocation, and the smaller the maximum completion time, the higher the mathematical model of FJSP.

5. A flexible shop floor scheduling system based on a hybrid whale optimization algorithm, used to implement the flexible shop floor scheduling method based on a hybrid whale optimization algorithm as described in any one of claims 1-4, characterized in that, The flexible workshop scheduling system based on the hybrid whale optimization algorithm includes: The model determination module is used to analyze the flexible job scheduling problem and determine the mathematical model of FJSP. The continuous processing module is used to perform continuous processing on discrete workshop scheduling according to the mathematical model definition of FJSP. The Tent chaotic mapping module is used to initialize the position of individual whales in the whale optimization algorithm using Tent chaotic mapping. The fitness calculation module is used to calculate the fitness of all individual whales based on the fitness function; The location update module is used to update the whale's location according to the set location update formula; The search module is used to search for neighborhood structures through tabu search; The judgment module is used to determine whether the number of whale position updates has reached the maximum number of iterations. If it has not reached the maximum number of iterations, it returns to the fitness calculation module. If it has reached the maximum number of iterations, it outputs the best whale position. The output module is used to output the maximum completion time of the found machine based on the optimal whale position and to draw a Gantt chart.

Citation Information

Patent Citations

  • Flexible manufacturing workshop optimization scheduling method and system

    CN113034047A

  • A method for solving flexible job shop scheduling based on an improved whale algorithm

    CN109886588A