Index: /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystem.cs	(revision 9467)
@@ -118,4 +118,7 @@
       get { return (ValueParameter<IntValue>)Parameters["MaxIterations"]; }
     }
+    public IConstrainedValueParameter<ISelector> SelectorParameter {
+      get { return (IConstrainedValueParameter<ISelector>)Parameters["Selector"]; }
+    }
     public IConstrainedValueParameter<ICrossover> CrossoverParameter {
       get { return (IConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; }
@@ -213,4 +216,8 @@
       get { return FinalAnalyzerParameter.Value; }
       set { FinalAnalyzerParameter.Value = value; }
+    }
+    public ISelector Selector {
+      get { return SelectorParameter.Value; }
+      set { SelectorParameter.Value = value; }
     }
     public ICrossover Crossover {
@@ -254,4 +261,5 @@
       Parameters.Add(new ValueParameter<MultiAnalyzer>("FinalAnalyzer", "The operator used to analyze the last generation.", new MultiAnalyzer()));
       Parameters.Add(new ValueParameter<IntValue>("MaxIterations", "The maximum number of iterations.", new IntValue(1000)));
+      Parameters.Add(new ConstrainedValueParameter<ISelector>("Selector", "The operator used to select solutions."));
       Parameters.Add(new ConstrainedValueParameter<ICrossover>("Crossover", "The operator used to cross solutions."));
       Parameters.Add(new ConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions."));
@@ -276,4 +284,5 @@
       mainLoop.FinalAnalyzerParameter.ActualName = FinalAnalyzerParameter.Name;
       mainLoop.MaxIterationsParameter.ActualName = MaxIterationsParameter.Name;
+      mainLoop.SelectorParameter.ActualName = SelectorParameter.Name;
       mainLoop.CrossoverParameter.ActualName = CrossoverParameter.Name;
       mainLoop.MutatorParameter.ActualName = MutatorParameter.Name;
@@ -303,7 +312,9 @@
         ParameterizeEvaluator(Problem.Evaluator);
         MainLoop.SetCurrentProblem(Problem);
+        UpdateSelectors();
         UpdateCrossovers();
         UpdateMutators();
         UpdateAnalyzers();
+        ParameterizeSelectors();
         ParameterizeManipulator();
       }
@@ -311,9 +322,4 @@
     }
 
-    private void ParameterizeManipulator() {
-      foreach (var op in Problem.Operators.OfType<IProbabilityMutatorOperator>()) {
-        op.ProbabilityParameter.ActualName = MutationProbabilityParameter.Name;
-      }
-    }
     protected override void Problem_EvaluatorChanged(object sender, EventArgs e) {
       ParameterizeEvaluator(Problem.Evaluator);
@@ -326,11 +332,38 @@
     }
     protected override void Problem_OperatorsChanged(object sender, EventArgs e) {
+      UpdateSelectors();
       UpdateCrossovers();
       UpdateMutators();
       UpdateAnalyzers();
+      ParameterizeSelectors();
       ParameterizeManipulator();
       base.Problem_OperatorsChanged(sender, e);
     }
 
+    private void ParameterizeSelectors() {
+      foreach (ISelector selector in SelectorParameter.ValidValues) {
+        selector.CopySelected = new BoolValue(true);
+        selector.NumberOfSelectedSubScopesParameter.Value = new IntValue(4);
+        selector.NumberOfSelectedSubScopesParameter.Hidden = true;
+        ParameterizeStochasticOperator(selector);
+      }
+      if (Problem != null) {
+        foreach (IXCSSelector selector in SelectorParameter.ValidValues.OfType<IXCSSelector>()) {
+          selector.NumerosityParameter.ActualName = Problem.Evaluator.NumerosityParameter.ActualName;
+          selector.NumerosityParameter.Hidden = true;
+        }
+        foreach (ISingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {
+          selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
+          selector.MaximizationParameter.Hidden = true;
+          selector.QualityParameter.ActualName = Problem.Evaluator.FitnessParameter.ActualName;
+          selector.QualityParameter.Hidden = true;
+        }
+      }
+    }
+    private void ParameterizeManipulator() {
+      foreach (var op in Problem.Operators.OfType<IProbabilityMutatorOperator>()) {
+        op.ProbabilityParameter.ActualName = MutationProbabilityParameter.Name;
+      }
+    }
     private void ParameterizeEvaluator(IXCSEvaluator evaluator) {
       evaluator.ActualTimeParameter.ActualName = "Iteration";
@@ -339,4 +372,31 @@
       evaluator.PowerParameter.ActualName = PowerParameter.Name;
       evaluator.ErrorZeroParameter.ActualName = ErrorZeroParameter.Name;
+    }
+    private void ParameterizeStochasticOperator(IOperator op) {
+      IStochasticOperator stochasticOp = op as IStochasticOperator;
+      if (stochasticOp != null) {
+        stochasticOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
+        stochasticOp.RandomParameter.Hidden = true;
+      }
+    }
+
+    private void UpdateSelectors() {
+      ISelector oldSelector = SelectorParameter.Value;
+      SelectorParameter.ValidValues.Clear();
+      ISelector defaultSelector = Problem.Operators.OfType<IXCSSelector>().FirstOrDefault();
+      if (defaultSelector == null) {
+        defaultSelector = Problem.Operators.OfType<ISelector>().FirstOrDefault();
+      }
+
+      foreach (ISelector selector in Problem.Operators.OfType<ISelector>().OrderBy(x => x.Name))
+        SelectorParameter.ValidValues.Add(selector);
+
+      if (oldSelector != null) {
+        ISelector selector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldSelector.GetType());
+        if (selector != null) SelectorParameter.Value = selector;
+        else oldSelector = null;
+      }
+      if (oldSelector == null && defaultSelector != null)
+        SelectorParameter.Value = defaultSelector;
     }
 
Index: /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystemMainLoop.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystemMainLoop.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LearningClassifierSystemMainLoop.cs	(revision 9467)
@@ -25,5 +25,4 @@
 using HeuristicLab.Encodings.ConditionActionEncoding;
 using HeuristicLab.Operators;
-using HeuristicLab.Optimization;
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
@@ -42,6 +41,6 @@
 
     #region Parameter Properties
-    public IConstrainedValueParameter<ISelector> SelectorParameter {
-      get { return (IConstrainedValueParameter<ISelector>)Parameters["Selector"]; }
+    public ValueLookupParameter<IOperator> SelectorParameter {
+      get { return adaptedGeneticAlgorithmMainLoop.SelectorParameter; }
     }
     public ValueLookupParameter<PercentValue> CrossoverProbabilityParameter {
@@ -108,5 +107,4 @@
     private void Initialize() {
       #region Create parameters
-      Parameters.Add(new ConstrainedValueParameter<ISelector>("Selector", "The operator used to select solutions for reproduction.", new ItemSet<ISelector>() { new ProportionalSelector() }, new ProportionalSelector()));
       Parameters.Add(new ValueLookupParameter<IOperator>("Evaluator", "The operator used to evaluate solutions. This operator is executed in parallel, if an engine is used which supports parallelization."));
       XCSAfterCopyingParentOperator afterCopyingParents = new XCSAfterCopyingParentOperator();
@@ -273,7 +271,4 @@
       subsumptionSelector.CopySelected = new BoolValue(false);
 
-      SelectorParameter.Value.CopySelected = new BoolValue(true);
-      SelectorParameter.Value.NumberOfSelectedSubScopesParameter.Value = new IntValue(4);
-
       evaluator.Name = "Evaluator";
 
@@ -320,5 +315,4 @@
       afterCrossover.ParentAverageActionSetSizeParameter.ActualName = "AverageActionSetSize";
 
-      adaptedGeneticAlgorithmMainLoop.SelectorParameter.ActualName = SelectorParameter.Name;
       adaptedGeneticAlgorithmMainLoop.RandomParameter.ActualName = "Random";
       adaptedGeneticAlgorithmMainLoop.MaximumGenerationsParameter.ActualName = "ZeroIntValue";
@@ -428,12 +422,4 @@
     }
 
-    private void ParameterizeStochasticOperator(IOperator op) {
-      IStochasticOperator stochasticOp = op as IStochasticOperator;
-      if (stochasticOp != null) {
-        stochasticOp.RandomParameter.ActualName = "Random";
-        stochasticOp.RandomParameter.Hidden = true;
-      }
-    }
-
     internal void SetCurrentProblem(IConditionActionProblem problem) {
       initialSolutionsCreator.SolutionCreatorParameter.ActualName = problem.SolutionCreatorParameter.Name;
@@ -485,21 +471,4 @@
       adaptedGeneticAlgorithmMainLoop.SetChildName(problem.ChildName);
     }
-    //private void ParameterizeSelectors() {
-    //  foreach (ISelector selector in SelectorParameter.ValidValues) {
-    //    selector.CopySelected = new BoolValue(true);
-    //    //set value by parameter!
-    //    selector.NumberOfSelectedSubScopesParameter.Value = new IntValue(5);
-    //    selector.NumberOfSelectedSubScopesParameter.Hidden = true;
-    //    ParameterizeStochasticOperator(selector);
-    //  }
-    //  if (Problem != null) {
-    //    foreach (ISingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {
-    //      selector.MaximizationParameter.Value = new BoolValue(true);
-    //      selector.MaximizationParameter.Hidden = true;
-    //      selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
-    //      selector.QualityParameter.Hidden = true;
-    //    }
-    //  }
-    //}
   }
 }
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/CreatableAttribute.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/CheckedItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ConstraintCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemArray.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemArray.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemArray.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemSet.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemSet.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ItemSet.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/NamedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/NamedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/NamedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperationCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperationCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperationCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorSet.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorSet.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/OperatorSet.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ParameterCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyCheckedItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ScopeList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ScopeList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ScopeList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/ValueParameterCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/VariableCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/VariableCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Collections/VariableCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ComparisonConstraint.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ComparisonConstraint.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ComparisonConstraint.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/Constraint.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/Constraint.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/Constraint.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ConstraintOperation.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ConstraintOperation.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/ConstraintOperation.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/EqualityConstraint.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/EqualityConstraint.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/EqualityConstraint.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/IConstraint.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/IConstraint.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/TypeCompatibilityConstraint.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/TypeCompatibilityConstraint.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Constraints/TypeCompatibilityConstraint.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Engine.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Engine.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Engine.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -145,5 +145,5 @@
 
       OnStarted();
-      lastUpdateTime = DateTime.Now;
+      lastUpdateTime = DateTime.UtcNow;
       System.Timers.Timer timer = new System.Timers.Timer(250);
       timer.AutoReset = true;
@@ -156,5 +156,5 @@
         timer.Elapsed -= new System.Timers.ElapsedEventHandler(timer_Elapsed);
         timer.Stop();
-        ExecutionTime += DateTime.Now - lastUpdateTime;
+        ExecutionTime += DateTime.UtcNow - lastUpdateTime;
       }
 
@@ -166,5 +166,5 @@
       System.Timers.Timer timer = (System.Timers.Timer)sender;
       timer.Enabled = false;
-      DateTime now = DateTime.Now;
+      DateTime now = DateTime.UtcNow;
       ExecutionTime += now - lastUpdateTime;
       lastUpdateTime = now;
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Executable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Executable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Executable.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionContext.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionContext.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionState.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ExecutionState.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IAtomicOperation.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ICheckedMultiOperator.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IConstrainedValueParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IEngine.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IEngine.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutable.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IExecutionContext.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IFixedValueParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemArray.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemDictionary.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemList.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemList.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IItemSet.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IKeyedItemCollection.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILog.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILog.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IMultiOperator.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/INamedItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperation.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperation.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperator.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IOperator.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IParameterizedNamedItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IRandom.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IRandom.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScope.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScope.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IScopeTreeLookupParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IStatefulItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueLookupParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IValueParameter.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Interfaces/IVariable.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Item.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Item.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Item.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Log.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Log.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Log.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/NamedItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/NamedItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/NamedItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorExecutionException.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorExecutionException.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorExecutionException.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,18 +21,24 @@
 
 using System;
+using System.Diagnostics;
 
 namespace HeuristicLab.Core {
   public class OperatorExecutionException : Exception {
-    private IOperator op;
+    private readonly IOperator op;
     public IOperator Operator {
       get { return op; }
     }
+
+    private readonly string message;
     public override string Message {
       get {
         string name = "\"" + op.Name + "\"";
         if (!op.Name.Equals(op.ItemName)) name += " (" + op.ItemName + ")";
-
+        if (!string.IsNullOrEmpty(op.GetType().Assembly.Location)) {
+          var fvi = FileVersionInfo.GetVersionInfo(op.GetType().Assembly.Location);
+          name += " [" + fvi.FileName + ": " + fvi.FileVersion + "]";
+        }
         if (InnerException == null)
-          return base.Message + name + ".";
+          return base.Message + name + message + ".";
         else
           return base.Message + name + ": " + InnerException.Message;
@@ -40,8 +46,10 @@
     }
 
-    public OperatorExecutionException(IOperator op)
+    public OperatorExecutionException(IOperator op) : this(op, string.Empty) { }
+    public OperatorExecutionException(IOperator op, string message)
       : base("An exception was thrown by the operator ") {
       if (op == null) throw new ArgumentNullException();
       this.op = op;
+      this.message = message;
     }
     public OperatorExecutionException(IOperator op, Exception innerException)
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorGraph.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorGraph.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/OperatorGraph.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ParameterizedNamedItem.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/PersistenceContentManager.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Plugin.cs.frame
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Plugin.cs.frame	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Plugin.cs.frame	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -29,5 +29,5 @@
   /// Plugin class for HeuristicLab.Core plugin.
   /// </summary>
-  [Plugin("HeuristicLab.Core", "3.3.7.$WCREV$")]
+  [Plugin("HeuristicLab.Core", "3.3.8.$WCREV$")]
   [PluginFile("HeuristicLab.Core-3.3.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.Collections", "3.3")]
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Properties/AssemblyInfo.cs.frame	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Properties/AssemblyInfo.cs.frame	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -32,5 +32,5 @@
 [assembly: AssemblyCompany("")]
 [assembly: AssemblyProduct("HeuristicLab")]
-[assembly: AssemblyCopyright("(c) 2002-2012 HEAL")]
+[assembly: AssemblyCopyright("(c) 2002-2013 HEAL")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
@@ -54,3 +54,3 @@
 // by using the '*' as shown below:
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.7.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.8.$WCREV$")]
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Scope.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Scope.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Scope.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ThreadSafeLog.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ThreadSafeLog.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/ThreadSafeLog.cs	(revision 9467)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Variable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Variable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Core/3.3/Variable.cs	(revision 9467)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/HeuristicLab.Encodings.ConditionActionEncoding-3.3.csproj
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/HeuristicLab.Encodings.ConditionActionEncoding-3.3.csproj	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/HeuristicLab.Encodings.ConditionActionEncoding-3.3.csproj	(revision 9467)
@@ -120,4 +120,5 @@
     <Compile Include="Interfaces\IConditionActionSolution.cs" />
     <Compile Include="Interfaces\IXCSModel.cs" />
+    <Compile Include="Interfaces\IXCSSelector.cs" />
     <Compile Include="Interfaces\IXCSSolution.cs" />
     <Compile Include="Manipulator\IProbabilityMutatorOperator.cs" />
@@ -137,4 +138,5 @@
     <Compile Include="Reinforcement\IActionExecuter.cs" />
     <Compile Include="Reinforcement\IClassifierFetcher.cs" />
+    <Compile Include="Selection\ProportionalTournamentSelector.cs" />
     <Compile Include="Subsumption\ActionSetSubsumptionOperator.cs" />
     <Compile Include="Subsumption\CheckGASubsumptionOperator.cs" />
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IConditionActionProblem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IConditionActionProblem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IConditionActionProblem.cs	(revision 9467)
@@ -28,4 +28,6 @@
     string ChildName { get; }
 
+    IParameter MaximizationParameter { get; }
+
     new IConditionActionProblemData ProblemData { get; }
     IParameter ActionExecuterParameter { get; }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IXCSSelector.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IXCSSelector.cs	(revision 9467)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Interfaces/IXCSSelector.cs	(revision 9467)
@@ -0,0 +1,30 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Optimization;
+
+namespace HeuristicLab.Encodings.ConditionActionEncoding {
+  public interface IXCSSelector : ISelector {
+    ILookupParameter<ItemArray<IntValue>> NumerosityParameter { get; }
+  }
+}
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Selection/ProportionalTournamentSelector.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Selection/ProportionalTournamentSelector.cs	(revision 9467)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Selection/ProportionalTournamentSelector.cs	(revision 9467)
@@ -0,0 +1,100 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Encodings.ConditionActionEncoding;
+using HeuristicLab.Optimization;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Selection {
+  /// <summary>
+  /// A tournament selection operator which considers a single double quality value for selection.
+  /// </summary>
+  [Item("ProportionalTournamentSelector", "A tournament selection operator which considers a single double quality value for selection and uses a proportion of all samples as group.")]
+  [StorableClass]
+  public sealed class ProportionalTournamentSelector : StochasticSingleObjectiveSelector, ISingleObjectiveSelector, IXCSSelector {
+    public ValueLookupParameter<PercentValue> GroupProportionParameter {
+      get { return (ValueLookupParameter<PercentValue>)Parameters["GroupProportion"]; }
+    }
+    // separate parameter needed, because in XCS the action set size differs from the number of scopes
+    public ILookupParameter<ItemArray<IntValue>> NumerosityParameter {
+      get { return (ILookupParameter<ItemArray<IntValue>>)Parameters["Numerosity"]; }
+    }
+
+    [StorableConstructor]
+    private ProportionalTournamentSelector(bool deserializing) : base(deserializing) { }
+    private ProportionalTournamentSelector(ProportionalTournamentSelector original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new ProportionalTournamentSelector(this, cloner);
+    }
+
+    public ProportionalTournamentSelector()
+      : base() {
+      Parameters.Add(new ValueLookupParameter<PercentValue>("GroupProportion", "The proportion of the tournament group.", new PercentValue(0.4)));
+      Parameters.Add(new ScopeTreeLookupParameter<IntValue>("Numerosity", ""));
+    }
+
+    protected override IScope[] Select(List<IScope> scopes) {
+      int count = NumberOfSelectedSubScopesParameter.ActualValue.Value;
+      bool copy = CopySelectedParameter.Value.Value;
+      IRandom random = RandomParameter.ActualValue;
+      bool maximization = MaximizationParameter.ActualValue.Value;
+      List<double> qualities = QualityParameter.ActualValue.Where(x => IsValidQuality(x.Value)).Select(x => x.Value).ToList();
+      double groupProportion = GroupProportionParameter.ActualValue.Value;
+      double currentActionSetSize = NumerosityParameter.ActualValue.Sum(x => x.Value);
+      double groupSize = Math.Floor(currentActionSetSize * groupProportion);
+      IScope[] selected = new IScope[count];
+
+      //check if list with indexes is as long as the original scope list
+      //otherwise invalid quality values were filtered
+      if (qualities.Count != scopes.Count) {
+        throw new ArgumentException("The scopes contain invalid quality values (either infinity or double.NaN) on which the selector cannot operate.");
+      }
+
+      for (int i = 0; i < count; i++) {
+        int best = random.Next(scopes.Count);
+        int index;
+        for (int j = 1; j < groupSize; j++) {
+          index = random.Next(scopes.Count);
+          if (((maximization) && (qualities[index] > qualities[best])) ||
+              ((!maximization) && (qualities[index] < qualities[best]))) {
+            best = index;
+          }
+        }
+
+        if (copy)
+          selected[i] = (IScope)scopes[best].Clone();
+        else {
+          selected[i] = scopes[best];
+          scopes.RemoveAt(best);
+          qualities.RemoveAt(best);
+        }
+      }
+      return selected;
+    }
+  }
+}
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Creators/UniformRandomVariableVectorCreator.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Creators/UniformRandomVariableVectorCreator.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Creators/UniformRandomVariableVectorCreator.cs	(revision 9467)
@@ -22,4 +22,6 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
@@ -30,4 +32,7 @@
 
     #region Parameter Properties
+    public ILookupParameter<PercentValue> ChangeSymbolProbabilityParameter {
+      get { return (ILookupParameter<PercentValue>)Parameters["ChangeSymbolProbability"]; }
+    }
     #endregion
 
@@ -39,4 +44,5 @@
     public UniformRandomVariableVectorCreator()
       : base() {
+        Parameters.Add(new LookupParameter<PercentValue>("ChangeSymbolProbability"));
     }
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -46,5 +52,5 @@
     protected override VariableVector Create(IRandom random, VariableVector sampleVariableVector, double spreadPercentage) {
       var result = sampleVariableVector.GetEmptyCopy();
-      result.Randomize(random, spreadPercentage);
+      result.Randomize(random, ChangeSymbolProbabilityParameter.ActualValue.Value, spreadPercentage);
       return result;
     }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/DoubleVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/DoubleVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/DoubleVariable.cs	(revision 9467)
@@ -112,11 +112,11 @@
     }
 
-    // Important! If this mehtod is called instead of the more concrete "Randomize(IRandom random, double spreadPercentage)"
-    // spread percentage is 50%
-    public override void Randomize(IRandom random) {
-      Randomize(random, 50);
+    // this method is not implemented on purpose, because it may lead to confusion or errors if the wrong parameter would be used (changeSymbolProbability instead of spreadPercentage)
+    public override void Randomize(IRandom random, double changeSymbolProbability) {
+      throw new NotImplementedException("The method DoubleVariable.Randomize(IRandom, double) should not be used. Use DoubleVariable.Randomize(IRandom, double, double) instead.");
     }
 
-    public void Randomize(IRandom random, double spreadPercentage) {
+    // changeSymbolProbability is not used on purpose
+    public void Randomize(IRandom random, double changeSymbolProbability, double spreadPercentage) {
       if (spreadPercentage < 0 || spreadPercentage > 100) {
         throw new ArgumentException("Spread percentage has to be between 0 and 100.");
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IActionVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IActionVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IActionVariable.cs	(revision 9467)
@@ -21,4 +21,5 @@
 
 using System.Collections.Generic;
+using HeuristicLab.Core;
 
 namespace HeuristicLab.Encodings.VariableVector {
@@ -30,4 +31,6 @@
     void SetTo(string value);
     IEnumerable<string> GetAllPossibleActions();
+
+    void RandomizeAction(IRandom random);
   }
 }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IVariable.cs	(revision 9467)
@@ -33,5 +33,5 @@
     IVariable GetSetCopy();
 
-    void Randomize(IRandom random);
+    void Randomize(IRandom random, double changeSymbolProbability);
     bool MatchInput(string target);
     bool MatchVariable(IVariable target);
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IntVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IntVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/IntVariable.cs	(revision 9467)
@@ -122,5 +122,11 @@
     }
 
-    public override void Randomize(IRandom random) {
+    public void RandomizeAction(IRandom random) {
+      int index = random.Next(possibleFeatures.Count());
+      currentValue = possibleFeatures.ElementAt(index);
+    }
+
+    public override void Randomize(IRandom random, double changeSymbolProbability) {
+      Wildcard = random.NextDouble() < changeSymbolProbability;
       int index = random.Next(possibleFeatures.Count());
       currentValue = possibleFeatures.ElementAt(index);
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/StringVariable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/StringVariable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/StringVariable.cs	(revision 9467)
@@ -167,5 +167,11 @@
     }
 
-    public override void Randomize(IRandom random) {
+    public void RandomizeAction(IRandom random) {
+      int index = random.Next(possibleFeatures.Count());
+      currentValue = possibleFeatures.ElementAt(index);
+    }
+
+    public override void Randomize(IRandom random, double changeSymbolProbability) {
+      Wildcard = random.NextDouble() < changeSymbolProbability;
       int index = random.Next(possibleFeatures.Count());
       currentValue = possibleFeatures.ElementAt(index);
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/Variable.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/Variable.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Variable/Variable.cs	(revision 9467)
@@ -55,5 +55,5 @@
     public abstract IVariable GetSetCopy();
 
-    public abstract void Randomize(IRandom random);
+    public abstract void Randomize(IRandom random, double changeSymbolProbability);
 
     public virtual bool MatchVariable(IVariable target) { throw new NotSupportedException("This method is not supported by this kind of Variable."); }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVector.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVector.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVector.cs	(revision 9467)
@@ -86,6 +86,6 @@
     }
 
-    public void Randomize(IRandom random, double spreadPercentage) {
-      condition.Randomize(random, spreadPercentage);
+    public void Randomize(IRandom random, double changeSymbolProbability, double spreadPercentage) {
+      condition.Randomize(random, changeSymbolProbability, spreadPercentage);
       action.Randomize(random);
     }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorAction.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorAction.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorAction.cs	(revision 9467)
@@ -113,5 +113,5 @@
     public void Randomize(IRandom random) {
       foreach (var variable in VariableDictionary.Values) {
-        variable.Randomize(random);
+        variable.RandomizeAction(random);
       }
     }
Index: /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorCondition.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorCondition.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/VariableVectorCondition.cs	(revision 9467)
@@ -97,10 +97,10 @@
     }
 
-    public void Randomize(IRandom random, double spreadPercentage) {
+    public void Randomize(IRandom random, double changeSymbolProbability, double spreadPercentage) {
       foreach (var variable in VariableDictionary.Values) {
         if (variable is DoubleVariable) {
-          ((DoubleVariable)variable).Randomize(random, spreadPercentage);
+          ((DoubleVariable)variable).Randomize(random, changeSymbolProbability, spreadPercentage);
         } else {
-          variable.Randomize(random);
+          variable.Randomize(random, changeSymbolProbability);
         }
       }
Index: /branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3/ConditionActionClassificationProblem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3/ConditionActionClassificationProblem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3/ConditionActionClassificationProblem.cs	(revision 9467)
@@ -29,4 +29,5 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.DataAnalysis;
 using HeuristicLab.Problems.Instances;
@@ -42,6 +43,14 @@
     private const string ActionExecuterParameterName = "ActionExecuter";
     private const string ActionSetSubsumptionOperatorParameterName = "ActionSetSubsumption";
+    private const string MaximizationParameterName = "Maximization";
 
     public abstract string ChildName { get; }
+
+    public IFixedValueParameter<BoolValue> MaximizationParameter {
+      get { return (IFixedValueParameter<BoolValue>)Parameters[MaximizationParameterName]; }
+    }
+    IParameter IConditionActionProblem.MaximizationParameter {
+      get { return MaximizationParameter; }
+    }
 
     IXCSEvaluator IConditionActionProblem.Evaluator {
@@ -149,4 +158,5 @@
     public ConditionActionClassificationProblem(V problemData, XCSEvaluator evaluator, T solutionCreator, ICoveringSolutionCreator coveringSolutionCreator)
       : base(evaluator, solutionCreator) {
+      Parameters.Add(new FixedValueParameter<BoolValue>(MaximizationParameterName, "Set to false if the problem should be minimized.", new BoolValue((true))));
       Parameters.Add(new ValueParameter<V>("ProblemData", "", problemData));
       Parameters.Add(new FixedValueParameter<DoubleValue>("PositiveReward", "", new DoubleValue(1000)));
@@ -207,4 +217,5 @@
       Operators.Add(new BestTrainingXCSSolutionAnalyzer());
       Operators.Add(new CurrentXCSSolutionAnalyzer());
+      Operators.AddRange(ApplicationManager.Manager.GetInstances<ISingleObjectiveSelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name));
     }
 
Index: /branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/VariableVectorClassificationProblem.cs
===================================================================
--- /branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/VariableVectorClassificationProblem.cs	(revision 9466)
+++ /branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/VariableVectorClassificationProblem.cs	(revision 9467)
@@ -95,4 +95,5 @@
 
       SolutionCreator.VariableVectorParameter.ActualName = ChildName;
+      SolutionCreator.ChangeSymbolProbabilityParameter.ActualName = ChangeSymbolProbabilityInCoveringParameter.Name;
 
       SetProblemDataSettings();
