Index: branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/Creators/PredefinedRealVectorCreator.cs
===================================================================
--- branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/Creators/PredefinedRealVectorCreator.cs	(revision 9132)
+++ branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/Creators/PredefinedRealVectorCreator.cs	(revision 9132)
@@ -0,0 +1,60 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 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.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Optimization;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using System;
+
+namespace HeuristicLab.Encodings.RealVectorEncoding {
+  /// <summary>
+  /// An operator which creates a new random real vector from a given real vector.
+  /// </summary>
+  [Item("PredefinedRealVectorCreator", "An operator which uses the given vector as solution.")]
+  [StorableClass]
+  public class PredefinedRealVectorCreator : RealVectorCreator, IStrategyParameterCreator {
+
+    public IValueParameter<RealVector> PredefinedRealVectorParameter {
+      get { return (IValueParameter<RealVector>)Parameters["PredefinedRealVector"]; }
+    }
+
+    [StorableConstructor]
+    protected PredefinedRealVectorCreator(bool deserializing) : base(deserializing) { }
+    protected PredefinedRealVectorCreator(PredefinedRealVectorCreator original, Cloner cloner) : base(original, cloner) { }
+    public PredefinedRealVectorCreator()
+      : base() {
+      Parameters.Add(new ValueParameter<RealVector>("PredefinedRealVector", "The real vector that is to be cloned.", new RealVector()));
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new PredefinedRealVectorCreator(this, cloner);
+    }
+
+    protected override RealVector Create(IRandom random, IntValue length, DoubleMatrix bounds) {
+      var predefined = PredefinedRealVectorParameter.Value;
+      if (predefined.Length != length.Value) throw new ArgumentException("The length of the predefined vector and the required length do not match.");
+      return (RealVector)predefined.Clone();
+    }
+  }
+}
Index: branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/HeuristicLab.Encodings.RealVectorEncoding-3.3.csproj
===================================================================
--- branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/HeuristicLab.Encodings.RealVectorEncoding-3.3.csproj	(revision 9129)
+++ branches/CMAES/HeuristicLab.Encodings.RealVectorEncoding/3.3/HeuristicLab.Encodings.RealVectorEncoding-3.3.csproj	(revision 9132)
@@ -132,4 +132,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
       <Private>False</Private>
     </Reference>
@@ -258,11 +263,4 @@
     </BootstrapperPackage>
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
-      <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
-      <Name>HeuristicLab.Optimization-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
