Index: branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRPPXCrossover.cs
===================================================================
--- branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRPPXCrossover.cs	(revision 6406)
+++ branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Crossovers/PWRPPXCrossover.cs	(revision 6475)
@@ -28,5 +28,5 @@
 
 namespace HeuristicLab.Encodings.ScheduleEncoding.PermutationWithRepetition {
-  [Item("PWROrderCrossover", "Represents a crossover operation swapping sequences of the parents to generate offspring.")]
+  [Item("PWRPPXCrossover", "Represents a crossover operation swapping sequences of the parents to generate offspring.")]
   [StorableClass]
   public class PWRPPXCrossover : PWRCrossover {
Index: branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRInsertionManipulator.cs
===================================================================
--- branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRInsertionManipulator.cs	(revision 6475)
+++ branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRInsertionManipulator.cs	(revision 6475)
@@ -0,0 +1,64 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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 System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Encodings.IntegerVectorEncoding;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Encodings.ScheduleEncoding.PermutationWithRepetition {
+
+  [Item("PWRInsertionManipulator", "Represents a manipulation operation inserting parts of the individual at another position.")]
+  [StorableClass]
+  public class PWRInsertionManipulator : PWRManipulator {
+    [StorableConstructor]
+    protected PWRInsertionManipulator(bool deserializing) : base(deserializing) { }
+    protected PWRInsertionManipulator(PWRInsertionManipulator original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new PWRInsertionManipulator(this, cloner);
+    }
+    public PWRInsertionManipulator() : base() { }
+
+    public static void Apply(IRandom random, PWREncoding individual) {
+      int cutIndex = random.Next(individual.PermutationWithRepetition.Length);
+      int insertIndex = random.Next(individual.PermutationWithRepetition.Length);
+      List<int> perm = ((IntegerVector)(individual.PermutationWithRepetition.Clone())).ToList<int>();
+      int aux = perm[cutIndex];
+      if (cutIndex > insertIndex) {
+        perm.RemoveAt(cutIndex);
+        perm.Insert(insertIndex, aux);
+      } else {
+        perm.Insert(insertIndex, aux);
+        perm.RemoveAt(cutIndex);
+      }
+      individual.PermutationWithRepetition = new IntegerVector(perm.ToArray());
+    }
+
+    protected override void Manipulate(IRandom random, PWREncoding individual) {
+      Apply(random, individual);
+    }
+
+  }
+}
Index: branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRUniformOnePositionManipulator.cs
===================================================================
--- branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/Manipulators/PWRUniformOnePositionManipulator.cs	(revision 6406)
+++ 	(revision )
@@ -1,64 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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 System.Collections.Generic;
-using System.Linq;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Encodings.IntegerVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Encodings.ScheduleEncoding.PermutationWithRepetition {
-
-  [Item("PWRUniformOnePositionManipulator", "Represents a manipulation operation inserting parts of the individual at another position.")]
-  [StorableClass]
-  public class PWRUniformOnePositionManipulator : PWRManipulator {
-    [StorableConstructor]
-    protected PWRUniformOnePositionManipulator(bool deserializing) : base(deserializing) { }
-    protected PWRUniformOnePositionManipulator(PWRUniformOnePositionManipulator original, Cloner cloner)
-      : base(original, cloner) {
-    }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new PWRUniformOnePositionManipulator(this, cloner);
-    }
-    public PWRUniformOnePositionManipulator() : base() { }
-
-    public static void Apply(IRandom random, PWREncoding individual) {
-      int cutIndex = random.Next(individual.PermutationWithRepetition.Length);
-      int insertIndex = random.Next(individual.PermutationWithRepetition.Length);
-      List<int> perm = ((IntegerVector)(individual.PermutationWithRepetition.Clone())).ToList<int>();
-      int aux = perm[cutIndex];
-      if (cutIndex > insertIndex) {
-        perm.RemoveAt(cutIndex);
-        perm.Insert(insertIndex, aux);
-      } else {
-        perm.Insert(insertIndex, aux);
-        perm.RemoveAt(cutIndex);
-      }
-      individual.PermutationWithRepetition = new IntegerVector(perm.ToArray());
-    }
-
-    protected override void Manipulate(IRandom random, PWREncoding individual) {
-      Apply(random, individual);
-    }
-
-  }
-}
Index: branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWREncoding.cs
===================================================================
--- branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWREncoding.cs	(revision 6406)
+++ branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWREncoding.cs	(revision 6475)
@@ -48,13 +48,13 @@
     }
 
-    public PWREncoding(int problemDimension, IRandom random)
+    public PWREncoding(int nrOfJobs, int nrOfResources, IRandom random)
       : base() {
-      PermutationWithRepetition = new IntegerVector(problemDimension * problemDimension);
-      int[] lookUpTable = new int[problemDimension];
+      PermutationWithRepetition = new IntegerVector(nrOfJobs * nrOfResources);
+      int[] lookUpTable = new int[nrOfJobs];
 
       for (int i = 0; i < PermutationWithRepetition.Length; i++) {
-        int newValue = random.Next(problemDimension);
-        while (lookUpTable[newValue] >= problemDimension)
-          newValue = random.Next(problemDimension);
+        int newValue = random.Next(nrOfJobs);
+        while (lookUpTable[newValue] >= nrOfResources)
+          newValue = random.Next(nrOfJobs);
 
         PermutationWithRepetition[i] = newValue;
Index: branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWRRandomCreator.cs
===================================================================
--- branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWRRandomCreator.cs	(revision 6406)
+++ branches/Scheduling/HeuristicLab.Encodings.ScheduleEncoding/3.3/PermutationWithRepetition/PWRRandomCreator.cs	(revision 6475)
@@ -63,8 +63,11 @@
     }
 
+    public static PWREncoding Apply(int jobs, int resources, IRandom random) {
+      return new PWREncoding(jobs, resources, random);
+    }
+
 
     protected override PWREncoding CreateSolution() {
-      PWREncoding result = new PWREncoding(JobsParameter.ActualValue.Value, Random);
-      return result;
+      return Apply(JobsParameter.ActualValue.Value, ResourcesParameter.ActualValue.Value, Random);
     }
   }
