giacomelli / GeneticSharp

GeneticSharp is a fast, extensible, multi-platform and multithreading C# Genetic Algorithm library that simplifies the development of applications using Genetic Algorithms (GAs).
MIT License
1.26k stars 330 forks source link

Multipopulations implementation and fitness stagnation plateau - how to approach #122

Open WojciechOrs opened 5 months ago

WojciechOrs commented 5 months ago

Hi, I use GeneticSharp for a few years now. Really helpful. Thanks!

  1. I encountered fitness function stagnation plateau issue. Neither changing crossovers, mutation or stagnation generations number helps.
  2. I have an idea to run a few instances of GeneticAlgorithm in parallel e.g. 10 so that on every generation they will exchange portion of chromosomes with each other. I believe that this may help with stagnation plateau issue. What do you think?
  3. I was checking on how to make it in an easy way i.e. sync generations and just replace e.g. 80% of chromosomes in current generation with chromosomes from the other populations. Let's assume that I have a List() of these chromosomes from the other populations available. How can I "inject" chromosomes from the List() into specific population of GeneneticAlgorithm instance on its current generation?