- Timestamp:
- 02/12/15 15:39:28 (10 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 deleted
- 17 edited
- 2 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab 3.3.sln
r11961 r11987 420 420 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}" 421 421 EndProject 422 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Binary Vector-3.3", "HeuristicLab.Problems.BinaryVector\3.3\HeuristicLab.Problems.BinaryVector-3.3.csproj", "{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}"422 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Binary-3.3", "HeuristicLab.Problems.Binary\3.3\HeuristicLab.Problems.Binary-3.3.csproj", "{FC627BE5-0F93-47D8-BD2E-530EA2B8AA5F}" 423 423 EndProject 424 424 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Programmable-3.3", "HeuristicLab.Problems.Programmable\3.3\HeuristicLab.Problems.Programmable-3.3.csproj", "{EE07BFF8-B23D-41F5-8AD7-AC9598D7A2C9}" -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/EvaluationTracker.cs
r11956 r11987 22 22 23 23 using System; 24 using HeuristicLab.Problems.BinaryVector; 24 using HeuristicLab.Common; 25 using HeuristicLab.Core; 26 using HeuristicLab.Encodings.BinaryVectorEncoding; 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 using HeuristicLab.Problems.Binary; 25 29 26 30 namespace HeuristicLab.Algorithms.ParameterlessPopulationPyramid { … … 28 32 // B. W. Goldman and W. F. Punch, "Parameter-less Population Pyramid," GECCO, pp. 785–792, 2014 29 33 // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid 30 public class EvaluationTracker : IBinaryVectorProblem {31 private readonly IBinaryVectorProblem problem;34 internal sealed class EvaluationTracker : BinaryProblem { 35 private readonly BinaryProblem problem; 32 36 33 37 private int maxEvaluations; … … 49 53 } 50 54 51 public bool[]BestSolution {55 public BinaryVector BestSolution { 52 56 get; 53 57 private set; … … 55 59 #endregion 56 60 57 public EvaluationTracker(IBinaryVectorProblem problem, int maxEvaluations) { 61 [StorableConstructor] 62 private EvaluationTracker(bool deserializing) : base(deserializing) { } 63 private EvaluationTracker(EvaluationTracker original, Cloner cloner) 64 : base(original, cloner) { 65 problem = cloner.Clone(original.problem); 66 maxEvaluations = original.maxEvaluations; 67 BestQuality = original.BestQuality; 68 Evaluations = original.Evaluations; 69 BestFoundOnEvaluation = original.BestFoundOnEvaluation; 70 BestSolution = cloner.Clone(BestSolution); 71 } 72 public override IDeepCloneable Clone(Cloner cloner) { 73 return new EvaluationTracker(this, cloner); 74 } 75 public EvaluationTracker(BinaryProblem problem, int maxEvaluations) { 58 76 this.problem = problem; 59 77 this.maxEvaluations = maxEvaluations; 60 BestSolution = new bool[0];78 BestSolution = new BinaryVector(Length); 61 79 BestQuality = double.NaN; 62 80 Evaluations = 0; … … 64 82 } 65 83 66 public double Evaluate(bool[] individual) { 84 85 86 public override double Evaluate(BinaryVector vector, IRandom random) { 67 87 if (Evaluations >= maxEvaluations) throw new OperationCanceledException("Maximum Evaluation Limit Reached"); 68 88 Evaluations++; 69 double fitness = problem.Evaluate( individual);89 double fitness = problem.Evaluate(vector, random); 70 90 if (double.IsNaN(BestQuality) || problem.IsBetter(fitness, BestQuality)) { 71 91 BestQuality = fitness; 72 BestSolution = ( bool[])individual.Clone();92 BestSolution = (BinaryVector)vector.Clone(); 73 93 BestFoundOnEvaluation = Evaluations; 74 94 } … … 76 96 } 77 97 78 #region ForwardedInteraface 79 public int Length { 98 public override int Length { 80 99 get { return problem.Length; } 100 set { problem.Length = value; } 81 101 } 82 public bool Maximization { 102 103 public override bool Maximization { 83 104 get { return problem.Maximization; } 84 105 } 106 85 107 public bool IsBetter(double quality, double bestQuality) { 86 108 return problem.IsBetter(quality, bestQuality); 87 109 } 88 #endregion 110 89 111 } 90 112 } -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj
r11961 r11987 148 148 <Private>False</Private> 149 149 </ProjectReference> 150 <ProjectReference Include="..\..\HeuristicLab.Problems.Binary Vector\3.3\HeuristicLab.Problems.BinaryVector-3.3.csproj">150 <ProjectReference Include="..\..\HeuristicLab.Problems.Binary\3.3\HeuristicLab.Problems.Binary-3.3.csproj"> 151 151 <Project>{fc627be5-0f93-47d8-bd2e-530ea2b8aa5f}</Project> 152 152 <Name>HeuristicLab.Problems.BinaryVector-3.3</Name> -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/HillClimber.cs
r11960 r11987 28 28 using HeuristicLab.Core; 29 29 using HeuristicLab.Data; 30 using HeuristicLab.Encodings.BinaryVectorEncoding; 30 31 using HeuristicLab.Optimization; 31 32 using HeuristicLab.Parameters; 32 33 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 33 using HeuristicLab.Problems.Binary Vector;34 using HeuristicLab.Problems.Binary; 34 35 using HeuristicLab.Random; 35 36 … … 49 50 50 51 public override Type ProblemType { 51 get { return typeof(Binary VectorProblem); }52 get { return typeof(BinaryProblem); } 52 53 } 53 public new Binary VectorProblem Problem {54 get { return (Binary VectorProblem)base.Problem; }54 public new BinaryProblem Problem { 55 get { return (BinaryProblem)base.Problem; } 55 56 set { base.Problem = value; } 56 57 } … … 83 84 Results.Add(new Result("Best quality", BestQuality)); 84 85 for (int iteration = 0; iteration < Iterations; iteration++) { 85 bool[] solution = new bool[Problem.Length];86 var solution = new BinaryVector(Problem.Length); 86 87 for (int i = 0; i < solution.Length; i++) { 87 88 solution[i] = random.Next(2) == 1; 88 89 } 89 90 90 var fitness = Problem.Evaluate(solution );91 var fitness = Problem.Evaluate(solution, random); 91 92 92 93 fitness = ImproveToLocalOptimum(Problem, solution, fitness, random); … … 97 98 } 98 99 // In the GECCO paper, Section 2.1 99 public static double ImproveToLocalOptimum( IBinaryVectorProblem problem, bool[]solution, double fitness, IRandom rand) {100 public static double ImproveToLocalOptimum(BinaryProblem problem, BinaryVector solution, double fitness, IRandom rand) { 100 101 var tried = new HashSet<int>(); 101 102 do { … … 104 105 if (tried.Contains(option)) continue; 105 106 solution[option] = !solution[option]; 106 double newFitness = problem.Evaluate(solution );107 double newFitness = problem.Evaluate(solution, rand); 107 108 if (problem.IsBetter(newFitness, fitness)) { 108 109 fitness = newFitness; -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/LinkageCrossover.cs
r11956 r11987 23 23 using System.Linq; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Problems.BinaryVector; 25 using HeuristicLab.Encodings.BinaryVectorEncoding; 26 using HeuristicLab.Problems.Binary; 26 27 using HeuristicLab.Random; 27 28 … … 32 33 public static class LinkageCrossover { 33 34 // In the GECCO paper, Figure 3 34 public static double ImproveUsingTree(LinkageTree tree, IList< bool[]> donors, bool[] solution, double fitness, IBinaryVectorProblem problem, IRandom rand) {35 public static double ImproveUsingTree(LinkageTree tree, IList<BinaryVector> donors, BinaryVector solution, double fitness, BinaryProblem problem, IRandom rand) { 35 36 var options = Enumerable.Range(0, donors.Count).ToArray(); 36 37 foreach (var cluster in tree.Clusters) { … … 40 41 foreach (var donorIndex in options.ShuffleList(rand)) { 41 42 // Attempt the donation 42 fitness = Donate(solution, fitness, donors[donorIndex], cluster, problem, out donorFound);43 fitness = Donate(solution, fitness, donors[donorIndex], cluster, problem, rand, out donorFound); 43 44 if (donorFound) break; 44 45 } … … 47 48 } 48 49 49 private static double Donate( bool[] solution, double fitness, bool[] source, IEnumerable<int> cluster, IBinaryVectorProblem problem, out bool changed) {50 private static double Donate(BinaryVector solution, double fitness, BinaryVector source, IEnumerable<int> cluster, BinaryProblem problem, IRandom rand, out bool changed) { 50 51 // keep track of which bits flipped to make the donation 51 52 List<int> flipped = new List<int>(); … … 58 59 changed = flipped.Count > 0; 59 60 if (changed) { 60 double newFitness = problem.Evaluate(solution );61 double newFitness = problem.Evaluate(solution, rand); 61 62 // if the original is strictly better, revert the change 62 63 if (problem.IsBetter(fitness, newFitness)) { -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/LinkageTree.cs
r11939 r11987 26 26 using HeuristicLab.Common; 27 27 using HeuristicLab.Core; 28 using HeuristicLab.Encodings.BinaryVectorEncoding; 28 29 using HeuristicLab.Random; 29 30 … … 64 65 } 65 66 66 public void Add( bool[]solution) {67 public void Add(BinaryVector solution) { 67 68 if (solution.Length != length) throw new ArgumentException("The individual has not the correct length."); 68 69 for (int i = 1; i < solution.Length; i++) { -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs
r11960 r11987 32 32 using HeuristicLab.Parameters; 33 33 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 34 using HeuristicLab.Problems.Binary Vector;34 using HeuristicLab.Problems.Binary; 35 35 using HeuristicLab.Random; 36 36 … … 44 44 public class ParameterlessPopulationPyramid : BasicAlgorithm { 45 45 public override Type ProblemType { 46 get { return typeof(Binary VectorProblem); }47 } 48 public new Binary VectorProblem Problem {49 get { return (Binary VectorProblem)base.Problem; }46 get { return typeof(BinaryProblem); } 47 } 48 public new BinaryProblem Problem { 49 get { return (BinaryProblem)base.Problem; } 50 50 set { base.Problem = value; } 51 51 } … … 56 56 57 57 // Tracks all solutions in Pyramid for quick membership checks 58 private HashSet< bool[]> seen = new HashSet<bool[]>(new EnumerableBoolEqualityComparer());58 private HashSet<BinaryVector> seen = new HashSet<BinaryVector>(new EnumerableBoolEqualityComparer()); 59 59 60 60 #region ParameterNames … … 179 179 } 180 180 181 private void AddIfUnique( bool[]solution, int level) {181 private void AddIfUnique(BinaryVector solution, int level) { 182 182 // Don't add things you have seen 183 183 if (seen.Contains(solution)) return; … … 185 185 pyramid.Add(new Population(tracker.Length, random)); 186 186 } 187 var copied = ( bool[])solution.Clone();187 var copied = (BinaryVector)solution.Clone(); 188 188 pyramid[level].Add(copied); 189 189 seen.Add(copied); … … 193 193 private double iterate() { 194 194 // Create a random solution 195 bool[] solution = new bool[tracker.Length];195 BinaryVector solution = new BinaryVector(tracker.Length); 196 196 for (int i = 0; i < solution.Length; i++) { 197 197 solution[i] = random.Next(2) == 1; 198 198 } 199 double fitness = tracker.Evaluate(solution );199 double fitness = tracker.Evaluate(solution, random); 200 200 fitness = HillClimber.ImproveToLocalOptimum(tracker, solution, fitness, random); 201 201 AddIfUnique(solution, 0); … … 249 249 fitness = iterate(); 250 250 cancellationToken.ThrowIfCancellationRequested(); 251 } 252 finally { 251 } finally { 253 252 ResultsEvaluations = tracker.Evaluations; 254 253 ResultsBestSolution = new BinaryVector(tracker.BestSolution); -
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/Population.cs
r11838 r11987 23 23 using System.Collections.Generic; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.Encodings.BinaryVectorEncoding; 25 26 26 27 namespace HeuristicLab.Algorithms.ParameterlessPopulationPyramid { … … 29 30 // and the original source code in C++11 available from: https://github.com/brianwgoldman/Parameter-less_Population_Pyramid 30 31 public class Population { 31 public List< bool[]> Solutions {32 public List<BinaryVector> Solutions { 32 33 get; 33 34 private set; … … 40 41 41 42 public Population(int length, IRandom rand) { 42 Solutions = new List< bool[]>();43 Solutions = new List<BinaryVector>(); 43 44 Tree = new LinkageTree(length, rand); 44 45 } 45 public void Add( bool[]solution) {46 public void Add(BinaryVector solution) { 46 47 Solutions.Add(solution); 47 48 Tree.Add(solution); -
trunk/sources/HeuristicLab.Problems.Binary/3.3/BinaryProblem.cs
r11983 r11987 25 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Data; 27 using HeuristicLab.Encodings.BinaryVectorEncoding; 27 28 using HeuristicLab.Optimization; 28 29 using HeuristicLab.Parameters; 29 30 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 31 31 namespace HeuristicLab.Problems.Binary Vector{32 namespace HeuristicLab.Problems.Binary { 32 33 [StorableClass] 33 public abstract class BinaryVectorProblem : Problem, IBinaryVectorProblem { 34 private const string LengthParameterName = "Length"; 34 public abstract class BinaryProblem : SingleObjectiveBasicProblem<BinaryVectorEncoding> { 35 35 36 public IFixedValueParameter<IntValue> LengthParameter { 37 get { return (IFixedValueParameter<IntValue>)Parameters[LengthParameterName]; } 38 } 39 40 public int Length { 41 get { return LengthParameter.Value.Value; } 42 set { LengthParameter.Value.Value = value; } 43 } 44 45 public abstract bool Maximization { 46 get; 36 public virtual int Length { 37 get { return Encoding.Length; } 38 set { Encoding.Length = value; } 47 39 } 48 40 49 41 [StorableConstructor] 50 protected BinaryVectorProblem(bool deserializing) : base(deserializing) { } 51 protected BinaryVectorProblem(BinaryVectorProblem original, Cloner cloner) : base(original, cloner) { } 52 public bool IsBetter(double quality, double bestQuality) { 42 protected BinaryProblem(bool deserializing) : base(deserializing) { } 43 protected BinaryProblem(BinaryProblem original, Cloner cloner) : base(original, cloner) { } 44 protected BinaryProblem() : base() { } 45 46 public virtual bool IsBetter(double quality, double bestQuality) { 53 47 return (Maximization && quality > bestQuality || !Maximization && quality < bestQuality); 54 48 } 55 49 56 public BinaryVectorProblem() 57 : base() { 58 Parameters.Add(new FixedValueParameter<IntValue>(LengthParameterName, "", new IntValue(20))); 50 public sealed override double Evaluate(Individual individual, IRandom random) { 51 return Evaluate(individual.BinaryVector(), random); 59 52 } 60 53 61 public abstract double Evaluate(bool[] individual); 62 63 54 public abstract double Evaluate(BinaryVector vector, IRandom random); 64 55 } 65 56 } -
trunk/sources/HeuristicLab.Problems.Binary/3.3/DeceptiveStepTrapProblem.cs
r11960 r11987 25 25 using HeuristicLab.Core; 26 26 using HeuristicLab.Data; 27 using HeuristicLab.Encodings.BinaryVectorEncoding; 27 28 using HeuristicLab.Parameters; 28 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 30 30 namespace HeuristicLab.Problems.Binary Vector{31 namespace HeuristicLab.Problems.Binary { 31 32 [Item("Deceptive Step Trap Problem", "Genome encodes completely separable blocks, where each block deceptive with fitness plateaus.")] 32 33 [StorableClass] … … 83 84 } 84 85 85 protected override int Score( bool[]individual, int trapIndex, int trapSize) {86 protected override int Score(BinaryVector individual, int trapIndex, int trapSize) { 86 87 int partial = base.Score(individual, trapIndex, trapSize); 87 88 // introduce plateaus using integer division -
trunk/sources/HeuristicLab.Problems.Binary/3.3/DeceptiveTrapProblem.cs
r11960 r11987 26 26 using HeuristicLab.Core; 27 27 using HeuristicLab.Data; 28 using HeuristicLab.Encodings.BinaryVectorEncoding; 28 29 using HeuristicLab.Parameters; 29 30 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 31 31 namespace HeuristicLab.Problems.Binary Vector{32 namespace HeuristicLab.Problems.Binary { 32 33 [Item("Deceptive Trap Problem", "Genome encodes completely separable blocks, where each block is fully deceptive.")] 33 34 [StorableClass] 34 35 [Creatable("Problems")] 35 public class DeceptiveTrapProblem : Binary VectorProblem {36 public class DeceptiveTrapProblem : BinaryProblem { 36 37 [StorableConstructor] 37 38 protected DeceptiveTrapProblem(bool deserializing) : base(deserializing) { } … … 69 70 70 71 // In the GECCO paper, calculates Equation 3 71 protected virtual int Score( bool[]individual, int trapIndex, int trapSize) {72 protected virtual int Score(BinaryVector individual, int trapIndex, int trapSize) { 72 73 int result = 0; 73 74 // count number of bits in trap set to 1 … … 83 84 } 84 85 85 public override double Evaluate( bool[] individual) {86 public override double Evaluate(BinaryVector individual, IRandom random) { 86 87 if (individual.Length != Length) throw new ArgumentException("The individual has not the correct length."); 87 88 int total = 0; -
trunk/sources/HeuristicLab.Problems.Binary/3.3/HIFFProblem.cs
r11960 r11987 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Encodings.BinaryVectorEncoding; 27 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 29 29 namespace HeuristicLab.Problems.Binary Vector{30 namespace HeuristicLab.Problems.Binary { 30 31 [Item("Hierararchical If and only If problem", "Genome evaluated in nested subsets to see if each subset contains either all 0s or all 1s.")] 31 32 [StorableClass] 32 33 [Creatable("Problems")] 33 public class HIFFProblem : Binary VectorProblem {34 public class HIFFProblem : BinaryProblem { 34 35 [StorableConstructor] 35 36 protected HIFFProblem(bool deserializing) : base(deserializing) { } … … 50 51 } 51 52 // In the GECCO paper, Section 4.1 52 public override double Evaluate( bool[] individual) {53 public override double Evaluate(BinaryVector individual, IRandom random) { 53 54 int[] level = new int[individual.Length]; 54 55 int levelLength = individual.Length; -
trunk/sources/HeuristicLab.Problems.Binary/3.3/HeuristicLab.Problems.Binary-3.3.csproj
r11983 r11987 8 8 <OutputType>Library</OutputType> 9 9 <AppDesignerFolder>Properties</AppDesignerFolder> 10 <RootNamespace>HeuristicLab.Problems.Binary Vector</RootNamespace>11 <AssemblyName>HeuristicLab.Problems.Binary Vector-3.3</AssemblyName>10 <RootNamespace>HeuristicLab.Problems.Binary</RootNamespace> 11 <AssemblyName>HeuristicLab.Problems.Binary-3.3</AssemblyName> 12 12 <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 13 13 <FileAlignment>512</FileAlignment> … … 82 82 </ItemGroup> 83 83 <ItemGroup> 84 <Compile Include="Binary VectorProblem.cs" />84 <Compile Include="BinaryProblem.cs" /> 85 85 <Compile Include="DeceptiveStepTrapProblem.cs" /> 86 86 <Compile Include="DeceptiveTrapProblem.cs" /> 87 87 <Compile Include="HIFFProblem.cs" /> 88 <Compile Include="IBinaryVectorProblem.cs" />89 88 <Compile Include="Plugin.cs" /> 90 89 <Compile Include="Properties\AssemblyInfo.cs" /> … … 99 98 <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project> 100 99 <Name>HeuristicLab.Collections-3.3</Name> 100 <Private>False</Private> 101 101 </ProjectReference> 102 102 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj"> 103 103 <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project> 104 104 <Name>HeuristicLab.Common-3.3</Name> 105 <Private>False</Private> 105 106 </ProjectReference> 106 107 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj"> 107 108 <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project> 108 109 <Name>HeuristicLab.Core-3.3</Name> 110 <Private>False</Private> 109 111 </ProjectReference> 110 112 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj"> 111 113 <Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project> 112 114 <Name>HeuristicLab.Data-3.3</Name> 115 <Private>False</Private> 116 </ProjectReference> 117 <ProjectReference Include="..\..\HeuristicLab.Encodings.BinaryVectorEncoding\3.3\HeuristicLab.Encodings.BinaryVectorEncoding-3.3.csproj"> 118 <Project>{66d249c3-a01d-42a8-82a2-919bc8ec3d83}</Project> 119 <Name>HeuristicLab.Encodings.BinaryVectorEncoding-3.3</Name> 120 <Private>False</Private> 121 </ProjectReference> 122 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj"> 123 <Project>{23da7ff4-d5b8-41b6-aa96-f0561d24f3ee}</Project> 124 <Name>HeuristicLab.Operators-3.3</Name> 125 <Private>False</Private> 113 126 </ProjectReference> 114 127 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj"> 115 128 <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project> 116 129 <Name>HeuristicLab.Optimization-3.3</Name> 130 <Private>False</Private> 117 131 </ProjectReference> 118 132 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj"> 119 133 <Project>{56f9106a-079f-4c61-92f6-86a84c2d84b7}</Project> 120 134 <Name>HeuristicLab.Parameters-3.3</Name> 135 <Private>False</Private> 121 136 </ProjectReference> 122 137 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj"> 123 138 <Project>{102bc7d3-0ef9-439c-8f6d-96ff0fdb8e1b}</Project> 124 139 <Name>HeuristicLab.Persistence-3.3</Name> 140 <Private>False</Private> 125 141 </ProjectReference> 126 142 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj"> 127 143 <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project> 128 144 <Name>HeuristicLab.PluginInfrastructure-3.3</Name> 145 <Private>False</Private> 129 146 </ProjectReference> 130 147 </ItemGroup> -
trunk/sources/HeuristicLab.Problems.Binary/3.3/Plugin.cs.frame
r11956 r11987 25 25 using HeuristicLab.PluginInfrastructure; 26 26 27 namespace HeuristicLab.Problems.Binary Vector{28 [Plugin("HeuristicLab.Problems.Binary Vector","Provides binary benchmark problems.", "3.3.10.$WCREV$")]29 [PluginFile("HeuristicLab.Problems.Binary Vector-3.3.dll", PluginFileType.Assembly)]27 namespace HeuristicLab.Problems.Binary { 28 [Plugin("HeuristicLab.Problems.Binary","Provides binary benchmark problems.", "3.3.10.$WCREV$")] 29 [PluginFile("HeuristicLab.Problems.Binary-3.3.dll", PluginFileType.Assembly)] 30 30 [PluginDependency("HeuristicLab.Collections", "3.3")] 31 31 [PluginDependency("HeuristicLab.Common", "3.3")] … … 35 35 [PluginDependency("HeuristicLab.Parameters", "3.3")] 36 36 [PluginDependency("HeuristicLab.Persistence", "3.3")] 37 public class Plugin : PluginBase {37 public class HeuristicLabProblemsBinaryPlugin : PluginBase { 38 38 } 39 39 } -
trunk/sources/HeuristicLab.Problems.Binary/3.3/Properties/AssemblyInfo.cs.frame
r11956 r11987 26 26 // set of attributes. Change these attribute values to modify the information 27 27 // associated with an assembly. 28 [assembly: AssemblyTitle("HeuristicLab.Problems.Binary Vector")]28 [assembly: AssemblyTitle("HeuristicLab.Problems.Binary")] 29 29 [assembly: AssemblyDescription("Provides binary benchmark problems.")] 30 30 [assembly: AssemblyConfiguration("")] -
trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.4/HeuristicLab.Problems.ExternalEvaluation.Views-3.4.csproj
r11961 r11987 208 208 <Private>False</Private> 209 209 </ProjectReference> 210 <ProjectReference Include="..\..\HeuristicLab.Problems.ExternalEvaluation\3. 4\HeuristicLab.Problems.ExternalEvaluation-3.4.csproj">210 <ProjectReference Include="..\..\HeuristicLab.Problems.ExternalEvaluation\3.3\HeuristicLab.Problems.ExternalEvaluation-3.3.csproj"> 211 211 <Project>{25735db4-8e54-4a2c-83e3-a60c76565e55}</Project> 212 <Name>HeuristicLab.Problems.ExternalEvaluation-3. 4</Name>212 <Name>HeuristicLab.Problems.ExternalEvaluation-3.3</Name> 213 213 <Private>False</Private> 214 214 </ProjectReference> -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/LinkageTreeTest.cs
r11939 r11987 22 22 using System.Linq; 23 23 using HeuristicLab.Algorithms.ParameterlessPopulationPyramid; 24 using HeuristicLab.Encodings.BinaryVectorEncoding; 24 25 using HeuristicLab.Random; 25 26 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 29 30 public class LinkageTreeTest { 30 31 private static int Length = 9; 31 private static bool[][] solutions = new bool[][]{32 new bool[] { true, true, false, false, false, false, false, false, false }, // 11000000033 new bool[] { false, false, true, true, false, false, false, false, false }, // 00110000034 new bool[] { false, false, false, false, true, true, false, false, false }, // 00001100035 new bool[] { false, false, false, false, false, false, true, true, true }, // 00000011136 new bool[] { true, true, true, true, false, false, false, false, false }, // 11110000037 new bool[] { true, true, true, true, true, true, true, true, true }, // 11111111132 private static BinaryVector[] solutions = { 33 new BinaryVector(new [] { true, true, false, false, false, false, false, false, false }), // 110000000 34 new BinaryVector(new [] { false, false, true, true, false, false, false, false, false }), // 001100000 35 new BinaryVector(new [] { false, false, false, false, true, true, false, false, false }), // 000011000 36 new BinaryVector(new [] { false, false, false, false, false, false, true, true, true }), // 000000111 37 new BinaryVector(new [] { true, true, true, true, false, false, false, false, false }), // 111100000 38 new BinaryVector(new [] { true, true, true, true, true, true, true, true, true }), // 111111111 38 39 }; 39 40 40 41 // These are the clusters that should be built using "solutions" and the seed 123 41 private static int[][] correctClusters = new int[][]{42 private static int[][] correctClusters = { 42 43 new int[] { 4, 5 }, 43 44 new int[] { 2, 3 }, -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3/ParameterlessPopulationPyramidTest.cs
r11983 r11987 22 22 using System; 23 23 using System.Threading; 24 using HeuristicLab.Algorithms.ParameterlessPopulationPyramid;25 24 using HeuristicLab.Common; 26 using HeuristicLab.Problems.Binary Vector;25 using HeuristicLab.Problems.Binary; 27 26 using Microsoft.VisualStudio.TestTools.UnitTesting; 28 27 … … 32 31 33 32 // Utility function that sets up and executes the run, then asserts the results 34 private PrivateObject DoRun(Binary VectorProblem problem, int maximumEvaluations, int seed, double bestQuality, int foundOn) {33 private PrivateObject DoRun(BinaryProblem problem, int maximumEvaluations, int seed, double bestQuality, int foundOn) { 35 34 var solver = new HeuristicLab.Algorithms.ParameterlessPopulationPyramid.ParameterlessPopulationPyramid(); 36 35 solver.Problem = problem; … … 41 40 try { 42 41 hidden.Invoke("Run", new CancellationToken()); 43 } 44 catch (OperationCanceledException) { 42 } catch (OperationCanceledException) { 45 43 // Ignore 46 44 } -
trunk/sources/HeuristicLab.Tests/HeuristicLab.Tests.csproj
r11961 r11987 254 254 <Private>False</Private> 255 255 </Reference> 256 <Reference Include="HeuristicLab.Problems.Binary Vector-3.3">256 <Reference Include="HeuristicLab.Problems.Binary-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 257 257 <SpecificVersion>False</SpecificVersion> 258 <HintPath>..\bin\HeuristicLab.Problems.Binary Vector-3.3.dll</HintPath>258 <HintPath>..\bin\HeuristicLab.Problems.Binary-3.3.dll</HintPath> 259 259 <Private>False</Private> 260 260 </Reference>
Note: See TracChangeset
for help on using the changeset viewer.