Index: branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs
===================================================================
--- branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs	(revision 5207)
+++ branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs	(revision 5212)
@@ -21,16 +21,17 @@
 using System.Diagnostics;
 using HeuristicLab.Encodings.RealVectorEncoding;
+using HeuristicLab.Hive.ExperimentManager;
 
 namespace HeuristicLab.MetaOptimization.Test {
   class Program {
-    private static int metaAlgorithmPopulationSize = 50;
-    private static int metaAlgorithmMaxGenerations = 30;
-    private static int metaProblemRepetitions = 5;
-    private static int baseAlgorithmMaxGenerations = 1000;
-
-    //private static int metaAlgorithmPopulationSize = 10;
-    //private static int metaAlgorithmMaxGenerations = 20;
-    //private static int metaProblemRepetitions = 3;
-    //private static int baseAlgorithmMaxGenerations = 10;
+    //private static int metaAlgorithmPopulationSize = 50;
+    //private static int metaAlgorithmMaxGenerations = 30;
+    //private static int metaProblemRepetitions = 5;
+    //private static int baseAlgorithmMaxGenerations = 1000;
+
+    private static int metaAlgorithmPopulationSize = 10;
+    private static int metaAlgorithmMaxGenerations = 20;
+    private static int metaProblemRepetitions = 3;
+    private static int baseAlgorithmMaxGenerations = 10;
 
     static void Main(string[] args) {
@@ -53,6 +54,8 @@
       MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
       metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
-      //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
-      GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
+      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
+      //GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
+      //GeneticAlgorithm metaLevelAlgorithm = GetHiveParallelMetaGA(metaOptimizationProblem);
+
       //EvolutionStrategy metaLevelAlgorithm = GetMetaES(metaOptimizationProblem);
 
@@ -304,12 +307,15 @@
     private static GeneticAlgorithm GetParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
       GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
-
-      UniformSubScopesProcessor uniformSubScopesProcessor =
-        (HeuristicLab.Operators.UniformSubScopesProcessor)
-        ((HeuristicLab.Operators.AlgorithmOperator)metaLevelAlgorithm.OperatorGraph.Operators.ElementAt(2)).OperatorGraph.Operators.ElementAt(8);
-      uniformSubScopesProcessor.Parallel.Value = true;
-
       metaLevelAlgorithm.Engine = new ParallelEngine.ParallelEngine();
-
+      return metaLevelAlgorithm;
+    }
+
+    private static GeneticAlgorithm GetHiveParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
+      GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
+      metaLevelAlgorithm.Engine = new HiveEngine.HiveEngine();
+      ServiceLocator.Instance.ClientFacadePool.UserName = "cneumuel";
+      ServiceLocator.Instance.ClientFacadePool.Password = "cneumuel";
+      ServiceLocator.Instance.StreamedClientFacadePool.UserName = "cneumuel";
+      ServiceLocator.Instance.StreamedClientFacadePool.Password = "cneumuel";
       return metaLevelAlgorithm;
     }
@@ -337,16 +343,20 @@
       metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
         Evaluator = new GriewankEvaluator(),
+        ProblemSize = new IntValue(5)
+      });
+      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
+        Evaluator = new GriewankEvaluator(),
+        ProblemSize = new IntValue(50)
+      });
+      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
+        Evaluator = new GriewankEvaluator(),
         ProblemSize = new IntValue(500)
       });
-      //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
-      //  Evaluator = new GriewankEvaluator(),
-      //  ProblemSize = new IntValue(1000)
-      //});
-
-      ConfigurePopulationSize(algorithmVc, 0, 100, 1);
+
+      ConfigurePopulationSize(algorithmVc, 12, 100, 1);
       ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
-      ConfigureMutationOperator(algorithmVc);
+      //ConfigureMutationOperator(algorithmVc);
       ConfigureElites(algorithmVc, 0, 10, 1);
-      ConfigureSelectionOperator(algorithmVc, true);
+      //ConfigureSelectionOperator(algorithmVc, true);
       return algorithmVc;
     }
@@ -541,7 +551,7 @@
               if (result.Name == "Population") {
                 RunCollection rc = (RunCollection)result.Value;
-                var orderedRuns = rc.OrderBy(x => x.Results["RunsAverageQuality"]);
-
-                TableBuilder tb = new TableBuilder("AvgQual", "AvgET", "PoSi", "MutRa", "Eli", "SelOp", "MutOp", "NrSelSubScopes");
+                var orderedRuns = rc.OrderBy(x => x.Results["AverageQualityNormalized"]);
+
+                TableBuilder tb = new TableBuilder("QNorm", "PoSi", "MutRa", "Eli", "SelOp", "MutOp", "NrSelSubScopes");
                 foreach (IRun run in orderedRuns) {
                   string selector;
@@ -553,6 +563,5 @@
 
                   tb.AppendRow(
-                    ((DoubleValue)run.Results["RunsAverageQuality"]).Value.ToString("#0.00"),
-                    run.Results["RunsAverageExecutionTime"].ToString(),
+                    ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.00"),
                     ((IntValue)run.Parameters["PopulationSize"]).Value.ToString(),
                     ((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.00"),
@@ -584,4 +593,8 @@
     private static void metaLevelAlgorithm_ExceptionOccurred(object sender, EventArgs<Exception> e) {
       Console.WriteLine("metaLevelAlgorithm_ExceptionOccurred");
+      Console.WriteLine(e.Value.ToString());
+      if (e.Value.InnerException != null) {
+        Console.WriteLine(e.Value.InnerException.ToString());
+      }
     }
 
