Index: /trunk/sources/HeuristicLab 3.3.sln
===================================================================
--- /trunk/sources/HeuristicLab 3.3.sln	(revision 11955)
+++ /trunk/sources/HeuristicLab 3.3.sln	(revision 11956)
@@ -413,4 +413,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3", "HeuristicLab.Algorithms.ParameterlessPopulationPyramid\3.3\HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj", "{9319C447-8183-4DBC-8145-0E3CF98084CC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.BinaryVector-3.3", "HeuristicLab.Problems.BinaryVector\3.3\HeuristicLab.Problems.BinaryVector-3.3.csproj", "{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}"
 EndProject
 Global
@@ -1996,16 +1998,29 @@
 		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x64.ActiveCfg = Debug|x64
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x64.Build.0 = Debug|x64
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x86.ActiveCfg = Debug|x86
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Debug|x86.Build.0 = Debug|x86
 		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x64.ActiveCfg = Release|Any CPU
-		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x86.ActiveCfg = Release|Any CPU
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x64.ActiveCfg = Release|x64
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x64.Build.0 = Release|x64
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x86.ActiveCfg = Release|x86
+		{9319C447-8183-4DBC-8145-0E3CF98084CC}.Release|x86.Build.0 = Release|x86
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|x64.ActiveCfg = Debug|x64
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|x64.Build.0 = Debug|x64
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|x86.ActiveCfg = Debug|x86
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Debug|x86.Build.0 = Debug|x86
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|x64.ActiveCfg = Release|x64
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|x64.Build.0 = Release|x64
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|x86.ActiveCfg = Release|x86
+		{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(Performance) = preSolution
-		HasPerformanceSessions = true
-	EndGlobalSection
 EndGlobal
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/HeuristicLab.Algorithms.DataAnalysis-3.4.csproj	(revision 11956)
@@ -286,5 +286,5 @@
     <ProjectReference Include="..\..\HeuristicLab.Algorithms.GradientDescent\3.3\HeuristicLab.Algorithms.GradientDescent-3.3.csproj">
       <Project>{1256B945-EEA9-4BE4-9880-76B5B113F089}</Project>
-      <Name>HeuristicLab.Algorithms.GradientDescent</Name>
+      <Name>HeuristicLab.Algorithms.GradientDescent-3.3</Name>
       <Private>False</Private>
     </ProjectReference>
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/EvaluationTracker.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/EvaluationTracker.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/EvaluationTracker.cs	(revision 11956)
@@ -0,0 +1,90 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * and the BEACON Center for the Study of Evolution in Action.
+ *
+ * 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 HeuristicLab.Problems.BinaryVector;
+
+namespace HeuristicLab.Algorithms.ParameterlessPopulationPyramid {
+  // This code is based off the publication
+  // B. W. Goldman and W. F. Punch, "Parameter-less Population Pyramid," GECCO, pp. 785–792, 2014
+  // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid
+  public class EvaluationTracker : IBinaryVectorProblem {
+    private readonly IBinaryVectorProblem problem;
+
+    private int maxEvaluations;
+
+    #region Properties
+    public double BestQuality {
+      get;
+      private set;
+    }
+
+    public int Evaluations {
+      get;
+      private set;
+    }
+
+    public int BestFoundOnEvaluation {
+      get;
+      private set;
+    }
+
+    public bool[] BestSolution {
+      get;
+      private set;
+    }
+    #endregion
+
+    public EvaluationTracker(IBinaryVectorProblem problem, int maxEvaluations) {
+      this.problem = problem;
+      this.maxEvaluations = maxEvaluations;
+      BestSolution = new bool[0];
+      BestQuality = double.NaN;
+      Evaluations = 0;
+      BestFoundOnEvaluation = 0;
+    }
+
+    public double Evaluate(bool[] individual) {
+      if (Evaluations >= maxEvaluations) throw new OperationCanceledException("Maximum Evaluation Limit Reached");
+      Evaluations++;
+      double fitness = problem.Evaluate(individual);
+      if (double.IsNaN(BestQuality) || problem.IsBetter(fitness, BestQuality)) {
+        BestQuality = fitness;
+        BestSolution = (bool[])individual.Clone();
+        BestFoundOnEvaluation = Evaluations;
+      }
+      return fitness;
+    }
+
+    #region ForwardedInteraface
+    public int Length {
+      get { return problem.Length; }
+    }
+    public bool Maximization {
+      get { return problem.Maximization; }
+    }
+    public bool IsBetter(double quality, double bestQuality) {
+      return problem.IsBetter(quality, bestQuality);
+    }
+    #endregion
+  }
+}
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj	(revision 11956)
@@ -36,4 +36,40 @@
     <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
@@ -47,17 +83,11 @@
   <ItemGroup>
     <Compile Include="EnumerableBoolEqualityComparer.cs" />
+    <Compile Include="EvaluationTracker.cs" />
     <Compile Include="LinkageCrossover.cs" />
     <Compile Include="Plugin.cs" />
-    <Compile Include="Problems\DeceptiveStepTrapProblem.cs" />
-    <Compile Include="Problems\DeceptiveTrapProblem.cs" />
     <Compile Include="HillClimber.cs" />
     <Compile Include="LinkageTree.cs" />
     <Compile Include="ParameterlessPopulationPyramid.cs" />
     <Compile Include="Population.cs" />
-    <Compile Include="Problems\BinaryVectorProblem.cs" />
-    <Compile Include="Problems\EvaluationTracker.cs" />
-    <Compile Include="Problems\HIFFProblem.cs" />
-    <Compile Include="Problems\IBinaryVectorProblem.cs" />
-    <Compile Include="Problems\OneMaxProblem.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
@@ -118,4 +148,8 @@
       <Private>False</Private>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Problems.BinaryVector\3.3\HeuristicLab.Problems.BinaryVector-3.3.csproj">
+      <Project>{fc627be5-0f93-47d8-bd2e-530ea2b8aa5f}</Project>
+      <Name>HeuristicLab.Problems.BinaryVector-3.3</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
       <Project>{f4539fb6-4708-40c9-be64-0a1390aea197}</Project>
@@ -124,4 +158,5 @@
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HillClimber.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HillClimber.cs	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HillClimber.cs	(revision 11956)
@@ -31,4 +31,5 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Problems.BinaryVector;
 using HeuristicLab.Random;
 
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/LinkageCrossover.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/LinkageCrossover.cs	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/LinkageCrossover.cs	(revision 11956)
@@ -20,10 +20,8 @@
  */
 #endregion
-using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using HeuristicLab.Core;
+using HeuristicLab.Problems.BinaryVector;
 using HeuristicLab.Random;
 
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs	(revision 11956)
@@ -32,4 +32,5 @@
 using HeuristicLab.Parameters;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Problems.BinaryVector;
 using HeuristicLab.Random;
 
Index: /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/Plugin.cs.frame
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/Plugin.cs.frame	(revision 11955)
+++ /trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/Plugin.cs.frame	(revision 11956)
@@ -40,4 +40,5 @@
   [PluginDependency("HeuristicLab.Parameters", "3.3")]
   [PluginDependency("HeuristicLab.Persistence", "3.3")]
+  [PluginDependency("HeuristicLab.Problems.BinaryVector", "3.3")]
   [PluginDependency("HeuristicLab.Random", "3.3")]
   public class Plugin : PluginBase {
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/BinaryVectorProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/BinaryVectorProblem.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/BinaryVectorProblem.cs	(revision 11956)
@@ -0,0 +1,65 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2015 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;
+
+namespace HeuristicLab.Problems.BinaryVector {
+  [StorableClass]
+  public abstract class BinaryVectorProblem : Problem, IBinaryVectorProblem {
+    private const string LengthParameterName = "Length";
+
+    public IFixedValueParameter<IntValue> LengthParameter {
+      get { return (IFixedValueParameter<IntValue>)Parameters[LengthParameterName]; }
+    }
+
+    public int Length {
+      get { return LengthParameter.Value.Value; }
+      set { LengthParameter.Value.Value = value; }
+    }
+
+    public abstract bool Maximization {
+      get;
+    }
+
+    [StorableConstructor]
+    protected BinaryVectorProblem(bool deserializing) : base(deserializing) { }
+    protected BinaryVectorProblem(BinaryVectorProblem original, Cloner cloner) : base(original, cloner) { }
+    public bool IsBetter(double quality, double bestQuality) {
+      return (Maximization && quality > bestQuality || !Maximization && quality < bestQuality);
+    }
+
+    public BinaryVectorProblem()
+      : base() {
+      Parameters.Add(new FixedValueParameter<IntValue>(LengthParameterName, "", new IntValue(20)));
+    }
+
+    public abstract double Evaluate(bool[] individual);
+
+
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveStepTrapProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveStepTrapProblem.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveStepTrapProblem.cs	(revision 11956)
@@ -0,0 +1,95 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2015 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.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.BinaryVector {
+  // This code is based off the publication
+  // B. W. Goldman and W. F. Punch, "Parameter-less Population Pyramid," GECCO, pp. 785–792, 2014
+  // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid
+  [Item("Deceptive Step Trap Problem", "Genome encodes completely separable blocks, where each block deceptive with fitness plateaus.")]
+  [StorableClass]
+  [Creatable("Parameterless Population Pyramid")]
+  // In the GECCO paper, Section 4.1
+  public class DeceptiveStepTrapProblem : DeceptiveTrapProblem {
+    [StorableConstructor]
+    protected DeceptiveStepTrapProblem(bool deserializing) : base(deserializing) { }
+    protected DeceptiveStepTrapProblem(DeceptiveStepTrapProblem original, Cloner cloner)
+      : base(original, cloner) {
+      RegisterParameterEvents();
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new DeceptiveStepTrapProblem(this, cloner);
+    }
+
+    private const string StepSizeParameterName = "Step Size";
+
+    public IFixedValueParameter<IntValue> StepSizeParameter {
+      get { return (IFixedValueParameter<IntValue>)Parameters[StepSizeParameterName]; }
+    }
+
+    public int StepSize {
+      get { return StepSizeParameter.Value.Value; }
+      set { StepSizeParameter.Value.Value = value; }
+    }
+
+    public DeceptiveStepTrapProblem()
+      : base() {
+      Parameters.Add(new FixedValueParameter<IntValue>(StepSizeParameterName, "", new IntValue(2)));
+      RegisterParameterEvents();
+    }
+
+    [StorableHook(HookType.AfterDeserialization)]
+    private void AfterDeserialization() {
+      RegisterParameterEvents();
+    }
+
+    private void RegisterParameterEvents() {
+      TrapSizeParameter.Value.ValueChanged += (o, e) => { offset = -1; };
+      StepSizeParameter.Value.ValueChanged += (o, e) => { offset = -1; };
+    }
+
+
+    private int offset = -1;
+    private int Offset {
+      get {
+        if (offset == -1) offset = (TrapSize - StepSize) % StepSize;
+        return offset;
+      }
+    }
+
+    protected override int TrapMaximum {
+      get { return (Offset + TrapSize) / StepSize; }
+    }
+
+    protected override int Score(bool[] individual, int trapIndex, int trapSize) {
+      int partial = base.Score(individual, trapIndex, trapSize);
+      // introduce plateaus using integer division
+      return (Offset + partial) / StepSize;
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveTrapProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveTrapProblem.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/DeceptiveTrapProblem.cs	(revision 11956)
@@ -0,0 +1,98 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2015 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 HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.BinaryVector {
+  // This code is based off the publication
+  // B. W. Goldman and W. F. Punch, "Parameter-less Population Pyramid," GECCO, pp. 785–792, 2014
+  // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid
+  [Item("Deceptive Trap Problem", "Genome encodes completely separable blocks, where each block is fully deceptive.")]
+  [StorableClass]
+  [Creatable("Parameterless Population Pyramid")]
+  public class DeceptiveTrapProblem : BinaryVectorProblem {
+    [StorableConstructor]
+    protected DeceptiveTrapProblem(bool deserializing) : base(deserializing) { }
+    protected DeceptiveTrapProblem(DeceptiveTrapProblem original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new DeceptiveTrapProblem(this, cloner);
+    }
+
+    public override bool Maximization {
+      get { return true; }
+    }
+
+    private const string TrapSizeParameterName = "Trap Size";
+
+    public IFixedValueParameter<IntValue> TrapSizeParameter {
+      get { return (IFixedValueParameter<IntValue>)Parameters[TrapSizeParameterName]; }
+    }
+
+    public int TrapSize {
+      get { return TrapSizeParameter.Value.Value; }
+      set { TrapSizeParameter.Value.Value = value; }
+    }
+
+    protected virtual int TrapMaximum {
+      get { return TrapSize; }
+    }
+
+    public DeceptiveTrapProblem()
+      : base() {
+      Parameters.Add(new FixedValueParameter<IntValue>(TrapSizeParameterName, "", new IntValue(7)));
+      Length = 49;
+    }
+
+    // In the GECCO paper, calculates Equation 3
+    protected virtual int Score(bool[] individual, int trapIndex, int trapSize) {
+      int result = 0;
+      // count number of bits in trap set to 1
+      for (int index = trapIndex; index < trapIndex + trapSize; index++) {
+        if (individual[index]) result++;
+      }
+
+      // Make it deceptive
+      if (result < trapSize) {
+        result = trapSize - result - 1;
+      }
+      return result;
+    }
+
+    public override double Evaluate(bool[] individual) {
+      if (individual.Length != Length) throw new ArgumentException("The individual has not the correct length.");
+      int total = 0;
+      var trapSize = TrapSize;
+      for (int i = 0; i < individual.Length; i += trapSize) {
+        total += Score(individual, i, trapSize);
+      }
+      return (double)(total * trapSize) / (TrapMaximum * individual.Length);
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HIFFProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HIFFProblem.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HIFFProblem.cs	(revision 11956)
@@ -0,0 +1,93 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2015 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 HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.BinaryVector {
+  // This code is based off the publication
+  // B. W. Goldman and W. F. Punch, "Parameter-less Population Pyramid," GECCO, pp. 785–792, 2014
+  // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid
+  [Item("Hierararchical If and only If problem", "Genome evaluated in nested subsets to see if each subset contains either all 0s or all 1s.")]
+  [StorableClass]
+  [Creatable("Parameterless Population Pyramid")]
+  public class HIFFProblem : BinaryVectorProblem {
+    [StorableConstructor]
+    protected HIFFProblem(bool deserializing) : base(deserializing) { }
+    protected HIFFProblem(HIFFProblem original, Cloner cloner)
+      : base(original, cloner) {
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new HIFFProblem(this, cloner);
+    }
+
+    public override bool Maximization {
+      get { return true; }
+    }
+
+    public HIFFProblem()
+      : base() {
+      Length = 64;
+    }
+    // In the GECCO paper, Section 4.1
+    public override double Evaluate(bool[] individual) {
+      int[] level = new int[individual.Length];
+      int levelLength = individual.Length;
+
+      // Initialize the level to the current solution
+      for (int i = 0; i < levelLength; i++) {
+        level[i] = Convert.ToInt32(individual[i]);
+      }
+      int power = 1;
+      int nextLength = levelLength / 2;
+      int total = 0;
+      int maximum = 0;
+
+      // Keep going while the next level actual has bits in it
+      while (nextLength > 0) {
+        int[] nextLevel = new int[nextLength];
+        // Construct the next level using the current level
+        for (int i = 0; i + 1 < levelLength; i += 2) {
+          if (level[i] == level[i + 1] && level[i] != -1) {
+            // Score points for a correct setting at this level
+            total += power;
+            nextLevel[i / 2] = level[i];
+          } else {
+            nextLevel[i / 2] = -1;
+          }
+          // Keep track of the maximum possible score
+          maximum += power;
+        }
+        level = nextLevel;
+        levelLength = nextLength;
+        nextLength = levelLength / 2;
+        power *= 2;
+      }
+
+      // Convert to percentage of total
+      return (double)total / maximum;
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HeuristicLab.Problems.BinaryVector-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HeuristicLab.Problems.BinaryVector-3.3.csproj	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/HeuristicLab.Problems.BinaryVector-3.3.csproj	(revision 11956)
@@ -0,0 +1,148 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Problems.BinaryVector</RootNamespace>
+    <AssemblyName>HeuristicLab.Problems.BinaryVector-3.3</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="BinaryVectorProblem.cs" />
+    <Compile Include="DeceptiveStepTrapProblem.cs" />
+    <Compile Include="DeceptiveTrapProblem.cs" />
+    <Compile Include="HIFFProblem.cs" />
+    <Compile Include="IBinaryVectorProblem.cs" />
+    <Compile Include="Plugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Plugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
+      <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>
+      <Name>HeuristicLab.Collections-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
+      <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>
+      <Name>HeuristicLab.Common-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
+      <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project>
+      <Name>HeuristicLab.Core-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
+      <Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project>
+      <Name>HeuristicLab.Data-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
+      <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
+      <Name>HeuristicLab.Optimization-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
+      <Project>{56f9106a-079f-4c61-92f6-86a84c2d84b7}</Project>
+      <Name>HeuristicLab.Parameters-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
+      <Project>{102bc7d3-0ef9-439c-8f6d-96ff0fdb8e1b}</Project>
+      <Name>HeuristicLab.Persistence-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
+      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
+      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+</PreBuildEvent>
+  </PropertyGroup>
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/IBinaryVectorProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/IBinaryVectorProblem.cs	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/IBinaryVectorProblem.cs	(revision 11956)
@@ -0,0 +1,31 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2015 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
+
+namespace HeuristicLab.Problems.BinaryVector {
+  public interface IBinaryVectorProblem {
+    int Length { get; }
+    bool Maximization { get; }
+    bool IsBetter(double quality, double bestQuality);
+    double Evaluate(bool[] individual);
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Plugin.cs.frame
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Plugin.cs.frame	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Plugin.cs.frame	(revision 11956)
@@ -0,0 +1,39 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2014 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.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Problems.BinaryVector {
+  [Plugin("HeuristicLab.Problems.BinaryVector","Provides binary benchmark problems.", "3.3.10.$WCREV$")]
+  [PluginFile("HeuristicLab.Problems.BinaryVector-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Collections", "3.3")]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Data", "3.3")]
+  [PluginDependency("HeuristicLab.Optimization", "3.3")]
+  [PluginDependency("HeuristicLab.Parameters", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")]
+  public class Plugin : PluginBase {
+  }
+}
Index: /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Properties/AssemblyInfo.cs.frame	(revision 11956)
+++ /trunk/sources/HeuristicLab.Problems.BinaryVector/3.3/Properties/AssemblyInfo.cs.frame	(revision 11956)
@@ -0,0 +1,55 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2014 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.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Problems.BinaryVector")]
+[assembly: AssemblyDescription("Provides binary benchmark problems.")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2014 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("74CF50B5-F690-42FC-AFB4-03E9F72D5226")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.10.$WCREV$")]
Index: /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/ParameterlessPopulationPyramidTest.cs
===================================================================
--- /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/ParameterlessPopulationPyramidTest.cs	(revision 11955)
+++ /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/ParameterlessPopulationPyramidTest.cs	(revision 11956)
@@ -24,4 +24,5 @@
 using HeuristicLab.Algorithms.ParameterlessPopulationPyramid;
 using HeuristicLab.Common;
+using HeuristicLab.Problems.BinaryVector;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 
Index: /trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj	(revision 11955)
+++ /trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj	(revision 11956)
@@ -253,4 +253,8 @@
       <HintPath>..\bin\HeuristicLab.Problems.ArtificialAnt-3.4.dll</HintPath>
       <Private>False</Private>
+    </Reference>
+    <Reference Include="HeuristicLab.Problems.BinaryVector-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\bin\HeuristicLab.Problems.BinaryVector-3.3.dll</HintPath>
     </Reference>
     <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
