public static OffspringSelectionGeneticAlgorithm CreateGpTimeSeriesSample()
        {
            var problem = new SymbolicTimeSeriesPrognosisSingleObjectiveProblem();

            problem.Name             = "Symbolic time series prognosis problem (Mackey Glass t=17)";
            problem.ProblemData.Name = "Mackey Glass t=17";
            problem.MaximumSymbolicExpressionTreeLength.Value             = 125;
            problem.MaximumSymbolicExpressionTreeDepth.Value              = 12;
            problem.EvaluatorParameter.Value.HorizonParameter.Value.Value = 10;

            foreach (var symbol in problem.SymbolicExpressionTreeGrammar.Symbols)
            {
                if (symbol is Exponential || symbol is Logarithm)
                {
                    symbol.Enabled = false;
                }
                else if (symbol is AutoregressiveTargetVariable)
                {
                    symbol.Enabled = true;
                    var autoRegressiveSymbol = symbol as AutoregressiveTargetVariable;
                    autoRegressiveSymbol.MinLag = -30;
                    autoRegressiveSymbol.MaxLag = -1;
                }
            }

            var osga = new OffspringSelectionGeneticAlgorithm();

            osga.Name        = "Genetic Programming - Time Series Prediction (Mackey-Glass-17)";
            osga.Description = "A genetic programming algorithm for creating a time-series model for the Mackey-Glass-17 time series.";
            osga.Problem     = problem;
            SamplesUtils.ConfigureOsGeneticAlgorithmParameters <GenderSpecificSelector, SubtreeCrossover, MultiSymbolicExpressionTreeManipulator>
                (osga, popSize: 100, elites: 1, maxGens: 25, mutationRate: 0.15);
            osga.MaximumSelectionPressure.Value = 100;
            return(osga);
        }
    public static OffspringSelectionGeneticAlgorithm CreateGpTimeSeriesSample() {
      var problem = new SymbolicTimeSeriesPrognosisSingleObjectiveProblem();
      problem.Name = "Symbolic time series prognosis problem (Mackey Glass t=17)";
      problem.ProblemData.Name = "Mackey Glass t=17";
      problem.MaximumSymbolicExpressionTreeLength.Value = 125;
      problem.MaximumSymbolicExpressionTreeDepth.Value = 12;
      problem.EvaluatorParameter.Value.HorizonParameter.Value.Value = 10;

      foreach (var symbol in problem.SymbolicExpressionTreeGrammar.Symbols) {
        if (symbol is Exponential || symbol is Logarithm) {
          symbol.Enabled = false;
        } else if (symbol is AutoregressiveTargetVariable) {
          symbol.Enabled = true;
          var autoRegressiveSymbol = symbol as AutoregressiveTargetVariable;
          autoRegressiveSymbol.MinLag = -30;
          autoRegressiveSymbol.MaxLag = -1;
        }
      }

      var osga = new OffspringSelectionGeneticAlgorithm();
      osga.Name = "Genetic Programming - Time Series Prediction (Mackey-Glass-17)";
      osga.Description = "A genetic programming algorithm for creating a time-series model for the Mackey-Glass-17 time series.";
      osga.Problem = problem;
      SamplesUtils.ConfigureOsGeneticAlgorithmParameters<GenderSpecificSelector, SubtreeCrossover, MultiSymbolicExpressionTreeManipulator>
        (osga, popSize: 100, elites: 1, maxGens: 25, mutationRate: 0.15);
      osga.MaximumSelectionPressure.Value = 100;
      return osga;

    }