Exemplo n.º 1
0
        public static GATask GetDummyUnorderedTask(JarrusUnorderedSolution solution)
        {
            var task = new GATask(solution)
            {
                ParentSelectionStrategy = ParentSelectionStrategy.RouletteWheel,
                MutationStrategy        = MutationStrategy.Random,
                CrossoverStrategy       = CrossoverStrategy.TwoPoint,
                RetirementStrategy      = RetirementStrategy.MaxAge,
                ImmigrationStrategy     = ImmigrationStrategy.Dynamic,
                DuplicationStrategy     = DuplicationStrategy.Allow,
                ScoringStrategy         = ScoringStrategy.Lowest,

                MaxRetirement            = 10,
                PopulationSize           = 100,
                RandomPoolGenerationSeed = 22,
                RandomSeed         = 13,
                ChildrenPerParents = 2,
                Session            = "Test",
                CrossoverRate      = 0.95,
                MutationRate       = 0.12,
                ElitismRate        = 0.22,
                MaxGenerations     = 20
            };

            return(task);
        }
Exemplo n.º 2
0
        private GARun GetRunForExample()
        {
            var solution = new ShakespeareSolution();
            var task     = new GATask(solution);

            task.ParentSelectionStrategy = ParentSelectionStrategy.TournamentFive;
            task.MutationStrategy        = MutationStrategy.Random;
            task.CrossoverStrategy       = CrossoverStrategy.TwoPoint;
            task.ImmigrationStrategy     = ImmigrationStrategy.Dynamic;
            task.RetirementStrategy      = RetirementStrategy.None;
            task.ScoringStrategy         = ScoringStrategy.Lowest;
            task.DuplicationStrategy     = DuplicationStrategy.Prevent;

            task.PopulationSize           = 1000;
            task.MaxGenerations           = 100;
            task.CrossoverRate            = 0.659410;
            task.MutationRate             = 0.074880;
            task.ElitismRate              = 0.021880;
            task.ImmigrationRate          = 0.150480;
            task.MaxRetirement            = 0;
            task.ChildrenPerParents       = 1;
            task.RandomSeed               = 567545391;
            task.RandomPoolGenerationSeed = 22;

            var config = new GAConfiguration(task);

            var gaRun = solution.Run(config);

            return(gaRun);
        }
Exemplo n.º 3
0
        public List <GATask> CheckoutTasks(int numberOfTasks)
        {
            var sql  = GetCheckoutTaskSQL(numberOfTasks);
            var dao  = new DAO();
            var list = new List <GATask>();

            try
            {
                dao.OpenConnection(Server.JARRUS, GetCheckoutTaskSQL(numberOfTasks));
                dao.Execute();

                while (dao.HasNextRow())
                {
                    var solution = dao.GetString("SolutionStrategy");

                    var task = new GATask((JarrusSolution)Reflection.GetObjectFromType(solution));

                    task.UUID                     = dao.GetGuid("UUID");
                    task.Session                  = dao.GetString("Session");
                    task.ComputerName             = dao.GetString("ComputerName");
                    task.PopulationSize           = dao.GetInt("PopulationSize");
                    task.MaxGenerations           = dao.GetInt("MaxGenerations");
                    task.CrossoverRate            = (double)dao.GetDecimal("CrossoverRate");
                    task.MutationRate             = (double)dao.GetDecimal("MutationRate");
                    task.ElitismRate              = (double)dao.GetDecimal("ElitismRate");
                    task.ImmigrationRate          = (double)dao.GetDecimal("ImmigrationRate");
                    task.MaxRetirement            = dao.GetInt("MaxRetirement");
                    task.ChildrenPerParents       = dao.GetInt("ChildrenPerParents");
                    task.RandomSeed               = dao.GetInt("RandomSeed");
                    task.RandomPoolGenerationSeed = dao.GetInt("RandomPoolGenerationSeed");

                    task.DuplicationStrategy     = (DuplicationStrategy)Enum.Parse(typeof(DuplicationStrategy), dao.GetString("DuplicationStrategy"));
                    task.ScoringStrategy         = (ScoringStrategy)Enum.Parse(typeof(ScoringStrategy), dao.GetString("ScoringStrategy"));
                    task.ImmigrationStrategy     = (ImmigrationStrategy)Enum.Parse(typeof(ImmigrationStrategy), dao.GetString("ImmigrationStrategy"));
                    task.RetirementStrategy      = (RetirementStrategy)Enum.Parse(typeof(RetirementStrategy), dao.GetString("RetirementStrategy"));
                    task.CrossoverStrategy       = (CrossoverStrategy)Enum.Parse(typeof(CrossoverStrategy), dao.GetString("CrossoverStrategy"));
                    task.MutationStrategy        = (MutationStrategy)Enum.Parse(typeof(MutationStrategy), dao.GetString("MutationStrategy"));
                    task.ParentSelectionStrategy = (ParentSelectionStrategy)Enum.Parse(typeof(ParentSelectionStrategy), dao.GetString("ParentSelectionStrategy"));

                    list.Add(task);
                }
            } catch (Exception ex)
            {
                ErrorHandlingSystem.HandleError(ex);
            } finally
            {
                dao.CloseConnection();
            }

            return(list);
        }
Exemplo n.º 4
0
 public void ItRequiresAValidSolution()
 {
     var gaTask = new GATask(null);
 }
Exemplo n.º 5
0
 public void ItHasAValidConstructor()
 {
     var gaTask = new GATask(new SimpleTravelingSalesmanSolution());
 }