Example #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();
         FrankensteinParticleCreationParameters creationParams = new FrankensteinParticleCreationParameters();
         creationParams.Speeds = newSpeedsList;
         creationParams.Solution = newParticleSolution;
         creationParams.InertiaMax = this.InertiaMax;
         creationParams.InertiaMin = this.InertiaMin;
         creationParams.InertiaMaxTime = this.InertiaMaxTime;
         creationParams.FinalTopologyUpdate = this.FinalTopologyUpdate;
         creationParams.Particles = this.Particles;
         int[] connectedIds = new int[parameters.NumberOfParameters];
         for (int i = 0; i < parameters.NumberOfParticles; i++)
         {
             connectedIds[i] = i;
         }
         creationParams.ConnectedIds = new LinkedList<int>(connectedIds);
         creationParams.RandomGenerator = this.RandomGenerator;
         particles.Add(new FrankensteinParticle(creationParams));
     }
     return particles;
 }
Example #2
0
 public void TestMethod1()
 {
     SwarmCreationParameters parameters = new SwarmCreationParameters();
     parameters.GlobalBestBias = 4.0;
     parameters.PersonalBestBias = 2.0;
     parameters.RandomNumberGenerator = new Random();
     parameters.NumberOfParameters = 3;
     parameters.MaximumParameterValue = 10.0;
     parameters.MinimumParameterValue = -10.0;
     parameters.MaxIterations = 1;
     parameters.NumberOfParticles = 15;
     parameters.NumberOfParticleSets = 8;
     parameters.FitnessThreshold = 1000000;
     parameters.SolutionFunction = this.SolTestFunc;
     parameters.AuxData = new object();
     this.swarm = new ClassicSwarm(parameters);
 }
Example #3
0
 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;
 }
Example #4
0
 public ClassicSwarm(SwarmCreationParameters parameters)
 {
     this.FillSwarmParameters(parameters);
     this.Particles = this.CreateParticles(parameters);
     this.SplitParticlesInSets(parameters.NumberOfParticleSets);
 }
Example #5
0
File: Swarm.cs Project: pcacjr/PSO
 protected virtual void FillSwarmParameters(SwarmCreationParameters parameters)
 {
     parameters.VerifyValues();
     this.FitnessThreshold = parameters.FitnessThreshold;
     this.MaxIterations = parameters.MaxIterations;
     this.RandomGenerator = parameters.RandomNumberGenerator;
     this.FitnessThreshold = parameters.FitnessThreshold;
     this.GlobalBestBias = parameters.GlobalBestBias;
     this.PersonalBestBias = parameters.PersonalBestBias;
 }
Example #6
0
File: Swarm.cs Project: pcacjr/PSO
 protected abstract List<IParticle> CreateParticles(SwarmCreationParameters parameters);