Parameter optimization method and device based on improved dwarf ferret optimization algorithm

By simulating the foraging behavior of mongooses through an improved dwarf mongoose optimization algorithm, an initial population is generated and its evolution is controlled, solving the problems of cumbersome parameter setting and human error in engineering projects, and achieving efficient and accurate parameter optimization.

CN116502670BActive Publication Date: 2025-12-12LIAONING TECHNICAL UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310520135.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-09
Publication Date
2025-12-12
Estimated Expiration
2043-05-09

AI Technical Summary

Technical Problem

The current engineering project parameter setting is cumbersome and prone to human error, making it impossible to obtain the optimal parameters, resulting in high labor costs and low optimization efficiency.

Method used

An improved dwarf meerkat optimization algorithm is adopted. By generating an initial population, controlling the population evolution using vocal parameters, simulating meerkat foraging behavior, and optimizing project parameters, the optimal solution is achieved.

Benefits of technology

This improves the efficiency and accuracy of parameter optimization, reduces labor costs, and ensures the determination of optimal parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116502670B_ABST
    Figure CN116502670B_ABST
Patent Text Reader

Abstract

The application provides a parameter optimization method and device based on an improved dwarf ferret optimization algorithm, and belongs to the technical field of computers. The application determines better parameters in the form of electronic device calculation, effectively improves optimization efficiency, is high in accuracy, and improves the dwarf ferret optimization algorithm. In the process of foraging, the chief ferret calls other ferrets to move to a location, and the call parameters change with the number of iterations. In this way, the action track of the ferret during foraging can be better simulated, the foraging behavior of the ferret can be better simulated, the optimal solution can be found faster, and the optimization efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a parameter optimization method based on improved dwarf ferret optimization algorithm. BACKGROUND

[0002] In the technical field of computer, an engineering project can be normally carried out only after setting parameters, and the parameters of the engineering project to be adjusted are generally more than one. When the values of various parameters are different, the performance indicators based on the engineering project are used to measure the pros and cons of the parameters, and the results obtained finally can be different. Therefore, we urgently need to optimize the optimal parameters to achieve the optimal performance.

[0003] At present, the parameters of an engineering project are set by relevant technical personnel according to their own experience, and the values of the performance indicators corresponding to the calculated parameters are determined manually to determine whether the set parameters are appropriate, or the set parameters are determined through experiments to determine whether the set parameters can make the performance indicators reach the minimum.

[0004] Such a way is tedious, high in labor cost, and prone to human errors to result in failure to obtain optimal parameter setting. SUMMARY

[0005] The present application provides a parameter optimization method and device based on improved dwarf ferret optimization algorithm, which achieves the effect of improving parameter optimization efficiency and accuracy. The technical solution is as follows:

[0006] On the one hand, a parameter optimization method based on improved dwarf ferret optimization algorithm is provided, and the method comprises:

[0007] Generating an initial population according to the value range of a plurality of to-be-optimized parameters of a target engineering project, one dimension information of a population individual in the initial population being used to indicate one to-be-optimized parameter;

[0008] Obtaining a call parameter of a first population individual in the initial population, the call parameter varying with the iteration number of the initial population, and the call parameter being used to control the initial population to evolve following the first population individual;

[0009] Controlling the initial population to evolve based on the call parameter, and outputting a target population individual obtained by the initial population in the evolution iteration process when a termination condition is reached, taking the dimension information of the target population individual as a target parameter of the target engineering project, and the target population individual being a population individual with the optimal fitness value in the evolution iteration process of the initial population.

[0010] In some embodiments, the generating an initial population according to the value range of a plurality of to-be-optimized parameters of a target engineering project comprises any one of the following:

[0011] in response to the target engineering project being a tension or compression spring project, generating the initial population according to a value range of a number of spirals of the spring, an outer diameter of the spring, and a diameter of a spring wire of the spring;

[0012] in response to the target engineering project being a pressure vessel project, generating the initial population according to a value range of a shell width of the pressure vessel, a head width of the pressure vessel, a head radius of the pressure vessel, and a length of a cylindrical section of the pressure vessel;

[0013] in response to the target engineering project being a reducer project, generating the initial population according to a value range of a face width of the reducer, a number of teeth of the reducer, a number of internal teeth of a gear of the reducer, a first shaft length and a first shaft diameter between bearings of the reducer, a second shaft length and a second shaft diameter between the bearings of the reducer;

[0014] in response to the target engineering project being a welded beam project, generating the initial population according to a value range of a weld thickness, a clamping bar length, a bar height, and a bar thickness;

[0015] in response to the target engineering project being a four-bar truss project, generating the initial population according to a value range of a displacement node of the four-bar truss and a size of the four-bar truss;

[0016] in response to the target engineering project being a vehicle side impact project, generating the initial population according to a value range of a b-pillar inner width, a b-pillar reinforcement width, an inner floor side width, a cross member width, a door beam width, a door lengthening width, and a wide roof rail width;

[0017] in response to the target engineering project being a gear design project, generating the initial population according to a value range of a number of teeth of a driving gear, a number of teeth of a driven gear, a number of teeth of a gear connected to the driven gear, and a number of teeth of a follower gear;

[0018] in response to the target engineering project being a model training project, generating the initial population according to a value range of a plurality of weights of the model;

[0019] in response to the target engineering project being a robot path planning project, generating the initial population according to a value range of a plurality of path nodes of the robot.

[0020] In some embodiments, a call parameter of a first population individual in the initial population is obtained by the following formula:

[0021]

[0022] wherein peep is the call parameter of the first population individual, it represents a current iteration number, and MaxIt represents a maximum iteration number.

[0023] In some embodiments, the controlling the evolution of the initial population based on the call parameter comprises:

[0024] for each second population individual in the initial population, in response to the random number being greater than the target value, updating the position of the second population individual based on a third population individual and the call parameters, the second population individual being responsible for foraging in the initial population, the third population individual being a population individual randomly selected from the initial population;

[0025] in response to the random number being less than or equal to the target value, updating the position of the second population individual based on a fourth population individual and the call parameters, the fourth population individual being a population individual with the optimal fitness value in the initial population.

[0026] In some embodiments, the method further comprises:

[0027] in response to a time parameter being greater than a target time parameter, initializing a fifth population individual in the initial population; the fifth population individual being a population individual in the initial population other than the second population individual, the time parameter increasing with the number of iterations of the initial population;

[0028] updating the position of the second population individual based on the position of the sleep hill and the current position of the second population individual, so that the second population individual moves towards the sleep hill;

[0029] resetting the time parameter and entering the next iteration.

[0030] In some embodiments, the method further comprises:

[0031] after each iteration, determining the fitness value of each population individual in the current population;

[0032] updating the candidate target population individual based on the fitness value of each population individual in the current population, the candidate target population individual being a population individual with the optimal fitness value in the evolution iteration process of the initial population.

[0033] In some embodiments, the method further comprises:

[0034] in determining the fitness value of any population individual, determining the fitness value of the population individual based on the performance indicators of the target engineering project and a penalty factor, the penalty factor having a smaller value in the early and late stages of the evolution iteration than in the middle stage of the evolution iteration.

[0035] In some embodiments, the penalty factor is determined by the following formula two:

[0036]

[0037]

[0038] wherein it denotes the current iteration number, MaxIt denotes the maximum iteration number, and sin(.) is the sine function.

[0039] In one aspect, there is provided a parameter optimization apparatus based on an improved dwarf ferret optimization algorithm, the apparatus comprising:

[0040] a generating module configured to generate an initial population according to value ranges of a plurality of to-be-optimized parameters of a target engineering project, wherein a dimension information of a population individual in the initial population is used to indicate a to-be-optimized parameter;

[0041] an obtaining module configured to obtain a call parameter of a first population individual in the initial population, wherein the call parameter varies with an iteration number of the initial population, and the call parameter is used to control the initial population to evolve following the first population individual;

[0042] a processing module configured to control the initial population to evolve based on the call parameter, and output a target population individual obtained by the initial population in an evolution iteration process when a termination condition is reached, wherein a dimension information of the target population individual is used as a target parameter of the target engineering project, and the target population individual is a population individual with an optimal fitness value in the evolution iteration process of the initial population.

[0043] In some embodiments, the generating module is configured to perform any one of the following:

[0044] in response to the target engineering project being a tensile or compression spring project, generate the initial population according to value ranges of a number of spirals of a spring, an outer diameter of the spring, and a diameter of a spring wire;

[0045] in response to the target engineering project being a pressure vessel project, generate the initial population according to value ranges of a shell width of the pressure vessel, a head width, a head radius, and a length of a cylindrical section;

[0046] in response to the target engineering project being a reducer project, generate the initial population according to value ranges of a face width of the reducer, a number of teeth, a number of internal teeth of a gear, a first shaft length and a diameter between bearings, and a second shaft length and a diameter between bearings;

[0047] in response to the target engineering project being a welded beam project, generate the initial population according to value ranges of a weld thickness, a clamping bar length, a bar height, and a bar thickness;

[0048] in response to the target engineering project being a four-bar truss project, generate the initial population according to value ranges of a displacement node of the four-bar truss and a size of the four-bar truss;

[0049] In response to the target engineering project being a vehicle side collision project, an initial population is generated according to a value range of a b-pillar inner layer width, a b-pillar reinforcement width, an inner floor side width, a cross member width, a door beam width, a door lengthening width, and a wide top rail;

[0050] In response to the target engineering project being a gear design project, an initial population is generated according to a value range of a number of teeth of a driving gear, a number of teeth of a driven gear, a number of teeth of a gear connected to the driven gear, and a number of teeth of a follower gear;

[0051] In response to the target engineering project being a model training project, an initial population is generated according to a value range of a plurality of weights of a model;

[0052] In response to the target engineering project being a robot path planning project, an initial population is generated according to a value range of a plurality of path nodes of the robot.

[0053] In some embodiments, a calling parameter of a first population individual in the initial population is obtained by the following formula:

[0054]

[0055] wherein peep is the calling parameter of the first population individual, it represents a current iteration number, and MaxIt represents a maximum iteration number.

[0056] In some embodiments, the processing module is configured to:

[0057] For any second population individual in the initial population, in response to a random number being greater than a target value, a position of the second population individual is updated based on a third population individual and the calling parameter, the second population individual is responsible for foraging in the initial population, and the third population individual is a population individual randomly selected from the initial population;

[0058] In response to the random number being less than or equal to the target value, the position of the second population individual is updated based on a fourth population individual and the calling parameter, and the fourth population individual is a population individual with an optimal fitness value in the initial population.

[0059] In some embodiments, the processing module is further configured to:

[0060] In response to a time parameter being greater than a target time parameter, a fifth population individual in the initial population is initialized, the fifth population individual is a population individual in the initial population other than the second population individual, and the time parameter increases with an iteration number of the initial population;

[0061] updating the position of the second population individual based on the position of the sleep hill and the current position of the second population individual, so that the second population individual moves towards the sleep hill;

[0062] entering the next iteration after resetting the time parameter.

[0063] In some embodiments, the apparatus further comprises:

[0064] a first determining module configured to determine the fitness value of each population individual in the current population after each iteration;

[0065] an updating module configured to update the candidate target population individual based on the fitness value of each population individual in the current population, the candidate target population individual being the population individual with the optimal fitness value in the initial population evolution iteration process.

[0066] In some embodiments, the apparatus further comprises:

[0067] a second determining module configured to determine the fitness value of each population individual based on the performance index of the target engineering project and a penalty factor when determining the fitness value of each population individual, the penalty factor having a smaller value in the early and late stages of the evolution iteration than in the middle stage of the evolution iteration.

[0068] In some embodiments, the penalty factor is determined by the following formula two:

[0069]

[0070]

[0071] wherein, it represents the current iteration number, MaxIt represents the maximum iteration number, and sin(.) is a sine function.

[0072] In an aspect, an electronic device is provided, which includes one or more processors and one or more memories having stored therein at least one computer program, the at least one computer program being loadable and executable by the one or more processors to implement various optional implementations of the parameter optimization method based on the improved lemming optimization algorithm described above.

[0073] In an aspect, a computer-readable storage medium is provided, which has stored therein at least one computer program, the at least one computer program being loadable and executable by a processor to implement various optional implementations of the parameter optimization method based on the improved lemming optimization algorithm described above.

[0074] In an aspect, a computer program product or a computer program is provided, the computer program product or the computer program comprising one or more programs codes stored in a computer readable storage medium. One or more processors of an electronic device read the one or more program codes from the computer readable storage medium, and execute the one or more program codes, so that the electronic device performs the parameter optimization method based on the improved meerkat optimization algorithm in any possible implementation manner described above.

[0075] The application optimizes the parameters to be optimized of an engineering project in a way of simulating population evolution, indicates the parameters by the dimension information of population individuals, so as to determine whether the value of the parameters is optimal, and determines the better parameters by the way of electronic device calculation, effectively improves the optimization efficiency, and has high accuracy. In addition, the application improves the meerkat optimization algorithm, considers that the chief meerkat calls other meerkats to move to a place in the foraging process of meerkat population, and the call parameter changes with the number of iterations, so that the action track of meerkat foraging can be better simulated, the foraging behavior of meerkat can be better simulated, and the optimal solution can be found faster, and the optimization efficiency is improved. BRIEF DESCRIPTION OF DRAWINGS

[0076] In order to more clearly illustrate the technical solutions in the embodiments of the application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor.

[0077] Figure 1 is a flowchart of a parameter optimization method based on an improved meerkat optimization algorithm provided by an embodiment of the application;

[0078] Figure 2 is a box plot of fitness values of 4 functions tested for 30 times provided by an embodiment of the application;

[0079] Figure 3 is a comparison curve of average fitness values of statistical results provided by an embodiment of the application;

[0080] Figure 4 is a design structure diagram of a tension or compression spring provided by an embodiment of the application;

[0081] Figure 5 is a design structure diagram of a pressure vessel provided by an embodiment of the application;

[0082] Figure 6 is a design structure diagram of a speed reducer provided by an embodiment of the application;

[0083] Figure 7 is a design structure diagram of a welded beam provided by an embodiment of the present application;

[0084] Figure 8 is a structural schematic diagram of a parameter optimization device based on an improved dwarf ferret optimization algorithm provided by an embodiment of the present application;

[0085] Figure 9 is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0086] To make the objectives, technical solutions and advantages of embodiments of the present application clearer, the technical solutions of the embodiments of the present application will be described below in detail with reference to the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the described embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of the present application.

[0087] Unless otherwise defined, technical terms or scientific terms used in the present application shall have the common meaning understood by those of ordinary skill in the art to which the present application belongs. The terms "first", "second" and similar terms used in the present application do not indicate any order, number or importance, but are only used to distinguish different components. Similarly, the terms "one", "a" or "the" and similar terms do not indicate a number limitation, but indicate the existence of at least one. The terms "include" or "contain" and similar terms mean that the elements or objects before the terms cover the elements or objects listed after the terms and their equivalents, and do not exclude other elements or objects. The terms "connect" or "connected" and similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect.

[0088] Figure 1 is a flowchart of a parameter optimization method and device based on an improved dwarf ferret optimization algorithm provided by an embodiment of the present application, the method is applied in an electronic device, which is a terminal or a server, see Figure 1 Taking the case that the method is applied in a terminal, the method comprises the following steps.

[0089] 101、The terminal generates an initial population according to the value range of a plurality of to-be-optimized parameters of a target engineering project, one dimension information of a population individual in the initial population is used to indicate one to-be-optimized parameter.

[0090] In the embodiments of the present application, the engineering project refers to any project for solving a problem. For example, in some embodiments, the engineering project is a project taking engineering construction as a carrier, and in the embodiments of the present application, the engineering project refers to any project for solving an engineering problem. For example, a tension or compression spring project, a pressure vessel project, a speed reducer project, a welded beam project, etc. For another example, in some other embodiments, the engineering project can be a project for solving a computer problem, for example, a robot path planning project or a model training project. The embodiments of the present application do not limit the specific content of the engineering project.

[0091] In the engineering project, there are usually some parameters to be set, and if the parameters are set differently, the effect or performance of the final engineering practice can be different, and therefore, it is very important to select a more optimal parameter setting. The embodiments of the present application optimize the parameters of the engineering project by using an improved meerkat optimization method, so as to obtain the optimal parameters.

[0092] The parameters to be set and optimized in the engineering project can be different for different engineering projects. The following provides several possible engineering projects, but the method shown in the present application can be applied to, but not limited to, the following engineering projects.

[0093] In some embodiments, the target engineering project can be a tension or compression spring project, and the parameters to be optimized of the project are the number of turns of the spring, the outer diameter of the spring and the diameter of the spring wire, and accordingly, the step 101 can be that in response to the target engineering project being a tension or compression spring project, the terminal generates an initial population according to the value range of the number of turns of the spring, the outer diameter of the spring and the diameter of the spring wire.

[0094] In some embodiments, the target engineering project can be a pressure vessel project, and the parameters to be optimized of the project are the shell width of the pressure vessel, the head width, the head radius and the length of the cylindrical cross section. Accordingly, the step 101 can be that in response to the target engineering project being a pressure vessel project, the terminal generates an initial population according to the value range of the shell width of the pressure vessel, the head width, the head radius and the length of the cylindrical cross section.

[0095] In some embodiments, the target engineering project can be a speed reducer project, and the parameters to be optimized of the project are the face width of the speed reducer, the number of teeth, the number of internal teeth of the gear, the first shaft length and diameter between bearings, and the second shaft length and diameter between bearings, and accordingly, the step 101 can be that in response to the target engineering project being a speed reducer project, the terminal generates an initial population according to the value range of the face width of the speed reducer, the number of teeth, the number of internal teeth of the gear, the first shaft length and diameter between bearings, and the second shaft length and diameter between bearings.

[0096] In some embodiments, the target engineering project can be a welded beam project, and the parameters to be optimized of the project are weld thickness, clamping bar length, bar height, and bar thickness. Accordingly, the step 101 can be: in response to the target engineering project being the welded beam project, the terminal generates an initial population according to the value range of the weld thickness, the clamping bar length, the bar height, and the bar thickness.

[0097] In some embodiments, the target engineering project can be a four-bar truss project, and the parameters to be optimized of the project are displacement nodes of the four-bar truss and sizes of the four-bar truss. Accordingly, the step 101 can be: in response to the target engineering project being the four-bar truss project, the terminal generates an initial population according to the value range of the displacement nodes of the four-bar truss and the sizes of the four-bar truss.

[0098] In some embodiments, the target engineering project can be a vehicle side impact project, and the parameters to be optimized of the project are b-pillar inner layer width, b-pillar reinforcement width, inner floor side width, cross member width, door beam width, door lengthening width, and wide top rail. Accordingly, the step 101 can be: in response to the target engineering project being the vehicle side impact project, the terminal generates an initial population according to the value range of the b-pillar inner layer width, the b-pillar reinforcement width, the inner floor side width, the cross member width, the door beam width, the door lengthening width, and the wide top rail.

[0099] In some embodiments, the target engineering project can be a gear design project, and the parameters to be optimized of the project are the number of teeth of a driving gear, the number of teeth of a driven gear, the number of teeth of a gear connected to the driven gear, and the number of teeth of a follower gear. Accordingly, the step 101 can be: in response to the target engineering project being the gear design project, the terminal generates an initial population according to the value range of the number of teeth of the driving gear, the number of teeth of the driven gear, the number of teeth of the gear connected to the driven gear, and the number of teeth of the follower gear.

[0100] In some embodiments, the target engineering project can be a model training project, and the parameters to be optimized of the project are a plurality of weights of a model. Accordingly, the step 101 can be: in response to the target engineering project being the model training project, the terminal generates an initial population according to the value range of the plurality of weights of the model.

[0101] In some embodiments, the target engineering project can be a robot path planning project, and the parameters to be optimized of the project are a plurality of path nodes of a robot. Accordingly, the step 101 can be: in response to the target engineering project being the robot path planning project, the terminal generates an initial population according to the value range of the plurality of path nodes of the robot.

[0102] Of course, the target engineering project can also be other projects, for example, a project of trade-off between economic benefits and carbon emissions of an energy system, a project of trade-off between energy saving in building operation and indoor light and heat comfort, or a project of resource allocation. Embodiments of the present application do not list all the projects here, and embodiments of the present application do not limit this.

[0103] After the terminal determines the parameters to be optimized, the terminal can optimize the parameters by simulating the process of population evolution.

[0104] In some embodiments, the terminal can first acquire the value range of the parameters to be optimized of the target engineering project, and then generate an initial population according to the value range of the parameters to be optimized.

[0105] For example, the parameters to be optimized are gender and age, the terminal first determines in step 101 that the parameters to be optimized are gender and age, and the value range of gender is 0 and 1, 0 indicating male and 1 indicating female. The value range of age is [0, 100]. Thus, in this example, a population individual can include two dimensional information, one indicating gender and the other indicating age.

[0106] The population individual in the initial population can include multiple dimensional information, one dimensional information indicating one parameter to be optimized, so that one population individual is a value combination of the parameters to be optimized. Through the evolution iteration of the initial population, the dimensional information of the population individual is updated to search and mine which value combination of the parameters to be optimized is optimal.

[0107] 102、The terminal acquires the call parameter of the first population individual in the initial population, the call parameter changing with the evolution times of the initial population, the call parameter being used to control the initial population following the evolution of the first population individual.

[0108] The first population individual is the leader in the population individual, and in foraging, the leader generally leads the subordinates to forage, and the leader will make a call. In the population simulation, the leader is determined as the first population individual, and the call parameter is assigned to the first population individual.

[0109] Dwarf Mongoose Optimization (DMO) is an optimization algorithm based on the foraging behavior of mongoose. The algorithm uses the three social groups of mongoose (alpha group, babysitter group and scout group) to simulate the semi-tour behavior of mongoose, and has better performance compared with other algorithms. The behavior of the mongoose can be divided into two stages, one stage is the foraging stage, and the other stage is the reconnaissance stage. It should be noted that during the algorithm running process, the mongoose can be divided into two groups, group 1 and group 2, group 1 is used to scout in the reconnaissance stage and is responsible for foraging in the foraging stage, that is, group 1 acts as the scout group in the reconnaissance stage and as the alpha group in the foraging stage. Group 2 acts as the babysitter group. During the evolution iteration process, the individuals in the babysitter group can be replaced or changed.

[0110] Mongoose is an animal that uses groups as foraging units. The leader alpha emits a 2kHz short nose sound "peep" to maintain the cohesion of the population. Because each individual in the mongoose population is different from the distance to the location of the leader alpha, when the prey is found, the leader alpha emits a call to assemble everyone to catch the prey, at this time the whole population moves towards a location, and the animal changes its moving position with the change of the call parameters. Because the mongoose gradually speeds up during running, but as the distance to the target becomes closer, it gradually reduces the speed until it reaches the destination, so as to better match the companion to prey the prey.

[0111] Understanding the living habits of mongoose, in order to better simulate the peep behavior of mongoose, the call parameter is set as a variable parameter, which changes with the iteration number of the initial population, that is, it can be used to simulate the change of call parameter in the foraging process of mongoose.

[0112] In some embodiments, the present application constructs a non-linearly decreasing peep value to better match the companion to prey the prey. Specifically, the call parameter of the first population individual in the initial population is obtained by the following formula one:

[0113]

[0114] Wherein, peep is the call parameter of the first population individual, it represents the current iteration number, and MaxIt represents the maximum iteration number.

[0115] In the formula one, peep decreases with the increase of iteration number, and the decrease presents non-linear characteristics.

[0116] For the first population individual, i.e., the leader population individual, or alpha, the terminal can calculate the fitness value of each population individual in the initial population after generating the initial population, and determine the first population individual in the initial population based on the fitness value.

[0117] In a possible implementation, the terminal can calculate the fitness value of each population individual in the initial population based on the performance index of the target engineering project.

[0118] The performance index of the target engineering project can be expressed by an objective function, and generally, in solving the target engineering project, the objective function usually takes the minimum value or the maximum value as the optimal solution condition. The fitness value, i.e., the value of the objective function, can be understood that in the minimization problem, the minimum fitness value is the optimal fitness value, and the population individual with the minimum fitness value is optimal. In the maximization problem, the maximum fitness value is the optimal fitness value, and the population individual with the maximum fitness value is optimal.

[0119] After calculating the fitness value of each population individual, the leader can be selected based on the fitness value. In a possible implementation, the terminal can determine the probability of each population individual as the first population individual based on the fitness value of each population individual, and select the population individual with the maximum probability as the first population individual.

[0120] In some embodiments, the probability can be positively correlated with the fitness value. The greater the fitness value, the greater the probability. The smaller the fitness value, the smaller the probability.

[0121] Of course, in other embodiments, the probability can also be negatively correlated with the fitness value, i.e., the greater the fitness value, the smaller the probability. The smaller the fitness value, the greater the probability. The embodiments of the present application are not limited in this regard.

[0122] In a specific possible embodiment, the terminal can determine the probability p of each population individual as the first population individual by the following Formula Three:

[0123]

[0124] Wherein, fit i is the fitness value of the i-th population individual, n is the population size (i.e., the total number of population individuals in the initial population). The number of ferrets in the alpha group is n-bs, and bs is the number of babysitters.

[0125] After the terminal calculates the probability, the population individual with the maximum probability can be selected as the first population individual (leader alpha).

[0126] 103、the terminal controls evolution of the initial population based on the call parameter until a termination condition is reached, and outputs a target population individual obtained by the initial population in the iteration process, takes dimension information of the target population individual as a target parameter of the target engineering project, and the target population individual is a population individual with the minimum fitness value of the initial population in the evolution iteration process.

[0127] After the initial population is generated, since the population individuals in the initial population are obtained by initialization, the positions of the population individuals are further updated by evolution to simulate foraging behavior of the population, so as to search for a better population individual in the new population individual, so as to search for an optimal population individual.

[0128] In the evolution process, the number of iterations gradually increases, and the call parameter also changes with the number of iterations. Understandably, the change of the call parameter of the leader alpha will also cause the change of the overall position of the population. The specific evolution process can be understood as updating the position of each population individual in the population individual to obtain a new population individual. Here, the new population individual does not refer to a newly generated population individual, but the dimension information of the original population individual is changed, that is, the position is changed. The target population individual obtained by the final optimization is understood as the optimal solution, and the process can be understood as candidate solution updating.

[0129] In some embodiments, in the evolution, for the foraging stage, the position of the second population individual responsible for foraging can be updated. In the updating, two position updating methods can be provided to balance between local search and global search, better explore and develop in the candidate solution updating process, effectively enhance the exploration ability, and improve the convergence accuracy of the algorithm. This process can be called a new candidate solution updating mechanism (CSUM).

[0130] Specifically, for any second population individual in the initial population, in updating method one, in response to a random number being greater than a target value, the terminal updates the position of the second population individual based on a third population individual and the call parameter, the second population individual is responsible for foraging in the initial population, and the third population individual is a population individual randomly selected from the initial population. In updating method two, in response to the random number being less than or equal to the target value, the terminal updates the position of the second population individual based on a fourth population individual and the call parameter, and the fourth population individual is a population individual with the optimal fitness value in the initial population.

[0131] The second population individual is an alpha group responsible for foraging. The third population individual is a randomly selected solution, that is, a population individual randomly selected from all population individuals of the initial population. The fourth population individual is the optimal population individual in the current population, which is the current optimal solution.

[0132] For a second population individual, the terminal can generate a random number, and then compare the random number and the target value. According to the size relationship, the position of the second population individual is updated by selecting the updating mode corresponding to the size relationship.

[0133] For the target value, a related technical person can set it according to the needs. For example, the target value can be 0.5. When the random number is greater than 0.5, the position of the second population individual is updated by using updating mode one, otherwise, the position of the second population individual is updated by using updating mode two. The embodiments of the present application are not limited to this.

[0134] In some embodiments, the candidate solution updating process can be implemented by the following formula four.

[0135]

[0136] Wherein, X k is a randomly selected solution (that is, the third population individual), X best is the optimal solution obtained at present (that is, the fourth population individual). rand is a random number. peep is the call parameter of the first population individual, that is, obtained by step 102. Ur ∈ [-1, 1], that is, a random number.

[0137] When updating the candidate solution, first generate a random number. If the value range is in [0, 0.5), X best and X i update X i+1 , which is beneficial to global exploration and further ensures the peeping behavior of ferrets. When the value range is in [0.5, 1], X i and X k update X i+1 , which is beneficial to local exploration. Therefore, the candidate solution updating mechanism can enhance the exploration ability to achieve better optimization performance.

[0138] In some embodiments, a switching condition can be set for the switching of the foraging stage and the reconnaissance stage. For example, a time parameter can be set in the evolution iteration process. The time parameter can increase with the increase of the iteration number. When the switching condition is reached, the time parameter is reset, and the iteration number is increased again. In this way, the stage switching in the evolution iteration process is realized.

[0139] In some embodiments, the switching condition can be that the time parameter is greater than a target time parameter, and the individual in the nanny group is referred to as a fifth population individual, so in step 103, the terminal can also initialize the fifth population individual in the initial population in response to the time parameter being greater than the target time parameter, the fifth population individual being the population individual in the initial population other than the second population individual, and the time parameter increasing with the number of iterations of the initial population. Then the terminal can update the position of the second population individual based on the position of the sleep hill and the current position of the second population individual, so that the second population individual moves towards the sleep hill, and finally resets the time parameter and enters the next iteration.

[0140] The nanny is responsible for taking care of the kittens and is rotated regularly and is a clonal member of the dwarf ferret population. The number of nannies depends on the size of the population, and the algorithm is affected by reducing the number of nannies. The above process is that when the nanny group needs to be updated, the reconnaissance phase is entered, and the alpha group originally responsible for foraging acts as a reconnaissance group to reconnoiter. The reconnaissance process is to search for a sleep hill and move towards the sleep hill. Since the ferret knows that it cannot return to the previous sleep hill, the reconnoiterer will quickly find the next sleep hill.

[0141] In some embodiments, for the sleep hill, the sleep hill can be defined by the following formula five during each iteration.

[0142]

[0143]

[0144] wherein mo i is the sleep hill, is the average time. n is the population size. max(.) is a function that takes the maximum value.

[0145] After the sleep hill and the average time are determined, the terminal can control the reconnaissance group to move towards the sleep hill. Thus, when the switching condition is reached, the terminal can update the position of the second population individual based on the position of the sleep hill and the current position of the second population individual to obtain a new position of the second population individual.

[0146] In some embodiments, the position updating process of the second population individual can be implemented by the following formula seven, formula eight and formula nine.

[0147]

[0148]

[0149]

[0150] where rand∈[0, 1], W1is linearly decreasing with iteration, and is the will parameter to control the movement of the ferret. The direction of the movement can be determined by the current position of the second population individual and the position of the sleeping hill.

[0151] In some embodiments, in the above evolutionary iteration process, after the candidate solutions are updated each time, the fitness values of the candidate solutions are calculated to obtain their respective fitness values. In this way, the optimal solution among the updated candidate solutions can be known through the fitness values, so that the optimal solution obtained after each iteration can be compared with the optimal solution obtained after the last iteration, and if the optimal solution obtained this time is better, the optimal solution is updated to obtain the optimal solution since the iteration. Specifically, the terminal determines the fitness value of each population individual in the current population after each iteration, and then updates the candidate target population individual based on the fitness value of each population individual in the current population, the candidate target population individual being the population individual with the optimal fitness value in the evolutionary iteration process of the initial population. The candidate target population individual is the optimal solution obtained after the evolutionary iteration.

[0152] For example, in a specific example, in combination with the above-mentioned embodiments, the above-mentioned method can be implemented by an improved ferret optimization algorithm (named PCDMO), and a flow of the algorithm is provided as follows:

[0153] Input: population size NP, maximum iteration number Maxiter, babysitter population number bs, babysitter exchange parameter L

[0154] Output: optimal solution x * , optimal fitness value f(x * )

[0155] Step 1 initialize the population, calculate the fitness value, and establish the time parameter c

[0156] Step 2 For It=1:MaxIt

[0157] Step 3 select the leader alpha according to formula three

[0158] Step 4 generate a new candidate solution according to formula four

[0159] Step 5 calculate the fitness value of X i+1

[0160] Step 6 calculate the average sleeping time of the hill according to formula six

[0161] Step 7 If C≥L​

[0162] Step 8 Initialize the nanny population and calculate the fitness value

[0163] Step 9 Update the scout population position according to Formula Seven

[0164] Step 10 Endif

[0165] Step 11 Update the current optimal solution x * and the optimal fitness value f(x * )

[0166] Step 12 Endfor

[0167] Step 13 Return x * and f(x * )

[0168] At this time, the x * returned is the optimal solution, i.e., the target parameter. f(x * ) is the fitness value of the optimal solution x * . In some embodiments, a penalty factor can be added when the fitness value needs to be determined at each step described above, and the parameter optimization is performed by the penalty function method. The penalty function method balances the target and the constraint by adjusting the size of the penalty factor. If the value of the penalty factor (a) is set too large, it is not conducive to the algorithm converging to the optimal solution. If the value of the penalty factor is set too small, the penalty for infeasible solutions is not enough, which is not conducive to searching for feasible solutions. Therefore, how to find a suitable penalty factor is the key to solving Constrained Optimization Problems (COPs) using the penalty function method.

[0169] Specifically, when determining the fitness value of any kind of population individual, the terminal determines the fitness value of the population individual based on the performance indicators of the target engineering project and the penalty factor. The value of the penalty factor in the early and late stages of evolution iteration is less than the value of the penalty factor in the middle stage of evolution iteration.

[0170] This paper constructs a new dynamic penalty factor. In the early stage of algorithm iteration, the value of a is small, which tries to diverge in the search space and perform global search, which is conducive to increasing the diversity of the population. In the middle stage of iteration, the value of a is large, which makes the algorithm search within the feasible region and enhances the local search ability of the algorithm. In the late stage of iteration, the value of a gradually decreases, i.e., the penalty for infeasible solutions gradually decreases, effectively utilizing valuable information in the infeasible region.

[0171] In some embodiments, the penalty factor is determined by Formula Two as follows:

[0172]

[0173]

[0174] wherein it represents the current iteration number, MaxIt represents the maximum iteration number, and sin(.) is a sine function.

[0175] For the termination condition, the termination condition can be that the iteration number reaches the maximum iteration number, or that the objective function reaches the minimum value, and the like, and the embodiments of the present application do not make specific limitations thereto.

[0176] The present application optimizes the parameters to be optimized of the engineering project in the way of simulating population evolution, uses the dimension information of the population individual to indicate the parameters, so as to determine whether the value of the parameters is optimal, and the process is determined by the way of calculation of the electronic device to determine the better parameters, which effectively improves the optimization efficiency and has high accuracy. In addition, the present application improves the dwarf cat optimization algorithm, considering that the chief of the dwarf cat population calls other dwarf cats to move to a location in the foraging process, and the call parameters change with the iteration number, which can better simulate the action trajectory of the dwarf cat in foraging, better simulate the foraging behavior of the dwarf cat, and faster dig out the optimal solution to improve the optimization efficiency.

[0177] In order to prove the effectiveness and applicability of the D_PCDMO algorithm and the constructed penalty factor, four groups of experiments are carried out, wherein experiment 1 and experiment 2 respectively explore the performance of the peep behavior (PB) and the candidate solution updating mechanism (CSUM) strategy; experiment 3 and other meta-heuristic algorithms (MAs) are compared, and the good optimization performance of the PCDMO algorithm is verified; and experiment 4 is compared with other constraint optimization algorithms to verify the performance of the D_PCDMO algorithm.

[0178] The experimental environment is as follows: the CPU is Intel Core i7-11700, the main frequency is 2.50GHz, the memory is 32GB, and the algorithm is written based on Matlab2019a.

[0179] To study the performance of the algorithm, first, the performance of the two improved strategies is tested by using the CEC2019 benchmark test function (CEC2019); second, the two strategies are coupled to obtain the PCDMO algorithm, and to further study the performance of the PCDMO algorithm, it is compared with PSO, HHO, WOA, SSA, RSA (Reptile Search Algorithm, RSA), TSA (Tunicate Swarm Algorithm, TSA), HGSO and SCSO (Sand Cat Swarm Optimization, SCSO). The population size is set to 50 populations, and the maximum number of iterations is 1000 times; then, to test the effectiveness of the new dynamic penalty factor constructed, CEC2017 constrained optimization benchmark test function (CEC2017COPs) is used to verify it, and it is compared with LSHADE44, LSHADE44IDE, JS, MFO, S_PCDMO and L_PCDMO to study the performance of the D_PCDMO algorithm, the population size is set to 50 populations, the maximum number of iterations is 2000 times, and the dimension is 10 dimensions. Among them, S_PCDMO uses a static penalty factor for constraint processing, and L_PCDMO uses the "S" type penalty factor proposed by Liu as a constraint processing method.

[0180] For performance analysis experiments of PDMO algorithm and CDMO algorithm, to verify the performance improvement of PB strategy and CSUM mechanism on DMO algorithm, CEC2019 is selected for experiment, and the mean (Mean) and standard deviation (Std) are recorded, and the numerical experiment results are shown in Table 1.

[0181] Table 1

[0182]

[0183] From the analysis of Table 1, it can be seen that the convergence accuracy of PDMO algorithm and CDMO algorithm is better than that of DMO algorithm in most functions. PDMO algorithm has more obvious improvement in convergence accuracy compared with DMO algorithm, and has stronger robustness. CDMO algorithm has little difference in accuracy with the original algorithm, and the convergence accuracy is also obviously improved on other functions. In summary, the performance of the two short-eared weasel optimization algorithms improved by PB strategy and CSUM mechanism is improved to some extent compared with DMO algorithm, which shows that the improved strategy is effective. 10

[0184] For performance comparison experiments of PCDMO algorithm and other MAs, to test the optimization ability of PCDMO algorithm, 9 kinds of comparison algorithms are selected for numerical experiments on CEC2019. Table 2 shows the experimental results (Mean).

[0185] ​Table 2. Experimental results comparing PCDMO with other algorithms.

[0186]

[0187] In Table 2, + / = / - indicate that other comparison algorithms are inferior to / equal to / superior to the PCDMO algorithm, respectively. The best results for each row are shown in bold. Table 2 shows that the PCDMO algorithm, after running independently 30 times on functions f4, f5, f6, f7, f8, and f9, achieves better mean values ​​for the objective function than other comparison algorithms. HGSO outperforms other algorithms on 3 functions, while HHO, SSA, RSA, and SCSO algorithms only achieve higher accuracy on 1 function. The PCDMO algorithm outperforms WOA, SSA, PSO, and DMO algorithms on function f1. HHO, RSA, HGSO, and SCSO algorithms all achieve optimal values ​​on function f1; the PCDMO algorithm outperforms WOA, PSO, TSA, and DMO algorithms on function f2; and outperforms RSA, TSA, HGSO, and DMO algorithms on function f3. 10 Except for the HGSO and SSA algorithms, the PCDMO algorithm outperforms or equals the other algorithms. In summary, the PCDMO algorithm performs well in solving CEC2019, demonstrating its high optimization performance and further illustrating the effectiveness of the improvement strategy.

[0188] To visually demonstrate the performance of the PCDMO algorithm, box plots were created showing the fitness values ​​of the four functions across 30 tests, with comparative results. Figure 2 .

[0189] Depend on Figure 2 It can be seen that the optimal fitness values ​​of the PCDMO algorithm are better than those of the other nine comparative algorithms on all four test functions; the distribution of its optimal fitness values ​​is relatively concentrated, indicating that the PCDMO algorithm has good robustness; the median of the PCDMO algorithm is significantly better than that of the other comparative algorithms, especially in most functions, its upper quartile is significantly better than that of the lower quartile of the other algorithms, indicating that the PCDMO algorithm has higher convergence accuracy; the box graph of the PCDMO algorithm is located in the lower position of the other algorithms, indicating that the PCDMO algorithm is more inclined to find the global optimum, further verifying the effectiveness of the PCDMO algorithm improvement.

[0190] Figure 3 The curve compares the average fitness values ​​of the statistical results. Figure 3It can be seen that the iteration optimization processes of various algorithms are different, and the performance of PCDMO algorithm is the best and the optimization accuracy is higher at the same 1000 iterations. PCDMO algorithm has faster convergence speed, successfully escapes from local optimum on individual functions in the later iteration period, and converges to better function value. The overall performance shows that PCDMO always maintains good optimization performance, effectively slows down the fall into local optimum, and has stronger global search ability.

[0191] For the performance comparison experiment of D_PCDMO algorithm and other constraint optimization algorithms, in order to test the performance of D_PCDMO algorithm, CEC2017COPs are used for analysis. The results are compared with the running results of LSHADE44, LSHADE44IDE, JS, MFO and S-shaped penalty function, static penalty function proposed by Liu et al. on PCDMO. The dynamic penalty factor proposed in this paper is used as the constraint processing mechanism for JS algorithm and MFO algorithm, LSHADE44 and LSHADE44IDE use the constraint processing method in the original text, S_PCDMO uses static penalty factor for constraint processing, and L_PCDMO uses the "S" shaped penalty factor proposed by Liu as the constraint processing method.

[0192] Table 3 Statistical results of D_PCDMO and other comparison algorithms

[0193]

[0194]

[0195] Table 3 lists the results obtained by all algorithms. Since JS algorithm cannot find the optimal value on the 5th problem, it is not considered. By analyzing table 3, it can be seen that D_PCDMO algorithm obtains the best feasible solution on 16 problems compared with other algorithms, and obtains the suboptimal on 2 problems, which is shown in italic in table 3. Compared with JS algorithm and MFO algorithm, PCDMO algorithm has more advantages in solving COPs, which further illustrates the effectiveness of the improved strategy. Compared with S_PCDMO and L_PCDMO, D_PCDMO algorithm performs better in 25 problems and 26 problems respectively, which shows that the newly proposed penalty factor has better applicability in solving COPs by using penalty function method. Compared with LSHADE44 algorithm and LSHADE44IDE, D_PCDMO algorithm obtains better results on 17 problems, which further illustrates the superiority of D_PCDMO algorithm. According to the selected benchmark test functions, it can be concluded that the performance of D_PCDMO algorithm is better than that of other comparison algorithms.

[0196] For the Wilcoxon rank-sum test, non-parametric tests are used to evaluate the performance of the PCDMO algorithm and the D_PCDMO algorithm to prove the difference in statistical significance of the proposed algorithm. Further analysis is performed using the Wilcoxon rank-sum test, and the results of the operation of each algorithm are tested under the condition that the significance level is 0.05, as shown in Tables 4 and 5. The null hypothesis H0: the test results of the PCDMO algorithm or the D_PCDMO algorithm have no significant difference compared with other comparative algorithms; the alternative hypothesis H1: the test results of the PCDMO algorithm or the D_PCDMO algorithm have significant differences compared with other comparative algorithms.

[0197] Table 4 Wilcoxon test result statistics of 9 comparative algorithms

[0198]

[0199] As shown in Table 4, PCDMO is significantly different from SSA, TSA, and HGSO in 9 problems, DMO, HHO, RSA, and SCSO are significantly different from PCDMO in 10 problems, and WOA is significantly different from PCDMO in 8 problems. Most p values are much smaller than 0.05, so the null hypothesis is rejected, and therefore the PCDMO algorithm has significant differences with other comparative algorithms, and PCDMO has better performance.

[0200] As shown in Table 5, D_PCDMO is significantly different from JS in 24 problems, MFO and LSHADE44_IDE have no significant difference with D_PCDMO algorithm in 2 test functions, LSHADE44 is significantly different from D_PCDMO in 23 problems, and S_PCDMO and L_PCDMO are significantly different from D_PCDMO in 21 problems. As can be seen from Table 5, most p values are much smaller than 0.05, so H0 is rejected and H1 is accepted, that is, the D_PCDMO algorithm has significant differences compared with other comparative algorithms, which shows that D_PCDMO has better superiority.

[0201] Table 5 Wilcoxon test result statistics of 6 comparative algorithms

[0202]

[0203]

[0204] The following provides several possible examples for the above method.

[0205] The objective engineering project can be different, and the objective function can be different. The objective engineering project can be a constraint optimization project.

[0206] For example, in Example 1, the target engineering project is a tension or compression spring project, the performance index of the target engineering project is the weight of the spring, and the optimization objective is to minimize the performance index, i.e., to minimize the weight of the spring. The problem has three decision variables m, D c , and d w , i.e., three parameters to be optimized. The problem also has four constraint conditions, the design structure is shown in Figure 4 , the mathematical expression is defined as follows, the objective function is shown in Equation 10, and the four constraint conditions are shown in Equations 11 to 14:

[0207]

[0208]

[0209]

[0210]

[0211]

[0212] where 0.05≤m≤2.00, 0.25≤D c ≤1.30, and 2.00≤d w ≤15.00.

[0213] The numerical experiment results in Table 6 show that the optimal value obtained by the D_PCDMO algorithm is better than that of other algorithms, and the D_PCDMO algorithm obtains a smaller spring weight of 0.012796 compared to other algorithms, indicating that the D_PCDMO algorithm has a better optimization effect.

[0214] Table 6: Experimental results of spring design problem

[0215]

[0216] In Example 2, the target engineering project is a pressure vessel project, the performance index of the target engineering project is the total production cost, and the optimization objective is to minimize the performance index, i.e., to minimize the total production cost. The problem has four decision variables, i.e., four parameters to be optimized, which are the thicknesses of the shell and the head (T s and T h ), the inner radius (R), and the length of the cylindrical section (L). The problem also has four constraint conditions, the design structure is shown in Figure 5 , the mathematical expression is defined as follows, the objective function is shown in Equation 15, and the four constraint conditions are shown in Equations 16 to 19:

[0217]

[0218] s.t. g1(x) = -x1+0.0193x3 < 0, Equation Sixteen

[0219] g2(x) = -x2+0.00954x3 < 0, Equation Seventeen

[0220]

[0221] g4(x) = x4-240 < 0, Equation Nineteen

[0222] wherein, 1 x 0.0625 < x i < 99 x 0.0625 (i = 1, 2), 10 < x i < 200 (i = 3, 4).

[0223] Table 7 is the experimental results of the pressure vessel design problem obtained by five algorithms, it can be seen from the analysis that the minimum cost obtained by the D_PCDMO algorithm is 7580.6, which is much better than other algorithms, indicating that the D_PCDMO algorithm has better applicability when solving the problem.

[0224] Table 7 Comparison of experimental results of all algorithms for pressure vessel design problem

[0225]

[0226] In Example 3, the target engineering project is a reducer project, the performance index of the target engineering project is the weight of the reducer, and the optimization purpose is to minimize the performance index, that is, to minimize the weight of the reducer to facilitate the normal operation of the propeller and the engine. The problem has 7 decision variables, that is, 7 optimization parameters. The problem also has 11 constraint conditions, the design structure is as shown in Figure 7 , the mathematical expression is defined as follows, the objective function is shown in Equation Twenty, and the four constraint conditions are shown in Equations Twenty-one to Thirty-one:

[0227]

[0228]

[0229]

[0230]

[0231]

[0232]

[0233]

[0234]

[0235]

[0236]

[0237]

[0238]

[0239] wherein 7.3≤x4, x5≤8.3, 2.9≤x6≤3.9, 5.0≤x7≤5.5, 2.6≤x1≤3.6, 0.7≤x2≤0.8, 17≤x3≤28.

[0240] Table 8 is the experimental results of the reducer design problem on 7 algorithms, from which it can be seen that the minimum weight of the reducer obtained by the D_PCDMO algorithm is 2977.9, which is better than other algorithms, indicating that the D_PCDMO algorithm has better optimization ability.

[0241] Table 8 Comparison of experimental results of all algorithms for reducer design problem

[0242]

[0243] In Example 4, the target engineering project is a welded beam project, and the performance index of the target engineering project is the design cost under the constraints of the weld shear stress (τ), the bending stress (σ) in the beam, the buckling load (P c ) on the rod, and the end deflection (δ) of the beam. The optimization objective is to minimize the performance index, that is, to minimize the design cost. The problem has 7 decision variables, that is, 7 optimization parameters. The problem also has 4 constraint conditions, and the design structure is shown in Figure 7 , the mathematical expression is defined as follows, the objective function is shown in Formula Thirty-two, and the four constraint conditions are shown in Formula Thirty-three to Formula Thirty-six:

[0244]

[0245]

[0246]

[0247]

[0248]

[0249] wherein, P = 6000 lb, L = 14 in., δ max = 0.25 in. E = 30 x 1 6psi, G = 12 x 10 6 psi, tau max = 13600 psi, sigma max = 30000 psi.

[0250] Table 9 is the results of the welded beam design problem obtained on all the compared algorithms, wherein the D_PCDMO algorithm obtains the minimum cost 1.725 satisfying the constraint condition among the seven algorithms, and is superior to the minimum cost obtained by other algorithms. The experimental results show that the performance of the D_PCDMO algorithm is better than that of the other compared algorithms.

[0251] Table 9 Comparison of experimental results of welded beam design problem

[0252]

[0253]

[0254] The above provides four examples, which are only for illustration. The method provided by the application can be applied to any engineering project, and the embodiments of the application do not limit the target engineering project.

[0255] Figure 8 is a structural schematic diagram of a parameter optimization device based on an improved shrew optimization algorithm provided by an embodiment of the application, referring to Figure 8 The device comprises:

[0256] The generating module 801 is configured to generate an initial population according to a value range of a plurality of to-be-optimized parameters of a target engineering project. One dimension information of a population individual in the initial population is used to indicate one to-be-optimized parameter.

[0257] The obtaining module 802 is configured to obtain a call parameter of a first population individual in the initial population. The call parameter changes with the number of iterations of the initial population. The call parameter is used to control the initial population to evolve following the first population individual.

[0258] The processing module 803 is configured to control the initial population to evolve based on the call parameter, and output a target population individual obtained by the initial population in an evolution iteration process when a termination condition is reached. The dimension information of the target population individual is used as a target parameter of the target engineering project. The target population individual is a population individual with an optimal fitness value in the evolution iteration process of the initial population.

[0259] In some embodiments, the generating module 801 is configured to perform any one of the following:

[0260] In response to the target engineering project being a tensile or compression spring project, the generating module 801 is configured to generate the initial population according to a value range of a number of spirals of a spring, an outer diameter of the spring, and a diameter of a spring wire.

[0261] In response to the target engineering project being a pressure vessel project, an initial population is generated according to a value range of a shell width, a head width, a head radius, and a cylindrical section length of the pressure vessel;

[0262] In response to the target engineering project being a reducer project, an initial population is generated according to a value range of a face width, a tooth number, a gear inner tooth number, a first shaft length and diameter between bearings, and a second shaft length and diameter between bearings of the reducer;

[0263] In response to the target engineering project being a welded beam project, an initial population is generated according to a value range of a weld thickness, a clamping bar length, a bar height, and a bar thickness;

[0264] In response to the target engineering project being a four-bar truss project, an initial population is generated according to a value range of a displacement node of the four-bar truss and a size of the four-bar truss;

[0265] In response to the target engineering project being a vehicle side impact project, an initial population is generated according to a value range of a b-pillar inner layer width, a b-pillar reinforcement width, an inner floor side width, a cross member width, a door beam width, a door lengthening width, and a wide top rail;

[0266] In response to the target engineering project being a gear design project, an initial population is generated according to a value range of a number of teeth of a driving gear, a number of teeth of a driven gear, a number of teeth of a gear connected to the driven gear, and a number of teeth of a follower gear;

[0267] In response to the target engineering project being a model training project, an initial population is generated according to a value range of a plurality of weights of the model;

[0268] In response to the target engineering project being a robot path planning project, an initial population is generated according to a value range of a plurality of path nodes of the robot.

[0269] In some embodiments, the calling parameter of the first population individual in the initial population is obtained by the following formula one:

[0270]

[0271] wherein, peep is the calling parameter of the first population individual, it represents a current iteration number, and MaxIt represents a maximum iteration number.

[0272] In some embodiments, the processing module 803 is configured to:

[0273] For any second population individual in the initial population, in response to the random number being greater than the target value, updating the position of the second population individual responsible for foraging in the initial population based on a third population individual and the call parameter, the third population individual being a population individual randomly selected from the initial population;

[0274] In response to the random number being less than or equal to the target value, updating the position of the second population individual based on a fourth population individual and the call parameter, the fourth population individual being a population individual with the optimal fitness value in the initial population.

[0275] In some embodiments, the processing module 803 is further configured to:

[0276] In response to the time parameter being greater than a target time parameter, initializing a fifth population individual in the initial population; the fifth population individual being a population individual in the initial population other than the second population individual, the time parameter increasing with the number of iterations of the initial population;

[0277] Updating the position of the second population individual based on the position of the sleep hill and the current position of the second population individual, so that the second population individual moves towards the sleep hill;

[0278] Resetting the time parameter and entering the next iteration.

[0279] In some embodiments, the apparatus further comprises:

[0280] A first determining module configured to determine the fitness value of each population individual in the current population after each iteration;

[0281] An updating module configured to update a candidate target population individual based on the fitness value of each population individual in the current population, the candidate target population individual being a population individual with the optimal fitness value in the evolution iteration process of the initial population.

[0282] In some embodiments, the apparatus further comprises:

[0283] A second determining module configured to determine the fitness value of any population individual based on the performance index of the target engineering project and a penalty factor, the penalty factor having a smaller value in the early and late stages of the evolution iteration than in the middle stage of the evolution iteration.

[0284] In some embodiments, the penalty factor is determined by the following formula two:

[0285]

[0286]

[0287] Wherein, it represents the current iteration number, MaxIt represents the maximum iteration number, and sin(.) is a sine function.

[0288] The device provided by the application optimizes the parameters to be optimized of an engineering project in a way of simulating population evolution, uses the dimension information of population individuals to indicate the parameters, and determines whether the values of the parameters are optimal, so that the more optimal parameters are determined by the electronic device, the optimization efficiency is effectively improved, and the accuracy is high. In addition, the application improves the meerkat optimization algorithm. In the foraging process of the meerkat population, the chief meerkat calls other meerkats to move to a location, and the call parameters change with the number of iterations. Therefore, the action track of the meerkat during foraging can be better simulated, the foraging behavior of the meerkat can be better simulated, the optimal solution can be found faster, and the optimization efficiency is improved.

[0289] It should be noted that the parameter optimization device based on the improved meerkat optimization algorithm provided in the above embodiment is only used as an example to divide the above functional modules when the parameter optimization is performed based on the improved meerkat optimization algorithm. In actual application, the above functions are distributed by different functional modules according to needs, that is, the internal structure of the parameter optimization device based on the improved meerkat optimization algorithm is divided into different functional modules to complete all or part of the functions described above. In addition, the parameter optimization device based on the improved meerkat optimization algorithm provided in the above embodiment and the parameter optimization method based on the improved meerkat optimization algorithm embodiment belong to the same concept, and the specific implementation process is described in the method embodiment, which will not be repeated here.

[0290] Figure 9 The electronic device 900 can have great differences due to different configurations or performances, and includes one or more processors (Central Processing Units, CPUs) 901 and one or more memories 902. The memory 902 stores at least one computer program, which is loaded and executed by the processor 901 to implement the parameter optimization method based on the improved meerkat optimization algorithm provided by each method embodiment. The electronic device also includes other components for realizing device functions, for example, the electronic device also has a wired or wireless network interface and an input and output interface, and the like, so as to perform input and output. The embodiments of the application will not be repeated here.

[0291] The electronic device in the above method embodiment is realized as a terminal, and can also be realized as a server.

[0292] In the example embodiment, a computer readable storage medium is also provided, for example, a memory including at least one computer program executable by a processor to perform the parameter optimization method based on the improved meerkat optimization algorithm in the above embodiment. For example, the computer readable storage medium is a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0293] In the example embodiment, a computer program product or computer program is also provided, the computer program product or the computer program including one or more program codes stored in a computer readable storage medium. One or more processors of an electronic device read the one or more program codes from the computer readable storage medium, and execute the one or more program codes, so that the electronic device performs the parameter optimization method based on the improved meerkat optimization algorithm.

[0294] In some embodiments, the computer program related to the embodiments of the present application can be deployed to execute on one computer device, or on multiple computer devices located in one place, or on multiple computer devices distributed in multiple places and interconnected through a communication network, which can constitute a blockchain system.

[0295] A person of ordinary skill in the art understands that all or part of the steps of the above embodiments can be implemented by hardware, or by a program instructing related hardware, which is stored in a computer readable storage medium such as a Read-Only Memory, a magnetic disk or an optical disk.

[0296] The above description is only optional embodiments of the present application and does not limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A parameter optimization method based on an improved dwarf ferret optimization algorithm, characterized in that, The method comprises: According to the value range of the plurality of to-be-optimized parameters of the target engineering project, an initial population is generated, the fitness value of each population individual in the initial population is calculated, a first population individual in the initial population is determined based on the fitness value, the population individuals in the initial population include a plurality of dimension information, one dimension information is used to indicate one to-be-optimized parameter, and one population individual is a to-be-optimized parameter value combination; The call parameter of the first population individual in the initial population is obtained, the call parameter changes with the iteration number of the initial population, and the call parameter is used to control the initial population to evolve following the first population individual; Wherein, the call parameter of the first population individual in the initial population is obtained by the following formula one: Wherein, peep is the call parameter of the first population individual, it represents the current iteration number, and MaxIt represents the maximum iteration number; Based on the call parameter, the evolution of the initial population is controlled until the termination condition is reached, and the target population individual obtained by the initial population in the evolution iteration process is output, the dimension information of the target population individual is used as the target parameter of the target engineering project, and the target population individual is the population individual with the optimal fitness value in the evolution iteration process of the initial population; Wherein, the initial population is generated according to the value range of the plurality of to-be-optimized parameters of the target engineering project, including any one of the following: In response to the target engineering project being a tension or compression spring project, the initial population is generated according to the value range of the number of spirals of the spring, the outer diameter of the spring and the diameter of the spring wire; In response to the target engineering project being a pressure vessel project, the initial population is generated according to the value range of the shell width of the pressure vessel, the head width, the head radius and the cylindrical section length; In response to the target engineering project being a reducer project, the initial population is generated according to the value range of the face width of the reducer, the number of teeth, the number of internal teeth of the gear, the first shaft length and diameter between bearings, and the second shaft length and diameter between bearings; In response to the target engineering project being a welded beam project, the initial population is generated according to the value range of the weld thickness, the clamping bar length, the bar height and the bar thickness; In response to the target engineering project being a four-bar truss project, the initial population is generated according to the value range of the displacement node of the four-bar truss and the size of the four-bar truss; In response to the target engineering project being a vehicle side collision project, the initial population is generated according to the value range of the b column inner layer width, the b column enhancement width, the inner floor side width, the width of the cross member, the door beam width, the door lengthening width and the width of the wide top rail; In response to the target engineering project being a gear design project, the initial population is generated according to the value range of the number of teeth of the driving gear, the number of teeth of the driven gear, the number of teeth of the gear connected with the driven gear and the number of teeth of the following gear; In response to the target engineering project being a robot path planning project, the initial population is generated according to the value range of a plurality of path nodes of the robot.

2. The method of claim 1, wherein, The evolution of the initial population is controlled based on the call parameter, comprising: For any second population individual in the initial population, in response to the random number being greater than the target value, updating the position of the second population individual responsible for foraging in the initial population based on a third population individual and the call parameter, the third population individual being a population individual randomly selected from the initial population; in response to the random number being less than or equal to the target value, updating the position of the second population individual based on a fourth population individual and the call parameter, the fourth population individual being a population individual with the optimal fitness value in the initial population.

3. The method of claim 2, wherein, The method further comprises: in response to the time parameter being greater than the target time parameter, initializing a fifth population individual in the initial population; the fifth population individual being a population individual in the initial population other than the second population individual, the time parameter increasing with the number of iterations of the initial population; updating the position of the second population individual based on the position of the sleep hill and the current position of the second population individual, so that the second population individual moves towards the sleep hill; resetting the time parameter and entering the next iteration.

4. The method according to any one of claims 1 to 3, characterized in that, The method further comprises: after each iteration, determining the fitness value of each population individual in the current population; updating the candidate target population individual based on the fitness value of each population individual in the current population, the candidate target population individual being a population individual with the optimal fitness value in the evolution iteration process of the initial population.

5. The method of claim 1, wherein, The method further comprises: when determining the fitness value of any population individual, determining the fitness value of the population individual based on the performance indicators of the target engineering project and the penalty factor, the penalty factor having a smaller value in the early and late evolution iterations than in the middle evolution iteration.

6. A parameter optimization apparatus based on an improved dwarf ferret optimization algorithm, characterized by, The device comprises: a generation module configured to generate an initial population according to the value range of a plurality of to-be-optimized parameters of a target engineering project, calculate the fitness value of each population individual in the initial population, and determine a first population individual in the initial population based on the fitness value, the population individuals in the initial population including a plurality of dimension information, one dimension information being used to indicate one to-be-optimized parameter, and one population individual being one value combination of the to-be-optimized parameter; an acquisition module configured to acquire a call parameter of the first population individual in the initial population, the call parameter changing with the number of iterations of the initial population, and the call parameter being used to control the initial population to evolve following the first population individual; wherein the call parameter of the first population individual in the initial population is acquired through the following formula one: wherein peep is the call parameter of the first population individual, it represents the current iteration number, and MaxIt represents the maximum iteration number; a processing module configured to control the initial population to evolve based on the call parameter until a termination condition is reached, output a target population individual obtained by the initial population in the evolution iteration process, and take the dimension information of the target population individual as the target parameter of the target engineering project, the target population individual being a population individual with the optimal fitness value in the evolution iteration process of the initial population. The initial population is generated according to the value range of the plurality of to-be-optimized parameters of the target engineering project, and includes any one of the following: In response to the target engineering project being a tension or compression spring project, the initial population is generated according to the value range of the number of spirals of the spring, the outer diameter of the spring, and the diameter of the spring wire. In response to the target engineering project being a pressure vessel project, the initial population is generated according to the value range of the shell width of the pressure vessel, the head width, the head radius, and the length of the cylindrical section. In response to the target engineering project being a reducer project, the initial population is generated according to the value range of the face width of the reducer, the number of teeth, the number of internal teeth of the gear, the first shaft length and diameter between bearings, and the second shaft length and diameter between bearings. In response to the target engineering project being a welded beam project, the initial population is generated according to the value range of the weld thickness, the clamping bar length, the bar height, and the bar thickness. In response to the target engineering project being a four-bar truss project, the initial population is generated according to the value range of the displacement node of the four-bar truss and the size of the four-bar truss. In response to the target engineering project being a vehicle side impact project, the initial population is generated according to the value range of the b-pillar inner layer width, the b-pillar reinforcement width, the inner floor side width, the width of the cross member, the door beam width, the door lengthening width, and the wide top rail. In response to the target engineering project being a gear design project, the initial population is generated according to the value range of the number of teeth of the driving gear, the number of teeth of the driven gear, the number of teeth of the gear connected to the driven gear, and the number of teeth of the follower gear. In response to the target engineering project being a robot path planning project, the initial population is generated according to the value range of a plurality of path nodes of the robot.

7. An electronic device, comprising: The electronic device includes one or more processors and one or more memories, and the one or more memories store at least one computer program, which is loaded and executed by the one or more processors to implement the parameter optimization method based on the improved ferret optimization algorithm as claimed in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The storage medium stores at least one computer program, which is loaded and executed by the processor to implement the parameter optimization method based on the improved ferret optimization algorithm as claimed in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Product change scheme design method based on multi-objective particle swarm optimization

    CN113987718A

  • Dynamic multi-dimensional medical privacy data protection method and system based on weasel optimization

    CN115168891A