protected new List <IParticle> CreateParticles(SwarmCreationParameters parameters) { List <IParticle> particles = new List <IParticle>(); for (UInt32 index = 0; index < parameters.NumberOfParameters; index++) { List <Double> newParameterList = new List <double>(); List <Double> newSpeedsList = new List <double>(); this.CreateRandomsList(parameters.MaximumParameterValue, parameters.MinimumParameterValue, parameters.NumberOfParameters, ref newSpeedsList, ref newParameterList); ISolution newParticleSolution = new ClassicSolution(parameters.SolutionFunction, parameters.AuxData, parameters.MinimumParameterValue, parameters.MaximumParameterValue); newParticleSolution.Parameters = newParameterList; newParticleSolution.UpdateFitness(); StableParticleCreationParameters creationParams = new StableParticleCreationParameters(); creationParams.Speeds = newSpeedsList; creationParams.Solution = newParticleSolution; creationParams.Constraint = this.Constraint; particles.Add(new StableParticle(creationParams)); } return(particles); }
protected virtual void FillParameters(StableParticleCreationParameters parameters) { base._FillParameters(parameters); this.Constraint = parameters.Constraint; }
public StableParticle(StableParticleCreationParameters parameters) { this.Id = Particle.CurrentId; this.FillParameters(parameters); }