Improving GA accuracy with prior error information

1 次查看(过去 30 天)
I have a problem where I want to find the values of two variables that minimize a function. The problem is a localization algorithm, I want to estimate . The real can be anywhere inside a 2D space.
I've studied how the optimization error changes as a function of the real parameters , meaning that I know in each real positions the algorithm tens to not converge resulting in a really big error. Bellow I have an example heatmap that represents the relationship between the error and the real.
With this information, I was able to create a InitialSwarmMatrix for PSO placing more particles in the problematic regions, thus reducing the error. So I wanted to do something similiar to ga, since I know a priori where the algorithm tends to fail, I could correct the behaviour.
Can I do something similiar to what I've done on PSO with InitialPopulationRange? Do you know any other way?

采纳的回答

Abhishek Krishna
Abhishek Krishna 2023-7-6
Hi,
Changes you can do in your current approach
  • Leverage Genetic Algorithm (GA) by using an appropriate initialization strategy for the population. The InitialPopulationRange can be used to define the range of values for each variable in the initial population. By considering the information you have about the relationship between error and the real parameters, you can bias the initialization towards the problematic regions.
  • Define a probability distribution that reflects the likelihood of convergence failure in different regions. You can assign higher probabilities to the regions where the error tends to be larger. Then, when generating the initial population, you can sample from this distribution to bias the initialization towards those regions.
  • GA provides various other parameters and techniques that can be adjusted to improve convergence, such as mutation and crossover operators, selection strategies, and termination conditions. Experimenting with these parameters can also help you achieve better results in optimizing your function.
Alternative approach
  • Consider using a clustering algorithm to identify the problematic regions based on the error values. Once you have identified these regions, you can generate more individuals in those areas during the initialization phase of the GA.
Both the above suggestions allow you to bias the initial population towards the regions where the algorithm tends to fail, increasing the chances of finding a better solution. Remember that the effectiveness of these approaches may depend on the specific characteristics of your problem and the distribution of errors.
I hope this helps!

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle Swarm 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by