Fuzzy flexible job shop scheduling method, system and device and storage medium
By dynamically adjusting the weight vector and dual external archive strategy in the genetic algorithm, the problem that the scheduling algorithm is difficult to respond quickly when inserting urgent orders is solved, efficient and stable production scheduling is achieved, and the economic benefits of the enterprise are improved.
Patent Information
- Application Number
- CN202510264260.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-06-10
AI Technical Summary
The existing scheduling algorithms are difficult to respond quickly and re-plan production lines when processing urgent orders, resulting in low production efficiency and inability to meet real-time adjustment requirements.
By dynamically adjusting the weight vectors in the genetic algorithm and combining the dual external archive strategy, the quality of population diversity and solution is optimized to achieve rapid response and efficient scheduling.
It improves the response speed and processing efficiency of production scheduling, optimizes resource allocation, enhances the stability and robustness of scheduling, and improves the economic benefits of the enterprise.
Smart Images

Figure CN120122584A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of production management and scheduling, and in particular to a method, system, device and storage medium for fuzzy flexible job shop scheduling. Background Art
[0002] Shop scheduling plays a crucial role in manufacturing and production systems. Its fundamental purpose is to reasonably allocate limited resources to maximize production efficiency. The flexible job-shop scheduling problem (FJSP), as an extension of the traditional job-shop scheduling problem (JSP), allows operations to select different machines from their available machine sets for processing, improving processing flexibility and better conforming to the actual production situation of enterprises. The fuzzy flexible job-shop scheduling problem (FFJSP) further inherits the characteristics of FJSP and adds flexible processing time and due date characteristics, making the scheduling problem more complex and closer to the actual production environment.
[0003] However, the production scheduling of a fuzzy flexible job shop is a challenging task, especially when it comes to the scenario of rush order insertion. Traditional scheduling methods usually focus on maximizing efficiency and minimizing costs, but often neglect the quick response to unforeseen events during the production process. In the scenario of rush order insertion, a method that can quickly re-plan the production line and adjust production priorities is needed to handle emergency orders.
[0004] Multi-objective optimization methods in related technologies, such as genetic algorithms and particle swarm optimization, although can handle multi-objective problems to a certain extent, their adaptability and flexibility in a dynamic environment are still limited. Especially in the case of frequent demand changes and constantly changing production conditions, these methods often cannot effectively balance the diversity of solutions and the optimization speed, resulting in low production scheduling efficiency and unable to meet the real-time adjustment requirements of the production line. In addition, existing scheduling algorithms often need to recalculate the entire scheduling plan when dealing with rush orders, which not only takes a long time but is also costly in terms of computing resources. These limitations make these algorithms difficult to be directly applied to production environments that require high dynamic and real-time response. Summary of the Invention
[0005] To solve the above technical problems, the present invention provides a method, system, device and storage medium for fuzzy flexible job shop scheduling to optimize the fuzzy flexible job shop scheduling problem under rush order insertion and improve production efficiency and response flexibility.
[0006] In a first aspect, the present invention provides a method for fuzzy flexible job shop scheduling, which is applied to scenarios where scheduling is required when disturbances occur during the job shop process. The method includes:
[0007] When job shop scheduling is required, initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment. The parameters include the maximum number of iterations.
[0008] Generate an initial population according to the parameters, initialize the weight vector, and create an external archive. Among them, the external archive is used to store the optimal solution or the preferred solution in the algorithm, and the preferred solution is the solution that can increase the diversity of the population.
[0009] Select operating individuals from the population and the external archive.
[0010] Iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, and output the non-dominated solution set. After each iterative optimization, update the external archive and the weight vector based on the generated non-dominated solutions.
[0011] Optionally, updating the weight vector includes:
[0012] If the current iteration generation is less than or equal to half of the maximum number of iterations, adjust the weight vector using a dispersion strategy so that the weight vector is dispersed to a wide area of the solution space.
[0013] If the current iteration generation is greater than half of the maximum number of iterations, adjust the weight vector using a focusing strategy so that the weight vector gradually converges to the center of the solution space.
[0014] Optionally, the dispersion strategy is expressed as:
[0015]
[0016] The focusing strategy is expressed as:
[0017]
[0018] Where λ i is the weight vector of the i-th iteration; i is the current iteration generation; H is the number of intervals of the coordinate axes in each dimension of the multi-objective problem.
[0019] Optionally, the external archive includes a first external archive and a second external archive; updating the external archive includes:
[0020] In each iteration, save the best-performing solution in the algorithm as the optimal solution in the first external archive; and
[0021] The solutions in the algorithm that can increase the population diversity are saved as the preferred solutions in the second external archive.
[0022] Optionally, the selecting of the operating individuals from the population and the external archive includes:
[0023] Randomly select an operating individual from the population, and, with equal probability, select an operating individual from the external archive.
[0024] Optionally, after generating the initial population according to the parameters, initializing the weight vector, and creating the external archive, the method further includes:
[0025] Initialize the size of the neighborhood according to the weight vector;
[0026] Set a reference point, and in each iteration, determine whether to update the position of the reference point according to the current solution situation, where the reference points are evenly distributed in the objective space.
[0027] Optionally, the reference points are generated in the following manner:
[0028]
[0029] where H is the number of intervals of the reference points in the objective dimension, and r i represents the reference point in a certain dimension in the objective space.
[0030] In a second aspect, the present invention provides a system for fuzzy flexible job shop scheduling, which is applied to the scenario where scheduling is required when disturbances occur during the workshop operation process. The system includes:
[0031] An initialization module, configured to initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment when job shop scheduling is required. The parameters include the maximum number of iterations; generate an initial population according to the parameters, initialize the weight vector, and create an external archive, where the external archive is used to store the optimal solutions or preferred solutions in the algorithm, and the preferred solutions are the solutions that can increase the population diversity;
[0032] An individual selection module, configured to select operating individuals from the population and the external archive;
[0033] An iteration module, configured to iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, output the non-dominated solution set, and update the external archive and the weight vector based on the generated non-dominated solutions after each iterative optimization.
[0034] In a third aspect, the present invention provides an electronic device, which includes:
[0035] At least one processor; and
[0036] A memory communicatively connected to the at least one processor; wherein
[0037] The memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor is enabled to execute the method for fuzzy flexible job shop scheduling described above.
[0038] In a fourth aspect, the present invention provides a computer-readable storage medium storing computer instructions for causing a processor to implement the method for fuzzy flexible job shop scheduling described above when executed.
[0039] This embodiment can achieve the following beneficial effects:
[0040] Improve response speed and processing efficiency: Through the dynamic weight vector adjustment strategy, the algorithm can quickly adapt to changes in production requirements and reduce production delays caused by urgent orders. This is particularly important for handling sudden orders, especially in a highly variable production environment.
[0041] Optimize resource allocation: The algorithm makes resource allocation more reasonable by precisely adjusting the weight vector, which can reduce resource waste while ensuring production efficiency, especially in the case of resource constraints.
[0042] Enhance the stability and robustness of scheduling: The dual external archive strategy ensures that the scheduling solutions are not only superior in quality but also have good performance in terms of diversity. This strategy helps the algorithm avoid falling into local optima and maintain stability in the face of various disturbances during the production process.
[0043] Improve economic benefits: Efficient scheduling can significantly reduce production costs and processing time, increase the throughput of the overall production line, and thus directly improve the economic benefits of the enterprise.
[0044] Easy to implement and expand: The algorithm design takes into account practicality and universality, and can be easily applied to production systems of different scales and types without large-scale equipment transformation or high-cost technical investment.
[0045] Through the above advantages, the present invention can not only significantly improve the efficiency and quality of production scheduling, but also provide an important competitive advantage for enterprises in a highly competitive market environment. The combined effect of these advantages gives the present invention broad prospects and potential commercial value in industrial applications.
[0046] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0048] Figure 1 is a flowchart of a method for fuzzy flexible job shop scheduling provided in Embodiment 1 of the present invention;
[0049] Figure 2 is a flowchart of a method for fuzzy flexible job shop scheduling provided in Embodiment 2 of the present invention;
[0050] Figure 3 is a schematic structural diagram of a system for fuzzy flexible job shop scheduling provided in Embodiment 3 of the present invention;
[0051] Figure 4 is a schematic structural diagram of an electronic device provided in the embodiments of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0052] In order to enable those skilled in the art to better understand the solutions of the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention, rather than all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present invention.
[0053] Embodiment 1
[0054] Refer to Figure 1 is a flowchart of a method for fuzzy flexible job shop scheduling provided in Embodiment 1 of the present invention. This embodiment is applicable to scenarios where scheduling is required during the workshop operation process in the presence of disturbances. For example, it is applied to the scenario of urgent order insertion in a fuzzy flexible job shop. By solving the multi-objective optimization problem, it aims to improve production efficiency and response flexibility, and is suitable for wide application in the manufacturing industry and related fields, such as production scheduling in multiple industries including electronics, automotive, and chemical industries.
[0055] This embodiment can be executed by a fuzzy flexible job shop scheduling system, such as Figure 1As shown in the figure, this embodiment may include the following steps:
[0056] Step 101, when job shop scheduling is required, initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment, and the parameters include the maximum number of iterations.
[0057] In one implementation, the user can issue a job shop scheduling requirement through a scheduling instruction. When the system detects this scheduling instruction, it is determined that job shop scheduling is required.
[0058] The scheduling instruction can be initiated in any way, and this embodiment does not limit it. For example, the initiation methods of the scheduling instruction can include one or a combination of the following: the user can input the scheduling instruction through the command line, the system provides a visual interface, and the user inputs the scheduling instruction through this visual interface, triggering the scheduling instruction by means of a hardware button, and so on.
[0059] When the system determines that job shop scheduling is required, it can obtain the real-time resource status of the current production environment and initialize the parameters of the genetic algorithm based on this real-time resource status. The real-time resource status can include, for example, the number of available machines, task priorities, etc.
[0060] The Genetic Algorithm (GA) originated from the computer simulation study of biological systems and is a stochastic global search optimization method. It simulates phenomena such as replication, crossover, and mutation that occur in natural selection and genetics. Starting from any initial population, through random selection, crossover, and mutation operations, a group of individuals more suitable for the environment is generated, enabling the population to evolve to better and better regions in the search space. In this way, generation after generation, continuous evolution occurs, and finally converges to a group of individuals most adapted to the environment, thereby obtaining a high-quality solution to the problem. The parameters of the genetic algorithm can include, for example, the population size, the maximum number of iterations, the crossover probability, the mutation probability, the chromosome length, etc. In implementation, the initial setting of the parameters of the genetic algorithm can be determined according to the encoded information input by the user.
[0061] In the initial stage of the algorithm startup, that is, the initialization stage when the algorithm is used to solve the optimization problem, parameter initialization is performed, that is, key operating parameters are set, including the population size, the maximum number of iterations, the crossover probability, and the mutation probability, etc.
[0062] Step 102, generate an initial population according to the parameters, and initialize the weight vector and create an external archive.
[0063] In this embodiment, an initial population is randomly generated according to the set population size, and a weight vector and an external archive are also set. That is, during initialization, in addition to initializing the population to generate an initial population, the weight vector can also be initialized and an external archive can be created.
[0064] In one implementation, a batch of initial solutions can be generated by simulating different production task sequences to obtain an initial population. Among them, the population includes multiple operation individuals (which can also be called individuals), and the individuals can be encoded as string structure data, and the individuals are equivalent to the solutions of the population.
[0065] The weight vector is used to represent the priorities of various objectives (such as time, cost, resource utilization rate). In the initialization stage, the weight vector is mainly used to determine the fitness evaluation criteria of individuals. The initial weight vector can be determined according to the coding information input by the user.
[0066] The external archive (External Archive) refers to the external archive system, which is used to store the optimal solutions or preferred solutions in the algorithm. Among them, the preferred solutions are the solutions that can increase the population diversity. Through the external archive system, the diversity and high quality of the solutions can be maintained, thereby improving the flexibility and efficiency of scheduling. Specifically, the external archive plays an important role in the algorithm. It is a collection of high-quality solutions discovered during the search process, and these solutions are called non-dominated solutions or Pareto optimal solutions. The main role of the external archive is to help the algorithm maintain the diversity of solutions during the search process and ensure that the algorithm can continuously explore new solution spaces. In one implementation, when creating the external archive in the algorithm initialization stage, some randomly generated solutions can be put into the external archive. In each iteration, the algorithm will generate new solutions and compare them with the solutions in the external archive. If the new solution is non-dominated, it will be added to the external archive, and some solutions in the archive may be replaced to keep the size of the archive within a certain range.
[0067] Step 103, select operation individuals from the population and the external archive.
[0068] This step is the selection (Selection) operation of the genetic algorithm. The purpose of selection is to select individuals from the current population as parents to breed the next generation. Preferably, individuals with higher fitness have a higher probability of being selected.
[0069] In one implementation, each time an iteration is performed, an operating individual can be selected from the population according to a preset selection strategy, and, an operating individual can be selected from the external archive. Among them, the preset selection strategy can include, for example, the roulette wheel selection method (of course, there are many other selection methods), and the probability of each individual being selected is proportional to the value of its fitness function. The roulette wheel selection method is random, and better individuals may be lost during the selection process, so an elite mechanism can be used to directly select the optimal individual of the previous generation. In other embodiments, other equal-probability strategies can also be used for individual selection.
[0070] Step 104, iteratively optimize the population based on the operating individual until the maximum number of iterations is reached, and output the non-dominated solution set. After each iterative optimization, update the external archive and the weight vector based on the generated non-dominated solutions.
[0071] In this embodiment, a selection strategy is adopted to select in the external archive and the population for crossover and mutation operations to generate a new generation of solutions.
[0072] In one implementation, the process of iterative optimization includes crossover and mutation. Crossover means that two different individuals (parents) to be crossed exchange some of their genes according to the crossover probability (cross_rate) in a set crossover manner, and its purpose is to obtain a new generation of individuals, and the new individual combination retains the characteristics of the parental individuals. The set crossover manner can include, for example, the single-point crossover method or other crossover methods.
[0073] Mutation means that the operating individual mutates the chromosome according to the mutation probability (mutate_rate), and its purpose is to ensure the diversity of solutions. Each individual in the current population changes the value of one or more genes with a certain probability (compared with crossover, the probability of mutation is relatively low). The mutation manner can include, for example, the single-point mutation method or other mutation methods.
[0074] Through the above selection, crossover and mutation operations, an iterative optimization is completed to generate a new population. The new population repeats the above process of iterative optimization, the number of algorithm iterations increases, and if the set maximum number of iterations is reached, the algorithm terminates.
[0075] After each iterative optimization, non-dominated solutions are generated. A non-dominated solution refers to a solution in a multi-objective optimization problem that is not worse than other solutions in all objectives and is better than other solutions in at least one objective. For example, suppose there are two solutions S1 and S2. If for all objective functions F(X), F(S1) ≤ F(S2), and there is at least one objective function fi such that fi(S1) < fi(S2), then it can be considered that solution S1 dominates solution S2. If solution S1 is not dominated by other solutions, then S1 is called a non-dominated solution (or Pareto solution). When the iteration stops, the non-dominated solution set can be obtained and output based on the population and the external archive, and these solutions represent the optimal solutions in the multi-objective optimization problem.
[0076] In this embodiment, each non-dominated solution in the non-dominated solution set can be a production plan. An enterprise can select the optimal production plan from the non-dominated solution set and quickly adjust the production line according to the optimal production plan.
[0077] In this step, non-dominated sorting can also be used to update the population and the external archive. The non-dominated sorting mechanism is applied to update the current population and the external archive to ensure that the solutions in the archive are always the optimal solutions found so far. Specifically, in the genetic algorithm, the quality of an individual (solution) is evaluated by the fitness function value. The larger the fitness function value, the higher the quality of the solution. The solutions in the external archive can be sorted in ascending order according to the fitness function value. If the solution generated after iterative optimization has a fitness better than the solution with the smallest fitness in the external archive, then the solution generated after iterative optimization is used to replace the solution with the smallest fitness in the external archive, thereby completing the update of the external archive.
[0078] In one implementation, there can be at least one external archive, and the number of solutions stored in each external archive can be set according to the actual situation. For example, one or two solutions are stored in each external archive.
[0079] This embodiment can also dynamically adjust the weight vector according to the current generation number of evolution to adapt to the search requirements in different stages. In the initial stage of iteration, the weight vector may be more dispersed to increase exploration; when approaching the end stage, the weight vector focuses to accelerate convergence.
[0080] This embodiment addresses the scheduling problem of a fuzzy flexible job shop under the insertion of urgent orders. By dynamically adjusting the weight vector to cope with the real-time changes in production requirements, it can quickly adapt to the changes in production requirements, reduce production delays caused by urgent orders, and improve production efficiency. At the same time, by maintaining the continuity of high-quality solutions and the ability to explore new solutions through an external archive system, it helps the algorithm avoid falling into local optima and maintain stability in the face of various disturbances during the production process, thereby enhancing its adaptability to different production scenarios. In this way, it can quickly adapt to the changes in urgent order requirements, effectively reduce the time and resource consumption of scheduling recalculation, reduce production costs and processing time, increase the throughput of the overall production line, and directly improve the economic benefits of the enterprise. It is applicable to a variety of fuzzy flexible job environments, such as covering multiple industries including electronics, automotive, and chemical industries.
[0081] Embodiment 2
[0082] Reference Figure 2 FIG. is a flowchart of a method for scheduling a fuzzy flexible job shop provided by Embodiment 2 of the present invention. On the basis of Embodiment 1, this embodiment provides a more specific description of the scheduling process of the job shop, especially for the weight vector and the external archive. As Figure 2 shown, this embodiment may include the following steps:
[0083] Step 201, when job shop scheduling is required, initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment. The parameters include the maximum number of iterations.
[0084] Step 202, generate an initial population according to the parameters, initialize the weight vector, and create an external archive.
[0085] Among them, the external archive is used to store the optimal solutions or preferred solutions in the algorithm. Further, the preferred solution is a solution that can increase the diversity of the population.
[0086] In one embodiment, the external archive includes a first external archive and a second external archive; the first external archive is also called the non-dominated sorting archive and is used to store the solutions with the best performance in the algorithm, that is, those solutions that are close to or on the Pareto front. This strategy ensures that the algorithm can continuously track and utilize the currently known optimal solutions, thereby accelerating the convergence of the algorithm to the global optimal solution.
[0087] The second external archive, also known as the different-latitude archive, is used to store the optimal solutions in the algorithm, that is, the solutions that can increase the population diversity in the algorithm. Specifically, the different-latitude archive and the front set archive complement each other, mainly saving those solutions that, although not optimal in terms of the objective function performance, can increase the population diversity. These solutions usually have characteristics significantly different from other solutions in the current population or are in different solution space regions. By covering solutions with diverse characteristics, the different-latitude archive helps the algorithm explore the potential solution space more comprehensively, thus preventing the algorithm from falling into local optimal solutions and improving the overall search efficiency.
[0088] Step 203, initialize the size of the neighborhood according to the weight vector and set the reference point.
[0089] Among them, the size of the neighborhood defines the interaction range between individuals in the search space and directly affects the search efficiency and convergence speed of the algorithm. A smaller neighborhood size can reduce the computational amount and speed up the search, but may cause the algorithm to converge prematurely and miss the global optimal solution; a larger neighborhood size can increase the search range and help find better solutions, but may increase the computational complexity and time cost; an appropriate neighborhood size can balance the search efficiency and convergence speed while ensuring the quality of the solution. In this embodiment, the weight vector is dynamically adjusted according to the iterative process of the algorithm, and the size of the neighborhood is dynamically adjusted according to the dynamically adjusted weight vector. For example, a larger neighborhood is used at the initial stage of the algorithm to explore more regions, and the neighborhood is gradually reduced as the iteration progresses to speed up convergence; or, the neighborhood is increased when the population diversity is low, reduced when the fitness change is small, increased when the quality of the solution deteriorates, and reduced when the convergence speed is too slow. In one implementation, the corresponding relationship between the weight vector and the size of the domain can also be set, and when the weight vector is obtained, the size of the domain can be adjusted according to this corresponding relationship.
[0090] This embodiment also introduces the concept of a reference point, which is used to guide the evolution of the population. The reference points are evenly distributed in the objective space, which can help maintain the diversity of solutions and ensure the uniformity of the final solutions on all objectives. In implementation, the evenly distributed reference points can be generated according to the number of objective functions.
[0091] In one embodiment, the reference points can be generated in the following way:
[0092]
[0093] Among them, H is the number of intervals of the reference points in the objective dimension, r i represents the reference point in a certain dimension in the objective space, and i represents the dimension of the reference point.
[0094] The reference points generated in this way evenly cover different regions of the objective space, are used to guide the search direction of the population, and help improve the diversity and quality of the solutions.
[0095] Step 204: Randomly select an operating individual from the population, and, with equal probability, select an operating individual from the external archive.
[0096] In this step, two operating individuals are selected each time. One operating individual is randomly selected from the population, and the other operating individual is selected with equal probability from the first external archive or the second external archive.
[0097] Step 205: Iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, and output the non-dominated solution set. Among them, after each iterative optimization, update the external archive and the weight vector based on the generated non-dominated solutions, and determine whether to update the position of the reference point according to the current solution situation.
[0098] In one embodiment, the process of updating the external archive during each iterative optimization includes:
[0099] In each iteration, save the best-performing solution in the algorithm as the optimal solution in the first external archive; and save the solution that can increase the population diversity in the algorithm as the preferred solution in the second external archive.
[0100] In implementation, for the optimal solution generated after each iterative optimization, calculate the fitness of the optimal solution. If there is a solution in the first external archive with a fitness lower than that of the optimal solution, then replace the solution in the first external archive with the optimal solution. When saving the preferred solution, also compare based on the fitness ratio between the preferred solution and the solutions in the second external archive, and update the second external archive according to the fitness.
[0101] In one embodiment, updating the weight vector may include the following steps:
[0102] If the current iteration generation is less than or equal to half of the maximum number of iterations, adopt a dispersion strategy to adjust the weight vector so that the weight vector disperses to a wide area of the solution space; if the current iteration generation is greater than half of the maximum number of iterations, adopt a focusing strategy to adjust the weight vector so that the weight vector gradually converges to the center of the solution space.
[0103] Specifically, in the early stage of the algorithm, the weight vector is set to disperse to a wide area of the solution space, aiming to increase the search coverage and improve the population diversity, which helps the algorithm capture a wider potential solution area in the initial stage. As the algorithm progresses, the weight vector gradually converges to the center to promote the rapid convergence of the algorithm. This adjustment ensures that the algorithm can refine the search more concentratedly when approaching the optimal solution, improving the accuracy and efficiency of the solution.
[0104] In a further embodiment, the dispersion strategy can be expressed as:
[0105]
[0106] The focusing strategy can be expressed as:
[0107]
[0108] where λ i is the weight vector for the i-th iteration; i is the current iteration generation; H is the number of intervals of the coordinate axes in each dimension of the multi-objective problem, that is, the number of intervals of the reference points in the objective dimension.
[0109] In one embodiment, when updating the reference points, the fitness of the newly generated solutions can be evaluated first, and the reference points can be updated according to the distribution of the solutions in the objective space. When the new solutions can better cover the objective space or improve the performance of the objective function, the position of the reference points is updated to be closer to the current solution distribution. This update mechanism helps to optimize the diversity and quality of the solutions, and at the same time provides more effective guidance for the subsequent evolutionary direction.
[0110] This embodiment dynamically balances exploration and exploitation, and maintains the continuity of high-quality solutions and the ability to explore new solutions through a dual external archive system. Through the comprehensive application of the above strategies, this embodiment can effectively solve the disturbance problems such as urgent order insertion that occur in the fuzzy flexible job shop, achieve fast response and efficient scheduling, and at the same time ensure the quality and diversity of the scheduling solutions.
[0111] To enable those skilled in the art to better understand this embodiment, the following provides an exemplary illustration of this embodiment through an example of a specific application scenario:
[0112] The production line of an electronic manufacturing enterprise usually processes multiple orders, including standard batch orders and a small number of sudden urgent orders. During the production process on a certain day, an important customer suddenly proposed an urgent order that needs to be completed and shipped within a short time. Since the existing production line resources are tense and the task arrangement is full, it is difficult for traditional scheduling methods to quickly adjust the production plan, resulting in a decline in production efficiency and a decrease in customer satisfaction.
[0113] The process of this embodiment is applied as follows:
[0114] Parameter initialization: According to the resource status of the current production line (such as the number of available machines, task priorities, etc.), set the algorithm parameters, including the population size, maximum number of iterations, etc.
[0115] Generate the initial population: Generate a batch of initial solutions by simulating different production task sequences, and create a dual external archive (the first external archive and the second external archive) and initialize the weight vector, which is used to set the priorities of each objective (such as time, cost, resource utilization rate).
[0116] Neighborhood and reference point setting: The reference points are evenly distributed in the target space to cover different optimization objectives, and the neighborhood size is set according to the weight vector.
[0117] Iterative optimization: The algorithm continuously optimizes the arrangement of production tasks through operations such as selection, crossover, and mutation. One operation individual comes from the population, and the other is randomly selected from the two external archives with equal probability.
[0118] Reference point update: In each iteration, the position of the reference point is dynamically adjusted according to the distribution and performance of the current solution to guide the solution to converge in a better direction.
[0119] Result output: After the algorithm ends, the generated non-dominated solution set contains multiple production plans. Enterprises can select the optimal plan to quickly adjust the production line, give priority to processing urgent orders, and minimize the impact on other orders.
[0120] Effect: Through this algorithm, enterprises can efficiently complete the task of inserting urgent orders without affecting the overall production efficiency, while optimizing resource allocation and production costs, and improving the flexibility of the production line and customer satisfaction.
[0121] Generally speaking, this embodiment can achieve the following effects:
[0122] 1. Improve the scheduling response speed: Quickly adapt to the changes in urgent order requirements, and effectively reduce the time and resource consumption of rescheduling recalculation.
[0123] 2. Optimize the scheduling efficiency: Use the dynamic weight adjustment strategy to intelligently optimize the weight configuration and improve the production efficiency.
[0124] 3. Maintain the diversity of solutions: Maintain high-quality solutions through the dual external archive system and enhance the adaptability to different production scenarios.
[0125] 4. Enhance the universality of the algorithm: Adapt to a variety of fuzzy flexible job-shop environments and cover multi-industry applications from electronics, automotive to chemical industries.
[0126] 5. Reduce resource consumption: Optimize the algorithm structure, reduce the dependence on computing resources, and is suitable for use in resource-constrained environments.
[0127] Corresponding to the method of fuzzy flexible job-shop scheduling in the present invention, the present invention also provides a system for fuzzy flexible job-shop scheduling. The system is applied to the scenario where scheduling is required when disturbances occur during the workshop operation process. Figure 3 It is a structural schematic diagram of a system for fuzzy flexible job-shop scheduling. As Figure 3 shown, the system for fuzzy flexible job-shop scheduling includes:
[0128] Initialization module 301 is used to initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment when job shop scheduling is required. The parameters include the maximum number of iterations. An initial population is generated according to the parameters, and the weight vector is initialized and an external archive is created, where the external archive is used to store the optimal solution or the preferred solution in the algorithm, and the preferred solution is the solution that can increase the diversity of the population.
[0129] Individual selection module 302 is used to select operating individuals in the population and the external archive.
[0130] Iteration module 303 is used to iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, and output the non-dominated solution set. After each iterative optimization, the external archive and the weight vector are updated based on the generated non-dominated solutions.
[0131] In one embodiment, the iteration module 303 further includes a weight update module for updating the weight vector. Specifically, the weight update module is used to:
[0132] If the current iteration generation is less than or equal to half of the maximum number of iterations, a diversification strategy is adopted to adjust the weight vector so that the weight vector is dispersed to a wide area of the solution space.
[0133] If the current iteration generation is greater than half of the maximum number of iterations, a focusing strategy is adopted to adjust the weight vector so that the weight vector gradually converges to the center of the solution space.
[0134] In one embodiment, the diversification strategy is expressed as:
[0135]
[0136] The focusing strategy is expressed as:
[0137]
[0138] where λ i is the weight vector of the i-th iteration; i is the current iteration generation; H is the number of intervals of the coordinate axes in each dimension of the multi-objective problem.
[0139] In one embodiment, the external archive includes a first external archive and a second external archive; the iteration module 303 further includes an external archive update module. Specifically, the external archive update module is used to:
[0140] In each iteration, the best-performing solution in the algorithm is saved as the optimal solution in the first external archive; and
[0141] The solutions in the algorithm that can increase the population diversity are saved as the preferred solutions in the second external archive.
[0142] In one embodiment, the individual selection module 302 is specifically configured to:
[0143] Randomly select an operating individual from the population, and, with equal probability, select an operating individual from the external archive.
[0144] In one embodiment, the initialization module 301 is further configured to:
[0145] After generating the initial population according to the parameters, initializing the weight vector, and creating the external archive, initialize the size of the neighborhood according to the weight vector;
[0146] Set a reference point, and in each iteration, determine whether to update the position of the reference point according to the current solution, where the reference points are evenly distributed in the objective space.
[0147] In one embodiment, the reference point is generated in the following manner:
[0148]
[0149] where H is the number of intervals of the reference points in the objective dimension, and r i represents the reference point in a certain dimension in the objective space.
[0150] A system for fuzzy flexible job shop scheduling provided by an embodiment of the present invention can execute a method for fuzzy flexible job shop scheduling provided by any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the method.
[0151] Figure 4 FIG. shows a schematic structural diagram of an electronic device 40 that can be used to implement an embodiment of the present invention. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0152] As Figure 4As shown, the electronic device 40 includes at least one processor 41 and a memory communicatively connected to the at least one processor 41, such as a read-only memory (ROM) 42, a random access memory (RAM) 43, etc. The memory stores a computer program executable by the at least one processor. The processor 41 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 42 or the computer program loaded from the storage unit 48 into the random access memory (RAM) 43. In the RAM 43, various programs and data required for the operation of the electronic device 40 can also be stored. The processor 41, the ROM 42, and the RAM 43 are connected to each other via a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.
[0153] Multiple components in the electronic device 40 are connected to the I / O interface 45, including: an input unit 46, such as a keyboard, a mouse, etc.; an output unit 47, such as various types of displays, speakers, etc.; a storage unit 48, such as a disk, an optical disc, etc.; and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the electronic device 40 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0154] The processor 41 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 41 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 41 executes the various methods and processes described above, such as the method of fuzzy flexible job shop scheduling.
[0155] In some embodiments, the method of fuzzy flexible job shop scheduling can be implemented as a computer program tangibly embodied in a computer-readable storage medium, such as the storage unit 48. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 40 via the ROM 42 and / or the communication unit 49. When the computer program is loaded into the RAM 43 and executed by the processor 41, one or more steps of the method of fuzzy flexible job shop scheduling described above can be executed. Alternatively, in other embodiments, the processor 41 can be configured to execute the method of fuzzy flexible job shop scheduling by any other appropriate means (e.g., by means of firmware).
[0156] The various embodiments of the systems and techniques described above in this specification can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be a special-purpose or general-purpose programmable processor that receives data and instructions from, and transmits data and instructions to, a storage system, at least one input device, and at least one output device.
[0157] A computer program for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0158] In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium may be a machine-readable signal medium. A more specific example of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0159] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0160] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.
[0161] A computing system can include a client and a server. The client and the server are generally far from each other and typically interact through a communication network. The relationship between the client and the server is created by computer programs running on respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system and solves the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.
[0162] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is made herein.
[0163] The above specific embodiments do not constitute a limitation on the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A method for fuzzy flexible job shop scheduling, characterized by: The method is applied to a scenario where scheduling is required when a disturbance occurs during a workshop operation, and the method includes: When job shop scheduling is required, the parameters of the genetic algorithm are initialized according to the real-time resource status of the current production environment, the parameters including the maximum number of iterations; Generate an initial population according to the parameters, initialize a weight vector, and create an external archive, wherein the external archive is used to store the optimal solution or the preferred solution in the algorithm, and the preferred solution is a solution that can increase the diversity of the population; Selecting operational individuals in the population and external archives; Iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, output a non-dominated solution set, and after each iterative optimization, update the external archive and the weight vector based on the generated non-dominated solution.
2. The method according to claim 1, characterized in that: Updating the weight vector comprises: If the current iteration number is less than or equal to half of the maximum number of iterations, a dispersion strategy is adopted to adjust the weight vector so that the weight vector is dispersed to a wide area of the solution space; If the current iteration number is greater than half of the maximum iteration number, a focusing strategy is used to adjust the weight vector so that the weight vector gradually gathers toward the center of the solution space.
3. The method according to claim 2, characterized in that: The dispersion strategy is expressed as: The focusing strategy is expressed as: Among them, λ i is the weight vector of the i-th iteration; i is the current iteration number; H is the number of intervals of the coordinate axis of each dimension in the multi-objective problem.
4. The method according to any one of claims 1 to 3, characterized in that: The external archive includes a first external archive and a second external archive; and updating the external archive includes: In each iteration, the best performing solution in the algorithm is saved as the optimal solution in the first external archive; and The solution in the algorithm that can increase the diversity of the population is saved as the preferred solution in the second external archive.
5. The method according to any one of claims 1 to 3, characterized in that: The selecting of operating individuals in the population and external archives includes: An operation individual is randomly selected from the population, and an operation individual is selected with equal probability from the external archive.
6. The method according to claim 1, characterized in that: After generating the initial population according to the parameters, initializing the weight vector and creating the external archive, the method further includes: Initialize the size of the neighborhood according to the weight vector; A reference point is set, and in each iteration, it is determined whether to update the position of the reference point according to the current solution, wherein the reference point is evenly distributed in the target space.
7. The method according to claim 6, characterized in that: The reference point is generated in the following way: Where H is the number of intervals of reference points in the target dimension, r i Represents a reference point in a certain dimension in the target space.
8. A fuzzy flexible job shop scheduling system, characterized by: The system is applied to the scenario where scheduling is required when disturbance occurs during workshop operation, and the system includes: An initialization module is used to initialize the parameters of the genetic algorithm according to the real-time resource status of the current production environment when job shop scheduling is required, and the parameters include the maximum number of iterations; generate an initial population according to the parameters, initialize the weight vector, and create an external archive, wherein the external archive is used to store the optimal solution or the preferred solution in the algorithm, and the preferred solution is a solution that can increase the diversity of the population; Individual selection module, used to select operating individuals in the population and external archives; An iterative module is used to iteratively optimize the population based on the operating individuals until the maximum number of iterations is reached, output a non-dominated solution set, and after each iterative optimization, update the external archive and the weight vector based on the generated non-dominated solution.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for fuzzy flexible job shop scheduling according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method for fuzzy flexible job shop scheduling according to any one of claims 1 to 7 when executed.
Citation Information
Patent Citations
Multi-target flexible job shop scheduling method, electronic equipment and medium
CN117075545A
Production task scheduling method, system and device for flexible assembly job shop
US20240177251A1
Cited By
Customized production and boxing collaborative scheduling method and system, storage medium and product
CN120509689A
Flexible job shop scheduling optimization method, system, equipment and medium
CN120598332A
Coal machine complete equipment production plan dynamic tuning method under demand disturbance condition
CN121832478A