Index: /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedESMain.cs
===================================================================
--- /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedESMain.cs	(revision 2158)
+++ /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedESMain.cs	(revision 2158)
@@ -0,0 +1,136 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Core;
+using HeuristicLab.ES;
+using HeuristicLab.Operators;
+using HeuristicLab.Data;
+
+
+namespace HeuristicLab.FixedOperators {
+  class FixedESMain : FixedGAMainBase {
+    protected ESRandomSelector childSelector;
+    protected OperatorBase recombinator;
+
+    public FixedESMain() {
+      Name = this.GetType().Name;
+      Init();
+      
+    } // FixedESMain
+
+    private void Init() {
+      childSelector = new ESRandomSelector();
+      childSelector.GetVariableInfo("Lambda").ActualName = "ESlambda";
+      childSelector.GetVariableInfo("Rho").ActualName = "ESrho";
+
+      ls.GetVariableInfo("Selected").ActualName = "ESmu";
+      //ci.GetVariableInfo("ParentsPerChild").ActualName = "ESrho";
+      
+    
+    } // Init
+
+    protected override void GetOperatorsFromScope(IScope scope) {
+      mutator = new OperatorExtractor();
+      mutator.GetVariableInfo("Operator").ActualName = "Mutator";
+
+      evaluator = new OperatorExtractor();
+      evaluator.GetVariableInfo("Operator").ActualName = "Evaluation (Rosenbrock)";
+
+      recombinator = new OperatorExtractor();
+      recombinator.GetVariableInfo("Operator").ActualName = "Recombinator";
+      
+      //mutator = (OperatorBase)GetVariableValue("Mutator", scope, true);
+      //evaluator = GetVariableValue<OperatorBase>("Evaluator", scope, true);
+      //recombinator = GetVariableValue<OperatorBase>("Recombinator", scope, true);
+    }
+
+    public override IOperation Apply(IScope scope) {
+      base.Apply(scope);
+      IScope s;
+      IScope s2;
+      bool loopSkipped = true;
+
+      tempExePointer = new int[10];
+      tempPersExePointer = new int[10];
+      IntData esRho;  
+
+      try {
+        for (; nrOfGenerations.Data < maxGenerations.Data; nrOfGenerations.Data++) {
+
+          Execute(childSelector, scope);
+          ////// Create Children //////
+          s = scope.SubScopes[1];
+          esRho = s.GetVariableValue<IntData>("ESrho", true);
+
+          if (esRho.Data > 1) { // Use recombination?
+            Execute(ci, s);
+            SaveExecutionPointer(0);
+            for (; subscopeNr.Data < s.SubScopes.Count; subscopeNr.Data++) {
+              SetExecutionPointerToLastSaved(0);
+              s2 = s.SubScopes[subscopeNr.Data];
+              Execute(recombinator, s2);
+              Execute(mutator, s2);
+              Execute(evaluator, s2);
+              Execute(counter, s2);
+              Execute(sr, s2);
+              loopSkipped = false;
+            } // foreach
+
+            if (loopSkipped)
+              executionPointer += 5;
+          } // if (esRho.Data > 1)
+          else {
+            SaveExecutionPointer(0);
+            for (; subscopeNr.Data < s.SubScopes.Count; subscopeNr.Data++) {
+              SetExecutionPointerToLastSaved(0);
+              s2 = s.SubScopes[subscopeNr.Data];
+              Execute(mutator, s2);
+              Execute(evaluator, s2);
+              Execute(counter, s2);
+              loopSkipped = false;
+            } // foreach
+
+            if (loopSkipped)
+              executionPointer += 3;
+          } // else
+
+          Execute(sorter, s);
+
+
+          // if for loop skipped, we had to add skiped operations
+          // to execution pointer.
+          if (loopSkipped)
+            executionPointer += 5;
+
+          ////// END Create Children //////
+
+
+          // Plus or Comma Replacement
+          BoolData plusNotation = scope.GetVariableValue<BoolData>("PlusNotation", true);
+          if (plusNotation.Data)
+            Execute(mr, scope);
+          else
+            Execute(rr, scope);
+
+          // TODO: Parents Selection
+          Execute(sorter, scope);
+          Execute(ls, scope);
+          Execute(rr, scope);
+
+          Execute(ql, scope);
+          Execute(bawqc, scope);
+          Execute(dc, scope);
+          Execute(lci, scope);
+          subscopeNr.Data = 0;
+          ResetExecutionPointer();
+        } // for Generations
+      } // try
+      catch (CancelException) {
+        return new AtomicOperation(this, scope);
+      }
+
+      return null;
+    } // Apply
+  } // class FixedESMain
+} // namespace HeuristicLab.FixedOperators
Index: /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedGAMainBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedGAMainBase.cs	(revision 2157)
+++ /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedGAMainBase.cs	(revision 2158)
@@ -84,5 +84,5 @@
       sb = new StochasticBranch();
       sb.GetVariableInfo("Probability").ActualName = "MutationRate";
-      Name = "FixeGAMain";
+      Name = "FixedGAMain";
     } // FixedGABase
 
@@ -163,5 +163,5 @@
     /// </summary>
     /// <param name="scope"></param>
-    protected void GetOperatorsFromScope(IScope scope) {
+    protected virtual void GetOperatorsFromScope(IScope scope) {
       selector = (OperatorBase)GetVariableValue("Selector", scope, true);
       crossover = (OperatorBase)GetVariableValue("Crossover", scope, true);
Index: /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedOperatorBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedOperatorBase.cs	(revision 2157)
+++ /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedOperatorBase.cs	(revision 2158)
@@ -120,11 +120,11 @@
           AtomicOperation atomicOperation = (AtomicOperation)operation;
           IOperation next = null;
-          try {
+          //try {
             currentOperator = atomicOperation.Operator;
             next = currentOperator.Execute(atomicOperation.Scope);
-          }
-          catch (Exception ex) {
-            throw new InvalidOperationException("Invalid Operation occured in FixedBase.Execute " + ex.InnerException);
-          }
+          //}
+          //catch (Exception ex) {
+          //  throw new InvalidOperationException("Invalid Operation occured in FixedBase.Execute " + ex.InnerException);
+          //}
           if (next != null)
             executionStack.Push(next);
Index: /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedSAMain.cs
===================================================================
--- /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedSAMain.cs	(revision 2157)
+++ /trunk/sources/HeuristicLab.FixedOperators/3.2/FixedSAMain.cs	(revision 2158)
@@ -195,9 +195,18 @@
             break;
         } // for nrOfGenerations
-      
+
       } // try
       catch (CancelException) {
         return new AtomicOperation(this, scope);
       }
+      catch (Exception ex) {
+        System.Diagnostics.StackTrace trace = new System.Diagnostics.StackTrace(ex, false);
+
+        foreach (var sf in trace.GetFrames()) {
+          Console.WriteLine(sf.GetMethod().Name);
+          Console.WriteLine("Line: " + sf.GetFileLineNumber());
+          Console.WriteLine("Column: " + sf.GetFileColumnNumber());
+        }
+      }
       return null;
     } // Apply
Index: /trunk/sources/HeuristicLab.FixedOperators/3.2/HeuristicLab.FixedOperators-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.FixedOperators/3.2/HeuristicLab.FixedOperators-3.2.csproj	(revision 2157)
+++ /trunk/sources/HeuristicLab.FixedOperators/3.2/HeuristicLab.FixedOperators-3.2.csproj	(revision 2158)
@@ -100,4 +100,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="FixedESMain.cs" />
     <Compile Include="FixedGAMainBase.cs" />
     <Compile Include="FixedOperatorBase.cs" />
@@ -157,4 +158,8 @@
       <Project>{F473D9AF-3F09-4296-9F28-3C65118DAFFA}</Project>
       <Name>HeuristicLab.Data-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.ES\3.2\HeuristicLab.ES-3.2.csproj">
+      <Project>{2E6112A7-3A94-406D-A28C-38AC2D324DCA}</Project>
+      <Name>HeuristicLab.ES-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Evolutionary\3.2\HeuristicLab.Evolutionary-3.2.csproj">
