A process scheduling method, device and equipment

The scheduling scheme formed by random arrangement of multiple processes is obtained through the computing device, the priority probability value of individuals to be classified is calculated, and individual selection is carried out, which solves the problem of early convergence in factory operation task scheduling, and achieves a continuous obtaining a better process scheduling scheme and improves work efficiency.

CN114819718BActive Publication Date: 2025-04-29ZHENGZHOU UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210551717.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-18
Publication Date
2025-04-29
Estimated Expiration
2042-05-18

AI Technical Summary

Technical Problem

The existing technology has problems of early convergence in factory operation task scheduling, which leads to the inability to continuously search for better solutions in the optimization process. Especially when orders arrive irregularly, it is difficult to estimate the duration of the optimization scheduling plan, which affects work efficiency.

Method used

By obtaining the scheduling scheme formed by the random arrangement of multiple processes, the population to be screened is determined, and the priority probability value of the individual to be classified is calculated based on the expected distance between the current individual and the individual in the selection result set, the individual selection process is performed to obtain the target selection result set, and multiple processes are scheduled.

Benefits of technology

It realizes a continuous and better process scheduling plan, avoids the problem of early convergence, and improves work efficiency. Especially when orders arrive irregularly, the scheduling plan can be continuously optimized over time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114819718B_ABST
    Figure CN114819718B_ABST
Patent Text Reader

Abstract

The present invention provides a method, device and equipment for scheduling a process, the method comprising: obtaining at least one process scheduling scheme formed by randomly arranging multiple processes, and determining a population to be screened according to the process scheduling scheme; obtaining a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified; traversing all individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individual in the selection result set; performing individual selection processing on all individuals to be classified in the set to be classified according to the priority probability value, and obtaining a target selection result set; and scheduling the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set. The scheme of the present invention can continuously obtain a better process scheduling scheme, thereby improving work efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer information processing, and in particular to a process scheduling method, device and equipment. Background Art

[0002] The scheduling of tasks in a factory determines the factory's operating efficiency. The scheduling problem of tasks in a factory is often solved by genetic algorithms and swarm intelligence algorithms, but these solutions based on evolutionary algorithms have the problem of premature convergence, which will cause the optimization process to run for a certain period of time and no further search for a better solution. In scenarios such as collaborative manufacturing, since orders may arrive at any time, the factory cannot estimate the duration of the optimization scheduling solution well, making the existing solution that solves the premature convergence problem by strictly running the expected value of the duration of the operation not very useful, and unable to reasonably schedule related tasks in the workflow, resulting in the inability to optimize the process scheduling, affecting work efficiency. Summary of the invention

[0003] The technical problem to be solved by the present invention is how to provide a process scheduling method, device and equipment, which can continuously obtain a better process scheduling solution and improve work efficiency.

[0004] In order to solve the above technical problems, the technical solution of the present invention is as follows:

[0005] A process scheduling method, comprising:

[0006] Obtaining at least one process scheduling scheme formed by randomly arranging multiple processes, and determining a population to be screened according to the process scheduling scheme;

[0007] Obtaining a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified;

[0008] Traversing all the individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selection result set;

[0009] According to the priority probability value, individual selection processing is performed on all the individuals to be classified in the set to be classified to obtain a target selection result set;

[0010] The multiple processes are scheduled according to the process scheduling schemes corresponding to the individuals in the target selection result set.

[0011] Optionally, determining the population to be screened according to the process scheduling plan includes:

[0012] Taking one of the process scheduling schemes as an individual, initializing the target population;

[0013] The individuals in the target population are subjected to crossover and mutation processing to obtain a population to be screened containing existing individuals of the previous generation and new individuals of the offspring generation.

[0014] Optionally, all the individuals to be classified in the set to be classified are traversed, and the priority probability value of each individual to be classified is calculated according to the expected distance between the current individual and the individuals in the selection result set, including:

[0015] According to the to-be-classified set and the selection result set, determining the distance value between each to-be-classified individual in the to-be-classified set and each selected individual in the selection result set; the selection result set includes target individuals that meet preset conditions;

[0016] According to the distance value, determining the minimum distance value between each individual to be classified and all selected individuals;

[0017] The priority probability value corresponding to the individual to be classified is calculated through a preset function, the minimum distance value and the expected distance.

[0018] Optionally, the expected distance between the current individual and the individuals in the selection result set is obtained by the following process:

[0019] Through the first function Determine the expected distance; where f1(t; T) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified;

[0020] Or, through the second function Determine the desired distance;

[0021] Where f2(t) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified, T c For transfer time.

[0022] Optionally, calculating the priority probability value corresponding to the individual to be classified by using a preset function, the minimum distance value and the expected distance includes:

[0023] By formula Calculate the priority probability value corresponding to the individual to be classified;

[0024] Among them, S(x; d, a) is the priority probability value corresponding to the individual to be classified, x is the minimum distance value, d is the expected distance, and a is the control parameter.

[0025] Optionally, according to the priority probability value, individual selection processing is performed on all the individuals to be classified in the set to be classified to obtain a target selection result set, including:

[0026] Compare the priority probability value of each individual to be classified with a preset random number to obtain a comparison result;

[0027] According to the comparison result, the individuals to be classified corresponding to the priority probability value are added to the first set or the second set to obtain updated first classification set and second classification set;

[0028] The target individuals in the first classification set or the second classification set that meet the preset conditions are added to the selection result set to obtain a target selection result set.

[0029] Optionally, adding the target individuals in the first classification set or the second classification set that meet the preset conditions to the selection result set to obtain the target selection result set includes:

[0030] If the first classification set is an empty set, selecting the individual to be classified with the largest minimum distance value in the second classification set as the target individual and adding it to the selection result set to obtain a target selection result set;

[0031] If the first classification set is not an empty set, the individual to be classified with the highest fitness in the first classification set is selected as the target individual and added to the selection result set to obtain a target selection result set.

[0032] The present invention also provides a process scheduling device, comprising:

[0033] An acquisition module is used to acquire at least one process scheduling scheme formed by randomly arranging multiple processes, and determine a population to be screened according to the process scheduling scheme; obtain a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified;

[0034] A processing module is used to traverse all individuals to be classified in the set to be classified, calculate the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selected set; perform individual selection processing on all individuals to be classified in the set to be classified according to the priority probability value to obtain a target selection result set; and schedule the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set.

[0035] The present invention also provides a computing device, comprising: a processor and a memory storing a computer program, wherein when the computer program is run by the processor, the method as described above is executed.

[0036] The present invention also provides a computer-readable storage medium storing instructions, which, when executed on a computer, enable the computer to execute the above method.

[0037] The above solution of the present invention includes at least the following beneficial effects:

[0038] By obtaining at least one process scheduling scheme formed by randomly arranging multiple processes, and determining a population to be screened according to the process scheduling scheme; obtaining a set to be classified of individuals in the population to be screened, wherein the set to be classified includes at least one individual to be classified; traversing all individuals to be classified in the set to be classified, and calculating a priority probability value of each individual to be classified according to an expected distance between a current individual and an individual in a selection result set; performing individual selection processing on all individuals to be classified in the set to be classified according to the priority probability value, and obtaining a target selection result set; scheduling the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set; thereby continuously obtaining a better process scheduling scheme under preset conditions, thereby improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 is a flowchart of a method for scheduling a process according to an embodiment of the present invention;

[0040] Figure 2 is a schematic diagram of the relationship between the elapsed time t and the expected distance in a specific embodiment provided by the present invention;

[0041] Figure 3 It is a schematic diagram of the relationship between the minimum distance value and the priority probability value in a specific embodiment provided by the present invention;

[0042] Figure 4 It is a schematic flow chart of a genetic algorithm in a scheduling process of a factory workshop in a specific embodiment provided by the present invention;

[0043] Figure 5 It is a schematic diagram of the process of individual selection in the genetic algorithm in a specific embodiment provided by the present invention;

[0044] Figure 6 It is a schematic diagram of the process of classifying individuals in individual selection in a specific embodiment provided by the present invention;

[0045] Figure 7 It is a schematic diagram of the effect of the scheduling method of the process in the specific embodiment provided by the present invention;

[0046] Figure 8 It is a module block diagram of a scheduling device for a process according to an embodiment of the present invention. DETAILED DESCRIPTION

[0047] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0048] like Figure 1 As shown, an embodiment of the present invention provides a method for scheduling a process, including:

[0049] Step 11, obtaining at least one process scheduling scheme formed by randomly arranging multiple processes, and determining a population to be screened according to the process scheduling scheme;

[0050] Step 12, obtaining a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified;

[0051] Step 13, traversing all the individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selection result set;

[0052] Step 14, performing individual selection processing on all the individuals to be classified in the set to be classified according to the priority probability value, to obtain a target selection result set;

[0053] Step 15: Schedule the multiple processes according to the process scheduling solutions corresponding to the individuals in the target selection result set.

[0054] In this embodiment, multiple processes are arranged to form a process scheduling plan, a population to be screened is determined according to the process scheduling plan, a set to be classified is obtained according to the population to be screened, the set to be classified includes at least one individual to be classified, an expected distance of the process is obtained, and based on the expected distance and the set to be classified, a priority probability value of each individual to be classified in the set to be classified is determined, a target selection result set is determined, and the process is scheduled according to the scheduling plan corresponding to the individuals in the target selection result set, wherein the expected distance can be obtained when the running time of the process scheduling process is predictable, or when the running time cannot be predicted, thereby avoiding the problem of premature convergence caused by the unpredictable running time (i.e., it is difficult to continuously obtain a better process scheduling plan when the running time cannot be predicted), and realizing that the scheduling plan of the process can be continuously optimized over time without the need for strict estimation of the running time, thereby continuously obtaining a better process scheduling plan and improving work efficiency.

[0055] In an optional embodiment of the present invention, in step 11, determining the population to be screened according to the process scheduling plan includes:

[0056] Step 111, taking one of the process scheduling schemes as an individual, and initializing a target population;

[0057] Step 112, performing crossover and mutation processing on the individuals in the target population to obtain a population to be screened that contains existing individuals of the previous generation and new individuals of the next generation.

[0058] In this embodiment, the process scheduling scheme is used as an individual to initialize the target population, and the initialization process is preferably a random initialization process; and the individuals in the target population are sequentially subjected to crossover and mutation processes to obtain a population to be screened, which contains existing individuals of the previous generation and new individuals of the offspring generation;

[0059] The initialization process here includes:

[0060] Create a random target population and use the makespan (the total execution time of the process scheduling plan) commonly used in scheduling problems as the individual evaluation function (fitness function). The lower the total execution time of the process scheduling plan, the higher the evaluation (i.e., the higher the fitness);

[0061] It should be noted that the crossover and mutation processing will be executed at least once in sequence in each iteration of the process scheduling until the preset stop condition is reached;

[0062] Before performing initialization processing to obtain the target population, it also includes encoding processing for at least one process scheduling plan. The encoding processing here is preferably permutation encoding. The specific process of this encoding scheme is to assign a unique number to all processes. The content of the encoded chromosome is a permutation of these numbers (process scheduling plan). The order of the processes in the permutation determines the order in which the processes are actually submitted to the machine for processing.

[0063] The crossover process is to find the longest common substring of the chromosome's parents through the crossover operator, and retain the longest common substring in the corresponding position in the two offspring, and place the other parent's arrangement in the remaining positions in order; the mutation process is processed by the taboo search algorithm of the N7 neighborhood structure.

[0064] In an optional embodiment of the present invention, step 13 may include:

[0065] Step 131, determining the distance value between each to-be-classified individual in the to-be-classified set and each selected individual in the selected result set according to the to-be-classified set and the selected result set; the selected result set includes target individuals that meet preset conditions;

[0066] Step 132, determining the minimum distance value between each individual to be classified and all selected individuals according to the distance value;

[0067] Step 133, calculating the priority probability value corresponding to the individual to be classified by using a preset function, the minimum distance value and the expected distance.

[0068] In this embodiment, the set to be classified is obtained according to the population to be screened, and the set to be classified includes at least one individual to be classified. The selection result set will be initialized when it is first run. The initialization process here is to initialize the selection result set to an empty set. The selection result set may also include at least one selected individual.

[0069] Determine the distance value between each individual to be classified and each selected individual, and determine the minimum distance value between each individual to be classified and the selected individual based on the distance value. The minimum distance value here refers to the minimum distance value between each individual to be classified and all selected individuals. The priority probability value of each individual to be classified can be calculated by the preset function, the expected distance and the minimum distance value, and the priority probability value is used to classify the individuals to be classified.

[0070] It should be noted that when the selection result set is an empty set, since there is no selected individual in the selection result set, the minimum distance value between each individual to be classified and the selected individual is determined as the expected distance d.

[0071] In a specific embodiment, the to-be-classified set includes to-be-classified individuals 1 and 2, the selected set includes selected individuals a, selected individuals b, and selected individuals c, and the distance between the to-be-classified individual 1 and the selected individual a is calculated to be d 1a , the distance between the individual to be classified 1 and the selected individual b is d 1b , the distance between the individual to be classified 1 and the selected individual c is d 1c , and d 1c >d 1b >d 1a Therefore, it can be determined that the minimum distance between the individual to be classified 1 and the selected individual is d 1a ;

[0072] The distance between the individual 2 to be classified and the selected individual a is d 2a , the distance between the individual 2 to be classified and the selected individual b is d 2b , the distance between the individual to be classified 2 and the selected individual c is d 2c , and d 2b >d 2a >d 2c Therefore, it can be determined that the minimum distance between the individual to be classified 2 and the selected individual is d 2c.

[0073] In an optional embodiment of the present invention, the expected distance between the current individual and the individuals in the selection result set is obtained by the following process:

[0074] Through the first function Determine the expected distance; where f1(t; T) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average of the minimum distance values ​​of all individuals to be classified in the set to be classified; or,

[0075] Through the second function Determine the desired distance;

[0076] Where f2(t) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified, T c For transfer time.

[0077] In this embodiment, for the process scheduling process where the running time can be estimated, the expected distance can be obtained by the linear function to calculate;

[0078] For process scheduling where the running time is unpredictable, the expected distance can be expressed by the function to determine;

[0079] Among them, T c is the diversion time of the linear function after receiving the preparation end signal including the expected end time point (expected running time) T. The diversion time T c is the time when the transfer signal (prepare end signal) is sent or received. c The transfer signal is received at the time and the expected running time T (i.e., the termination time) is determined. The function f2(t) can reduce the expected distance over time during the process scheduling process and c After receiving the preparation end signal containing the expected end time point T, the linear function is used. At this time, the expected distance will be affected by the time from time point T to the actual end. By selecting the target individual through the expected distance obtained by running the process with unpredictable running time, the real-time scheduling problem of the process can be solved and a better process scheduling plan can be obtained.

[0080] like Figure 2 As shown, in a specific embodiment, the running time of the process cannot be estimated. c =3.5, when the expected running time T=4, the second function f2(t) changes with the elapsed time t as shown in Figure 2The solid line in FIG. 2 shows that the time t=T has passed. The point 21 shows that the time t=T has passed. c =3.5, and point 22 shows the value of f2(t) when the time t=T=4. It can be seen that at t <T c When f2(t) changes nonlinearly, at t≥T c When , f2(t) changes linearly.

[0081] In an optional embodiment of the present invention, step 131 includes:

[0082] Step 1311, by formula Calculate the distance between each individual to be classified in the set to be classified and each selected individual in the selection result set; where x is the vector of the individual to be classified, y is the vector of the selected individual, n is the vector length, i is the component subscript, pos(x i ,y) is the position index of the value of the i-th component of the vector x of the individual to be classified in the vector y of the selected individual, x i is the vector of the individual to be classified of the i-th component, and y is the position of the selected individual.

[0083] In this embodiment, x is the vector of the individuals to be classified whose distance needs to be calculated, y is the vector of the selected individuals whose distance needs to be calculated, and the length of the vectors is n. The function pos(x i ,y) is to calculate the position index of the value of the i-th component (element) of the vector x of the individual to be classified in the vector y of the selected individual, and the distance calculation formula is used For each component of the vector x of the individual to be classified, find its position in y and calculate x i The distance between |i-pos(x i ,y)| and then sum them up to get the distance between the individual to be classified and the selected individual.

[0084] The distance function With symmetry, the above scheme can ensure that the components (elements) corresponding to the vector x of the individual to be classified are the same as the components (elements) corresponding to the vector y of the selected individual, and only the arrangement of the components (elements) is different. Therefore, the above scheme can use the distance calculation formula for distance calculation.

[0085] In an optional embodiment of the present invention, step 133 includes:

[0086] Step 1331, by formula Calculate the priority probability value corresponding to the individual to be classified;

[0087] Among them, S(x; d, a) is the priority probability value corresponding to the individual to be classified, x is the minimum distance value, d is the expected distance, and a is the control parameter.

[0088] In this embodiment, for each individual to be classified in the set to be classified, a deformed Sigmoid function is used: Determine the priority probability value. It should be noted that a here is a control parameter, which refers to a parameter used to control the gradient of the probability curve near the threshold. The control parameter a is a fixed parameter in the process of scheduling the process.

[0089] In an optional embodiment of the present invention, step 14 includes:

[0090] Step 141, comparing the priority probability value of each individual to be classified with a preset random number to obtain a comparison result;

[0091] Step 142, according to the comparison result, adding the to-be-classified individuals corresponding to the priority probability values ​​to the first set or the second set, to obtain an updated first classification set and a second classification set;

[0092] Step 143: Add the target individuals in the first classification set or the second classification set that meet the preset conditions to the selection result set to obtain a target selection result set.

[0093] In this embodiment, the first set and the second set are initialized sets when they are first run, that is, the first set and the second set are both empty sets when they are first run; a preset random number is determined in [0,1], and the priority probability value is compared with the preset random number to obtain a comparison result;

[0094] When the comparison result is that the priority probability value is lower than the preset random number, the individual to be classified is added to the first set; otherwise, the individual to be classified is added to the second set. When all the individuals to be classified in the set to be classified are added to the first set or the second set, an updated first classification set and second classification set are obtained; the target individuals in the first classification set or the second classification set that meet the preset conditions are added to the selection result set to obtain a target selection result set.

[0095] It should be noted here that the preset random number is a random number that is uniformly distributed on [0,1] and is taken in an arbitrary manner, and a certain limit of randomness (or pseudo-randomness) is guaranteed to randomly classify each individual into the first set or the second set in order to apply different forms of selection strategies.

[0096] like Figure 3 As shown in a specific embodiment, when the desired distance d = 1, the control parameter a = 1.125, the minimum distance value x i =1, through the formula It can be seen that the priority probability value S is 0.5. Figure 3 The solid line in the middle shows the curve of the priority probability value S when d = 1 and the control parameter a = 1.125, and the dotted line shows the minimum distance value x i =1, the intersection of the dotted line and the solid line is the minimum distance value x i = 1, the priority probability value S is taken, and it can be seen that the minimum distance value x i =1, the priority probability value S is 0.5.

[0097] In an optional embodiment of the present invention, step 143 includes:

[0098] Step 1431, if the first classification set is an empty set, then select the to-be-classified individual with the largest minimum distance value in the second classification set as the target individual and add it to the selection result set to obtain a target selection result set;

[0099] Step 1432: If the first classification set is not an empty set, the individual to be classified with the highest fitness in the first classification set is selected as a target individual and added to the selection result set to obtain a target selection result set.

[0100] In this embodiment, when all the individuals to be classified in the set to be classified are classified into the first set or the second set, at this time, it is judged whether there are individuals to be classified in the updated first classification set. If the first classification set is an empty set, that is, no individuals to be classified are added to the first set, then the individual to be classified with the largest minimum distance value in the second classification set is selected as the target individual and added to the selection result set; if the first classification set is not an empty set, that is, there are individuals to be classified added to the first set, then the individual to be classified with the highest fitness in the first classification set is selected as the target individual and added to the selection result set to obtain the target selection result set;

[0101] Here, the fitness of the individuals to be classified in the first classification set is inversely proportional to the total execution time (manufacturing span makespan) of the process scheduling plan, that is, when the total execution time (manufacturing span makespan) is lower, the fitness of the corresponding individuals to be classified is higher.

[0102] Furthermore, the classification and selection process of the set to be classified is repeated until the number of target individuals in the target selection result set reaches the expected value n, then the target selection result set is output, and the process scheduling scheme with the highest fitness (lowest total execution time) is determined according to the target selection result set, and the process is scheduled.

[0103] like Figure 4As shown, the scheduling plan of the factory workshop is determined based on the genetic algorithm, the initial target population is generated, and then the crossover, mutation, and individual selection processes are sequentially executed in each iteration until the preset termination condition is reached, and the process scheduling plan of the factory workshop is obtained, and the factory workshop is scheduled according to the process scheduling plan;

[0104] Among them, the control parameter a of the genetic algorithm used in determining the process scheduling plan of the factory workshop is fixed, and the encoding scheme of the genetic algorithm uses permutation coding. The specific process of this encoding scheme assigns a unique number to all the processes in the process scheduling plan. The content of the encoded chromosome is a permutation of these numbers. The order of the processes in the permutation determines the order in which the processes are actually submitted to the machine for processing;

[0105] Determine the process scheduling plan of the factory workshop based on genetic algorithm, including:

[0106] Step 41, create a random initial population, use makespan (the total execution time of the scheduling plan) as the individual evaluation function (fitness function), the lower the total execution time, the higher the evaluation (the higher the fitness);

[0107] Step 42, find the longest common substring of the parents through the crossover operator, and keep the longest common substring in the corresponding position in the two offspring, and keep the order of the other parent in the remaining positions;

[0108] Step 43, using the taboo search of the N7 neighborhood structure as a mutation operator to perform mutation calculation to obtain a mutation result, which is used as the population to be screened;

[0109] Step 44, as Figure 5As shown, a set P to be classified is obtained according to the population to be screened, the selected set (selection structure set) is initialized as an empty set, and it is judged whether the number of individuals in the selected set reaches a preset value (expected value n). If the number of individuals in the selected set does not reach the preset value, the first set is set as a priority set of the empty set, and the second set is set as a penalty set of the empty set. Individuals in the set to be classified that are not in the selected set are classified into the priority set or the penalty set. After all the individuals in the set to be classified are classified, the updated priority set and penalty set are obtained, and it is judged whether the priority set is an empty set. If the priority set is an empty set, it means that there are no individuals to be classified. The individuals in the classified individuals are classified into the priority set. At this time, the individual in the penalty set that is farthest from the selected individuals in the selected set is selected and added to the selected set. If the priority set is not an empty set, it means that there are individuals in the individuals to be classified that are classified into the priority set. Then the individual with the highest fitness in the priority set is selected and added to the selected set, and then the updated selected set is obtained. When the number of individuals in the selected set reaches the preset value (expected value n), the updated selected set is output. The output selected set can be used as the population in the iteration in the next round of genetic algorithm calculation, and continue to participate in the crossover, mutation and other operations in the next round of iteration.

[0110] The process of classifying individuals into priority sets or penalty sets is as follows: Figure 6 As shown, individual p in the set P to be classified i Whether to traverse all of them to judge, if not all of the individuals p in the set to be classified P are traversed i , then calculate the current individual p in the set to be classified P i With individuals s in the selected set j The distance value D(p i ,s j ), according to the distance value, we can get the value of each individual p in the set P to be classified i With individuals s in the selected set j The minimum distance between i ,s j ), and the minimum distance value is recorded as x i ; It should be noted that when the selected set is not empty, individual p i With individuals s in the selected set j The minimum distance between them is the expected distance d;

[0111] Calculate the individual p in the set P to be classified by the Sigmoid function iThe priority probability value is obtained, and a preset random number is taken in [0,1] to determine whether the priority probability value is hit by the preset random number. The hit here means comparing the priority probability value with the preset random number to obtain a comparison result. When the comparison result is that the priority probability value is greater than the preset random number, it means that the priority probability value is hit by the preset random number, then the individual p i Add it to the priority set. When the comparison result is that the priority probability value is less than the preset random number, it means that the priority probability value is not hit by the preset random number, then the individual p i Add to the penalty set, and repeat the above process until the individual p in the set to be classified P is completed i Classification, get the updated penalty set and priority set;

[0112] Step 45, when the expected optimization time T is given, the time is used as the stopping condition of the genetic algorithm for the factory workshop scheduling plan; if the expected optimization time T is not given in advance, the optimization process will continue to run until T c The stop signal is received at the time; wherein the stop signal includes the stop time T, at T c Continue to run within the time period of T to ensure the effectiveness of the final output scheduling plan;

[0113] Through the above process, priority probability values ​​are introduced into the individuals to be classified in the population to be screened, allowing for acceptance of better solutions while satisfying diversity, thereby avoiding premature convergence and improving the initial performance of the genetic algorithm in process scheduling, and then combining the expected distance d of the segments to obtain better performance in the actual operating environment that may be interrupted at any time.

[0114] like Figure 7 As shown, in another specific embodiment, the DMU70 in the data set Demirkol of the factory workshop is iterated through steps 41 to 45, the end signal is set to be sent at the start, the expected end time is 3456 seconds, 0000.log is the curve of the process scheduling solution of the factory workshop determined by the original genetic algorithm, 1000.log, 1125.log, 1250.log, 1500.log and 2000.log are the curves of the process scheduling solution of the factory workshop determined by introducing the solution described in the embodiment of the present application into the individual selection process of the genetic algorithm when the control parameters are a=1.0, a=1.125, a=1.25, a=1.5 and a=2.0 respectively;

[0115] It can be seen that compared with the original genetic algorithm, when the scheme described in the embodiment of the present application is introduced into the genetic algorithm, the time required for the process scheduling plan of the factory workshop is shorter when the number of iterations increases. In the genetic algorithm that introduces the scheme described in the embodiment of the present application, the control parameter a will also affect the time required for the process scheduling plan of the factory workshop.

[0116] The embodiment of the present invention obtains at least one process scheduling scheme formed by randomly arranging multiple processes, and determines a population to be screened according to the process scheduling scheme; obtains a set to be classified of individuals in the population to be screened, wherein the set to be classified includes at least one individual to be classified; traverses all individuals to be classified in the set to be classified, and calculates a priority probability value of each individual to be classified according to an expected distance between a current individual and an individual in a selection result set; performs individual selection processing on all individuals to be classified in the set to be classified according to the priority probability value, and obtains a target selection result set; schedules the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set; a better process scheduling scheme can be continuously obtained, and the processes are further scheduled according to the obtained better process scheduling scheme, thereby improving work efficiency.

[0117] like Figure 8 As shown, the embodiment of the present invention further provides a process scheduling device 80, comprising:

[0118] The acquisition module 81 is used to acquire at least one process scheduling scheme formed by randomly arranging multiple processes, and determine a population to be screened according to the process scheduling scheme; obtain a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified;

[0119] The processing module 82 is used to traverse all individuals to be classified in the set to be classified, and calculate the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selected set; perform individual selection processing on all individuals to be classified in the set to be classified according to the priority probability value to obtain a target selection result set; and schedule the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set.

[0120] Optionally, determining the population to be screened according to the process scheduling plan includes:

[0121] Taking one of the process scheduling schemes as an individual, initializing the target population;

[0122] The individuals in the target population are subjected to crossover and mutation processing to obtain a population to be screened containing existing individuals of the previous generation and new individuals of the offspring generation.

[0123] Optionally, all the individuals to be classified in the set to be classified are traversed, and the priority probability value of each individual to be classified is calculated according to the expected distance between the current individual and the individuals in the selection result set, including:

[0124] According to the to-be-classified set and the selection result set, determining the distance value between each to-be-classified individual in the to-be-classified set and each selected individual in the selection result set; the selection result set includes target individuals that meet preset conditions;

[0125] According to the distance value, determining the minimum distance value between each individual to be classified and all selected individuals;

[0126] The priority probability value corresponding to the individual to be classified is calculated through a preset function, the minimum distance value and the expected distance.

[0127] Optionally, the expected distance between the current individual and the individuals in the selection result set is obtained by the following process:

[0128] Through the first function Determine the expected distance; where f1(t; T) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified;

[0129] Or, through the second function Determine the desired distance;

[0130] Where f2(t) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified, T c For transfer time.

[0131] Optionally, calculating the priority probability value corresponding to the individual to be classified by using a preset function, the minimum distance value and the expected distance includes:

[0132] By formula Calculate the priority probability value corresponding to the individual to be classified;

[0133] Among them, S(x; d, a) is the priority probability value corresponding to the individual to be classified, x is the minimum distance value, d is the expected distance, and a is the control parameter.

[0134] Optionally, according to the priority probability value, individual selection processing is performed on all the individuals to be classified in the set to be classified to obtain a target selection result set, including:

[0135] Compare the priority probability value of each individual to be classified with a preset random number to obtain a comparison result;

[0136] According to the comparison result, the individuals to be classified corresponding to the priority probability value are added to the first set or the second set to obtain updated first classification set and second classification set;

[0137] The target individuals in the first classification set or the second classification set that meet the preset conditions are added to the selection result set to obtain a target selection result set.

[0138] Optionally, adding the target individuals in the first classification set or the second classification set that meet the preset conditions to the selection result set to obtain the target selection result set includes:

[0139] If the first classification set is an empty set, selecting the individual to be classified with the largest minimum distance value in the second classification set as the target individual and adding it to the selection result set to obtain a target selection result set;

[0140] If the first classification set is not an empty set, the individual to be classified with the highest fitness in the first classification set is selected as the target individual and added to the selection result set to obtain a target selection result set.

[0141] It should be noted that the device is a device corresponding to the above method, and all implementation methods in the above method embodiments are applicable to the embodiments of the device and can achieve the same technical effects.

[0142] The embodiment of the present invention further provides a computing device, comprising: a processor, a memory storing a computer program, wherein when the computer program is executed by the processor, the method described above is executed. All implementations in the above method embodiment are applicable to this embodiment and can achieve the same technical effect.

[0143] The embodiment of the present invention further provides a computer-readable storage medium storing instructions, which, when executed on a computer, enable the computer to execute the above method. All implementations in the above method embodiment are applicable to this embodiment and can achieve the same technical effect.

[0144] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0145] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0146] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0147] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0148] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0149] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.

[0150] In addition, it should be noted that in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it is understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.

[0151] Therefore, the purpose of the present invention can also be achieved by running a program or a group of programs on any computing device. The computing device can be a well-known general device. Therefore, the purpose of the present invention can also be achieved by simply providing a program product containing a program code that implements the method or device. That is to say, such a program product also constitutes the present invention, and the storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. In addition, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order. Some steps can be performed in parallel or independently of each other.

[0152] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A process scheduling method, characterized in that: include: Obtaining at least one process scheduling scheme formed by randomly arranging multiple processes, and determining a population to be screened according to the process scheduling scheme; Obtaining a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified; Traversing all the individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selection result set; According to the priority probability value, individual selection processing is performed on all the individuals to be classified in the set to be classified to obtain a target selection result set; Scheduling the multiple processes according to the process scheduling schemes corresponding to the individuals in the target selection result set; Wherein, according to the process scheduling plan, determining the population to be screened includes: Taking one of the process scheduling schemes as an individual, initializing the target population; Performing crossover and mutation processing on the individuals in the target population to obtain a population to be screened containing existing individuals of the previous generation and new individuals of the offspring generation; Among them, traversing all the individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selection result set, including: According to the to-be-classified set and the selection result set, determining the distance value between each to-be-classified individual in the to-be-classified set and each selected individual in the selection result set; the selection result set includes target individuals that meet preset conditions; According to the distance value, determining the minimum distance value between each individual to be classified and all selected individuals; By using a preset function, the minimum distance value and the expected distance, a priority probability value corresponding to the individual to be classified is calculated; The expected distance between the current individual and the individuals in the selection result set is obtained by the following process: Through the first function Determine the expected distance; where f1(t; T) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified; Or, through the second function Determine the desired distance; Where f2(t) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified, T c is the diversion time of the linear function after receiving the preparation end signal including the expected running time T; The priority probability value corresponding to the individual to be classified is calculated by using a preset function, the minimum distance value and the expected distance, including: By formula Calculate the priority probability value corresponding to the individual to be classified; Among them, S(x; d, a) is the priority probability value corresponding to the individual to be classified, x is the minimum distance value, d is the expected distance, and a is the control parameter.

2. The process scheduling method according to claim 1, characterized in that: According to the priority probability value, individual selection processing is performed on all the individuals to be classified in the set to be classified to obtain a target selection result set, including: Compare the priority probability value of each individual to be classified with a preset random number to obtain a comparison result; According to the comparison result, the individuals to be classified corresponding to the priority probability value are added to the first set or the second set to obtain updated first classification set and second classification set; The target individuals in the first classification set or the second classification set that meet the preset conditions are added to the selection result set to obtain a target selection result set.

3. The process scheduling method according to claim 1, characterized in that: Adding target individuals that meet preset conditions in the first classification set or the second classification set to the selection result set to obtain a target selection result set includes: If the first classification set is an empty set, selecting the individual to be classified with the largest minimum distance value in the second classification set as the target individual and adding it to the selection result set to obtain a target selection result set; If the first classification set is not an empty set, the individual to be classified with the highest fitness in the first classification set is selected as the target individual and added to the selection result set to obtain a target selection result set.

4. A process scheduling device, characterized in that: include: An acquisition module is used to acquire at least one process scheduling scheme formed by randomly arranging multiple processes, and determine a population to be screened according to the process scheduling scheme; obtain a set of individuals to be classified in the population to be screened, wherein the set to be classified includes at least one individual to be classified; A processing module is used to traverse all the individuals to be classified in the set to be classified, and calculate the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selected set; perform individual selection processing on all the individuals to be classified in the set to be classified according to the priority probability value to obtain a target selection result set; and schedule the multiple processes according to the process scheduling scheme corresponding to the individuals in the target selection result set; Wherein, according to the process scheduling plan, determining the population to be screened includes: Taking one of the process scheduling schemes as an individual, initializing the target population; Performing crossover and mutation processing on the individuals in the target population to obtain a population to be screened containing existing individuals of the previous generation and new individuals of the offspring generation; Among them, traversing all the individuals to be classified in the set to be classified, and calculating the priority probability value of each individual to be classified according to the expected distance between the current individual and the individuals in the selection result set, including: According to the to-be-classified set and the selection result set, determining the distance value between each to-be-classified individual in the to-be-classified set and each selected individual in the selection result set; the selection result set includes target individuals that meet preset conditions; According to the distance value, determining the minimum distance value between each individual to be classified and all selected individuals; By using a preset function, the minimum distance value and the expected distance, a priority probability value corresponding to the individual to be classified is calculated; The expected distance between the current individual and the individuals in the selection result set is obtained by the following process: Through the first function Determine the expected distance; where f1(t; T) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified; Or, through the second function Determine the desired distance; Where f2(t) is the expected distance, t is the elapsed time, T is the expected running time, and D i is the average value of the minimum distance values ​​of all individuals to be classified in the set to be classified, T c is the diversion time of the linear function after receiving the preparation end signal including the expected running time T; The priority probability value corresponding to the individual to be classified is calculated by using a preset function, the minimum distance value and the expected distance, including: By formula Calculate the priority probability value corresponding to the individual to be classified; Among them, S(x; d, a) is the priority probability value corresponding to the individual to be classified, x is the minimum distance value, d is the expected distance, and a is the control parameter.

5. A computing device, characterized in that: include: A processor and a memory storing a computer program, wherein when the computer program is executed by the processor, the method according to any one of claims 1 to 3 is performed.

6. A computer-readable storage medium, characterized in that: Instructions are stored, and when the instructions are executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Replica placement method in hybrid cloud based on NGSA multi-target

    CN109889573A

  • Process sorting optimization method and device

    CN109948828A