Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/18/15 17:24:39 (10 years ago)
Author:
pfleck
Message:

#2269

  • Used Left/RightSelector instead of First/LastSubScopesProcessor
  • Used the LayerUniformSubScopesProcessor for reseeding and opening new layer to take usage of the per-layer parameterization.
  • Added LayerSorter because layers are sorted wrong after MergingReducer.
  • Removed obsolete LastSubScopeCloner.
Location:
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3
Files:
1 added
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/HeuristicLab.Algorithms.ALPS-3.3.csproj

    r12035 r12036  
    9191    <Compile Include="EldersEmigrator.cs" />
    9292    <Compile Include="EldersSelector.cs" />
    93     <Compile Include="LastSubScopeCloner.cs" />
    9493    <Compile Include="LayerCreator.cs" />
     94    <Compile Include="LayerSorter.cs" />
    9595    <Compile Include="LayerUniformSubScopesProcessor.cs" />
    9696    <Compile Include="LayerUpdator.cs" />
  • branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerUpdator.cs

    r12018 r12036  
    2929using HeuristicLab.Parameters;
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     31using HeuristicLab.Selection;
    3132
    3233namespace HeuristicLab.Algorithms.ALPS {
     
    6061      var incrOpenLayers = new IntCounter() { Name = "Incr. OpenLayers" };
    6162      var newLayerResultsCollector = new ResultsCollector() { Name = "Collect new Layer Results" };
    62       var newLayerProsessor = new LastSubScopeProcessor();
     63      var newLayerSelector = new RightSelector();
     64      var newLayerProsessor = new SubScopesProcessor();
     65      var newLayerLayerProcessor = new LayerUniformSubScopesProcessor();
     66      var newLayerReducer = new MergingReducer();
    6367      var layerInitializer = new Assigner() { Name = "Init Layer" };
    6468      var correctAgeProcessor = new UniformSubScopesProcessor() { Name = "Hack: Decrement Age" };
     
    6670      var incrEvaluatedSolutionsForNewLayer = new SubScopesCounter() { Name = "Update EvaluatedSolutions" };
    6771      var newResultCollectionAssigner = new Assigner() { Name = "Empty Results" };
    68       var regenerateLayerZeroProsessor = new FirstSubScopeProcessor();
     72      var regenerateLayerZeroSelector = new LeftSelector();
     73      var regenerateLayerZeroProsessor = new SubScopesProcessor();
     74      var regenerateLayerZeroLayerProsessor = new LayerUniformSubScopesProcessor();
     75      var regenerateLayerZeroReducer = new MergingReducer();
     76      var layerSorter = new LayerSorter();
    6977      var subScopesRemover = new SubScopesRemover();
    7078      var solutionsCreator = new SolutionsCreator();
     
    99107      openNewLayerBranch.ConditionParameter.ActualName = "OpenNewLayer";
    100108      openNewLayerBranch.TrueBranch = layerCreator;
    101       openNewLayerBranch.Successor = regenerateLayerZeroProsessor;
     109      openNewLayerBranch.Successor = regenerateLayerZeroSelector;
    102110
    103       //layerCloner.Successor = newLayerProsessor;
    104       layerCreator.Successor = newLayerProsessor;
     111      layerCreator.Successor = newLayerSelector;
    105112
    106       //newLayerProsessor.Operator = layerInitializer;
    107       newLayerProsessor.Operator = incrEvaluatedSolutionsForNewLayer;
    108       newLayerProsessor.Successor = incrOpenLayers;
     113      newLayerSelector.NumberOfSelectedSubScopesParameter.Value = new IntValue(1);
     114      newLayerSelector.CopySelected = new BoolValue(false);
     115      newLayerSelector.Successor = newLayerProsessor;
     116
     117      newLayerProsessor.Operators.Add(new EmptyOperator());
     118      newLayerProsessor.Operators.Add(newLayerLayerProcessor);
     119      newLayerProsessor.Successor = newLayerReducer;
     120
     121      newLayerLayerProcessor.Operator = incrEvaluatedSolutionsForNewLayer;
     122
     123      newLayerReducer.Successor = incrOpenLayers;
    109124
    110125      layerInitializer.LeftSideParameter.ActualName = "Layer";
     
    136151      newLayerResultsCollector.Successor = null;
    137152
    138       regenerateLayerZeroProsessor.Operator = subScopesRemover;
    139       regenerateLayerZeroProsessor.Successor = resetGenSlr;
     153      regenerateLayerZeroSelector.NumberOfSelectedSubScopesParameter.Value = new IntValue(1);
     154      regenerateLayerZeroSelector.CopySelected = new BoolValue(false);
     155      regenerateLayerZeroSelector.Successor = regenerateLayerZeroProsessor;
     156
     157      regenerateLayerZeroProsessor.Operators.Add(new EmptyOperator());
     158      regenerateLayerZeroProsessor.Operators.Add(regenerateLayerZeroLayerProsessor);
     159      regenerateLayerZeroProsessor.Successor = regenerateLayerZeroReducer;
     160
     161      regenerateLayerZeroLayerProsessor.Operator = subScopesRemover;
     162
     163      regenerateLayerZeroReducer.Successor = layerSorter;
     164
     165      layerSorter.Successor = resetGenSlr;
    140166
    141167      subScopesRemover.Successor = solutionsCreator;
Note: See TracChangeset for help on using the changeset viewer.