Index: trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj	(revision 5287)
+++ trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj	(revision 5381)
@@ -12,5 +12,6 @@
     <AssemblyName>HeuristicLab.Problems.TestFunctions-3.3</AssemblyName>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <TargetFrameworkProfile></TargetFrameworkProfile>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
     <FileAlignment>512</FileAlignment>
     <SignAssembly>true</SignAssembly>
@@ -128,8 +129,6 @@
     <Compile Include="Evaluators\ZakharovEvaluator.cs" />
     <Compile Include="HeuristicLabProblemsTestFunctionsPlugin.cs" />
-    <Compile Include="Interfaces\IRealVectorPSODecoder.cs" />
     <Compile Include="Interfaces\IBestSingleObjectiveTestFunctionSolutionAnalyzer.cs" />
     <Compile Include="Interfaces\IRastriginMoveEvaluator.cs" />
-    <Compile Include="Interfaces\IRealVectorPSOEncoder.cs" />
     <Compile Include="Interfaces\ISingleObjectiveTestFunctionAdditiveMoveEvaluator.cs" />
     <Compile Include="Interfaces\ISingleObjectiveTestFunctionMoveEvaluator.cs" />
Index: trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRealVectorPSODecoder.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRealVectorPSODecoder.cs	(revision 5287)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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.Optimization;
-
-namespace HeuristicLab.Problems.TestFunctions {
-  public interface IRealVectorPSODecoder : IRealVectorDecoder {
-    IParameter OriginalRealVectorParameter { get; }
-  }
-}
Index: trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRealVectorPSOEncoder.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/IRealVectorPSOEncoder.cs	(revision 5287)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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.Optimization;
-
-namespace HeuristicLab.Problems.TestFunctions {
-  public interface IRealVectorPSOEncoder : IRealVectorEncoder {
-    IParameter OriginalRealVectorParameter { get; }
-  }
-}
Index: trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/RealVectorToRealVectorEncoder.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/RealVectorToRealVectorEncoder.cs	(revision 5287)
+++ trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/RealVectorToRealVectorEncoder.cs	(revision 5381)
@@ -20,40 +20,15 @@
 #endregion
 
+using System;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Encodings.RealVectorEncoding;
 using HeuristicLab.Operators;
-using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Problems.TestFunctions {
-  public class RealVectorToRealVectorEncoder : SingleSuccessorOperator, IRealVectorPSOEncoder, IRealVectorOperator {
-    #region Parameters
-
-    public IParameter OriginalRealVectorParameter {
-      get { return (IParameter)Parameters["OriginalRealVector"]; }
-    }
-
-    public IParameter RealVectorParameter {
-      get { return (IParameter)Parameters["RealVector"]; }
-    }
-
-    public ILookupParameter<IntValue> LengthParameter {
-      get { return (ILookupParameter<IntValue>)Parameters["Length"]; }
-    }
-
-    public IValueLookupParameter<DoubleMatrix> BoundsParameter {
-      get { return (IValueLookupParameter<DoubleMatrix>)Parameters["Bounds"]; }
-    }
-
-    protected ScopeParameter CurrentScopeParameter {
-      get { return (ScopeParameter)Parameters["CurrentScope"]; }
-    }
-    #endregion
-
-    public IScope CurrentScope {
-      get { return CurrentScopeParameter.ActualValue; }
-    }
+  // BackwardsCompatibility3.3
+  #region Backwards compatible code (remove with 3.4)
+  [Obsolete("This operator should not be used anymore.")]
+  internal class RealVectorToRealVectorEncoder : SingleSuccessorOperator {
 
     [StorableConstructor]
@@ -62,9 +37,4 @@
     public RealVectorToRealVectorEncoder()
       : base() {
-      Parameters.Add(new LookupParameter<RealVector>("OriginalRealVector", "The original real vector."));
-      Parameters.Add(new LookupParameter<RealVector>("RealVector", "The resulting reference to the original real vector."));
-      Parameters.Add(new LookupParameter<IntValue>("Length", "Vector length."));
-      Parameters.Add(new ScopeParameter("CurrentScope", "The current scope bounds matrix should be cloned."));
-      Parameters.Add(new ValueLookupParameter<DoubleMatrix>("Bounds", "The lower and upper bounds in each dimension."));
     }
 
@@ -74,7 +44,4 @@
 
     public override IOperation Apply() {
-      RealVectorParameter.ActualValue = OriginalRealVectorParameter.ActualValue;
-      IItem value = (IItem)BoundsParameter.ActualValue.Clone();
-      CurrentScope.Variables.Add(new Variable("ParticleBounds", BoundsParameter.Description, value == null ? null : (IItem)value.Clone()));
       return base.Apply();
     }
@@ -84,3 +51,4 @@
     }
   }
+  #endregion
 }
Index: trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 5287)
+++ trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs	(revision 5381)
@@ -403,14 +403,11 @@
         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
       }
-      foreach (IRealVectorPSOEncoder op in Operators.OfType<IRealVectorPSOEncoder>()) {
-        ((ILookupParameter)op.OriginalRealVectorParameter).ActualName = SolutionCreator.RealVectorParameter.ActualName;
-        op.BoundsParameter.Value = (DoubleMatrix)BoundsParameter.Value.Clone();
-        op.BoundsParameter.ActualName = "ParticleBounds";
-      }
     }
     private void UpdateStrategyVectorBounds() {
       DoubleMatrix strategyBounds = (DoubleMatrix)Bounds.Clone();
-      for (int i = 0; i < strategyBounds.Rows; i++)
+      for (int i = 0; i < strategyBounds.Rows; i++) {
         if (strategyBounds[i, 0] < 0) strategyBounds[i, 0] = 0;
+        strategyBounds[i, 1] = 0.1 * (Bounds[i, 1] - Bounds[i, 0]);
+      }
       strategyVectorCreator.BoundsParameter.Value = strategyBounds;
     }
