A multi-task scheduling optimization method and device based on explicit penalty

Through explicit punishment function value calculation and multi-peak value identification and balance, the problem that traditional task scheduling algorithms are difficult to achieve global optimal solutions in multimodal optimization problems, and the stability and efficiency in complex scheduling environments are achieved. sex.

CN119204344BActive Publication Date: 2025-02-18CENT SOUTH UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411665560.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-20
Publication Date
2025-02-18
Estimated Expiration
2044-11-20

AI Technical Summary

Technical Problem

Traditional task scheduling algorithms are difficult to achieve global optimal solutions in finite resource environments, especially in multimodal optimization problems, which are prone to lose diversity due to premature convergence.

Method used

A multi-task scheduling optimization method based on explicit punishment is proposed. By calculating the individual's explicit punishment function value, multiple peaks are identified, and individual allocation and balance are performed between these peaks, ensuring that each peak is fully developed and according to The number of peaks is searched globally or locally.

Benefits of technology

This method accelerates convergence by explicit punishment functions, improves robustness, ensures stability and efficiency in complex scheduling environments, and avoids performance degradation caused by complex parameter adjustments in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119204344B_ABST
    Figure CN119204344B_ABST
Patent Text Reader

Abstract

The present application relates to a multi-task scheduling optimization method and device based on explicit penalty, which uses diversity information to distinguish the peaks found; then, according to the explicit penalty function, the individuals of the population are assigned to these peaks; next, the number of individuals on each peak is adjusted to balance to ensure that each peak can be fully developed; in addition, if the number of peaks captured is reasonable, a local search is selected near each peak for in-depth development or a global search is performed in the entire decision space to enhance the diversity of the population. The method constructs an explicit penalty function by combining the individual multimodal function value with the diversity quantified by the distance between the individual and its nearest and better neighbor. The function is used to capture multiple peaks at the same time and achieve a search balance between these peaks to accelerate convergence, improve robustness, and ensure stability and efficiency in complex scheduling environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the technical field of task scheduling, and in particular to a multi-task scheduling optimization method and device based on explicit penalty. Background Art

[0002] The task (or job) scheduling problem refers to the need for a device to allocate a series of tasks to limited resources (such as machines, employees, tools, time, etc.) for processing. Due to limited resources, there is competition between multiple tasks, which leads to the optimization problem of job scheduling. This type of problem usually has multimodal characteristics, that is, there may be multiple relatively optimal solutions, representing different resource allocation schemes.

[0003] In task scheduling, the device needs to reasonably allocate multiple tasks to limited resources, which is a multimodal optimization problem. Due to limited resources and competition between tasks, traditional scheduling algorithms often find it difficult to achieve a global optimal solution.

[0004] In recent years, a variety of multimodal optimization methods that take into account convergence and diversity have been proposed and applied. The first is the niche method, but the niche method usually requires a lot of computing resources and is more complicated in parameter adjustment, which may lead to slow convergence; the second is to convert the multimodal optimization problem into a multi-objective optimization problem, but the multi-objective optimization problem may lead to a surge in the number of objectives and make the analysis of the Pareto frontier more complicated. Summary of the invention

[0005] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.

[0006] The main purpose of the embodiments of the present disclosure is to propose a multi-task scheduling optimization method and device based on explicit penalty, which can solve the drawbacks of the two currently popular methods, accelerate the convergence speed, and ensure stability and efficiency in complex scheduling environments.

[0007] A first aspect of an embodiment of the present application proposes a multi-task scheduling optimization method based on explicit penalty, the method comprising:

[0008] Get by The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate the initial scheduling plan for each task;

[0009] The first The first generation population is used as the target population, and a population evolution process is performed, the population evolution process includes:

[0010] Calculate the target population The explicit penalty function value corresponding to each individual in the target population; wherein the process of calculating the explicit penalty function value of any individual in the target population includes:

[0011] ;

[0012] in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals, the neighbor individuals are the individuals in the target population The individual with the best multimodal function value is selected from multiple individuals The closest individual;

[0013] According to the explicit penalty function value, multiple peaks are identified, individual allocation and balancing are performed for the multiple peaks to obtain a multi-peak population, and the multi-peak population is searched globally or locally according to the number of peaks to generate a multi-peak population. Individuals make up Generation population;

[0014] if is less than the first threshold, then the The first generation population is used as the target population, and the population evolution process is performed; if is greater than the first threshold, then the The generation population is used as the optimal solution for the task information to be scheduled.

[0015] This application proposes a multi-task scheduling optimization method based on explicit penalty, which has the following beneficial effects:

[0016] The method first uses diversity information to distinguish the peaks found; then, according to the explicit penalty function, the individuals of the population are assigned to these peaks; next, the number of individuals on each peak is adjusted to balance to ensure that each peak can be fully developed; in addition, if the number of peaks captured is reasonable, choose to conduct local search near each peak for in-depth development or conduct global search in the entire decision space to enhance the diversity of the population. The method constructs an explicit penalty function by combining the individual objective function value (i.e., the multimodal function value) with diversity (diversity is quantified by the distance between the individual and its nearest and better neighbor). This function is used to capture multiple peaks at the same time and achieve search balance between these peaks to accelerate convergence, improve robustness, and ensure stability and efficiency in complex scheduling environments.

[0017] A second aspect of an embodiment of the present application provides a multi-task scheduling optimization device based on explicit penalty, the device comprising:

[0018] The data acquisition module is used to obtain The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate the initial scheduling plan for each task;

[0019] Evolutionary iteration module, used to The first generation population is used as the target population, and a population evolution process is performed, the population evolution process includes:

[0020] Calculate the target population The explicit penalty function value corresponding to each individual in the target population; wherein the process of calculating the explicit penalty function value of any individual in the target population includes:

[0021] ;

[0022] in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals, the neighbor individuals are the individuals in the target population The individual with the best multimodal function value is selected from multiple individuals The closest individual;

[0023] According to the explicit penalty function value, multiple peaks are identified, individual allocation and balancing are performed for the multiple peaks to obtain a multi-peak population, and the multi-peak population is searched globally or locally according to the number of peaks to generate a multi-peak population. Individuals make up Generation population;

[0024] Evolution determination module, used if is less than the first threshold, then the The first generation population is used as the target population, and the population evolution process is performed; if is greater than the first threshold, then the The generation population is used as the optimal solution for the task information to be scheduled.

[0025] To achieve the above-mentioned purpose, the third aspect of an embodiment of the present invention provides an electronic device, comprising: at least one control processor and a memory for communicating with the at least one control processor; the memory stores instructions that can be executed by the at least one control processor, and the instructions are executed by the at least one control processor so that the at least one control processor can execute the above-mentioned multi-task scheduling optimization method based on explicit penalty.

[0026] To achieve the above-mentioned purpose, the fourth aspect of an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the above-mentioned multi-task scheduling optimization method based on explicit penalty.

[0027] It can be understood that the beneficial effects of the second to fourth aspects compared with the related art are the same as the beneficial effects of the first aspect compared with the related art. Please refer to the relevant description in the first aspect, and no further details will be given here. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0029] Figure 1 is a flow chart of a multi-task scheduling optimization method based on explicit penalty provided by the present application;

[0030] Figure 2 (1) is a schematic diagram of the distribution of individuals in a population provided by the present application;

[0031] FIG2(2) is a schematic diagram of allocating individuals using only distance information provided by the present application;

[0032] FIG2(3) is a schematic diagram of allocating individuals using an explicit penalty function and distance information provided by the present application;

[0033] Figure 3 (1) is a schematic diagram of the original population distribution provided by this application;

[0034] FIG3(2) is a schematic diagram of the results of the balancing process provided by the present application;

[0035] Figure 4 (1) is a schematic diagram of the early stage of evolution provided by the present application;

[0036] Figure 4 (2) is a schematic diagram of the late stage of evolution provided by the present application;

[0037] Figure 5 This is the structure of the electronic device provided by this application. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0039] It should be noted that, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification, claims and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0040] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0041] Before introducing the embodiments of the present application, a brief description of the current technical research of the present application is given:

[0042] The task (or job) scheduling problem refers to the need for a device to allocate a series of tasks to limited resources (such as machines, employees, tools, time, etc.) for processing. Due to limited resources, there is competition between multiple tasks, which leads to the optimization problem of job scheduling. This type of problem usually has multimodal characteristics, that is, there may be multiple relatively optimal solutions, representing different resource allocation schemes.

[0043] In task scheduling, the device needs to reasonably allocate multiple tasks to limited resources, which is a multimodal optimization problem. Due to limited resources and competition between tasks, traditional scheduling algorithms often find it difficult to achieve a global optimal solution.

[0044] Evolutionary algorithms gradually optimize the solution space through iterative evolution of the population, and then approach the global optimal solution. With the characteristics of group search, evolutionary algorithms are widely used to solve multimodal optimization problems. However, since the genetic diversity of individuals in the population may be randomly lost during the evolution process, the algorithm tends to converge to a single optimal solution prematurely. Therefore, traditional evolutionary algorithms often face significant challenges when dealing with multimodal optimization problems if they are not improved.

[0045] Existing multimodal optimization techniques can be divided into two categories. The first type of technology is based on the niche technology to solve multimodal optimization problems. First, the population is implicitly or explicitly divided into multiple sub-populations, and then the optimal solution is explored simultaneously in different sub-populations. The disadvantage of this type of method is that it usually requires a lot of computing resources and is more complicated in parameter adjustment, which may lead to slow convergence. If these niche parameters are not set properly, the algorithm performance will be greatly reduced.

[0046] The second type of technology is based on multi-objective optimization methods, in which the first objective corresponds exactly to the original optimization objective, while the second objective is specifically designed as a diversity indicator of the population, such as distance information or gradient information between populations. The disadvantage of this method is that it is challenging to verify the theoretical equivalence between the optimal solution of the original multimodal problem and the Pareto optimal solution of the converted dual-objective optimization problem; at the same time, this conversion may lead to a surge in the number of objectives and make the analysis of the Pareto frontier more complicated. These problems will lead to increased consumption of computing resources, reduced convergence speed, and increased algorithmic complexity.

[0047] In order to solve the above technical defects, an embodiment of the present application is as follows: Figure 1 As shown, a multi-task scheduling optimization method based on explicit penalty is provided, and the method comprises the following steps:

[0048] Step S110, obtaining The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate an initial task scheduling plan.

[0049] Step S120: The first generation population is used as the target population, and the population evolution process is performed. The population evolution process includes:

[0050] Calculate the target population The explicit penalty function value corresponding to each individual; the process of calculating the explicit penalty function value of any individual in the target population includes:

[0051] ;

[0052] in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals, the neighbor individuals are the individuals in the target population The individual with the best multimodal function value is selected from multiple individuals The closest individual;

[0053] According to the explicit penalty function value, multiple peaks are identified, individuals are allocated and balanced for the multiple peaks, a multi-peak population is obtained, and a global or local search is performed on the multi-peak population according to the number of peaks to generate a multi-peak population. Individuals make up Generation population.

[0054] Step S130, if is less than the first threshold, then The first generation population is used as the target population and the population evolution process is performed; if is greater than the first threshold, then The generation population is used as the optimal solution for the task information to be scheduled.

[0055] First of all, without losing generality, multi-task scheduling is essentially a multi-modal optimization problem. The formula of the multi-modal optimization problem can be expressed as follows:

[0056] (1)

[0057] in, Indicated by The decision vector consists of decision variables. Represents a multimodal function with multiple optimal solutions.

[0058] First give the following pseudo code of the overall process:

[0059]

[0060] Assuming the above =1, first randomly generated The initial task scheduling scheme will The initial task scheduling plan is converted into the first generation population (i.e., initial population). Task information includes but is not limited to: the number of tasks, the number of resources (such as machines, employees, tools, time, etc.);

[0061] In combination with the above pseudo code, in step S120, the explicit penalty function value corresponding to each population individual is first calculated, where the explicit penalty function is:

[0062] (2)

[0063] The purpose of setting an explicit penalty function in this application is to impose a penalty on poor diversity to promote a wider distribution of individuals. The explicit penalty function can encourage the exploration of different peaks in the early evolution stage and optimize the quality of individuals in the later evolution stage.

[0064] In formula (2), represents a multimodal function, is used to quantify diversity, where diversity is quantified by the distance between an individual and its nearest neighbor with a better multimodal function value, is the penalty factor. From formula (2), we can see that the effectiveness of the explicit penalty function is affected by and impact.

[0065] Used to quantify the diversity information of the population, here we can use Euclidean distance to calculate , in order to maximize population diversity, individuals with higher diversity should have greater Therefore, It should have the following properties:

[0066] (1) Individuals that are farther away from individuals with better target values ​​should have a larger value, as it is more likely to capture distinct peaks;

[0067] (2) The individuals on the peak that may be the best solution should have a larger value.

[0068] Therefore, using It is defined by the distance between its nearest neighbor with better fitness value .

[0069] It is worth noting that the optimal solution in the population Set the value to:

[0070] (3)

[0071] in, Represent the decision variables The lower and upper bounds of .

[0072] For the penalty factor , the larger In the early stages of evolution, the value helps to enhance population diversity and promotes the exploration of decision space to find multiple peaks. In contrast, in the later stages of evolution, a smaller The value can facilitate fine tuning of each peak, thus improving the quality of the individual. The value gradually decreases as the evolution stage progresses, and its changing trend function is as follows:

[0073] (4)

[0074] For the population For each individual in , the corresponding explicit penalty function value is calculated.

[0075] in, , then for any individual, formula (2) is:

[0076] (5)

[0077] After initialization, the algorithm enters the main loop (i.e., lines 3 and 4 of pseudo code), and this process will continue until Reaching the preset first threshold .

[0078] The following is provided according to Generation population Individuals in The explicit penalty function value of , execute to get the pseudo code of multi-peak population:

[0079]

[0080] In some embodiments, the step S120 of identifying multiple peaks according to the explicit penalty function value comprises the following steps:

[0081] Step S210, traverse each individual in the target population until multiple peaks are obtained; wherein the determination process of any one of the multiple peaks is:

[0082] calculate With the size of the second threshold, if is greater than the second threshold, then The corresponding individual The location is set as a peak, and Be the optimal individual of the corresponding peak;

[0083] The second threshold is to The average value of is the first individual in the target population, is the last individual in the target population.

[0084] Lines 1-9 of the pseudo code summarize the main steps of identifying different peaks, and step S120 is introduced in conjunction with the above pseudo code;

[0085] represents a set that may be the best individual on the peak, yes The cardinality of the set The number of elements in , Indicates The best individual on a peak.

[0086] generally, The larger the value, the greater the probability that the individual is located on an unexplored peak. This is because express The closest and The distance between individuals with better values. If an individual A large value indicates that the individual is far from any This individual may be the best individual in its neighborhood, which indicates that it may be located on an unexplored peak.

[0087] The task of capturing peaks can be transformed into determining a threshold value for judging When is it large enough to consider the individual as the best solution on the peak. Here the threshold is defined as The average value of .

[0088] In some embodiments, performing individual allocation for multiple peaks in the above step S120 includes:

[0089] Step S310, sorting the remaining individuals in the target population according to the explicit penalty function value; the remaining individuals refer to the remaining individuals in the target population excluding the best individual of the peak;

[0090] Step S320, according to the sorting result, assign the first individual among the remaining individuals to the peak corresponding to the second individual; the first individual is any individual among the remaining individuals, and the second individual is an individual in the target population whose multimodal function value is better than the multimodal function value of the first individual and is the individual of an assigned peak that is closest to the first individual.

[0091] Lines 10-18 of the pseudocode mainly describe the main process of allocating individuals. Combined with the above pseudocode, the above specific steps are introduced:

[0092] Represents the set containing solutions on different peaks.

[0093] The above results in multiple peaks, so the remaining individuals (i.e. the remaining individuals) are: ; Number .

[0094] The individuals in are first sorted according to the explicit penalty function value. Here it can be in descending order.

[0095] Allocate the remaining individuals after sorting to each peak one by one. The specific methods include:

[0096] First, for The first individual in , according to the explicit penalty function from Median Identification Value is better than Afterwards, Assigned to better than The peak where the second individual closest to it is located.

[0097] This application does not Instead of assigning it to the peak where the individual is closest to, it will be assigned to the peak where the multimodal function value is better than that of the individual and the closest individual is located. The reason is that individual assignment based only on distance information may lead to There are cases where misclassification occurs, causing it to tend to be assigned to a broader peak even though it is actually located on a narrower peak.

[0098] As shown in Figure 2(1), the population and is the best individual on each peak.

[0099] As shown in Figure 2(2), first, due to Closest or , it is assigned first, and obviously needs to be assigned to the second peak because it is closer to Next, among the remaining individuals, Closest , or , so it is assigned to the second peak. Finally, for , since it is closest to ,and Located on the second peak, which leads to the first peak was incorrectly assigned to the second peak.

[0100] As shown in Figure 2(3), the use of multimodal functions and distance information to , or First, for For example, and The penalty function value is better than , and then according to the distance information, is assigned to the first peak. And so on. and It was assigned to the second peak and the classification was correct.

[0101] This example shows that if only distance information is used, will be misassigned to the broad peak, resulting in a reduction in the number of individuals on the narrow peak. In this way, the selection pressure of the population on the narrow peak will be weakened, which may cause the narrow peak to be lost during the evolution process.

[0102] Provide the following pseudo code:

[0103]

[0104] In some embodiments of the present application, performing individual balance for multiple peaks in the above step S120 includes:

[0105] Step S410, determining the number of individuals in the multiple peaks, and if there is a deviation in the number of individuals between the multiple peaks, adjusting the individuals between the multiple peaks so that the number of individuals between any two peaks is equal, wherein adjusting the individuals between the multiple peaks includes:

[0106] If the number of individuals in a peak is greater than the third threshold, several individuals with the smallest explicit penalty function value are deleted on the peak; if the number of individuals in a peak is less than the third threshold, several individuals are randomly generated on the peak.

[0107] Combined with pseudo code 3, step S410 is introduced:

[0108] The process of randomly generating individuals on a peak includes:

[0109] (6)

[0110] in, Indicates The newly generated The individual Dimension value, Respectively represent The peak is located in the region The upper and lower bounds of the dimension, is a random value with a value space of .

[0111] First, the number of individuals on different peaks is balanced and adjusted to the same number of individuals. In this way, both broad and narrow peaks can be fully developed.

[0112] Specifically, for the peak, if its domain (denoted as ) exceeds a certain threshold (the threshold is set as ),but The individuals with the worst penalty function values ​​will be deleted to balance the number of individuals on different peaks. On the contrary, if the number of individuals in the domain is less than , then in Randomly generated A solution.

[0113] As shown in Figure 3(1), the first and second peaks contain 2 and 4 individuals, respectively.

[0114] As shown in Figure 3(2), after the equilibrium process, a new individual (i.e. ), and a low-quality individual is deleted from the domain of the second peak (i.e. ), so that now the number of solutions on both peaks is the same.

[0115] In this way, both narrow and broad peaks can be fully developed and utilized. In summary, lines 1-6 of pseudocode 3 outline the balancing process.

[0116] In some embodiments, a global or local search is performed on the multi-peak population according to the number of peaks to generate Individuals make up Generation population, including:

[0117] Step S510, determine The number of all individuals greater than the second threshold and The size between means The square root of is rounded up; In the case of Individuals make up generation population; In the case of , a local search is performed in each peak so that each peak generates a corresponding individuals, so that each peak corresponds to Individual combination generation Individuals make up Generation population.

[0118] Combined with pseudo code 3, step S510 is introduced:

[0119] After balancing the number of individuals on different peaks, we need to decide whether to conduct a global search in the entire decision space or a local search within the domain where each peak is located. An intuitive criterion here is to judge the number of identifiable peaks (i.e. ) is reasonable.

[0120] As shown in Figure 4(1), in the early stages of evolution, individuals are evenly distributed in the decision space, and the diversity among all solutions is similar. In short, The values ​​are close to each other, and multiple individuals satisfy , these individuals will be regarded as the optimal solutions on their corresponding peaks and added to Therefore, However, in fact, some of the individuals are located on the same peak. The true value is smaller than the calculated value. The true number of peaks is less than the number of peaks identified by the algorithm. In this case, a global search is required to further determine the number of peaks in order to accurately identify the true peaks.

[0121] As shown in Figure 4(2), in the late evolution stage, only the optimal solution on each peak has a large value and is added to In this way, The value of is closer to the true value, indicating that a reasonable number of peaks have been found. In this case, further local development is needed to accelerate the population to converge to each peak.

[0122] In this application, the thresholds for determining different search methods are set to ,like , a global search is performed in the entire decision space; otherwise, a local search is performed in the domain where each peak is located.

[0123] After allocating population individuals to different peaks, this application proposes a search balance strategy for generating offspring populations. The main purpose of this search balance strategy is to conduct a wide search of the entire decision space in the early stages of population evolution, and to accelerate the population's convergence to multiple optimal solutions in the later stages of evolution.

[0124] This embodiment has at least the following beneficial effects:

[0125] Compared with the niche method, the niche requires careful adjustment of control parameters. If the parameters are not set properly, the performance of these methods will be seriously degraded. The explicit penalty method proposed in this method is the first to use quantified individual diversity information to capture peaks and balance the search between different peaks. It does not require complex parameter adjustment and does not require the number of peaks to be preset. Peaks can be captured and balanced based on the explicit penalty function and individual distance information, which greatly improves the robustness of the algorithm.

[0126] Compared with other multi-objective optimization methods, the conversion method based on multi-objective optimization may lead to a surge in the number of objectives and make the analysis of the Pareto frontier more complicated. The objective function of this method has only one , converted into a single-objective optimization problem, essentially solving the shortcomings of this type of method.

[0127] First, the found peaks are distinguished using diversity information. Then, the individuals of the population are assigned to these peaks according to an explicit penalty function. Next, the number of individuals on each peak is adjusted to a balance to ensure that each peak can be fully developed. In addition, if the number of captured peaks is reasonable enough, a local search is performed near each peak for in-depth development; if the number of captured peaks is unreasonable, a global search is performed in the entire decision space to enhance the diversity of the population. The method constructs an explicit penalty function by combining the individual objective function value (i.e., the multimodal function value) with diversity (diversity is quantified by the distance between the individual and its nearest and better neighbor). This function is used to capture multiple peaks simultaneously and achieve a search balance between these peaks to accelerate convergence, improve robustness, and ensure stability and efficiency in complex scheduling environments.

[0128] A set of embodiments is provided below:

[0129] The task scheduling problem refers to the need for a device to allocate a series of tasks to limited resources (such as machines, employees, tools, time, etc.) for processing.

[0130] Due to limited resources, there is competition between multiple tasks, which leads to optimization problems in task scheduling. Such problems usually have multimodal characteristics, that is, there may be multiple relatively optimal solutions, representing different resource allocation schemes. In task scheduling, multiple tasks need to be reasonably allocated to limited resources. Due to limited resources and competition between tasks, traditional scheduling algorithms often find it difficult to achieve a global optimal solution. Therefore, here, the method based on the above embodiment is used to capture multiple high-quality solutions, which can significantly improve scheduling efficiency and resource utilization.

[0131] (1) Initialize the population;

[0132] First, a set of initial scheduling schemes needs to be randomly generated based on the number of tasks and the number of resources.

[0133] Each plan corresponds to an individual and contains information such as task allocation, task priority, and resource allocation.

[0134] These individuals constitute the initial population, and each individual in the population represents a possible scheduling method.

[0135] Each individual can be represented by a vector whose dimension depends on the number of tasks and resources. For example, if there are 10 jobs and 3 resources, an individual may be a 10-dimensional vector, where each element represents the assigned resource of a task.

[0136] (2) Application of explicit penalty functions: In task scheduling problems, task completion time, resource utilization, and dependencies between tasks will affect the scheduling effect. If a solution over-centralizes the use of certain resources or violates task dependencies, it will be penalized through an explicit penalty function. The penalty mechanism of the explicit penalty function encourages the algorithm to explore multiple possible scheduling methods in the early stages to ensure the reasonable allocation of tasks on different resources, and to optimize scheduling efficiency and task completion time in the later stages of evolution.

[0137] (3) Multi-peak capture strategy;

[0138] First, by measuring individual distance information , select and identify multiple peaks, and assign individuals to the identified peaks to obtain a multi-peak population, that is, to identify multiple different "scheduling strategies".

[0139] Each peak represents a different task allocation strategy, which can be applied to different tasks or resource environments.

[0140] (4) Search for equilibrium strategy;

[0141] The search balancing strategy is used to ensure that tasks are evenly distributed across multiple peaks and balance resource utilization.

[0142] Specifically, task allocation will be adjusted dynamically based on the usage of each resource. For example, for peaks with less task load, a new task allocation plan will be generated to increase resource utilization. For example, for peaks with excessively high load, the device will adjust and optimize the allocation plan to avoid resource overload.

[0143] In scheduling problems, it is necessary to find a balance between global search and local search. Global search is used to explore different scheduling solutions, while local optimization is used to fine-tune a specific solution.

[0144] This embodiment has at least the following beneficial effects:

[0145] This embodiment adaptively selects a search scheme according to the population evolution situation, thereby greatly improving the scheduling performance.

[0146] Through this embodiment, the scheduling efficiency and resource utilization of the task scheduling problem are significantly improved, and fast and balanced resource allocation is achieved.

[0147] By introducing an explicit penalty function, the ability to identify diverse solutions is enhanced, effectively capturing multiple high-quality resource allocation solutions. At the same time, the multi-peak capture strategy ensures flexible migration between multiple local optimal solutions, while the search balance strategy maintains fair use of resources and reduces the risk of scheduling imbalance. These measures will jointly accelerate convergence, improve the responsiveness of the overall scheduling solution, and ensure stability and efficiency in complex scheduling environments.

[0148] An embodiment of the present application provides a multi-task scheduling optimization device based on explicit penalty, the device comprising:

[0149] The data acquisition module is used to obtain The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate the initial scheduling plan for each task;

[0150] Evolutionary iteration module, used to The first generation population is used as the target population, and the population evolution process is performed. The population evolution process includes:

[0151] Calculate the target population The explicit penalty function value corresponding to each individual; the process of calculating the explicit penalty function value of any individual in the target population includes:

[0152] ;

[0153] in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals, the neighbor individuals are the individuals in the target population The individual with the best multimodal function value is selected from multiple individuals The closest individual;

[0154] According to the explicit penalty function value, multiple peaks are identified, individual allocation and balancing are performed for the multiple peaks to obtain a multi-peak population, and the multi-peak population is searched globally or locally according to the number of peaks to generate a multi-peak population. Individuals make up Generation population;

[0155] Evolution determination module, used if is less than the first threshold, then The first generation population is used as the target population and the population evolution process is performed; if is greater than the first threshold, then The generation population is used as the optimal solution for the task information to be scheduled.

[0156] It should be noted that the multi-task scheduling optimization device based on explicit penalty provided in this embodiment and the above-mentioned multi-task scheduling optimization method based on explicit penalty are based on the same inventive concept, so the relevant content of the above-mentioned multi-task scheduling optimization method based on explicit penalty is also applicable to the multi-task scheduling optimization device based on explicit penalty, and therefore, it will not be repeated here.

[0157] like Figure 5 The embodiment of the present application further provides an electronic device, the electronic device comprising:

[0158] at least one memory;

[0159] at least one processor;

[0160] at least one program;

[0161] The program is stored in the memory, and the processor executes at least one program to implement the multi-task scheduling optimization method based on explicit penalty in the present disclosure.

[0162] The electronic device may be any intelligent terminal including a mobile phone, a tablet computer, a personal digital assistant (PDA), a vehicle-mounted computer, etc.

[0163] The electronic device according to the embodiment of the present application is described in detail below.

[0164] The processor 1600 may be implemented by a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention.

[0165] The memory 1700 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1700 can store operating devices and other applications. When the technical solution provided in the embodiments of this specification is implemented by software or firmware, the relevant program code is stored in the memory 1700, and the processor 1600 calls and executes the multi-task scheduling optimization method based on explicit penalty in the embodiment of the present invention.

[0166] Input / output interface 1800, used to implement information input and output;

[0167] Communication interface 1900, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WIFI, Bluetooth, etc.);

[0168] Bus 2000 , which transmits information between various components of the device (e.g., processor 1600 , memory 1700 , input / output interface 1800 , and communication interface 1900 );

[0169] The processor 1600 , the memory 1700 , the input / output interface 1800 , and the communication interface 1900 are connected to each other in communication within the device via the bus 2000 .

[0170] An embodiment of the present invention further provides a storage medium, which is a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the above-mentioned multi-task scheduling optimization method based on explicit penalty.

[0171] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0172] The embodiments described in the present invention are intended to more clearly illustrate the technical solutions of the embodiments of the present invention and do not constitute a limitation on the technical solutions provided by the embodiments of the present invention. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present invention are also applicable to similar technical problems.

[0173] Those skilled in the art will appreciate that the technical solutions shown in the figures do not limit the embodiments of the present invention and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0174] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0175] Those skilled in the art will appreciate that all or some of the steps, devices, and functional modules / units in the above disclosed methods may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0176] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0177] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0178] In the several embodiments provided in the present application, 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 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 device, 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.

[0179] 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.

[0180] In addition, each functional unit in each embodiment of the present application 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0181] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable an electronic device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store programs.

[0182] The above is a specific description of the preferred implementation of the embodiments of the present application, but the embodiments of the present application are not limited to the above-mentioned implementation methods. Technical personnel familiar with the field can also make various equivalent modifications or substitutions without violating the spirit of the embodiments of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the embodiments of the present application.

Claims

1. A multi-task scheduling optimization method based on explicit penalty, characterized in that: The method comprises: Get by The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate the initial scheduling plan for each task; The first The generation population is used as the target population, and a population evolution process is performed, the population evolution process includes: Calculate the target population The explicit penalty function value corresponding to each individual in the target population is calculated; wherein the process of calculating the explicit penalty function value of any individual in the target population includes: ; in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals and the target population. The individual with the best multimodal function value is selected from multiple individuals The closest individual, For individuals The explicit penalty function value of ; According to the explicit penalty function value, multiple peaks are identified, individual allocation and balancing are performed for the multiple peaks to obtain a multi-peak population, and the multi-peak population is searched globally or locally according to the number of peaks to generate a multi-peak population. Individuals make up Generation population; if is less than the first threshold, then the The first generation population is used as the target population, and the population evolution process is performed; if is greater than the first threshold, then the The generation population is used as the optimal solution for the task information to be scheduled.

2. The multi-task scheduling optimization method based on explicit penalty according to claim 1, characterized in that: The values ​​include: ; in, is the maximum value, is the first threshold.

3. The multi-task scheduling optimization method based on explicit penalty according to claim 1, characterized in that: The step of identifying a plurality of peaks according to the explicit penalty function value comprises: Traverse each individual in the target population until the multiple peaks are obtained; wherein the determination process of any one of the multiple peaks is: calculate With the size of the second threshold, if is greater than the second threshold, then The corresponding individual The location is set as a peak, and Be the optimal individual of the corresponding peak; The second threshold is to The average value of is the first individual in the target population, is the last individual in the target population.

4. The multi-task scheduling optimization method based on explicit penalty according to claim 3, characterized in that: The individually allocating the multiple peaks comprises: Sorting the remaining individuals in the target population according to the explicit penalty function value; the remaining individuals refer to the remaining individuals in the target population excluding the optimal individual of the peak; According to the sorting result, the first individual among the remaining individuals is assigned to the peak corresponding to the second individual; the first individual is any individual among the remaining individuals, and the second individual is an individual in the target population whose multimodal function value is better than the multimodal function value of the first individual and is the individual of an assigned peak closest to the first individual.

5. The multi-task scheduling optimization method based on explicit penalty according to claim 4 is characterized in that: Performing individual balancing for the plurality of peaks comprises: Determine the number of individuals in the multiple peaks, and if there is a deviation in the number of individuals between the multiple peaks, adjust the individuals between the multiple peaks so that the number of individuals between any two peaks is equal, wherein the adjusting the individuals between the multiple peaks includes: If the number of individuals in the peak is greater than the third threshold, several individuals with the smallest explicit penalty function value are deleted on the peak; if the number of individuals in the peak is less than the third threshold, several individuals are randomly generated on the peak.

6. The multi-task scheduling optimization method based on explicit penalty according to claim 5, characterized in that: The process of randomly generating individuals on a peak includes: ; in, Indicates The newly generated The individual Dimension value, Respectively represent The peak is located in the region The upper and lower bounds of the dimension, is a random value with a value space of .

7. The multi-task scheduling optimization method based on explicit penalty according to claim 5, characterized in that: The multi-peak population is searched globally or locally according to the number of peaks to generate Individuals make up Generation population, including: judge The number of all individuals greater than the second threshold and The size between means The square root of is rounded up; exist In the case of , a global search is performed among the multiple peaks to generate Individuals make up Generation population; exist In the case of , a local search is performed in each peak so that each peak generates a corresponding individuals, so that each peak corresponds to Individual combination generation Individuals make up Generation population.

8. A multi-task scheduling optimization device based on explicit penalty, characterized in that: The device comprises: The data acquisition module is used to obtain The individual Generation population; is a positive integer, and if , then the first generation population is composed of the task information to be scheduled corresponding to Generate the initial scheduling plan for each task; Evolutionary iteration module, used to The generation population is used as the target population, and a population evolution process is performed, the population evolution process includes: Calculate the target population The explicit penalty function value corresponding to each individual in the target population is calculated; wherein the process of calculating the explicit penalty function value of any individual in the target population includes: ; in, For individuals Multimodal functions included, is the penalty factor, For individuals The distance between the neighbor individuals and the target population. The individual with the best multimodal function value is selected from multiple individuals The closest individual, For individuals The explicit penalty function value of ; According to the explicit penalty function value, multiple peaks are identified, individual allocation and balancing are performed for the multiple peaks to obtain a multi-peak population, and the multi-peak population is searched globally or locally according to the number of peaks to generate a multi-peak population. Individuals make up Generation population; Evolution determination module, used if is less than the first threshold, then the The first generation population is used as the target population, and the population evolution process is performed; if is greater than the first threshold, then the The generation population is used as the optimal solution for the task information to be scheduled.

9. An electronic device, characterized in that: include: at least one control processor and a memory for communicatively coupling with the at least one control processor; The memory stores instructions that can be executed by the at least one control processor, and the instructions are executed by the at least one control processor to enable the at least one control processor to execute the multi-task scheduling optimization method based on explicit penalty as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the multi-task scheduling optimization method based on explicit penalty according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Steelmaking and continuous casting scheduling method based on artificial bee colony (ABC)

    CN105785963A

  • Welding unit optimization scheduling method based on improved simulated annealing particle swarm optimization, medium and equipment

    CN118780434A