Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/GroupingVector/GroupingVectorEncoding.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/GroupingVector/GroupingVectorEncoding.cs	(revision 13612)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/GroupingVector/GroupingVectorEncoding.cs	(revision 13613)
@@ -33,5 +33,5 @@
   [Item("Grouping Vector Encoding", "Represents an encoding for a bin packing problem using an array of group-assignments for every packing-item.")]
   [StorableClass]
-  public class GroupingVectorEncoding : Item, IPackingSolutionEncoding{
+  public class GroupingVectorEncoding : Item, IPackingSolutionEncoding {
 
     [Storable]
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/IPackingSequenceCreator.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/IPackingSequenceCreator.cs	(revision 13613)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/IPackingSequenceCreator.cs	(revision 13613)
@@ -0,0 +1,33 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Joseph Helm and 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.Data;
+using HeuristicLab.Optimization;
+
+namespace HeuristicLab.Encodings.PackingEncoding.PackingSequence {
+  interface IPackingSequenceCreator : ISolutionCreator {
+    IValueLookupParameter<IntValue> PackingItemsParameter { get; }
+    ILookupParameter<Problems.BinPacking.Encodings.PackingSequence.PackingSequence> SolutionParameter { get; }
+
+  }
+}
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequence.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequence.cs	(revision 13613)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequence.cs	(revision 13613)
@@ -0,0 +1,25 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.BinPacking.Encodings.PackingSequence {
+  [Item("PackingSequence", "Represents a packing sequence (permutation).")]
+  [StorableClass]
+  public class PackingSequence : Permutation {
+
+    [StorableConstructor]
+    private PackingSequence(bool deserializing) : base(deserializing) { }
+    private PackingSequence(PackingSequence original, Cloner cloner) : base(original, cloner) { }
+    public PackingSequence() { }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new PackingSequence(this, cloner);
+    }
+  }
+}
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceEncoding.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceEncoding.cs	(revision 13612)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceEncoding.cs	(revision 13613)
@@ -25,4 +25,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Optimization;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 using HeuristicLab.Problems.BinPacking.Interfaces;
@@ -31,5 +32,5 @@
   [Item("Packing Sequence Encoding", "Represents an encoding for a bin packing problem using permutation of item-indexes to define the packing sequence.")]
   [StorableClass]
-  public class PackingSequenceEncoding : Item, IPackingSolutionEncoding {
+  public class PackingSequenceEncoding : Encoding<PackingSequenceRandomCreator> {
 
     [Storable]
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceRandomCreator.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceRandomCreator.cs	(revision 13612)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Encodings/PackingSequence/PackingSequenceRandomCreator.cs	(revision 13613)
@@ -25,4 +25,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Operators;
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
@@ -30,31 +31,41 @@
 
 namespace HeuristicLab.Encodings.PackingEncoding.PackingSequence {
-	[Item("PackingSequenceCreator", "Creator class used to create PackingSequence solutions for bin packing problems.")]
-	[StorableClass]
-	public class PackingSequenceRandomCreator : PackingSolutionCreator, IStochasticOperator {
+  [Item("PackingSequenceCreator", "Creator class used to create PackingSequence solutions for bin packing problems.")]
+  [StorableClass]
+  public class PackingSequenceRandomCreator : SingleSuccessorOperator, IPackingSequenceCreator, IStochasticOperator {
 
-		public ILookupParameter<IRandom> RandomParameter {
-			get { return (LookupParameter<IRandom>)Parameters["Random"]; }
-		}
-		public IValueLookupParameter<IntValue> PackingItemsParameter {
-			get { return (IValueLookupParameter<IntValue>)Parameters["PackingItems"]; }
-		}
+    public ILookupParameter<IRandom> RandomParameter {
+      get { return (LookupParameter<IRandom>)Parameters["Random"]; }
+    }
+    public IValueLookupParameter<IntValue> PackingItemsParameter {
+      get { return (IValueLookupParameter<IntValue>)Parameters["PackingItems"]; }
+    }
 
-		[StorableConstructor]
-		protected PackingSequenceRandomCreator(bool deserializing) : base(deserializing) { }
-		protected PackingSequenceRandomCreator(PackingSequenceRandomCreator original, Cloner cloner) : base(original, cloner) {
-		}
-		public override IDeepCloneable Clone(Cloner cloner) {
-			return new PackingSequenceRandomCreator(this, cloner);
-		}
+    public ILookupParameter<Problems.BinPacking.Encodings.PackingSequence.PackingSequence> SolutionParameter {
+      get { return (ILookupParameter<Problems.BinPacking.Encodings.PackingSequence.PackingSequence>)Parameters["PackingItems"]; }
+    }
+
+    [StorableConstructor]
+    protected PackingSequenceRandomCreator(bool deserializing) : base(deserializing) { }
+    protected PackingSequenceRandomCreator(PackingSequenceRandomCreator original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new PackingSequenceRandomCreator(this, cloner);
+    }
 
     public PackingSequenceRandomCreator()
-			: base() {
-			Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator."));
-			Parameters.Add(new ValueLookupParameter<IntValue>("PackingItems", "The number of packing-items handled in this problem instance."));
+      : base() {
+      Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator."));
+      Parameters.Add(new ValueLookupParameter<IntValue>("PackingItems", "The number of packing-items handled in this problem instance."));
+      Parameters.Add(new LookupParameter<Problems.BinPacking.Encodings.PackingSequence.PackingSequence>("PackingSequence"));
 
-			EncodedSolutionParameter.ActualName = "PackingSequence";
-		}
+      SolutionParameter.ActualName = "PackingSequence";
+    }
 
+    public override IOperation Apply() {
+      Apply(PackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue);
+      return base.Apply();
+    }
 
     public static PackingSequenceEncoding Apply(int items, IRandom random) {
@@ -64,7 +75,4 @@
     }
 
-		protected override IItem CreateSolution() {
-			return Apply(PackingItemsParameter.ActualValue.Value, RandomParameter.ActualValue);
-		}
-	}
+  }
 }
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/HeuristicLab.Problems.BinPacking-3.3.csproj
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/HeuristicLab.Problems.BinPacking-3.3.csproj	(revision 13612)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/HeuristicLab.Problems.BinPacking-3.3.csproj	(revision 13613)
@@ -217,4 +217,5 @@
     <Compile Include="Encodings\PackingPlans\BinPacking.cs" />
     <Compile Include="Encodings\PackingPlans\PackingPlan.cs" />
+    <Compile Include="Encodings\PackingSequence\IPackingSequenceCreator.cs" />
     <Compile Include="Encodings\PackingSequence\Moves\Insertion\ExhaustiveInsertionMoveGenerator.cs" />
     <Compile Include="Encodings\PackingSequence\Moves\Insertion\StochasticInsertionMoveGenerator.cs" />
@@ -222,4 +223,5 @@
     <Compile Include="Encodings\PackingSequence\Moves\Insertion\InsertionMoveAttribute.cs" />
     <Compile Include="Encodings\PackingSequence\Moves\Insertion\InsertionMoveGenerator.cs" />
+    <Compile Include="Encodings\PackingSequence\PackingSequence.cs" />
     <Compile Include="Encodings\PackingSequence\PackingSequenceInversionManipulator.cs" />
     <Compile Include="Encodings\PackingSequence\PackingSequencePartiallyMatchedCrossover.cs" />
Index: /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/PackingSolutionDecoder.cs
===================================================================
--- /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/PackingSolutionDecoder.cs	(revision 13612)
+++ /branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/PackingSolutionDecoder.cs	(revision 13613)
@@ -66,5 +66,5 @@
       Parameters.Add(new LookupParameter<ItemList<I>>("PackingItemMeasures", "Packing-item data taken from the bin-packing problem-instance."));
       Parameters.Add(new LookupParameter<B>("PackingBinMeasures", "Packing-bin data taken from the bin-packing problem-instance."));
-      Parameters.Add(new ValueParameter<BoolValue>("StackingConstraint", "A flag determining whether stackingconstraints should be enforced or not.", new BoolValue(true)));
+      Parameters.Add(new ValueParameter<BoolValue>("StackingConstraint", "A flag determining whether stacking constraints should be enforced or not.", new BoolValue(true)));
     }
 
