コード例 #1
0
        public OffspringSelectionGeneticAlgorithm CreateGeSymbolicRegressionSample()
        {
            var ga = new OffspringSelectionGeneticAlgorithm();

            #region Problem Configuration
            var problem = new HeuristicLab.Problems.GrammaticalEvolution.GESymbolicRegressionSingleObjectiveProblem();

            #endregion
            #region Algorithm Configuration
            ga.Name        = "Grammatical Evolution - Symbolic Regression (Poly-10)";
            ga.Description = "Grammatical evolution algorithm for solving a symbolic regression problem problem";
            ga.Problem     = problem;
            problem.Load(new PolyTen().GenerateRegressionData());

            // must occur after loading problem data because the grammar creates symbols for random constants once the data is loaded
            var consts = problem.SymbolicExpressionTreeGrammar.AllowedSymbols.OfType <Constant>().ToList();
            foreach (var c in consts)
            {
                problem.SymbolicExpressionTreeGrammar.RemoveSymbol(c);
            }

            SamplesUtils.ConfigureOsGeneticAlgorithmParameters <GenderSpecificSelector, Encodings.IntegerVectorEncoding.SinglePointCrossover, Encodings.IntegerVectorEncoding.UniformOnePositionManipulator>(
                ga, 1000, 1, 50, 0.05, 200);
            #endregion

            return(ga);
        }
コード例 #2
0
    public OffspringSelectionGeneticAlgorithm CreateGeSymbolicRegressionSample() {
      var ga = new OffspringSelectionGeneticAlgorithm();

      #region Problem Configuration
      var problem = new HeuristicLab.Problems.GrammaticalEvolution.GESymbolicRegressionSingleObjectiveProblem();

      #endregion
      #region Algorithm Configuration
      ga.Name = "Grammatical Evolution - Symbolic Regression (Poly-10)";
      ga.Description = "Grammatical evolution algorithm for solving a symbolic regression problem problem";
      ga.Problem = problem;
      problem.Load(new PolyTen().GenerateRegressionData());

      // must occur after loading problem data because the grammar creates symbols for random constants once the data is loaded
      var consts = problem.SymbolicExpressionTreeGrammar.AllowedSymbols.OfType<Constant>().ToList();
      foreach (var c in consts) {
        problem.SymbolicExpressionTreeGrammar.RemoveSymbol(c);
      }

      SamplesUtils.ConfigureOsGeneticAlgorithmParameters<GenderSpecificSelector, Encodings.IntegerVectorEncoding.SinglePointCrossover, Encodings.IntegerVectorEncoding.UniformOnePositionManipulator>(
        ga, 1000, 1, 50, 0.05, 200);
      #endregion

      return ga;
    }