Ejemplo n.º 1
0
        protected override 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();
                ClassicParticleCreationParameters creationParams = new ClassicParticleCreationParameters();
                creationParams.Speeds   = newSpeedsList;
                creationParams.Solution = newParticleSolution;
                particles.Add(new ClassicParticle(creationParams));
            }
            return(particles);
        }
Ejemplo n.º 2
0
 protected virtual void _FillParameters(ClassicParticleCreationParameters parameters)
 {
     this.Speeds               = parameters.Speeds;
     this.CurrentSolution      = parameters.Solution;
     this.PersonalBestSolution = parameters.Solution.Copy();
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates a new ClassicParticle.
 /// </summary>
 public ClassicParticle(ClassicParticleCreationParameters parameters)
 {
     this.Id = Particle.CurrentId;
     this._FillParameters(parameters);
 }