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();
 }
Пример #2
0
        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();
            }
        }