Free cookie consent management tool by TermsFeed Policy Generator

Changeset 13723 for branches/IslandALPS


Ignore:
Timestamp:
03/24/16 11:01:41 (8 years ago)
Author:
pkuelzer
Message:

#2558
maxLayer default = 10000 instead of 100000 to avoid overflow
layer creator now wipes evaluated Layersolutions
evaluated Solution data reducer assigns the value instead of summing it
changed default age gap to 20
start on generation 1 to avoid immediate reseeding
fixes also done in islandosAlps

Location:
branches/IslandALPS/IslandALPS/3.3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/IslandALPS/IslandALPS/3.3/IslandALPSAlgorithm.cs

    r13686 r13723  
    381381      #region ALPSParameter
    382382
    383       Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers.", new IntValue(5)));
     383      Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers.", new IntValue(20)));
    384384      Parameters.Add(new ValueParameter<DoubleValue>("AgeInheritance", "A weight that determines the age of a child after crossover based on the older (1.0) and younger (0.0) parent.", new DoubleValue(1)));
    385385      Parameters.Add(new ValueParameter<IntArray>("AgeLimits", "The maximum age an individual is allowed to reach in a certain layer.", new IntArray(new int[0])) {Hidden = true});
     
    387387      Parameters.Add(new ValueParameter<BoolValue>("ReduceToPopulationSize", ".", new BoolValue(true)));
    388388
    389       Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "", new IntValue(100000)));
     389      Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "", new IntValue(10000)));
    390390      Parameters.Add(new ValueParameter<MultiAnalyzer>("LayerAnalyzer", "The operator used to analyze each layer.", new MultiAnalyzer()));
    391391      Parameters.Add(new ValueParameter<MultiAnalyzer>("GroupAnalyzer", "The operator used to analyze each layergroup.", new MultiAnalyzer()));
  • branches/IslandALPS/IslandALPS/3.3/IslandAlpsAlgorithmMainLoop.cs

    r13686 r13723  
    268268      #endregion
    269269
    270       globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(GenerationsParametername, new IntValue(0)));
     270      globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(GenerationsParametername, new IntValue(1)));
    271271      globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(MigrationsParametername, new IntValue(0)));
    272272
     
    296296      incrementEvaluatedSolutionDr.TargetParameter.ActualName = EvaluatedSolutions.Name;
    297297      incrementEvaluatedSolutionDr.ReductionOperation.Value = new ReductionOperation(ReductionOperations.Sum);
    298       incrementEvaluatedSolutionDr.TargetOperation.Value = new ReductionOperation(ReductionOperations.Sum);
     298      incrementEvaluatedSolutionDr.TargetOperation.Value = new ReductionOperation(ReductionOperations.Assign);
    299299
    300300      setIslandEvaluatedSolutions.ParameterToReduce.ActualName = LayerEvaluatedSolutionsParameter.Name;
     
    535535      var updateLayerNumber = new Assigner {Name = "Layer = OpenLayers"};
    536536      var historyWiper = new ResultsHistoryWiper {Name = "Clear History in Results"};
     537      var evaluatedSolutionsWiper = new Assigner() {Name = "Clear evaluated Solutions"};
    537538      var createChildrenViaCrossover = new AlpsGeneticAlgorithmMainOperator();
    538539      var incrEvaluatedSolutionsForNewLayer = new SubScopesCounter {Name = "Update EvaluatedSolutions"};
     
    569570
    570571      historyWiper.ResultsParameter.ActualName = LayerResultsParametername;
    571       historyWiper.Successor = createChildrenViaCrossover;
     572      historyWiper.Successor = evaluatedSolutionsWiper;
     573      evaluatedSolutionsWiper.LeftSideParameter.ActualName = LayerEvaluatedSolutionsParameterName;
     574      evaluatedSolutionsWiper.RightSideParameter.Value = new IntValue(0);
     575      evaluatedSolutionsWiper.Successor = createChildrenViaCrossover;
    572576
    573577      // Maybe use only crossover and no elitism instead of "default operator"
  • branches/IslandALPS/IslandALPS/3.3/Offspring Selection/IslandAlpsOffspringSelectionAlgorithm.cs

    r13686 r13723  
    389389      #region ALPSParameter
    390390
    391       Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers.", new IntValue(5)));
     391      Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers.", new IntValue(20)));
    392392      Parameters.Add(new ValueParameter<DoubleValue>("AgeInheritance", "A weight that determines the age of a child after crossover based on the older (1.0) and younger (0.0) parent.", new DoubleValue(1)));
    393393      Parameters.Add(new ValueParameter<IntArray>("AgeLimits", "The maximum age an individual is allowed to reach in a certain layer.", new IntArray(new int[0])) {Hidden = true});
     
    395395      Parameters.Add(new ValueParameter<BoolValue>("ReduceToPopulationSize", ".", new BoolValue(true)));
    396396
    397       Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "", new IntValue(100000)));
     397      Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "", new IntValue(10000)));
    398398      Parameters.Add(new ValueParameter<MultiAnalyzer>("LayerAnalyzer", "The operator used to analyze each layer.", new MultiAnalyzer()));
    399399      Parameters.Add(new ValueParameter<MultiAnalyzer>("GroupAnalyzer", "The operator used to analyze each layergroup.", new MultiAnalyzer()));
  • branches/IslandALPS/IslandALPS/3.3/Offspring Selection/IslandAlpsOffspringSelectionAlgorithmMainLoop.cs

    r13686 r13723  
    294294      #endregion
    295295
    296       globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(GenerationsParametername, new IntValue(0)));
     296      globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(GenerationsParametername, new IntValue(1)));
    297297      globalVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>(MigrationsParametername, new IntValue(0)));
    298298
     
    322322      incrementEvaluatedSolutionDr.TargetParameter.ActualName = EvaluatedSolutions.Name;
    323323      incrementEvaluatedSolutionDr.ReductionOperation.Value = new ReductionOperation(ReductionOperations.Sum);
    324       incrementEvaluatedSolutionDr.TargetOperation.Value = new ReductionOperation(ReductionOperations.Sum);
     324      incrementEvaluatedSolutionDr.TargetOperation.Value = new ReductionOperation(ReductionOperations.Assign);
    325325
    326326      setIslandEvaluatedSolutions.ParameterToReduce.ActualName = LayerEvaluatedSolutionsParameter.Name;
     
    577577      var updateLayerNumber = new Assigner {Name = "Layer = OpenLayers"};
    578578      var historyWiper = new ResultsHistoryWiper {Name = "Clear History in Results"};
     579      var evaluatedSolutionsWiper = new Assigner() { Name = "Clear evaluated Solutions" };
    579580      var createChildrenViaCrossover = new AlpsOffspringSelectionGeneticAlgorithmMainOperator();
    580581      var incrEvaluatedSolutionsForNewLayer = new SubScopesCounter {Name = "Update EvaluatedSolutions"};
     
    612613
    613614      historyWiper.ResultsParameter.ActualName = "LayerResults";
    614       historyWiper.Successor = createChildrenViaCrossover;
     615      historyWiper.Successor = evaluatedSolutionsWiper;
     616      evaluatedSolutionsWiper.LeftSideParameter.ActualName = LayerEvaluatedSolutionsParameterName;
     617      evaluatedSolutionsWiper.RightSideParameter.Value = new IntValue(0);
     618      evaluatedSolutionsWiper.Successor = createChildrenViaCrossover;
    615619
    616620      // Maybe use only crossover and no elitism instead of "default operator"
Note: See TracChangeset for help on using the changeset viewer.