public MeshParticleSwarmTopology(ParticleSwarmFitnessStrategy fitnessStrategy, SwarmParticleGenerator particleGenerator, int cellSize = 10, int gridWidth = 600, int gridHeight = 600)
 {
     Particles = new SwarmParticleMesh(cellSize, gridWidth, gridHeight);
     FitnessStrategy = fitnessStrategy;
     PositionUpdater = new LocalBestSwarmPositionUpdater(fitnessStrategy);
     ParticleGenerator = particleGenerator;
 }
 public RingParticleSwarmTopology(ParticleSwarmFitnessStrategy fitnessStrategy, SwarmParticleGenerator particleGenerator, int neighbourhoodSize)
 {
     NeighbourhoodSize = neighbourhoodSize;
     FitnessStrategy = fitnessStrategy;
     PositionUpdater = new LocalBestSwarmPositionUpdater(fitnessStrategy, NeighbourhoodSize);
     ParticleGenerator = particleGenerator;
 }
 public GlobalParticleSwarmTopology(ParticleSwarmFitnessStrategy fitnessStrategy, SwarmParticleGenerator particleGenerator)
 {
     FitnessStrategy = fitnessStrategy;
     PositionUpdater = new GlobalBestSwarmPositionUpdater(fitnessStrategy);
     ParticleGenerator = particleGenerator;
 }