Changeset 14927 for branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization
- Timestamp:
- 05/04/17 17:19:35 (8 years ago)
- Location:
- branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/MultiPSOTopologyUpdater.cs
r14185 r14927 28 28 using HeuristicLab.Optimization; 29 29 using HeuristicLab.Parameters; 30 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;30 using HeuristicLab.Persistence; 31 31 32 32 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 33 33 [Item("Multi PSO Topology Updater", "Splits swarm into NrOfSwarms non-overlapping sub-swarms. Swarms are re-grouped every regroupingPeriod iteration. The operator is implemented as described in Liang, J.J. and Suganthan, P.N 2005. Dynamic multi-swarm particle swarm optimizer. IEEE Swarm Intelligence Symposium, pp. 124-129.")] 34 [Storable Class]34 [StorableType("3c9ea42b-959f-4a52-b0a0-829a32cfcf2d")] 35 35 public sealed class MultiPSOTopologyUpdater : SingleSuccessorOperator, ITopologyUpdater { 36 36 … … 105 105 106 106 var particles = Enumerable.Range(0, SwarmSize).ToList(); 107 for (int i = SwarmSize -1; i>0; i--) {108 int j = Random.Next(i +1);107 for (int i = SwarmSize - 1; i > 0; i--) { 108 int j = Random.Next(i + 1); 109 109 int t = particles[j]; 110 110 particles[j] = particles[i]; … … 112 112 } 113 113 114 for (int partitionNr = 0; partitionNr <NrOfSwarms; partitionNr++) {115 int start = partitionNr *SwarmSize/NrOfSwarms;116 int end = (partitionNr +1)*SwarmSize/NrOfSwarms;117 for (int i = start; i <end; i++)114 for (int partitionNr = 0; partitionNr < NrOfSwarms; partitionNr++) { 115 int start = partitionNr * SwarmSize / NrOfSwarms; 116 int end = (partitionNr + 1) * SwarmSize / NrOfSwarms; 117 for (int i = start; i < end; i++) 118 118 neighbors[particles[i]] = GetSegment(particles, start, end, i); 119 119 } … … 127 127 return new IntArray(list 128 128 .Skip(start) 129 .Take(end -start)130 .Where((p, j) => start +j != excludedIndex)129 .Take(end - start) 130 .Where((p, j) => start + j != excludedIndex) 131 131 .ToArray()); 132 132 } -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/ParticleSwarmOptimization.cs
r14185 r14927 30 30 using HeuristicLab.Optimization.Operators; 31 31 using HeuristicLab.Parameters; 32 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;32 using HeuristicLab.Persistence; 33 33 using HeuristicLab.PluginInfrastructure; 34 34 using HeuristicLab.Random; … … 37 37 [Item("Particle Swarm Optimization (PSO)", "A particle swarm optimization algorithm based on the description in Pedersen, M.E.H. (2010). PhD thesis. University of Southampton.")] 38 38 [Creatable(CreatableAttribute.Categories.PopulationBasedAlgorithms, Priority = 300)] 39 [Storable Class]39 [StorableType("b9bf87f6-758e-416d-9d7a-c9b839cac55b")] 40 40 public sealed class ParticleSwarmOptimization : HeuristicOptimizationEngineAlgorithm, IStorableContent { 41 41 #region Parameter Properties -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/ParticleSwarmOptimizationMainLoop.cs
r14185 r14927 27 27 using HeuristicLab.Optimization.Operators; 28 28 using HeuristicLab.Parameters; 29 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;29 using HeuristicLab.Persistence; 30 30 31 31 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 32 32 [Item("ParticleSwarmOptimizationMainLoop", "An operator which represents the main loop of a particle swarm optimization algorithm.")] 33 [Storable Class]33 [StorableType("93749643-6078-44a3-943e-a723e564af18")] 34 34 public class ParticleSwarmOptimizationMainLoop : AlgorithmOperator { 35 35 -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/RandomTopologyInitializer.cs
r14185 r14927 26 26 using HeuristicLab.Data; 27 27 using HeuristicLab.Parameters; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 31 31 [Item("Random Topology Initializer", "Randomly connectes every particle with k other particles.")] 32 [Storable Class]32 [StorableType("cdf2be63-a554-4311-a904-5b035437c21e")] 33 33 public sealed class RandomTopologyInitializer : TopologyInitializer { 34 34 #region Parameters -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/RingTopologyInitializer.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 using HeuristicLab.Data; 26 26 27 27 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 28 28 [Item("Ring Topology Initializer", "Connected every particle with its preceeding and its following particle.")] 29 [Storable Class]29 [StorableType("bb20715f-5836-4c9f-9e80-f4c5f9924e85")] 30 30 public sealed class RingTopologyInitializer : TopologyInitializer { 31 31 #region Construction & Cloning -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/TopologyInitializer.cs
r14185 r14927 26 26 using HeuristicLab.Optimization; 27 27 using HeuristicLab.Parameters; 28 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;28 using HeuristicLab.Persistence; 29 29 30 30 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 31 31 [Item("TopologyInitializer", "Groups the particles into neighborhoods according to a certain strategy.")] 32 [Storable Class]32 [StorableType("701cef7e-eb73-476a-a84c-9dcaa9aa1c61")] 33 33 public abstract class TopologyInitializer : SingleSuccessorOperator, ITopologyInitializer { 34 34 public override bool CanChangeName { … … 61 61 protected TopologyInitializer(bool deserializing) : base(deserializing) { } 62 62 protected TopologyInitializer(TopologyInitializer original, Cloner cloner) : base(original, cloner) { } 63 63 64 64 public TopologyInitializer() { 65 65 Parameters.Add(new ScopeTreeLookupParameter<IntArray>("Neighbors", "The list of neighbors for each particle.")); -
branches/PersistenceReintegration/HeuristicLab.Algorithms.ParticleSwarmOptimization/3.3/VonNeumannTopologyInitializer.cs
r14185 r14927 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Persistence .Default.CompositeSerializers.Storable;24 using HeuristicLab.Persistence; 25 25 using HeuristicLab.Data; 26 26 27 27 namespace HeuristicLab.Algorithms.ParticleSwarmOptimization { 28 28 [Item("Von Neumann Topology Initializer", "Every particle is connected with the two following and the two previous particles wrapping around at the beginning and the end of the population.")] 29 [Storable Class]29 [StorableType("8a75290e-7bd7-4cc2-93ee-9137cbc5a299")] 30 30 public sealed class VonNeumannTopologyInitializer : TopologyInitializer { 31 31
Note: See TracChangeset
for help on using the changeset viewer.