Exemple #1
0
        public void ShouldRun()
        {
            var pso = new ParticleSwarmOptimization(2, 10, 10, -10, (double[] d) => { return(Math.Abs((d[0] + d[1]) - 5)); }, (double f) => { return(f == 0); }, FitnessMethod.Minimize);

            pso.RunUntilTargetReached();
            Assert.True(pso.BestSwarmFitness == 0);
        }
Exemple #2
0
        public void ShouldRun10Times()
        {
            int i   = 0;
            var pso = new ParticleSwarmOptimization(2, 10, 50, -50, (double[] d) => { return(Math.Abs((d[0] + d[1]) - 5)); }, (double f) =>
            {
                i++;
                return(i == 10);
            }, FitnessMethod.Minimize);

            pso.RunUntilTargetReached();
            Assert.True(i == 10);
        }
Exemple #3
0
        public void ShouldMaximizeFunction()
        {
            int i   = 0;
            var pso = new ParticleSwarmOptimization(2, 10, 50, -50, (double[] d) => { return(Math.Abs((d[0] + d[1]) - 5)); }, (double f) =>
            {
                i++;
                return(i == 10);
            }, FitnessMethod.Maximize);
            double startBestFitness = pso.BestSwarmFitness;

            pso.RunUntilTargetReached();
            Assert.True(pso.BestSwarmFitness > startBestFitness);
        }