public SwarmController(RandomValidPositionGenerator randomValidPositionGenerator, AntennaArray antennaArray, double[] initialGlobalBest) { this.randomValidPositionGenerator = randomValidPositionGenerator; this.antennaArray = antennaArray; globalBestPosition = initialGlobalBest; globalBestEvaluationValue = antennaArray.Evaluate(globalBestPosition); swarm = new List <Particle>(); random = new Random(); }
public void RunApplication() { AntennaArray antennaArray = new AntennaArray(3, 90); RandomValidPositionGenerator antennaPlacementGenerator = new RandomValidPositionGenerator(antennaArray); SwarmController swarmController = new SwarmController(antennaPlacementGenerator, antennaArray, antennaPlacementGenerator.GenerateRandomAntennaPositions(antennaArray)); swarmController.InitialiseSwarm(1000, antennaArray); var now = DateTime.Now; while (DateTime.Now < now.AddMilliseconds(timeToExecuteFor)) { swarmController.UpdateSwarm(); } }