Index: branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Creators/GreedyOrienteeringTourCreator.cs
===================================================================
--- branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Creators/GreedyOrienteeringTourCreator.cs	(revision 11193)
+++ branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Creators/GreedyOrienteeringTourCreator.cs	(revision 11194)
@@ -113,5 +113,5 @@
           for (int insertPosition = 1; insertPosition < tour.Count; insertPosition++) {
             // Create the candidate tour
-            double detour = distances.CalculateInsertionCost(tour, orderedFeasiblePoints[candidatePoint].Index, insertPosition, fixedPenalty);
+            double detour = distances.CalculateInsertionCosts(tour, orderedFeasiblePoints[candidatePoint].Index, insertPosition, fixedPenalty);
 
             // If the insertion would be feasible, perform it
Index: branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Evaluators/OrienteeringEvaluator.cs
===================================================================
--- branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Evaluators/OrienteeringEvaluator.cs	(revision 11193)
+++ branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Evaluators/OrienteeringEvaluator.cs	(revision 11194)
@@ -33,5 +33,5 @@
       get { return (ILookupParameter<DoubleValue>)Parameters["Quality"]; }
     }
-    public ILookupParameter<IntegerVector> SolutionParameter {
+    public ILookupParameter<IntegerVector> IntegerVectorParameter {
       get { return (ILookupParameter<IntegerVector>)Parameters["IntegerVector"]; }
     }
@@ -75,5 +75,5 @@
 
     public override IOperation InstrumentedApply() {
-      var evaluation = Apply(SolutionParameter.ActualValue, ScoresParameter.ActualValue);
+      var evaluation = Apply(IntegerVectorParameter.ActualValue, ScoresParameter.ActualValue);
 
       QualityParameter.ActualValue = evaluation.Quality;
Index: branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Improvers/OrienteeringLocalImprovementOperator.cs
===================================================================
--- branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Improvers/OrienteeringLocalImprovementOperator.cs	(revision 11193)
+++ branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/Improvers/OrienteeringLocalImprovementOperator.cs	(revision 11194)
@@ -37,5 +37,5 @@
 minimize the cost of the tour. As shortening operator a 2-opt is applied. (Schilde et. al. 2009)")]
   [StorableClass]
-  public class OrienteeringLocalImprovementOperator : SingleSuccessorOperator, ILocalImprovementOperator, IStochasticOperator {
+  public class OrienteeringLocalImprovementOperator : SingleSuccessorOperator, ILocalImprovementOperator {
     #region IGenericLocalImprovementOperator Properties
     public Type ProblemType { get { return typeof(OrienteeringProblem); } }
@@ -81,7 +81,4 @@
       get { return (ILookupParameter<DoubleValue>)Parameters["FixedPenalty"]; }
     }
-    public ILookupParameter<IRandom> RandomParameter {
-      get { return (ILookupParameter<IRandom>)Parameters["Random"]; }
-    }
     #region ILocalImprovementOperator Parameters
     public IValueLookupParameter<IntValue> MaximumIterationsParameter {
@@ -106,4 +103,5 @@
     public OrienteeringLocalImprovementOperator()
       : base() {
+      Parameters.Add(new LookupParameter<IntegerVector>("IntegerVector", "The Orienteering Solution given in path representation."));
       Parameters.Add(new LookupParameter<DistanceMatrix>("DistanceMatrix", "The matrix which contains the distances between the points."));
       Parameters.Add(new LookupParameter<DoubleArray>("Scores", "The scores of the points."));
@@ -112,5 +110,4 @@
       Parameters.Add(new LookupParameter<IntValue>("TerminusPoint", "Index of the ending point."));
       Parameters.Add(new LookupParameter<DoubleValue>("FixedPenalty", "The penalty for each visited vertex."));
-      Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator to use."));
       Parameters.Add(new ValueLookupParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed.", new IntValue(150)));
       Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of evaluated moves."));
@@ -130,4 +127,6 @@
 
     public override IOperation Apply() {
+      // TODO Use LocalImprovementorOperator Parameters
+
       int numPoints = ScoresParameter.ActualValue.Length;
       var distances = DistanceMatrixParameter.ActualValue;
@@ -136,5 +135,4 @@
 
       bool optimizationDone = true;
-      bool isFeasible = true;
 
       // Find the maximum distance restriction
@@ -227,5 +225,5 @@
           if (optimizationDone) break;
 
-          double detour = distances.CalculateInsertionCost(tour, tourPosition, visitablePoints[i], fixedPenalty);
+          double detour = distances.CalculateInsertionCosts(tour, tourPosition, visitablePoints[i], fixedPenalty);
 
           // Determine if including the point does not violate any constraint
@@ -255,5 +253,5 @@
           if (optimizationDone) break;
 
-          double detour = distances.CalculateReplacementCost(tour, tourPosition, visitablePoints[i]);
+          double detour = distances.CalculateReplacementCosts(tour, tourPosition, visitablePoints[i]);
 
           double oldPointScore = scores[tour[tourPosition]];
Index: branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/OrienteeringProblem.cs
===================================================================
--- branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/OrienteeringProblem.cs	(revision 11193)
+++ branches/HeuristicLab.Problems.Orienteering/HeuristicLab.Problems.Orienteering/3.3/OrienteeringProblem.cs	(revision 11194)
@@ -29,5 +29,4 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.PluginInfrastructure;
 using HeuristicLab.Problems.Instances;
 
@@ -246,7 +245,7 @@
     private void ParameterizeEvaluator() {
       if (Evaluator is OrienteeringEvaluator) {
-        var orienteeringEvaluator = (OrienteeringEvaluator)Evaluator;
-        orienteeringEvaluator.SolutionParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
-        orienteeringEvaluator.ScoresParameter.ActualName = ScoresParameter.Name;
+        var evaluator = (OrienteeringEvaluator)Evaluator;
+        evaluator.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
+        evaluator.ScoresParameter.ActualName = ScoresParameter.Name;
       }
     }
@@ -268,15 +267,20 @@
       ParameterizeAnalyzer();
 
-      var operators = ApplicationManager.Manager.GetInstances<IIntegerVectorOperator>();
-      Operators.AddRange(operators);
+      Operators.Add(new OrienteeringLocalImprovementOperator());
+      //var operators = ApplicationManager.Manager.GetInstances<IIntegerVectorOperator>();
+      //Operators.AddRange(operators);
       ParameterizeOperators();
     }
     private void ParameterizeOperators() {
-      //foreach (var op in Operators.OfType<IIntegerVectorManipulator>())
-      //  op.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
-      foreach (var op in Operators.OfType<IIntegerVectorMultiNeighborhoodShakingOperator>())
+      foreach (var op in Operators.OfType<OrienteeringLocalImprovementOperator>()) {
         op.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
-      foreach (var op in Operators.OfType<ISingleObjectiveImprovementOperator>())
-        op.SolutionParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
+        op.DistanceMatrixParameter.ActualName = DistanceMatrixParameter.Name;
+        op.ScoresParameter.ActualName = ScoresParameter.Name;
+        op.MaximumDistanceParameter.ActualName = MaximumDistanceParameter.Name;
+        op.StartingPointParameter.ActualName = StartingPointParameter.Name;
+        op.TerminusPointParameter.ActualName = TerminusPointParameter.Name;
+        op.FixedPenaltyParameter.ActualName = FixedPenaltyParameter.Name;
+
+      }
     }
     #endregion
