Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs	(revision 13096)
@@ -215,7 +215,4 @@
 
     #region Helper Properties
-    private RandomCreator GlobalRandomCreator {
-      get { return (RandomCreator)OperatorGraph.InitialOperator; }
-    }
     private SolutionsCreator SolutionsCreator {
       get { return OperatorGraph.Iterate().OfType<SolutionsCreator>().First(); }
@@ -619,5 +616,4 @@
       int numberOfLayers = NumberOfLayers.Value;
       AgeLimits = scheme.CalculateAgeLimits(ageGap, numberOfLayers);
-      AgeLimits[AgeLimits.Length - 1] = int.MaxValue; // last layer infinite age limit
     }
 
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainLoop.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainLoop.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainLoop.cs	(revision 13096)
@@ -43,7 +43,4 @@
       get { return (ScopeTreeLookupParameter<DoubleValue>)Parameters["Quality"]; }
     }
-    public ILookupParameter<IntValue> MaximumGenerationsParameter {
-      get { return (ILookupParameter<IntValue>)Parameters["MaximumGenerations"]; }
-    }
     public ILookupParameter<IOperator> AnalyzerParameter {
       get { return (ILookupParameter<IOperator>)Parameters["Analyzer"]; }
@@ -56,7 +53,4 @@
     public GeneticAlgorithmMainLoop MainOperator {
       get { return OperatorGraph.Iterate().OfType<GeneticAlgorithmMainLoop>().First(); }
-    }
-    public EldersEmigrator EldersEmigrator {
-      get { return OperatorGraph.Iterate().OfType<EldersEmigrator>().First(); }
     }
 
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainOperator.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainOperator.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainOperator.cs	(revision 13096)
@@ -40,25 +40,16 @@
 
       // Operator starts with calculating number of selected scopes base on plus/comma-selection replacement scheme
-      var numberOfSubScopesBranch = new ConditionalBranch() { Name = "PlusSelection?" };
-      var numberOfSelectedSubScopesPlusCalculator = new ExpressionCalculator() { Name = "NumberOfSelectedSubScopes = PopulationSize * 2" };
-      var numberOfSelectedSubScopesCalculator = new ExpressionCalculator() { Name = "NumberOfSelectedSubScopes = (PopulationSize - Elites) * 2" };
+      var numberOfSelectedSubScopesCalculator = new ExpressionCalculator() { Name = "NumberOfSelectedSubScopes = 2 * (PopulationSize - if PlusSelection then 0 else Elites)" };
       var replacementBranch = new ConditionalBranch() { Name = "PlusSelection?" };
 
       // Set new initial operator
-      mainLoop.OperatorGraph.InitialOperator = numberOfSubScopesBranch;
-
-      numberOfSubScopesBranch.ConditionParameter.ActualName = "PlusSelection";
-      numberOfSubScopesBranch.TrueBranch = numberOfSelectedSubScopesPlusCalculator;
-      numberOfSubScopesBranch.FalseBranch = numberOfSelectedSubScopesCalculator;
-      numberOfSubScopesBranch.Successor = selector;
-
-      numberOfSelectedSubScopesPlusCalculator.CollectedValues.Add(new LookupParameter<IntValue>("PopulationSize"));
-      numberOfSelectedSubScopesPlusCalculator.ExpressionResultParameter.ActualName = "NumberOfSelectedSubScopes";
-      numberOfSelectedSubScopesPlusCalculator.ExpressionParameter.Value = new StringValue("PopulationSize 2 * toint");
+      mainLoop.OperatorGraph.InitialOperator = numberOfSelectedSubScopesCalculator;
 
       numberOfSelectedSubScopesCalculator.CollectedValues.Add(new LookupParameter<IntValue>("PopulationSize"));
       numberOfSelectedSubScopesCalculator.CollectedValues.Add(new LookupParameter<IntValue>("Elites"));
+      numberOfSelectedSubScopesCalculator.CollectedValues.Add(new LookupParameter<BoolValue>("PlusSelection"));
       numberOfSelectedSubScopesCalculator.ExpressionResultParameter.ActualName = "NumberOfSelectedSubScopes";
-      numberOfSelectedSubScopesCalculator.ExpressionParameter.Value = new StringValue("PopulationSize Elites - 2 * toint");
+      numberOfSelectedSubScopesCalculator.ExpressionParameter.Value = new StringValue("PopulationSize 0 Elites PlusSelection if - 2 * toint");
+      numberOfSelectedSubScopesCalculator.Successor = selector;
 
       // Use Elitism or Plus-Selection as replacement strategy
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerCreator.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerCreator.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerCreator.cs	(revision 13096)
@@ -32,5 +32,5 @@
 
 namespace HeuristicLab.Algorithms.ALPS {
-  [Item("LayerCreator", "An operator which creates a new layer by cloning the oldest one and setting the variables accordingly.")]
+  [Item("LayerCreator", "An operator which creates a new layer by cloning the current oldest one.")]
   [StorableClass]
   public sealed class LayerCreator : SingleSuccessorOperator {
@@ -106,5 +106,4 @@
       }
     }
-
   }
 }
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerOpener.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerOpener.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerOpener.cs	(revision 13096)
@@ -30,5 +30,5 @@
 
 namespace HeuristicLab.Algorithms.ALPS {
-  [Item("LayerOpener", "")]
+  [Item("LayerOpener", "An operator that encapsules opening new layer for ALPS when required.")]
   [StorableClass]
   public sealed class LayerOpener : AlgorithmOperator {
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerReseeder.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerReseeder.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerReseeder.cs	(revision 13096)
@@ -31,5 +31,5 @@
 
 namespace HeuristicLab.Algorithms.ALPS {
-  [Item("LayerReseeder", "")]
+  [Item("LayerReseeder", "An operator that encapsulates the reseeding of the lowest layer in ALPS.")]
   [StorableClass]
   public sealed class LayerReseeder : SingleSuccessorOperator, IOperatorGraphOperator {
@@ -81,7 +81,4 @@
 
       var subScopesCounter = new SubScopesCounter();
-      //var continuousReseedingBranch = new ConditionalBranch() { Name = "ContinuousReseeding?" };
-      //var reseedingIntervalCalculator = new ExpressionCalculator() { Name = "DoReseeding = Generation % AgeGap == 0" };
-      //var doReseedingBranch = new ConditionalBranch() { Name = "DoReseeding?" };
       var numberOfReplacedCalculator = new ExpressionCalculator() { Name = "NumberOfReplaced = if ContinuousReseeding then max(LayerPopulationSize - (PopulationSize - PopulationSize / AgeGap), 0) else PopulationSize" };
       var numberOfNewIndividualsCalculator = new ExpressionCalculator() { Name = "NumberOfNewIndividuals = PopulationSize - (LayerPopulatioSize - NumberOfReplaced)" };
@@ -96,5 +93,4 @@
       var subScopesCounter2 = new SubScopesCounter();
 
-      //OperatorGraph.InitialOperator = continuousReseedingBranch;
       OperatorGraph.InitialOperator = subScopesCounter;
 
@@ -102,17 +98,4 @@
       subScopesCounter.AccumulateParameter.Value = new BoolValue(false);
       subScopesCounter.Successor = numberOfReplacedCalculator;
-
-      //continuousReseedingBranch.ConditionParameter.ActualName = "ContinuousReseeding";
-      //continuousReseedingBranch.TrueBranch = numberOfChildrenCalculator;
-      //continuousReseedingBranch.FalseBranch = reseedingIntervalCalculator;
-
-      //reseedingIntervalCalculator.CollectedValues.Add(new LookupParameter<IntValue>("Generation"));
-      //reseedingIntervalCalculator.CollectedValues.Add(new LookupParameter<IntValue>("AgeGap"));
-      //reseedingIntervalCalculator.ExpressionResultParameter.ActualName = "DoReseeding";
-      //reseedingIntervalCalculator.ExpressionParameter.Value = new StringValue("Generation AgeGap % 0 ==");
-      //reseedingIntervalCalculator.Successor = doReseedingBranch;
-
-      //doReseedingBranch.ConditionParameter.ActualName = "DoReseeding";
-      //doReseedingBranch.TrueBranch = numberOfChildrenCalculator;
 
       numberOfReplacedCalculator.CollectedValues.Add(new LookupParameter<BoolValue>("ContinuousReseeding"));
Index: /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/WeightingReducer.cs
===================================================================
--- /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/WeightingReducer.cs	(revision 13095)
+++ /branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/WeightingReducer.cs	(revision 13096)
@@ -77,5 +77,4 @@
       return base.Apply();
     }
-
   }
 }
