Index: /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Algorithms.ESLimitedGA/3.3/HeuristicLab.Algorithms.ESLimitedGA-3.3.csproj
===================================================================
--- /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Algorithms.ESLimitedGA/3.3/HeuristicLab.Algorithms.ESLimitedGA-3.3.csproj (revision 9417)
+++ /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Algorithms.ESLimitedGA/3.3/HeuristicLab.Algorithms.ESLimitedGA-3.3.csproj (revision 9418)
@@ -103,40 +103,53 @@
..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll
+ False
..\..\..\..\trunk\sources\bin\HeuristicLab.Selection-3.3.dll
+ False
Index: /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DuplicateSolutionsAnalyzer.cs
===================================================================
--- /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DuplicateSolutionsAnalyzer.cs (revision 9417)
+++ /branches/HeuristicLab.Analysis.AlgorithmBehavior/HeuristicLab.Analysis.AlgorithmBehavior.Analyzers/3.3/DuplicateSolutionsAnalyzer.cs (revision 9418)
@@ -21,4 +21,5 @@
+using System.Collections.Generic;
using System.Linq;
using HeuristicLab.Common;
@@ -59,5 +60,5 @@
[Storable]
- private DataTableHelper chartingHelper;
+ private DataTableHelper chartingHelper, similarityChartHelper;
#endregion
@@ -68,4 +69,5 @@
: base(original, cloner) {
chartingHelper = (DataTableHelper)original.chartingHelper.Clone(cloner);
+ similarityChartHelper = (DataTableHelper)original.similarityChartHelper.Clone(cloner);
}
@@ -77,4 +79,5 @@
chartingHelper = new DataTableHelper();
+ similarityChartHelper = new DataTableHelper();
}
@@ -88,6 +91,8 @@
}
chartingHelper.InitializeChart(Results, "Duplicate Solutions", new string[] { "Duplicate Solutions per Generation" });
+ similarityChartHelper.InitializeChart(Results, "Average Similarity", new string[] { "Avg. Similarity per Generation" });
var similarities = SimilarityCalculatorParameter.Value.CalculateSolutionCrowdSimilarity(ExecutionContext.Scope);
+ List similaritiesArr = new List();
int counter = 0;
for (int i = 0; i < similarities.Length; i++) {
@@ -98,6 +103,12 @@
}
}
+ for (int j = 0; j < similarities[i].Length; j++) {
+ if (i != j) {
+ similaritiesArr.Add(similarities[i][j]);
+ }
+ }
}
+ similarityChartHelper.AddPoint(similaritiesArr.Average());
chartingHelper.AddPoint(counter / (double)similarities.Length);
return base.Apply();