Exemplo n.º 1
0
        protected override IEvaluation <double>[] GenerateProblems()
        {
            int[] genes     = { 2, 5, 10, 25, 50, 75 };
            int   nProblems = genes.Length * 6;

            IEvaluation <double>[] problems = new IEvaluation <double> [nProblems];

            int iterator = 0;

            //Sphere
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealSphereEvaluation(gene);
                iterator++;
            }

            //Sphere-10
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealSphere10Evaluation(gene);
                iterator++;
            }

            //Ellipsoid
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealEllipsoidEvaluation(gene);
                iterator++;
            }

            //Step-2 Sphere
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealStep2SphereEvaluation(gene);
                iterator++;
            }

            //Te problemy będą przydatne do 3 laborek

            //Rastrigin
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealRastriginEvaluation(gene);
                iterator++;
            }

            //Ackley
            foreach (var gene in genes)
            {
                problems[iterator] = new CRealAckleyEvaluation(gene);
                iterator++;
            }

            return(problems);
        }
Exemplo n.º 2
0
        private static void Lab2Step2Sphere(int?seed, int variables)
        {
            CRealStep2SphereEvaluation step2SphereEvaluation = new CRealStep2SphereEvaluation(variables);

            List <double> sigmas = Enumerable.Repeat(0.1, step2SphereEvaluation.iSize).ToList();

            IterationsStopCondition            stopCondition      = new IterationsStopCondition(step2SphereEvaluation.dMaxValue, 1000);
            RealGaussianMutation               mutation           = new RealGaussianMutation(sigmas, step2SphereEvaluation, seed);
            RealNullRealMutationES11Adaptation mutationAdaptation = new RealNullRealMutationES11Adaptation(mutation);

            RealEvolutionStrategy11 es11 = new RealEvolutionStrategy11(step2SphereEvaluation, stopCondition, mutationAdaptation, seed);

            es11.Run();

            ReportOptimizationResult(es11.Result);
        }