Index: branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/CuboidIdenticalBinPackingProblem.cs
===================================================================
--- branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/CuboidIdenticalBinPackingProblem.cs	(revision 9473)
+++ branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/CuboidIdenticalBinPackingProblem.cs	(revision 9495)
@@ -44,5 +44,4 @@
 using HeuristicLab.Problems.Instances;
 using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
-using HeuristicLab.Encodings.PackingEncoding.Potvin;
 
 namespace HeuristicLab.Problems.BinPacking.Problem {
@@ -120,4 +119,6 @@
     #region Helpers
     protected override void InitializeDecoder() {
+      Operators.RemoveAll(op => typeof(I2DOperator).IsAssignableFrom(op.GetType()));
+
       if (SolutionCreator is PackingSequenceRandomCreator) {
         PackingSolutionDecoder = new ExtremePointPackingSequenceDecoder3D();
@@ -126,6 +127,4 @@
       } else if (SolutionCreator is MultiComponentVectorRandomCreator) {
         PackingSolutionDecoder = new ExtremePointMultiComponentVectorDecoder3D();
-      } else if (SolutionCreator is PotvinRandomCreator) {
-        PackingSolutionDecoder = new ExtremePointPotvinDecoder3D();
       } else {
         string error = "The given problem does not support the selected solution-creator.";
Index: branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/ISOContainerBinPackingProblem.cs
===================================================================
--- branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/ISOContainerBinPackingProblem.cs	(revision 9495)
+++ branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/ISOContainerBinPackingProblem.cs	(revision 9495)
@@ -0,0 +1,142 @@
+﻿#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 System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Problems.BinPacking.Dimensions;
+using HeuristicLab.Problems.BinPacking.Interfaces;
+using HeuristicLab.Problems.BinPacking.Shapes;
+using HeuristicLab.Problems.BinPacking.PackingBin;
+using HeuristicLab.Problems.BinPacking.PackingItem;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Core;
+using HeuristicLab.Common;
+using HeuristicLab.Optimization;
+using HeuristicLab.Problems.BinPacking.Evaluators;
+using HeuristicLab.Encodings.PermutationEncoding;
+using HeuristicLab.Data;
+using HeuristicLab.Problems.BinPacking.Decoders;
+using System.Reflection;
+using System.IO;
+using HeuristicLab.Parameters;
+using HeuristicLab.Encodings.PackingEncoding.PackingSequence;
+using HeuristicLab.Encodings.PackingEncoding.GroupingVector;
+using HeuristicLab.Problems.Instances;
+using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
+
+namespace HeuristicLab.Problems.BinPacking.Problem {
+  [Item("ISOContainerBinPackingProblem", "Represents a three-dimensional bin-packing problem using two different bin sizes.")]
+  [StorableClass]
+  [Creatable("Problems")]
+  public class ISOContainerBinPackingProblem : RegularIdenticalBinPackingProblem<ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem> {
+
+    #region Default Instance
+    private static readonly BPPData DefaultInstance = new BPPData() {  
+      Name = "3D BPP Default Instance", 
+      Description = "The default instance for 3D Bin Packing.",
+      BinMeasures = new int[] {25,25,35},
+      ItemMeasures = new int[][] {
+        new int[] {12,5,10},
+        new int[] {10,18,20},
+        new int[] {9,7,7},
+        new int[] {21,12,4},
+        new int[] {8,8,12},
+        new int[] {3,6,14},
+        new int[] {20,4,9},
+        new int[] {5,9,8},
+        new int[] {7,17,3},
+        new int[] {13,20,15},
+        new int[] {9,11,9},
+        new int[] {10,18,20},
+        new int[] {9,7,7},
+        new int[] {21,12,4},
+        new int[] {8,8,12},
+        new int[] {3,6,14},
+        new int[] {20,4,9},
+        new int[] {5,9,8},
+        new int[] {7,17,3},
+        new int[] {13,20,15},
+        new int[] {9,11,9},
+        new int[] {10,18,20},
+        new int[] {9,7,7},
+        new int[] {21,12,4},
+        new int[] {8,8,12},
+        new int[] {3,6,14},
+        new int[] {20,4,9},
+        new int[] {5,9,8},
+        new int[] {7,17,3},
+        new int[] {13,20,15},
+        new int[] {9,11,9},
+        new int[] {10,18,20},
+        new int[] {9,7,7},
+        new int[] {21,12,4},
+        new int[] {8,8,12},
+        new int[] {3,6,14},
+        new int[] {20,4,9},
+        new int[] {5,9,8},
+        new int[] {7,17,3},
+        new int[] {13,20,15},
+        new int[] {9,11,9}
+      },
+      Items = 30
+    };
+    #endregion
+    
+    [StorableConstructor]
+    protected ISOContainerBinPackingProblem(bool deserializing) : base(deserializing) { }
+    protected ISOContainerBinPackingProblem(ISOContainerBinPackingProblem original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new ISOContainerBinPackingProblem(this, cloner);
+    }
+    public ISOContainerBinPackingProblem() : base(
+      new PackingPlanEvaluationAlgorithm<PackingSequenceEncoding, ThreeDimensionalPacking, CuboidPackingBin, CuboidPackingItem>()) {
+    }
+
+
+
+    #region Helpers
+    protected override void InitializeDecoder() {
+      if (SolutionCreator is PackingSequenceRandomCreator) {
+        PackingSolutionDecoder = new ExtremePointPackingSequenceDecoder3D();
+      } else if (SolutionCreator is GroupingVectorRandomCreator) {
+        PackingSolutionDecoder = new ExtremePointGroupingVectorDecoder3D();
+      } else if (SolutionCreator is MultiComponentVectorRandomCreator) {
+        PackingSolutionDecoder = new ExtremePointMultiComponentVectorDecoder3D();
+      } else {
+        string error = "The given problem does not support the selected solution-creator.";
+        PluginInfrastructure.ErrorHandling.ShowErrorDialog(error, null);
+      }
+    }
+
+    protected override IPackingPlanEvaluator CreateDefaultEvaluator() {
+      return new PackingRatioCuboidIdenticalBinEvaluator();
+    }
+
+    protected override void InitializeProblemData() {
+      Load(DefaultInstance);
+    }
+    #endregion
+  }
+}
Index: branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RectangularIdenticalBinPackingProblem.cs
===================================================================
--- branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RectangularIdenticalBinPackingProblem.cs	(revision 9473)
+++ branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RectangularIdenticalBinPackingProblem.cs	(revision 9495)
@@ -114,4 +114,6 @@
     #region Helpers
     protected override void InitializeDecoder() {
+      Operators.RemoveAll(op => typeof(I3DOperator).IsAssignableFrom(op.GetType()));
+
       if (SolutionCreator is PackingSequenceRandomCreator) {
         PackingSolutionDecoder = new ExtremePointPackingSequenceDecoder2D();
Index: branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RegularIdenticalBinPackingProblem.cs
===================================================================
--- branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RegularIdenticalBinPackingProblem.cs	(revision 9473)
+++ branches/HeuristicLab.BinPacking/HeuristicLab.Problems.BinPacking/3.3/Problem/RegularIdenticalBinPackingProblem.cs	(revision 9495)
@@ -43,5 +43,4 @@
 using HeuristicLab.Problems.Instances;
 using HeuristicLab.Encodings.PackingEncoding.MultiComponentVector;
-using HeuristicLab.Encodings.PackingEncoding.Potvin;
 
 namespace HeuristicLab.Problems.BinPacking.Problem {
@@ -67,6 +66,6 @@
       set { PackingBinMeasuresParameter.Value = value; } 
     }
-    public IdenticalBinPackingSolutionDecoder<D,B,I, PackingPlan<D,B,I>> PackingSolutionDecoder {
-      get { return PackingSolutionDecoderParameter.Value as IdenticalBinPackingSolutionDecoder<D, B, I, PackingPlan<D, B, I>>; }
+    public PackingSolutionDecoder<D,B,I> PackingSolutionDecoder {
+      get { return PackingSolutionDecoderParameter.Value as PackingSolutionDecoder<D, B, I>; }
       set { PackingSolutionDecoderParameter.Value = value; }
     }
@@ -139,7 +138,4 @@
         Operators.AddRange(ApplicationManager.Manager.GetInstances<IMultiComponentVectorOperator>());
         InitializeDecoder();
-      } else if (SolutionCreator.GetType() == typeof(PotvinRandomCreator)) {
-        Operators.AddRange(ApplicationManager.Manager.GetInstances<IPotvinOperator>());
-        InitializeDecoder();
       } 
     }
