Workshop scheduling method based on seed population optimization algorithm, electronic equipment and medium

By applying seed population optimization algorithm in workshop scheduling, the problem of low production scheduling efficiency in traditional workshops is solved, and more efficient resource utilization and production efficiency improvement is achieved.

CN119902498APending Publication Date: 2025-04-29BEIJING ZHICHUANGCHENG TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411964427.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

Traditional workshop production scheduling relies on manual experience, resulting in unbalanced equipment load, lots of production waiting, and large waste of resources, making it difficult to comprehensively improve production efficiency and resource utilization.

Method used

The workshop scheduling method based on the seed population optimization algorithm is adopted. By obtaining the workshop scheduling data, the seed individuals and other individuals are initialized, the initial population individuals are generated, and the solution exit conditions are decoded and optimized until the solution exit conditions are met to output the production scheduling optimal solution and Gantt chart.

Benefits of technology

It improves the accuracy and efficiency of solving workshop scheduling problems, and can obtain the best production scheduling solution at the global level, reduces equipment waiting and resource waste, and improves production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119902498A_ABST
    Figure CN119902498A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of production scheduling, and provides a workshop scheduling method based on a seed population optimization algorithm, electronic equipment and a medium, and the method comprises the steps: obtaining workshop scheduling data; initializing seed individuals based on algorithm parameters of a seed population optimization algorithm to obtain an equipment sequence and a process sequence; other individuals are initialized based on the equipment sequence and the process sequence, and initial population individuals are generated; the initial population individuals are decoded, a solution value of each production scheduling result is obtained through calculation, and the solution value is the maximum completion time of the production scheduling result; based on the solution value, if it is judged that the solution quit condition is not met, optimization and evolution operation are conducted on the initial population individuals, and whether the solution quit condition is met or not is continuously judged; and on the basis of the solution value, if the solution quit condition is satisfied, outputting the output scheduling optimal solution and the corresponding Gantt chart. And the solving precision and efficiency of the scheduling problem are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of production scheduling, and in particular relates to a workshop scheduling method, electronic equipment and a medium based on a seed population optimization algorithm. Background Art

[0002] Workshop production planning and scheduling is an important task in the workshop production link of manufacturing enterprises. Based on the production process design and workshop equipment layout, appropriate processing equipment is arranged for each processing step to obtain the production tasks or work orders of each equipment in the workshop, and then the workshop material preparation, processing operation, warehousing logistics, quality control and other production work are arranged. It is the key basis for the organization of workshop production activities, and the quality of its arrangement directly affects the workshop production efficiency and resource utilization. However, the traditional workshop production scheduling is basically based on manual experience, relying on the workshop planning and scheduling personnel to combine their own experience and the analysis of the workshop production status to formulate a production scheduling plan. Since the production scheduling problem is a typical operations optimization problem, especially for some manufacturing workshops with complex process flows, many processing equipment, and many order varieties, manual scheduling can only obtain relatively suitable solutions in a local range and local time, and it is often not the optimal solution at the global level, which often leads to problems such as unbalanced equipment load, long production waiting, and large waste of resources, making it difficult to fully exert the workshop production efficiency, restricting the optimization and improvement of enterprise efficiency and cost. Therefore, at the moment of innovation and development of information technology and digital technology, there is an urgent need to apply relevant technologies to achieve production scheduling optimization.

[0003] With the deep integration of digital technologies such as expert systems, optimization algorithms, big data, and artificial intelligence with manufacturing technologies, optimizing workshop production scheduling based on data analysis combined with intelligent algorithms has become an important exploration and application direction. By building a workshop production scheduling business model, combining production processes and equipment capabilities, and solving the algorithm model to obtain the global optimal plan scheduling arrangement, it can comprehensively improve equipment utilization, reduce waiting and idle waste, comprehensively improve workshop production efficiency, and enhance the market competitiveness of manufacturing enterprises. At the same time, the method of using algorithm models to replace manual production scheduling, the quality of its solution is greatly dependent on the algorithm model design itself. Only by continuously developing a production scheduling method with better performance can the production scheduling plan be continuously optimized. Summary of the invention

[0004] In view of this, the present invention provides a workshop scheduling method based on a seed population optimization algorithm to solve the problem of low production efficiency in the prior art.

[0005] In a first aspect, the present invention provides a workshop scheduling method based on a seed population optimization algorithm, comprising: obtaining workshop scheduling data, the workshop scheduling data including the total number of workpieces to be processed, the number of equipment available for processing, the processing procedures, the selectable equipment numbers and the corresponding processing time; initializing seed individuals based on the algorithm parameters of the seed population optimization algorithm to obtain an equipment sequence and a process sequence, the algorithm parameters including a population, the population including seed individuals and other individuals; initializing other individuals based on the equipment sequence and the process sequence to generate initial population individuals; decoding the initial population individuals to calculate a solution value for each production scheduling result, the solution value being the maximum completion time of the production scheduling result; based on the solution value, if it is determined that the solution exit condition is not met, optimizing and evolving the initial population individuals to continuously determine whether the solution exit condition is met; based on the solution value, if it is determined that the solution exit condition is met, outputting the optimal production scheduling solution and the corresponding Gantt chart.

[0006] In an optional implementation, seed individuals are initialized based on algorithm parameters of a seed population optimization algorithm to obtain a device sequence and a process sequence, specifically including: adopting a strategy of global selection load balancing combined with single selection load balancing to obtain the device sequence; adopting a heuristic rule of maximum remaining workload to obtain the process sequence.

[0007] In an optional embodiment, the maximum remaining workload heuristic rule is used to obtain the process sequence, which specifically includes: obtaining a set of processes to be scheduled, the set of processes to be scheduled includes the first processing process of all workpieces to be scheduled; obtaining the number of processes in the set of processes to be scheduled; if the number of processes is greater than 1, the maximum remaining workload rule is used to prioritize each process in the set of processes to be scheduled to obtain a sorted process set; taking out processes from the sorted process set one by one in order from front to back and arranging them on corresponding equipment; taking the next process of each workpiece and putting it into the set of processes to be scheduled, and if all processes of each workpiece are scheduled, the process sequence is obtained.

[0008] In an optional embodiment, other individuals are initialized based on the equipment sequence and the process sequence to generate initial population individuals, specifically including: initializing the process sequence arrangement using non-repetitive process sorting based on an index string to obtain a process string; initializing the equipment selection sequence using non-repetitive selection based on an index string to obtain an equipment string; and randomly combining the process string and the equipment string to generate the initial population individuals.

[0009] In an optional implementation, based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved, and it is continuously determined whether the solution exit condition is met, specifically including: based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population, the optimized population includes optimized seed individuals and optimized other individuals; the optimized seed individuals are evolved to obtain an evolved seed population; based on the evolved seed population, an evolution operation is performed to obtain an evolved population; based on the evolved population, it is continuously determined whether the solution exit condition is met.

[0010] In an optional embodiment, based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population, and the optimized population includes optimizing seed individuals and optimizing other individuals, specifically including: updating the seed population with the best seed to obtain the optimized population; or eliminating the last seed from the seed population to obtain the optimized population; or if the solution values ​​of all seed individuals are the same and have not changed after three consecutive evolutions, then performing a catastrophe on the seed population under evolutionary stagnation to obtain the optimized population.

[0011] In an optional implementation, the optimized seed individuals are subjected to evolutionary operations to obtain an evolved seed population, specifically including: taking out a seed individual in the order of merit of the solution values, and determining the critical path, critical block and critical process in the production scheduling plan of the seed individual, wherein the critical path is the longest process string starting from the first process in the production scheduling to the end of the last process, with each process directly connected to the next without any time interval; the critical process is the component process of the critical path; the critical block is a partial process string composed of critical processes that are executed on the same device and are connected in sequence; if there is an unsearched critical path, a critical path is selected sequentially , if there is an unsearched key block, then select a key block in sequence; if there is an unsearched key process, then select a key process in sequence; based on all the processable equipment of the selected key process, if there is an idle waiting time period between the completion time of the previous process and the start time of the next process of the selected key process, then insert the selected key process into the idle time period to obtain a local search individual; temporarily store the local search individual in a local search individual library; compare the solution values ​​of each individual in the local search individual library, and if a better individual is obtained, replace the original seed individual with the better individual to obtain an evolved seed population.

[0012] In an optional embodiment, an evolution operation is performed based on the evolution seed population to obtain an evolved population, specifically including: performing a selection operation to generate new individuals to randomly replace other individuals in the original population; performing a crossover operation when the crossover probability is met to generate two offspring and put them into a crossover individual set; selecting an individual from the crossover individual set in turn, and when the mutation probability is met, performing a mutation operation to generate a mutant individual; and putting the mutant individual into a new population to obtain an evolved population.

[0013] In a second aspect, the present invention also provides an electronic device, comprising: at least one processor; a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can: obtain workshop scheduling data, the workshop scheduling data including the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers and corresponding processing times; initialize seed individuals based on algorithm parameters of a seed population optimization algorithm to obtain equipment sequences and process sequences, the algorithm parameters including a population, the population including seed individuals and other individuals; initialize other individuals based on the equipment sequence and the process sequence to generate initial population individuals; decode the initial population individuals, and calculate the solution value of each production scheduling result, the solution value being the maximum completion time of the production scheduling result; based on the solution value, if it is determined that the solution exit condition is not met, optimize and evolve the initial population individuals, and continuously determine whether the solution exit condition is met; based on the solution value, if it is determined that the solution exit condition is met, output the optimal production scheduling solution and the corresponding Gantt chart.

[0014] In a third aspect, the present invention provides a storage medium storing a computer program, which, when executed by a processor, implements any of the seed population optimization algorithm-based workshop scheduling methods.

[0015] The beneficial effects of the present invention are:

[0016] The present invention is a population seed-first evolutionary algorithm for solving flexible workshop task scheduling problems. This method adds "seed" individuals to the population in advance to represent the relatively better individuals in each generation of the population during population evolution, and then conducts a refined search in the local area for the seed individuals to find better individuals to become new seeds, thereby accelerating population evolution and improving the accuracy and efficiency of solving scheduling problems. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the specific implementation of the present invention or the technical solution in the prior art, the following briefly introduces the drawings required for the specific implementation or the prior art description. Obviously, the drawings described below are some implementations of the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0018] Figure 1 It is a flow chart of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0019] Figure 2 It is a flow chart of a workshop scheduling method based on a seed population optimization algorithm according to another embodiment of the present invention;

[0020] Figure 3 An example diagram of a problem of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0021] Figure 4 An individual chromosome expression diagram of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0022] Figure 5 A diagram of a method for initializing a seed individual process string in a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0023] Figure 6 A diagram of a seed individual equipment string initialization method of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0024] Figure 7 This is a diagram of another individual process string initialization method of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0025] Figure 8 This is a diagram of another individual equipment string initialization method of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0026] Fig. 9 A seed individual variable domain local search operation diagram of a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0027] Fig.10 It is an individual chromosome process string crossover operation diagram of a shop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0028] Fig.11 It is an individual chromosome equipment string crossover operation diagram of a shop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0029] Fig.12 It is an individual chromosome process string variation operation diagram of a shop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0030] Fig.13 It is an individual chromosome equipment string variation operation diagram of a shop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0031] Fig.14 A Gantt chart of a production scheduling method for a workshop scheduling method based on a seed population optimization algorithm according to an embodiment of the present invention;

[0032] Fig.15 The figure is a block diagram of an electronic device according to an embodiment of the present invention.

[0033] Description of reference numerals:

[0034] 110. Processor; 120. Memory. DETAILED DESCRIPTION

[0035] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0036] In the description of the present invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicating the orientation or positional relationship, are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present invention. In addition, the terms "first", "second", and "third" are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance.

[0037] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0038] In addition, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0039] Combine the following Figures 1 to 15 , describing an embodiment of the present invention.

[0040] like Figure 1 As shown, according to an embodiment of the invention, a workshop scheduling method based on a seed population optimization algorithm is provided, comprising the following steps:

[0041] Step S101: Acquire workshop scheduling data, which includes the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers and corresponding processing time.

[0042] Step S102: Initialize the seed individuals based on the algorithm parameters of the seed population optimization algorithm to obtain the equipment sequence and process sequence. The algorithm parameters include the population, and the population includes the seed individuals and other individuals.

[0043] Step S103: Initialize other individuals based on the equipment sequence and process sequence to generate initial population individuals.

[0044] Step S104: Decode the individuals in the initial population and calculate the solution value of each production scheduling result, where the solution value is the maximum completion time of the production scheduling result.

[0045] Step S105: Based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved to continuously determine whether the solution exit condition is met.

[0046] Step S106: Based on the solution value, if it is determined that the solution exit condition is met, the optimal production scheduling solution and the corresponding Gantt chart are output.

[0047] In this embodiment, the co-evolution of seed individuals and other individuals is adopted to search the local solution space and the global solution space respectively, which can improve the efficiency and accuracy of solving the flexible job shop scheduling problem. The basic parameters of the algorithm include the total population size, the seed population size, the crossover probability, the mutation probability, the number of iterations, etc.

[0048] Furthermore, in step S102, the seed individuals are initialized based on the algorithm parameters of the seed population optimization algorithm to obtain the equipment sequence and process sequence, which specifically includes the following steps:

[0049] Step S1021: adopt the strategy of global selection load balancing combined with single selection load balancing to obtain a device sequence.

[0050] Step S1022: Adopt the heuristic rule of maximum remaining workload to obtain the process sequence.

[0051] In this embodiment, the seed individuals will represent the population to conduct accurate local searches and accelerate the overall evolution of the population. This requires that the initialization seed individuals must have relatively high quality and cannot use random initialization methods. At the same time, for the flexible job shop scheduling problem, it is necessary to initialize the process sequence sorting and equipment sequence selection of the individuals separately. Therefore, a hybrid heuristic method is selected to initialize the seed population and obtain a high-quality initial seed population.

[0052] The process sequence is sorted according to the processing order from the first process to the last process of the workpiece. The process sequence of different workpieces is sorted by the heuristic rule of the maximum remaining workload, that is, each time the process sequence of each workpiece is arranged, the total remaining processing time of each workpiece is calculated first, and the process sequence is determined according to the remaining processing time. The longer the remaining processing time, the more priority is given to arranging the process of the workpiece. In the framework of the general workshop scheduling method based on the genetic algorithm, the present invention adds seed individuals, and the seed individuals represent relatively high-quality individuals in the population. The seed individuals are preferentially evolved by the local search method of the variable domain, and the population individuals are synchronously evolved by selection, crossover and mutation, so that the global search based on population evolution and the local precise search based on seed evolution are realized in the scheduling solution space. On the one hand, it can speed up the search for a better solution in the local range, and on the other hand, it guarantees the search in the global range, avoids falling into the local optimal solution, can adapt to the characteristics of the flexible job shop scheduling scheduling process processing equipment can be selected in a variety of ways, improve the efficiency and quality of solving the scheduling plan of the flexible job shop scheduling problem, and then obtain a more reasonable and efficient job scheduling plan, and further improve the workshop production efficiency.

[0053] Based on step S1021, global selection load balancing is to balance the tasks assigned to each device in all job task arrangements, ensure the balance of device tasks, and obtain a relatively high-quality device task allocation plan, while single selection load balancing is to balance the tasks assigned to each device in a single job task arrangement. The device sequences generated by the two strategies account for 60% and 40% of the seed population individuals respectively.

[0054] Based on step S1022, the heuristic rule of the maximum remaining workload is adopted to obtain the process sequence. The process sequence is arranged according to the processing order from the first process to the last process of the workpiece. The process sequence of different workpieces is sorted by the heuristic rule of the maximum remaining workload, that is, each time the process sequence of each workpiece is arranged, the total remaining processing time of each workpiece is calculated first, and the process sequence is determined according to the remaining processing time. The longer the remaining processing time, the higher the priority of arranging the process of the workpiece. Specifically, the following steps are included:

[0055] Step S10221: obtaining a set of processes to be arranged, where the set of processes to be arranged includes the first processing process of all the workpieces to be arranged;

[0056] Step S10222: Obtain the number of processes in the process set to be arranged;

[0057] Step S10223: If the number of processes is greater than 1, the maximum remaining workload rule is used to prioritize the processes in the process set to be scheduled, and a sorted process set is obtained;

[0058] Step S10224: taking out the processes from the sorted process set one by one in order from the front to the back and arranging them on the corresponding equipment;

[0059] Step S10225: Take the next process of each workpiece and put it into the set of processes to be scheduled. If all the processes of each workpiece are scheduled, a process sequence is obtained.

[0060] In this embodiment, the idle time insertion method is used when scheduling processes to equipment, that is: check whether there is an idle time period on the equipment that is greater than the processing time of the process. If so, insert the process into the idle time period; otherwise, schedule it after the completion time of the last process of the equipment; this process is repeated until each process in the sorted set of processes to be scheduled is scheduled.

[0061] Step S103, initializing other individuals based on the equipment sequence and process sequence to generate initial population individuals, specifically includes the following steps:

[0062] Step S1031: Initialize and determine the process sequence arrangement by sorting non-repetitive processes based on the index string to obtain a process string;

[0063] Step S1032: Determine the device selection sequence by initializing the non-repetitive selection based on the index string to obtain the device string;

[0064] Step S1033: Randomly combine the process strings and equipment strings to generate initial population individuals.

[0065] In this embodiment, the individuals in the population other than the seed individuals are responsible for global search in the evolutionary solution process, providing alternative seeds for the seed population to prevent the seed population from falling into the local optimum. Therefore, the individuals in the population need to be diverse and dispersed as much as possible in the solution space. For the arrangement of equipment sequence and the sorting of process sequence, a hybrid rule of non-repetitive process sorting and equipment arrangement based on index strings is proposed to achieve initialization.

[0066] In step S1031, an initial process string is first randomly generated, and then an integer index string whose number is equal to the number of individuals in the remaining population and whose length and number of bits are the same as those of the process string is randomly generated, and the element positions of each index string are not repeated. The integers at each position of the index string represent the arrangement positions of the processes at the same position in the initial process string when a new process string is generated based on the index string; finally, each index string is used to rearrange the initial process string to obtain initial individuals with non-repeating process arrangements.

[0067] In step S1032, an integer index string is randomly generated, the number of which is equal to the number of individuals in the remaining population, and the length and number of bits are the same as those of the equipment string. Each integer value of the index string represents the number of the processing equipment selected for the corresponding process. Therefore, the random generation range of each integer value of the index string needs to be within the range of the processing equipment numbers that can be selected for the corresponding process, and the element positions of each index string are not repeated. Then, each index string is used to generate the corresponding equipment string.

[0068] In step S105, based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved, and it is continuously determined whether the solution exit condition is met, which specifically includes the following steps:

[0069] Step S1051: Based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population, which includes optimizing seed individuals and optimizing other individuals.

[0070] Step S1052: Perform evolution operation on the optimized seed individuals to obtain an evolved seed population.

[0071] Step S1053: Perform an evolution operation based on the evolution seed population to obtain an evolution population.

[0072] Step S1054: Based on the evolutionary population, continuously determine whether the solution exit condition is met.

[0073] In step S1051, based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population. The optimized population includes optimizing the seed individuals and optimizing other individuals, and specifically includes the following steps:

[0074] Step S10511: Update the seed population to obtain the optimal seed to obtain the optimized population.

[0075] Step S10512: Eliminate the last seeds in the seed population to obtain an optimized population.

[0076] Step S10513: If the solution values ​​of all seed individuals are the same and unchanged after three consecutive evolutions, the optimized population is obtained for the catastrophe under the stagnation of the seed population evolution.

[0077] In step S10511, the optimal seed of the seed population is updated, and the solution values ​​of the contemporary optimal seed individual and other optimal individuals in the population are compared. If the other optimal individuals in the population are better than the contemporary optimal seed individual, the contemporary optimal seed individual is replaced by the other optimal individuals in the population to become the new optimal seed individual, and the contemporary optimal seed individual is put back into the population of other individuals; otherwise, step S10512 is executed.

[0078] In step S10512, if other individuals in the contemporary population are better than the last individual in the seed population (the last 20%), the last individual in the seed population is replaced by the corresponding other individuals, and the last individual in the seed population is put back into other individual populations.

[0079] In step S10513, a catastrophe under stagnant seed population evolution is performed. First, 30% of the seed individuals are randomly removed from the seed population, and then the same number of initial seed individuals are generated through a seed individual initialization method to supplement the seed population.

[0080] In step S1052, an evolution operation is performed on the optimized seed individuals to obtain an evolved seed population, which specifically includes the following steps:

[0081] Step S10521: Take out a seed individual according to the order of solution values, and determine the critical path, critical block and critical process in the production schedule of the seed individual. The critical path is the longest process string starting from the first process to the last process in the production schedule, with each process directly connected to each other without any time interval; the critical process is the component process of the critical path; the critical block is a partial process string composed of key processes that are executed on the same equipment and are connected in sequence.

[0082] Step S10522: If there is an unsearched critical path, a critical path is selected sequentially.

[0083] Step S10523: If there is a key block that has not been searched, select a key block in sequence.

[0084] Step S10524: If there is a key process that has not been searched, select a key process in sequence.

[0085] Step S10525: Based on all processable equipment of the selected key process, if there is an idle waiting time period between the completion time of the previous process and the start time of the next process of the selected key process, the selected key process will be inserted into the idle time period to obtain a local search individual.

[0086] Step S10526: temporarily store the local search individual in the local search individual library.

[0087] Step S10527: Compare the solution values ​​of each individual in the local search individual library. If a better individual is obtained, the better individual will replace the original seed individual to obtain an evolved seed population.

[0088] Execute population evolution, including selection, crossover and mutation. The selection adopts an improved hybrid selection method; crossover ensures that no individuals with infeasible solutions appear, the process string adopts priority crossover, and the equipment string adopts uniform crossover; mutation ensures randomness, the process string adopts random insertion mutation, and the equipment string selects random replacement mutation.

[0089] In step S1053, an evolution operation is performed based on the evolution seed population to obtain an evolution population, which specifically includes the following steps:

[0090] Step S10531: Execute the selection operation to generate new individuals to randomly replace other individuals in the original population.

[0091] Among them, first, all seed populations are selected; second, other individual populations are selected by improved competitive competition, and two individuals are randomly selected from other individuals, with a 90% probability of selecting a better individual and a 10% probability of selecting a worse individual; finally, in order to prevent the population from converging to the local optimum too quickly, new individuals are added, that is, 5% of new individuals are generated to randomly replace other individuals in the original population. All selected individuals are put into the set of individuals to be crossed.

[0092] Step S10532: When the crossover probability is met, a crossover operation is performed to generate two offspring and put them into the crossover individual set.

[0093] Among them, two parent individuals are randomly selected in the set to be crossed, and then it is judged whether the crossover probability is met. If the crossover probability is met, crossover is performed to generate two offspring and put them into the crossover individual set; otherwise, they are directly put into the crossover individual set.

[0094] Step S10533: Select an individual from the crossover individual set in turn, and when the mutation probability is met, perform the mutation operation to generate a mutant individual.

[0095] Step S10534: Place the mutant individuals into a new population to obtain an evolved population.

[0096] Among them, the mutation operation is performed, and an individual is selected from the crossover individual set in turn. When the mutation probability is met, the mutation operation is performed: for the process string, arbitrarily select a process and insert it into a random position of the process string; for the equipment string, arbitrarily select a device and randomly replace it with other equipment in the optional equipment set of the corresponding process; generate the mutant individual and put it into the new population; otherwise, directly put it into the new population.

[0097] The present invention is a flexible job shop scheduling method based on a population seed priority evolutionary algorithm. Through the coordination of seed individual local search and population individual global search, the flexible job shop scheduling problem is solved. The algorithm flow is as follows: Figure 2 As shown. Figure 3 The problem example shown is used to illustrate.

[0098] Step 1: Enter the workshop scheduling data. The workshop scheduling data includes the basic data for solving the problem, including the number of workpieces to be processed (5), the number of equipment that can be processed (6), the process that each equipment can process and the corresponding processing time. For details, see Figure 3 .

[0099] Step 2: Enter the algorithm parameters of the method, including the population size of 200, the number of seeds of 20, the crossover probability of 0.8, the mutation probability of 0.1, and the number of iterations of 300.

[0100] Step 3: Initialize 20 seed individuals, the chromosome format of the individuals is as follows Figure 4 As shown. The heuristic rule of maximum remaining workload is used to generate 20 process strings, as shown Figure 5 As shown; a hybrid strategy of global selection load balancing + single selection load balancing is used to generate 20 device strings, such as Figure 6 As shown; then the 20 equipment strings and process strings are randomly combined to obtain 20 seed individuals.

[0101] Step 4: Initialize 180 other individuals in the population. Use the non-repeating process sorting based on the index string to generate 180 process strings, such as Figure 7 As shown; 180 device strings are generated by initializing with non-repeating selection based on index strings, such as Figure 8 As shown; then 180 equipment strings and process strings are randomly combined to obtain 180 other individuals.

[0102] Step 5: Decode the production scheduling results of the 20 seed individuals and 180 other individuals, and calculate the solution value of the production scheduling result of each individual.

[0103] Step 6: Determine whether the number of calculations is equal to the set number of iterations, 300. If so, proceed to step 10; otherwise, proceed to step 7.

[0104] Step 7: Update, eliminate and catastrophize the seed population of this generation. The steps are as follows:

[0105] Step 71: Compare the solution values ​​of the best individual among other individuals and the best individual among seeds. If the current best other individual is better than the best seed individual, replace the current best other individual with the current best seed individual; otherwise, execute step 72.

[0106] Step 72: Compare the other individuals with the solution values ​​of the seed individuals ranked in the last 20% in turn, that is, sort the last 4 seed individuals. If any other individuals are better than the seed individuals, replace the other individuals with the seed individuals; otherwise, continue to compare the next seed individual until all the comparisons of the last 20% of the seed individuals are completed, and execute step 73.

[0107] Step 73: First, compare the solution values ​​of all seed individuals of this generation to see if they are all the same local optimal solution value. If so, compare the local optimal solution value of this generation with the local optimal solution value of the previous generation to determine whether they are the same. If the local optimal solution value of this generation is the same as the local optimal solution value of the previous generation, add 1 to the disaster counter. When the disaster counter is 3, execute step 74, otherwise execute step 8.

[0108] Step 74: First, 30% of the individuals, that is, 6 seed individuals, are randomly selected from the seed population for deletion, and then 6 new seed individuals are generated using the seed initialization method to supplement the population.

[0109] Step 8: Perform variable domain local search on the seed individuals of this generation. The steps are as follows:

[0110] Step 81: Select a seed individual in sequence. The Gantt chart of the current seed individual production plan is as follows: Fig. 9 As shown in a, a critical path in the production schedule is randomly selected: O21->O22->O12->O33, a key block of the path is randomly selected: O22, O12 and O33, and the key process O12 in the key block is randomly selected.

[0111] Step 82: Search and find that on the processable equipment M2 of the key process O12, there is an equipment idle time between process O31 and process O22 after the completion time of process O11, the previous process of O12, and before the start time of process O13, which meets the moving condition; then move O12 to after the completion time of process O31, and obtain a better seed individual. The Gantt chart of its production scheduling plan is as follows Fig. 9 As shown in b; the individual is temporarily stored in the local search individual library.

[0112] Step 83: Repeat steps 81 and 82 until all key paths, key blocks and key processes of the seed individual are searched, and then execute step 84.

[0113] Step 84: Compare the solution values ​​of the seed individual with those of the individuals in the local search individual library, and find that the individual obtained when the O12 process is moved is better than the original benchmark individual, and use this individual as the new benchmark individual.

[0114] Step 85: Loop through steps 81 to 84 until all seed individuals have been searched, and then proceed to step 9.

[0115] Step 9: Perform selection, crossover and mutation operations on the current generation population. The steps are as follows:

[0116] Step 91: All seed individuals of this generation are placed into the set of individuals to be crossed.

[0117] Step 92: Randomly select 2 individuals from other individuals and generate a random number between 0 and 1. When the random number is less than 0.9, select the better individual and put it into the set of individuals to be crossed, otherwise select the worse individual and put it into the set of individuals to be crossed.

[0118] Step 93: Generate 20% of the population's new individuals, that is, 10 new individuals are added to the population as immigrants, randomly replacing the same number of other individuals.

[0119] Step 94: Randomly select two parent individuals in the crossover set and generate a random number between 0 and 1. If the random number is less than the crossover probability, use Fig.10 and Fig.11 The crossover method shown crosses the process strings and equipment strings of the two parent generations respectively to generate two child individuals; otherwise, the parent individuals are directly used as child individuals and put into the crossover individual set until 200 child individuals are generated, and then sub-step 5 is executed;

[0120] Step 95: Select a descendant individual from the crossover individual set in turn and generate a random number between 0 and 1. If the random number is less than the mutation probability, use Fig.12 and Fig.13 The mutation method shown performs random process insertion mutation and random equipment replacement mutation on the process string and the equipment string respectively, and the generated new individuals are placed in the next generation population, otherwise the original individuals are directly placed in the next generation population.

[0121] Step 10: Follow step 5.

[0122] Step 11: Output the optimal seed individual as the production scheduling plan and draw a scheduling Gantt chart, as shown in Fig.14 shown.

[0123] like Fig.15 As shown, the present invention also provides an electronic device, comprising: at least one processor 110; a memory 120 connected to the at least one processor 110 in communication; wherein the memory 120 stores instructions executable by the at least one processor 110, and the instructions are executed by the at least one processor 110, so that the at least one processor 110 can perform the following steps:

[0124] Step S101: Acquire workshop scheduling data, which includes the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers and corresponding processing time.

[0125] Step S102: Initialize the seed individuals based on the algorithm parameters of the seed population optimization algorithm to obtain the equipment sequence and process sequence. The algorithm parameters include the population, and the population includes the seed individuals and other individuals.

[0126] Step S103: Initialize other individuals based on the equipment sequence and process sequence to generate initial population individuals.

[0127] Step S104: Decode the individuals in the initial population and calculate the solution value of each production scheduling result, where the solution value is the maximum completion time of the production scheduling result.

[0128] Step S105: Based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved to continuously determine whether the solution exit condition is met.

[0129] Step S106: Based on the solution value, if it is determined that the solution exit condition is met, the optimal production scheduling solution and the corresponding Gantt chart are output.

[0130] Electronic device is intended to refer to various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers.

[0131] Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples and are not intended to limit the implementation of the invention described and / or claimed herein.

[0132] The present invention also provides a storage medium storing a computer program. When the computer program is executed by a processor, the steps of implementing any one of the seed population optimization algorithm-based workshop scheduling methods are as follows:

[0133] Step S101: Acquire workshop scheduling data, which includes the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers and corresponding processing time.

[0134] Step S102: Initialize the seed individuals based on the algorithm parameters of the seed population optimization algorithm to obtain the equipment sequence and process sequence. The algorithm parameters include the population, and the population includes the seed individuals and other individuals.

[0135] Step S103: Initialize other individuals based on the equipment sequence and process sequence to generate initial population individuals.

[0136] Step S104: Decode the individuals in the initial population and calculate the solution value of each production scheduling result, where the solution value is the maximum completion time of the production scheduling result.

[0137] Step S105: Based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved to continuously determine whether the solution exit condition is met.

[0138] Step S106: Based on the solution value, if it is determined that the solution exit condition is met, the optimal production scheduling solution and the corresponding Gantt chart are output.

[0139] Computer programs 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, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0140] In the context of the present invention, a computer readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or apparatus. A computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing.

[0141] Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of machine readable storage media may include electrical connections based on one or more wires, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0142] Obviously, the above embodiments are merely examples for clear description and are not limitations of the implementation methods.

[0143] For ordinary technicians in the relevant field, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived from this are still within the protection scope of the invention.

Claims

1. A workshop scheduling method based on seed population optimization algorithm, characterized in that: include: Acquire workshop scheduling data, wherein the workshop scheduling data includes the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers, and corresponding processing times; Initializing seed individuals based on algorithm parameters of a seed population optimization algorithm to obtain a device sequence and a process sequence, wherein the algorithm parameters include a population, and the population includes seed individuals and other individuals; Initialize other individuals based on the equipment sequence and the process sequence to generate initial population individuals; Decoding the individuals of the initial population, and calculating a solution value of each production scheduling result, wherein the solution value is the maximum completion time of the production scheduling result; Based on the solution value, if it is determined that the solution exit condition is not met, optimizing and evolving the individuals of the initial population, and continuously determining whether the solution exit condition is met; Based on the solution value, if it is determined that the solution exit condition is met, the optimal scheduling solution and the corresponding Gantt chart are output.

2. The workshop scheduling method based on seed population optimization algorithm according to claim 1 is characterized in that: The algorithm parameters of the seed population optimization algorithm are used to initialize the seed individuals, and the equipment sequence and process sequence are obtained, including: A strategy of combining global selection load balancing with single selection load balancing is adopted to obtain the device sequence; The process sequence is obtained by adopting the heuristic rule of maximizing the remaining workload.

3. The workshop scheduling method based on seed population optimization algorithm according to claim 2 is characterized in that: The process sequence is obtained by adopting the heuristic rule of maximum remaining workload, which specifically includes: Acquire a set of processes to be arranged, wherein the set of processes to be arranged includes the first processing process of all the workpieces to be arranged; Get the number of processes in the process set to be scheduled; If the number of processes is greater than 1, the maximum remaining workload rule is used to prioritize the processes in the set of processes to be scheduled, to obtain a set of processes after sorting; Taking out processes from the sorted process set one by one in order from front to back and arranging them on corresponding equipment; The next process of each workpiece is taken and put into the set of processes to be scheduled. If all the processes of each workpiece are scheduled, the process sequence is obtained.

4. The workshop scheduling method based on seed population optimization algorithm according to claim 1 is characterized in that: Initializing other individuals based on the equipment sequence and the process sequence to generate initial population individuals specifically includes: The process sequence is determined by initializing the non-repeating process sorting based on the index string to obtain the process string; The device selection sequence is determined by using non-repeated selection initialization based on the index string to obtain the device string; The initial population individuals are generated by randomly combining the process string and the equipment string.

5. The workshop scheduling method based on the seed population optimization algorithm according to any one of claims 1 to 4, characterized in that: Based on the solution value, if it is determined that the solution exit condition is not met, the initial population individuals are optimized and evolved to continuously determine whether the solution exit condition is met, specifically including: Based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population, wherein the optimized population includes optimized seed individuals and optimized other individuals; Performing evolution operation on the optimized seed individuals to obtain an evolution seed population; Performing an evolution operation based on the evolution seed population to obtain an evolution population; Based on the evolving population, it is continuously determined whether a solution exit condition is satisfied.

6. The method for shop scheduling based on seed population optimization algorithm according to claim 5, characterized in that: Based on the solution value, if it is determined that the solution exit condition is not met, the seed population is optimized to obtain an optimized population, wherein the optimized population includes optimizing seed individuals and optimizing other individuals, specifically including: Performing optimal seed updating on the seed population to obtain the optimized population; or Eliminating the last seeds of the seed population to obtain the optimized population; or If the solution values ​​of all seed individuals are the same and unchanged after three consecutive evolutions, the optimized population is obtained by the catastrophe under the stagnation of the seed population evolution.

7. The workshop scheduling method based on seed population optimization algorithm according to claim 5 is characterized in that: Performing an evolution operation on the optimized seed individuals to obtain an evolution seed population specifically includes: According to the order of merit of the solution values, a seed individual is taken out to determine the critical path, critical block and critical process in the production scheduling plan of the seed individual. The critical path is the longest process string starting from the first process to the last process in the production scheduling, with each process directly connected to the next without any time interval; the critical process is the component process of the critical path; the critical block is a partial process string composed of key processes that are executed on the same equipment and connected to each other in sequence; If there are unsearched critical paths, a critical path is selected sequentially. If there are unsearched key blocks, a key block is selected sequentially; If there are unsearched key processes, a key process is selected sequentially; Based on all the processable equipment of the selected key process, if there is an idle waiting time period between the completion time of the previous process and the start time of the next process of the selected key process, the selected key process is inserted into the idle time period to obtain a local search individual; Temporarily storing the local search individual in a local search individual library; The solution values ​​of the individuals in the local search individual library are compared. If a better individual is obtained, the better individual is used to replace the original seed individual to obtain an evolved seed population.

8. The workshop scheduling method based on seed population optimization algorithm according to claim 5 is characterized in that: Performing an evolution operation based on the evolution seed population to obtain an evolution population specifically includes: Perform selection operations to generate new individuals to randomly replace other individuals in the original population; When the crossover probability is met, a crossover operation is performed to generate two offspring and put them into the crossover individual set; Selecting an individual from the crossover individual set in turn, and when the mutation probability is satisfied, performing a mutation operation to generate a mutant individual; The mutant individuals are placed into a new population to obtain an evolved population.

9. An electronic device, characterized in that: include: at least one processor (110); a memory (120) communicatively coupled to the at least one processor (110); The memory (120) stores instructions executable by the at least one processor (110), and the instructions are executed by the at least one processor (110) to enable the at least one processor (110) to: Acquire workshop scheduling data, wherein the workshop scheduling data includes the total number of workpieces to be processed, the number of equipment available for processing, processing procedures, selectable equipment numbers, and corresponding processing times; Initializing seed individuals based on algorithm parameters of a seed population optimization algorithm to obtain a device sequence and a process sequence, wherein the algorithm parameters include a population, and the population includes seed individuals and other individuals; Initialize other individuals based on the equipment sequence and the process sequence to generate initial population individuals; Decoding the individuals of the initial population, and calculating a solution value of each production scheduling result, wherein the solution value is the maximum completion time of the production scheduling result; Based on the solution value, if it is determined that the solution exit condition is not met, optimizing and evolving the individuals of the initial population, and continuously determining whether the solution exit condition is met; Based on the solution value, if it is determined that the solution exit condition is met, the optimal scheduling solution and the corresponding Gantt chart are output.

10. A computer storage medium, characterized in that: A computer program is stored, and when the computer program is executed by a processor, the workshop scheduling method based on the seed population optimization algorithm as described in any one of claims 1 to 8 is implemented.