A cloud resource planning and scheduling method with global search mechanism fast convergence

CN117632480BActive Publication Date: 2026-10-20GUIZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311463211.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-06
Publication Date
2026-10-20
Estimated Expiration
2043-11-06

AI Technical Summary

Technical Problem

然而采用蛇优化算法(SO)进行资源规划的收敛性低,并且容易陷入局部最优问题

Benefits of technology

[0113]综上所述,由于采用了上述技术方案,本发明能够进一步提高了云资源调度的合理性,能最大化资源利用率,解决了云资源调度中的资源浪费或业务性能的下降的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117632480B_ABST
    Figure CN117632480B_ABST
Patent Text Reader

Abstract

The application provides a cloud resource planning and scheduling method with a global search mechanism and fast convergence, comprising the following steps: S1, obtaining initialization parameter data of a user, wherein the parameter data comprises task byte size and virtual machine bandwidth; then, a target function is established; S2, an improved snake optimization algorithm is adopted to obtain an optimal population; S3, selecting an individual with the minimum target function value from the optimal population as an optimal resource scheduling scheme. As the above technical scheme is adopted, the rationality of cloud resource scheduling is further improved, the resource utilization rate is maximized, and the problems of resource waste or performance decline in cloud resource scheduling are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cloud resource optimization and scheduling methods, and in particular to a cloud resource planning and scheduling method with a global search mechanism that achieves rapid convergence. Background Technology

[0002] With the rapid development of information technology and networks, traditional data processing methods are no longer suitable for handling large-scale data and information. In this regard, cloud computing has become a more powerful, convenient, and user-friendly option. The purpose of cloud computing is to provide users with shared computing resources, including hardware and software, via the internet. Through flexible billing, self-service, and dynamic scalability, users can access these resources at any time as needed. Furthermore, cloud resource optimization and scheduling can be applied to various scenarios, including virtual machine scheduling, storage optimization, network bandwidth management, container scheduling, and elastic computing, to maximize resource utilization and prevent resource waste. Efficient resource planning is crucial in cloud computing. Inadequate resource planning and allocation can lead to underutilization or overutilization, resulting in wasted cloud resources or decreased business performance.

[0003] Currently, workflow scheduling problems are mainly solved using heuristic algorithms and metaheuristic algorithms. Heuristic algorithms are optimization algorithms based on intuitive experience, proposed for a specific type of problem, such as Heterogeneous Earliest Finish Time (HEFT), Budget-Constrained HEFET (BHEFT), and Max-Min (MAX-MIN). However, they are generally difficult to solve large-scale, complex application scheduling problems. Metaheuristic algorithms are based on random search techniques, such as Genetic Algorithm (GA), Snake Optimization (SO), Particle Swarm Optimization (PSO), and Ant Colony Optimization (ACO). Generally, they have good adaptability to scheduling problems of different scales. Nevertheless, while evolutionary algorithms like GA have good global search capabilities, their search time is often too long. Swarm intelligence optimization algorithms such as SO, PSO, and ACO have fast convergence speeds, but lack effective global search mechanisms, resulting in relatively poor optimization performance. This leads to low convergence of resource scheduling and a tendency to get trapped in local optima. Therefore, existing cloud workflow scheduling methods need further improvement.

[0004] Currently, there are methods using the Snake Optimization Algorithm (SO) for resource planning. Compared with other heuristic optimization algorithms, the Snake Optimization Algorithm can better adapt to different problems and scenarios, thus exhibiting better performance in solving optimization problems. However, resource planning using the Snake Optimization Algorithm (SO) has low convergence and is prone to getting trapped in local optima. Summary of the Invention

[0005] This invention aims to at least solve the technical problems existing in the prior art, and in particular, it innovatively proposes a cloud resource planning and scheduling method with a global search mechanism that achieves rapid convergence.

[0006] To achieve the above-mentioned objectives of this invention, this invention provides a cloud resource planning and scheduling method with a global search mechanism and fast convergence, comprising the following steps:

[0007] S1, obtain the user's initialization parameter data, including the task size in bytes and the virtual machine bandwidth; then establish the objective function fit:

[0008]

[0009] Among them, ECT lk This represents the execution time of the l-th task on the k-th virtual machine;

[0010] N tsk Indicates the number of tasks;

[0011] N vm Indicates the number of virtual machines;

[0012] task_length l Indicates the size in bytes of the l-th task;

[0013] MIPS k This represents the bandwidth of the k-th virtual machine;

[0014] This means that the l-th task is assigned to the k-th virtual machine;

[0015] S2, using an improved snake optimization algorithm, yields the optimal population;

[0016] S2-1, Initialize the algorithm parameters and initialize the population based on the parameters;

[0017] The formula for initializing the population is:

[0018] X i =X min +r×(X max -X min )

[0019] Among them, X i This represents the location information of the i-th individual;

[0020] r∈[0,1], where r is a random number generated in the interval [0,1].

[0021] X max It represents the upper boundary of the solution space of the problem;

[0022] Xmin It represents the lower boundary of the solution space of the problem;

[0023] S2-2, the population is divided into two subpopulations, female and male, according to sex;

[0024] S2-3, if t≤T, then execute step S2-4; otherwise, jump to step S2-7, and t=t+1;

[0025] S2-4, find the optimal male and female individuals, and calculate the temperature (Temp) and food quantity (Q) using the following formulas:

[0026]

[0027] Where t represents the current iteration number;

[0028] T represents the maximum number of iterations;

[0029]

[0030] Where c1 is a constant;

[0031] S2-5, if Q<0.25 indicates that there is no food and rand<0.5, then use formulas (7) and (9) to update the positions of male and female individuals respectively, and then execute step S2-3;

[0032] X i,m (t+1)=X rand,m (t)±c2×A m ×((X max -X min )×rand+X min (7)

[0033] Where X i,m Indicates the position of the i-th male individual;

[0034] X rand,m This indicates the location information of a random individual within the male population;

[0035] rand represents a random number within the interval [0,1].

[0036] c2 is a constant;

[0037] A m It indicates the ability of a male individual to find food;

[0038] X i,f =X rand,f (t+1)±c2×A f ×((X max -X min )×rand+Xmin (9)

[0039] Among them, X i,f Indicates the position of the i-th female individual;

[0040] X rand,f This indicates the location information of a random individual within the female population;

[0041] A f It indicates the ability of a female individual to find food;

[0042] If Q < 0.25 indicates that there is no food and rand > 0.5, then use formula (11) to update the individual's position and then perform steps S2-3;

[0043]

[0044] Where R is an adaptively decreasing variable;

[0045] rand represents a random number generated in the interval [0,1].

[0046] * represents the dot product operation in mathematics;

[0047] X i Represents the i-th individual;

[0048] X best This represents the best individual in the population.

[0049] X rand1 X rand2 X rand3 These represent three distinct random individuals in the population;

[0050] If Q > 0.25 and Temp > 0.6, indicating that food is available and the snake is in a warm environment, then update the individual position using formula (12) and then proceed to steps S2-3;

[0051] X i,j (t+1)=X food ±c3×Temp×rand×(X food -X i,j (t)) (12)

[0052] X i,j Let represent the position of the i-th individual in the population, and j represent the j-th dimension of individual i.

[0053] X food Indicates the position of the optimal individual;

[0054] c3 is a constant;

[0055] If Q > 0.25 and Temp <= 0.6, it means that food is present and the snake is in a cold environment, then proceed to steps S2-6;

[0056] S2-6, generate a random number in the range [0,1]. If the random number is greater than 0.6, it means that the snake is in combat mode. Then use formulas (13) and (14) to update the position of the male individual and the position of the female individual respectively.

[0057] X i,m (t+1)=X i,m (t)+c3×FM×rand×(Q×X best,f -X i,m (t)) (13)

[0058] Among them, X i,m (t+1) represents the position information of the i-th male individual in the (t+1)-th generation;

[0059] X i,f (t+1) represents the position information of the i-th female individual in the (t+1)-th generation;

[0060] X best,f This represents the optimal female individual;

[0061] FM indicates the combat ability of a male individual;

[0062] Q represents the quantity of food;

[0063] X i,f (t+1)=X i,f (t+1)+c3×FF×rand×(Q×X best,m -X i,f (t+1)) (14)

[0064] Among them, X best,m This represents the optimal male individual;

[0065] FF indicates the combat ability of female individuals;

[0066] If the random number is less than 0.6, it means that the snake is in mating mode. Use formulas (17) and (18) to update the positions of the male and female individuals respectively.

[0067] X i,m (t+1)=X i,m (t)+c3×M m ×rand×(Q×X i,f (t)-X i,m (t)) (17)

[0068] X i,f (t+1)=X i,f(t)+c3×M f ×rand×(Q×X i,m (t)-X i,f (t)) (18)

[0069] Among them, M m and M f These represent the reproductive capacity of male and female individuals, respectively.

[0070] Meanwhile, when the eggs are hatching, the worst male and female individuals are selected and replaced, as shown in formulas (21) and (22), and then the process jumps to step four.

[0071] X worst,m =X min +rand×(X max -X min ) (twenty one)

[0072] X worst,f =X min +rand×(X max -X min ) (twenty two)

[0073] Among them, X worst,m and X worst,f These represent the worst male and the worst female individuals, respectively.

[0074] S3: Select the individual with the smallest objective function value from the optimal population as the optimal resource scheduling scheme.

[0075] The improved snake optimization algorithm updates individuals through a novel method, enhancing the algorithm's global search capability.

[0076] Furthermore, the initial population can also be calculated using the following formula:

[0077] X i =X min +S i *(X max -X min (2)

[0078] Among them, X i Let i represent the i-th individual, and each individual represents a resource scheduling scheme;

[0079] X max It represents the upper boundary of the solution space of the problem;

[0080] X min It represents the lower boundary of the solution space of the problem;

[0081] S iThis represents a random number in the sobol sequence.

[0082] Furthermore, the quantity Q of food in steps S2-4 can also be calculated using the following formula:

[0083] Q=c1*(start+end*tanh*(0.75*π*t / T)) (6)

[0084] Where c1 is a constant;

[0085] start = 0.3 indicates that the starting point of the curve is 0.3;

[0086] end = 0.7 indicates that the endpoint of the curve is 0.7;

[0087] t represents the current iteration number;

[0088] T represents the maximum number of iterations.

[0089] The calculation of the food quantity Q based on the nonlinear factor of the arctangent relationship, instead of the original calculation based on the exponential relationship, can better simulate the relationship between global search and local search, thereby enhancing the performance of the algorithm.

[0090] Furthermore, the male's ability to find food A m The calculation formula is:

[0091]

[0092] Where f rand,m Represents the fitness value of a random male individual;

[0093] f i,m This represents the fitness value of the i-th male individual;

[0094] The female individual's ability to find food A f The calculation formula is:

[0095]

[0096] f rand,f This represents the fitness value of a random female individual.

[0097] f i,f This represents the fitness value of the i-th female individual.

[0098] Furthermore, the formula for calculating the combat ability (FM) of the male individual is as follows:

[0099]

[0100] The formula for calculating the combat ability (FM) of the female individual is as follows:

[0101]

[0102] Among them, f best,f This represents the optimal fitness value among female individuals.

[0103] f best,m This represents the optimal fitness value among male individuals;

[0104] f i This represents the fitness value of the i-th individual.

[0105] Furthermore, the reproductive capacity M of the male individual m The calculation formula is as follows:

[0106]

[0107] The reproductive capacity of female individuals (M) f The calculation formula is as follows:

[0108]

[0109] Among them, f i,m This represents the fitness value of the i-th male individual;

[0110] f i,f This represents the fitness value of the i-th female individual.

[0111] Furthermore, c1 = 0.5.

[0112] Furthermore, c2 = 0.05, c3 = 2.

[0113] In summary, by adopting the above technical solutions, the present invention can further improve the rationality of cloud resource scheduling, maximize resource utilization, and solve the problems of resource waste or business performance degradation in cloud resource scheduling.

[0114] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description

[0115] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:

[0116] Figure 1 This is a schematic diagram of the convergence of SNDSO according to the present invention.

[0117] Figure 2 This is a schematic diagram of the box type of the SNDSO of the present invention. Detailed Implementation

[0118] Embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.

[0119] The workflow scheduling problem in resource planning is complex, requiring consideration of multiple factors, including task priority, resource availability, and task time requirements. The Snake Optimization (SO) algorithm suffers from low convergence and a tendency to get trapped in local optima when handling this problem. This is because SO primarily relies on the interaction between the leader and followers. While a single individual trapped in a local optimum can be guided out by the leader, if multiple individuals simultaneously become trapped, the entire algorithm will stagnate, resulting in poor convergence performance.

[0120] To alleviate these problems, this paper proposes a nonlinear SOBOL sequence SO with a difference strategy (SNDSO), which specifically includes the following steps:

[0121] Step 1: First, obtain the user's initialization parameter data (task size in bytes (task_length)). l l = 1, 2, 3, ..., N tsk Virtual machine bandwidth (MIPS) k k = 1, 2, 3, ..., N vm Then, establish the objective function fit:

[0122]

[0123] Where, N tsk N represents the number of tasks. vm Indicates the number of virtual machines, ECT lk This represents the execution time of the l-th task on the k-th virtual machine. mapped to k th VM means that the l-th task is assigned to the k-th virtual machine.

[0124] Step 2: Initialize algorithm parameters, with the number of virtual machines as the problem dimension (Dim), and the upper and lower bounds X of the solution space. max =1, X min =0, the number of tasks is used as the population size (N), the maximum number of iterations (T), and the current number of iterations (t). The population is initialized using formula (2) based on the problem parameters.

[0125] Xi =X min +S i *(X max -X min (2)

[0126] Among them, X i Let i represent the i-th individual, and each individual represents a resource scheduling scheme;

[0127] X min and X max These represent the lower and upper bounds of the problem, respectively.

[0128] S i This represents a random number in the sobol sequence.

[0129] Step 3: Use formulas (3) and (4) to divide the population into two subpopulations, female and male, according to sex.

[0130] N m ≈N / 2 (3)

[0131] N f =NN m (4)

[0132] Where N represents the number of individuals in the population;

[0133] N m Indicates the number of male individuals;

[0134] N f Indicates the number of female individuals.

[0135] Step 4: If t≤T, proceed to step 5; otherwise, jump to step 8, t=t+1.

[0136] Step 5: Find the optimal male and female individuals, and use formulas (5) and (6) to define the temperature (Temp) and food quantity (Q).

[0137]

[0138] Where t represents the current iteration number and T represents the maximum iteration number.

[0139] Q=c1*(start+end*tanh*(0.75*π*t / T)) (6)

[0140] Where c1 = 0.5 is a constant;

[0141] start = 0.3 indicates that the starting point of the curve is 0.3;

[0142] end = 0.7 indicates that the endpoint of the curve is 0.7;

[0143] t represents the current iteration number;

[0144] T represents the maximum number of iterations.

[0145] Step 6: If Q < 0.25 indicates that there is no food and rand < 0.5, then use formulas (7) and (9) to update the positions of the male and female individuals respectively. Then proceed to step 4.

[0146] X i,m (t+1)=X rand,m (t)±c2×A m ×((X max -X min )×rand+X min (7)

[0147] Where X i,m Indicates the position of the i-th male individual;

[0148] X rand,m This indicates the location information of a random individual within the male population;

[0149] rand represents a random number within the interval [0,1].

[0150] c2 = 0.05 is a constant;

[0151] A m This refers to the ability of a male individual to find food. A m It is expressed using formula (8).

[0152]

[0153] Where f rand,m f represents the fitness value (i.e., the objective function value) of a random male individual. i,m This represents the fitness value (i.e., the objective function value) of the i-th male individual.

[0154] X i,f =X rand,f (t+1)±c2×A f ×((X max -X min )×rand+X min (9)

[0155] Among them, X i,f Indicates the position of the i-th female individual;

[0156] X rand,f This indicates the location information of a random individual within the female population;

[0157] Af This refers to the ability of a female individual to find food. A f It is expressed using formula (10).

[0158]

[0159] f rand,f This represents the fitness value (i.e., the objective function value) of a random female individual;

[0160] f i,f This represents the fitness value (i.e., the objective function value) of the i-th female individual.

[0161] If Q < 0.25 indicates that there is no food and rand > 0.5, then update the individual's position using formula (11). Then proceed to step four.

[0162]

[0163] If Q > 0.25 and Temp > 0.6, indicating that food is present and the snake is in a warm environment, then update the individual's position using formula (12). Then proceed to step four.

[0164] X i,j (t+1)=X food ±c3×Temp×rand×(X food -X i,j (t)) (12)

[0165] X i,j Let represent the position of the i-th individual in the population, and j represent the j-th dimension of individual i.

[0166] X food Indicates the position of the optimal individual;

[0167] c3 = 2 is a constant;

[0168] If Q > 0.25 and Temp <= 0.6, indicating that food is present and the snake is in a cold environment, then proceed to step seven.

[0169] Step 7: Generate a random number in the range [0,1]. If the random number is greater than 0.6, it means that the snake is in combat mode. Then use formulas (13) and (14) to update the positions of the male and female individuals respectively.

[0170] X i,m (t+1)=X i,m (t)+c3×FM×rand×(Q×X best,f -X i,m (t)) (13)

[0171] Among them, Xi,m (t+1) represents the position information of the i-th male individual in the (t+1)-th generation.

[0172] X i,f (t+1) represents the position information of the i-th female individual in the (t+1)-th generation.

[0173] X best,f FM represents the optimal female individual, Q represents the combat ability of the male individual, and Q represents the amount of food.

[0174] X i,f (t+1)=X i,f (t+1)+c3×FF×rand×(Q×X best,m -X i,f (t+1)) (14)

[0175] Among them, X best,m FF represents the optimal male individual, and FF represents the combat ability of the female individual.

[0176] FM and FF are represented by formulas (15) and (16) respectively.

[0177]

[0178]

[0179] Among them, f best,f f represents the optimal fitness value (i.e., the objective function value) among female individuals. best,m f represents the optimal fitness value (i.e., the objective function value) among male individuals. i This represents the fitness value (i.e., the objective function value) of the i-th individual.

[0180] If the random number is less than 0.6, it indicates that the snake is in mating mode. Use formulas (17) and (18) to update the positions of the male and female individuals respectively.

[0181] X i,m (t+1)=X i,m (t)+c3×M m ×rand×(Q×X i,f (t)-X i,m (t)) (17)

[0182] X i,f (t+1)=X i,f (t)+c3×M f ×rand×(Q×X i,m (t)-X i,f (t)) (18)

[0183] Among them, M mand M f These represent the reproductive capacity of male and female individuals, respectively.

[0184]

[0185]

[0186] Meanwhile, when the egg hatches, i.e., egg = 1 (egg is the egg hatching parameter, which is randomly selected from the set {-1, 1}), the worst male and female individuals are selected and replaced. The specific formulas are expressed as (21) and (22). Then, proceed to step four.

[0187] X worst,m =X min +rand×(X max -X min ) (twenty one)

[0188] X worst,f =X min +rand×(X max -X min ) (twenty two)

[0189] Among them, X worst,m and X worst,f These represent the worst male and the worst female individuals, respectively.

[0190] Step 8: Obtain the optimal population by iterating through the improved snake optimization algorithm, and select the individual with the smallest objective function value from the optimal population as the optimal resource scheduling scheme.

[0191] In SNDSO, firstly, a better initial population is obtained by initializing with the SOBOL sequence, which allows for better localization of the global optimum. A good population also ensures diversity, mitigating the problem of getting trapped in local optima. Secondly, a nonlinear factor is introduced to better simulate the relationship between global and local searches, thereby enhancing the algorithm's performance. Finally, the randomness and diversity brought by the difference strategy enhance the algorithm's ability to escape local optima and improve its global search capability. By embedding these three strategies into SO, the convergence performance and stability of SO are improved. The improvements are elaborated below:

[0192] 1.1 Sobol sequence

[0193] A well-distributed initial population can help an algorithm converge to the optimal solution faster. If the initial population is close to the optimal solution, the algorithm can find a suitable solution more quickly and perform further optimization. At the same time, a good initial population ensures diversity among individuals in the population, avoiding getting trapped in local optima. Diversity allows for exploration of a wider search space, improving the algorithm's ability to find the global optimum. Furthermore, a good initial population can reduce the number of iterations, thereby reducing computational resource consumption. When the initial population is of high quality, the algorithm can converge faster, reducing unnecessary computational overhead.

[0194] In this paper, Sobol sequence quasi-random numbers are used instead of traditional pseudo-random numbers to generate the initial population. The Sobol sequence random numbers can be generated using the `sobolset` function in MATLAB. The Sobol sequence is a low-discrepancy sequence with a uniform distribution in high-dimensional space. Compared to traditional random numbers, Sobol sequence random numbers can better cover the entire search space, avoiding concentration in local regions. This helps prevent the algorithm from getting trapped in local optima and improves its global search capability. The population initialization position is represented by formula (2).

[0195] X i =X min +S i *(X max -X min (2)

[0196] Among them, X i X represents the i-th individual; min and X max Let S represent the lower and upper bounds of the problem, respectively. i This represents a random number in the sobol sequence.

[0197] 1.2 Nonlinear Factor

[0198] Almost every population-based metaheuristic algorithm involves two phases: an exploration phase and an exploratory phase. The exploratory phase primarily ensures that the population can search a larger region, thereby maintaining population diversity and reducing the risk of getting trapped in local optima. The exploration phase mainly performs a precise search within a specific region, thereby improving the algorithm's convergence accuracy and speed. If these two phases are not well balanced, problems such as getting trapped in local optima and reduced convergence speed and accuracy may occur during the evolutionary process.

[0199] In the original snake optimizer, the development and exploration phases are regulated by the number of food items (Q), where the control parameter Q exhibits an exponential relationship. In this paper, a novel nonlinear factor exhibiting an arctangent relationship is designed to replace the control parameter Q in the original SO, expressed by formula (6). By controlling the parameter Q, the relationship between global search and local search can be better simulated, thereby enhancing the algorithm's performance.

[0200] Q=c1*(start+end*tanh*(0.75*π*t / T)) (6)

[0201] Where c1 = 0.5 is a constant, start = 0.3 indicates that the starting point of the curve is 0.3, end = 0.7 indicates that the ending point of the curve is 0.7, t represents the current iteration number, and T represents the maximum iteration number.

[0202] 1.3 Difference Strategy

[0203] Difference strategies help algorithms explore the search space more broadly. By introducing randomness and diversity, difference strategies can break through traditional local optima, helping to find better solutions. Simultaneously, difference strategies can accelerate the convergence process. By introducing difference mutation operations, the algorithm can move towards a better solution more quickly, thereby reducing search time and computational cost. Furthermore, the algorithm can better capture the characteristics of the global optimum, thus improving global search capabilities.

[0204] This paper proposes a novel hybrid difference strategy and introduces it into the exploration phase. On the one hand, it enhances the global search capability of the algorithm; on the other hand, it alleviates the problem that the algorithm may get stuck in local optima. This strategy is expressed by formula (11):

[0205]

[0206] Where R is an adaptively decreasing variable, rand represents a random number generated in the interval [0,1], and .* represents the mathematical dot product operation. X i Let X represent the i-th individual. best X represents the best individual in the population. rand1 X rand2 X rand3 These represent three distinct random individuals in the population.

[0207] The pseudocode for the SNDSO algorithm is shown in Table 1.

[0208] Table 1 SNDSO Pseudocode

[0209]

[0210]

[0211] To further illustrate the technical effectiveness of SNDSO, simulation experiments were conducted. The performance of SNDSO in solving optimal resource scheduling schemes was tested using the CEC2017 function test set. The CEC2017 function test set includes single-modal, multi-modal, mixed, and combined functions, providing a comprehensive evaluation of SNDSO's performance. Experimental results show that the proposed SNDSO not only outperforms SO in convergence performance but also exhibits certain advantages compared to the comparative algorithms.

[0212] To ensure fairness, the experiment stipulated a maximum function evaluation count of 30,000, a test dimension of 30, a population size of 30, and used mean, standard deviation, and Wilcoxon sum-rank test as evaluation metrics. Each experiment was executed independently 30 times. The significance factor for the Wilcoxon sum-rank test was 0.05, where '+' indicates the algorithm outperforms SNDSO, '=' indicates no significant difference between the two, and '-' indicates SNDSO outperforms the algorithm. The experimental environment consisted of Windows 11 operating system, MATLAB 2022a, and 16GB of memory.

[0213] 2.1 Function Test Set and Comparison Algorithm

[0214] The CEC2017 test function set includes four types of functions: single-modal, multi-modal, hybrid, and combined functions, which can comprehensively evaluate the performance of algorithms. The function descriptions are shown in Table 2. At the same time, seven advanced algorithms are compared with SNDSO to intuitively show the performance of SNDSO. The detailed information of the comparison algorithms is shown in Table 3, namely snake optimizer (SO), Genetic Algorithm (GA), Bezier Search Differential Evolution Algorithm (BESD), Fuzzy Self-Tuning Differential Evolution (FSTDE), Zebra Optimization Algorithm (ZOA), Dung beetle optimizer (DBO), and Moth-flame optimization algorithm (MFO).

[0215] Table 2. CEC2017 Function Descriptions

[0216]

[0217]

[0218] Table 3 Algorithm Details

[0219]

[0220] 2.2 Impact of different mechanisms

[0221] As described in Section 3, this paper introduces three strategies into the original SO. This section mainly tests the impact of these three strategies on the original algorithm and determines the optimal combination of mechanisms for subsequent performance testing. This section defines the algorithm formed by embedding SOBOL sequences into the SO as SSO, the algorithm formed by embedding nonlinear factors into the SO as NSO, and the algorithm formed by embedding a difference strategy as DSO. Embedding all three strategies simultaneously into the SO forms SNDSO. Performance testing is conducted on the CEC2017 test function with a test dimension of 30D. Statistical ranking is performed using a mean-based method, and the performance is evaluated using the rank-sum test. Experimental results are shown in Table 4.

[0222] Table 4 Performance Evaluation Results

[0223]

[0224]

[0225] As shown in Table 4, the average ranking of SSO, NSO, DSO, and SNDSO is better than that of SO. This indicates that the embedding of each strategy can enhance the performance of SO. The rank-sum test also shows that the embedding of each strategy can enhance the performance of SO, demonstrating the effectiveness of each strategy. Furthermore, SNDSO has the highest average ranking, indicating that the combination of these three strategies can better enhance the performance of SO. Therefore, SNDSO is selected as the optimal mechanism combination for the next stage of the experiment.

[0226] 2.3 Numerical Analysis and Convergence Analysis

[0227] SNDSO was compared with seven other advanced algorithms to evaluate its performance in handling practical parameter optimization problems. The test dimension was 30D. The experimental results based on the mean and standard deviation are shown in Table 5, and the results based on the mean ranking and rank-sum test are shown in Table 6. Figure 1 and Figure 2The tables show the algorithm's convergence curve and box plot, respectively. The convergence curve reveals the algorithm's convergence properties. The box plot shows the algorithm's stability in solving the problem. Tables 5 and 6 show that compared to SO, SNDSO outperforms SO on 27 functions, only lagging behind SO on functions F7 and F10, with a win rate of 93.1%. Compared to GA, SNDSO outperforms SO on 24 functions, only lagging behind GA on functions F1, F4, F6, F10, and F28, with a win rate of 82.7%. Compared to BESD, SNDSO outperforms BESD on 21 functions, only lagging behind BESD on functions F3, F10, F14, F15, F18, F19, F20, and F22, with a win rate of 72.4%. SNDSO outperforms FSTDE on 23 functions, only lagging behind FSTDE on functions F3, F10, F14, F15, F18, F19, F20, and F22, with a win rate of 79.3%. Compared to ZOA, SNDSO outperforms ZOA on 26 functions, only lagging behind ZOA on functions F3, F10, and F20, with a win rate of 89.6%. Compared to DBO and MFO, SNDSO outperforms them on 29 functions, with a win rate of 100%. Figure 1 and Figure 2 We can see that compared to the comparison algorithms, SNDSO has a faster convergence speed and higher convergence accuracy. At the same time, SNDSO's stability is also significantly improved. From the above analysis, we can conclude that SNDSO's performance is greatly improved compared to the original SO algorithm, and it also has certain advantages compared to the comparison algorithms. This is attributed to the following reasons: using the SOBOL sequence to generate a better initial population is beneficial for finding a better global optimum; using a nonlinear factor better balances the relationship between global and local exploration; and finally, using a difference mechanism alleviates the problem of getting trapped in local optima. Combining these three strategies helps improve the algorithm's convergence performance and speed, while also enhancing the stability of SO.

[0228] Table 5. Experimental results of the mean and standard deviation of the CEC2017 function.

[0229]

[0230]

[0231] Table 6. Rank-sum test results based on mean ranking

[0232]

[0233]

[0234] 2.4 Extensibility Analysis

[0235] This section primarily tests the scalability of SNDSO, focusing on its ability to handle high-dimensional problems. The test dimensions are set to 50 and 100. Comparison algorithms are shown in Table 4. The average ranking results for 50 dimensions are shown in Table 7, and for 100 dimensions in Table 8. The last row of the tables represents the rank-sum test. With a dimension of 50, SNDSO's average ranking is 2.51, ranking first overall compared to the comparison algorithms. Furthermore, the rank-sum test shows that the total number of winning functions in SNDSO far exceeds the total number of losing functions. With a dimension of 100, SNDSO's average ranking is 2.41, also ranking first overall compared to the comparison algorithms. Again, the rank-sum test shows that the total number of winning functions in SNDSO far exceeds the total number of losing functions. In summary, the embedded mechanism not only gives SNDSO an advantage in low-dimensional problems but also provides certain advantages in solving high-dimensional problems.

[0236] Table 7. Average ranking results across 50 dimensions

[0237]

[0238]

[0239] Table 8. Average ranking results across 100 dimensions

[0240] F1 2 1 6 5 8 4 7 3 F3 4 6 1 7 2 5 8 3 F4 2 1 5 4 7 6 8 3 F5 1 3 6 7 4 5 8 2 F6 3 1 5 4 7 6 8 2 F7 2 3 5 4 7 6 8 1 F8 2 3 6 7 5 4 8 1 F9 1 3 5 8 4 7 6 2 F10 7 1 6 5 3 4 2 8 F11 3 5 2 6 4 7 8 1 F12 3 1 6 5 8 4 7 2 F13 3 2 6 5 8 4 7 1 F14 3 6 2 8 5 7 4 1 F15 4 2 6 5 8 3 7 1 F16 2 1 8 6 7 5 3 4 F17 1 2 3 5 8 6 7 4 F18 7 3 1 8 4 5 6 2 F19 3 2 5 4 8 6 7 1 F20 5 3 7 4 1 6 2 8 F21 3 2 4 5 8 7 6 1 F22 5 1 7 6 4 3 2 8 F23 4 2 6 5 8 7 3 1 F24 5 4 6 3 8 7 2 1 F25 3 1 5 6 7 4 8 2 F26 5 4 7 2 8 6 3 1 F27 5 4 7 2 8 6 3 1 F28 3 1 4 6 7 5 8 2 F29 4 2 7 3 8 5 6 1 F30 3 1 6 4 8 5 7 2 Mean 3.37931 2.448276 5.172414 5.137931 6.275862 5.344828 5.827586 2.413793 Rank 3 2 5 4 8 6 7 1 + / - / = 5 / 18 / 6 12 / 17 / 0 5 / 23 / 1 3 / 26 / 0 4 / 25 / 0 3 / 26 / 0 3 / 24 / 2 NA

[0241] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims

1. A cloud resource planning and scheduling method with a global search mechanism and fast convergence, characterized in that, Includes the following steps: S1, obtain the user's initialization parameter data, including the task size in bytes and the virtual machine bandwidth; then establish the objective function fit: Among them, ECT lk This represents the execution time of the l-th task on the k-th virtual machine; N tsk Indicates the number of tasks; N vm Indicates the number of virtual machines; task_length l Indicates the size in bytes of the l-th task; MIPS k This represents the bandwidth of the k-th virtual machine; This means that the l-th task is assigned to the k-th virtual machine; S2, using an improved snake optimization algorithm, yields the optimal population; S2-1, Initialize the algorithm parameters and initialize the population based on the parameters; The formula for initializing the population is: X i =X min +r×(X max -X min ) Among them, X i This represents the location information of the i-th individual; r∈[0,1], where r is a random number generated in the interval [0,1]. X max It represents the upper boundary of the solution space of the problem; X min It represents the lower boundary of the solution space of the problem; S2-2, the population is divided into two subpopulations, female and male, according to sex; S2-3, if t≤T, then execute step S2-4; otherwise, jump to step S2-7, and t=t+1; S2-4, find the optimal male and female individuals, and calculate the temperature (Temp) and food quantity (Q) using the following formulas: Where t represents the current iteration number; T represents the maximum number of iterations; Where c1 is a constant; S2-5, if Q<0.25 indicates that there is no food and rand<0.5, then use formulas (7) and (9) to update the positions of male and female individuals respectively, and then execute step S2-3; X i,m (t+1)=X rand,m (t)±c2×A m ×((X max -X min )×rand+X min ) (7) Where X i,m Indicates the position of the i-th male individual; X rand,m This indicates the location information of a random individual within the male population; rand represents a random number within the interval [0,1]. c2 is a constant; A m It indicates the ability of a male individual to find food; X i,f =X rand,f (t+1)±c2×A f ×((X max -X min )×rand+X min ) (9) Among them, X i,f Indicates the position of the i-th female individual; X rand,f This indicates the location information of a random individual within the female population; A f It indicates the ability of a female individual to find food; If Q < 0.25 indicates that there is no food and rand > 0.5, then use formula (11) to update the individual's position and then perform steps S2-3; Where R is an adaptively decreasing variable; rand represents a random number generated in the interval [0,1]. * represents the dot product operation in mathematics; X i Represents the i-th individual; X best This represents the best individual in the population. X rand1 X rand2 X rand3 These represent three distinct random individuals in the population; If Q > 0.25 and Temp > 0.6, indicating that food is available and the snake is in a warm environment, then update the individual position using formula (12) and then proceed to steps S2-3; X i,j (t+1)=X food ±c3×Temp×rand×(X food -X i,j (t)) (12) X i,j Let represent the position of the i-th individual in the population, and j represent the j-th dimension of individual i; X food Indicates the position of the optimal individual; c3 is a constant; If Q > 0.25 and Temp <= 0.6, it means that food is present and the snake is in a cold environment, then proceed to steps S2-6; S2-6, generate a random number in the range [0,1]. If the random number is greater than 0.6, it means that the snake is in combat mode. Then use formulas (13) and (14) to update the position of the male individual and the position of the female individual respectively. X i,m (t+1)=X i,m (t)+c3×FM×rand×(Q×X best,f -X i,m (t)) (13) Among them, X i,m (t+1) represents the position information of the i-th male individual in the (t+1)-th generation; X i,f (t+1) represents the position information of the i-th female individual in the (t+1)-th generation; X best,f This represents the optimal female individual; FM indicates the combat ability of a male individual; Q represents the quantity of food; X i,f (t+1)=X i,f (t+1)+c3×FF×rand×(Q×X best,m -X i,f (t+1)) (14) If the random number is less than 0.6, it means that the snake is in mating mode. Use formulas (17) and (18) to update the positions of the male and female individuals respectively. X i,m (t+1)=X i,m (t)+c3×M m ×rand×(Q×X i,f (t)-X i,m (t)) (17) X i,f (t+1)=X i,f (t)+c3×M f ×rand×(Q×X i,m (t)-X i,f (t)) (18) Meanwhile, when the eggs are hatching, the worst male and female individuals are selected and replaced, as shown in formulas (21) and (22), and then the process jumps to step four. X worst,m =X min +rand×(X max -X min ) (21) X worst,f =X min +rand×(X max -X min ) (22) Among them, X worst,m and X worst,f These represent the worst male and the worst female individuals, respectively. S3: Select the individual with the smallest objective function value from the optimal population as the optimal resource scheduling scheme.

2. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, The initial population can also be calculated using the following formula: X i =X min +S i *(X max -X min ) (2) Among them, X i Let i represent the i-th individual, and each individual represents a resource scheduling scheme; X max It represents the upper boundary of the solution space of the problem; X min It represents the lower boundary of the solution space of the problem; S i This represents a random number in the sobol sequence.

3. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, The quantity Q of food in step S2-4 can also be calculated using the following formula: Q=c1*(start+end*tanh*(0.75*π*t / T)) (6) Where c1 is a constant; start = 0.3 indicates that the starting point of the curve is 0.3; end = 0.7 indicates that the endpoint of the curve is 0.7; t represents the current iteration number; T represents the maximum number of iterations.

4. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, The male's ability to find food A m The calculation formula is: Where f rand,m Represents the fitness value of a random male individual; f i,m This represents the fitness value of the i-th male individual; The female individual's ability to find food A f The calculation formula is: f rand,f This represents the fitness value of a random female individual. f i,f This represents the fitness value of the i-th female individual.

5. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, The formula for calculating the combat ability (FM) of the male individual is as follows: The formula for calculating the combat ability (FM) of the female individual is as follows: Among them, f best,f This represents the optimal fitness value among female individuals. f best,m This represents the optimal fitness value among male individuals. f i This represents the fitness value of the i-th individual.

6. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, The reproductive capacity M of the male individual m The calculation formula is as follows: The reproductive capacity of female individuals (M) f The calculation formula is as follows: Among them, f i,m This represents the fitness value of the i-th male individual; f i,f This represents the fitness value of the i-th female individual.

7. A cloud resource planning and scheduling method with a global search mechanism and fast convergence as described in claim 1 or 3, characterized in that, c1=0.5。 8. The cloud resource planning and scheduling method with fast convergence and a global search mechanism according to claim 1, characterized in that, c2 = 0.05, c3 = 2.

Citation Information

Patent Citations

  • Improved hybrid chimpanzee optimization algorithm

    CN114676810A

  • Method and System for Scheduling Task in Cloud Computing

    US20160292013A1