Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj (revision 12208)
@@ -47,4 +47,5 @@
AllRules.ruleset
false
+ false
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/EnumerableExtensions.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/EnumerableExtensions.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/EnumerableExtensions.cs (revision 12208)
@@ -20,8 +20,8 @@
#endregion
+using System;
using System.Collections.Generic;
using System.Linq;
using HeuristicLab.Core;
-using System;
namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
@@ -55,6 +55,5 @@
if (agg > r) return list[i];
}
- // should never happen
- throw new InvalidOperationException();
+ return list[random.Next(list.Count)];
}
}
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj (revision 12208)
@@ -48,4 +48,5 @@
AllRules.ruleset
false
+ false
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Tests/HeuristicLab.EvolutionTracking.Tests.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Tests/HeuristicLab.EvolutionTracking.Tests.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Tests/HeuristicLab.EvolutionTracking.Tests.csproj (revision 12208)
@@ -26,4 +26,5 @@
prompt
4
+ false
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphChart.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphChart.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphChart.cs (revision 12208)
@@ -66,4 +66,6 @@
}
set {
+ if (value == null || value == SelectedGraphNode)
+ return;
SelectedVisualNode = GetMappedNode(value);
UpdateSelectedVisualNode();
@@ -90,5 +92,5 @@
protected VisualGenealogyGraphNode SelectedVisualNode { get; set; }
- private VisualGenealogyGraphNode GetMappedNode(IGenealogyGraphNode node) {
+ public VisualGenealogyGraphNode GetMappedNode(IGenealogyGraphNode node) {
VisualGenealogyGraphNode v;
nodeMap.TryGetValue(node, out v);
@@ -96,5 +98,5 @@
}
- private VisualGenealogyGraphArc GetMappedArc(IGenealogyGraphNode source, IGenealogyGraphNode target) {
+ public VisualGenealogyGraphArc GetMappedArc(IGenealogyGraphNode source, IGenealogyGraphNode target) {
VisualGenealogyGraphNode visualSource, visualTarget;
nodeMap.TryGetValue(source, out visualSource);
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphView.Designer.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphView.Designer.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/GenealogyGraphView.Designer.cs (revision 12208)
@@ -26,11 +26,11 @@
private void InitializeComponent() {
this.splitContainer = new System.Windows.Forms.SplitContainer();
- this.genealogyGraphChart = new HeuristicLab.EvolutionTracking.Views.GenealogyGraphChart();
this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
this.groupBox = new System.Windows.Forms.GroupBox();
+ this.openNew_CheckBox = new System.Windows.Forms.CheckBox();
this.lockGraph_checkBox = new System.Windows.Forms.CheckBox();
this.simpleLineages_checkBox = new System.Windows.Forms.CheckBox();
this.trace_checkBox = new System.Windows.Forms.CheckBox();
- this.openNew_CheckBox = new System.Windows.Forms.CheckBox();
+ this.genealogyGraphChart = new HeuristicLab.EvolutionTracking.Views.GenealogyGraphChart();
((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
this.splitContainer.Panel1.SuspendLayout();
@@ -59,21 +59,4 @@
this.splitContainer.TabIndex = 0;
//
- // genealogyGraphChart
- //
- this.genealogyGraphChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.genealogyGraphChart.BackColor = System.Drawing.SystemColors.Control;
- this.genealogyGraphChart.GenealogyGraph = null;
- this.genealogyGraphChart.Location = new System.Drawing.Point(0, 0);
- this.genealogyGraphChart.LockGenealogy = false;
- this.genealogyGraphChart.Name = "genealogyGraphChart";
- this.genealogyGraphChart.ScaleOnResize = true;
- this.genealogyGraphChart.SimpleLineages = false;
- this.genealogyGraphChart.Size = new System.Drawing.Size(689, 738);
- this.genealogyGraphChart.TabIndex = 0;
- this.genealogyGraphChart.TraceFragments = false;
- this.genealogyGraphChart.UpdateEnabled = true;
- //
// viewHost
//
@@ -101,8 +84,18 @@
this.groupBox.Location = new System.Drawing.Point(3, 4);
this.groupBox.Name = "groupBox";
- this.groupBox.Size = new System.Drawing.Size(411, 44);
+ this.groupBox.Size = new System.Drawing.Size(602, 44);
this.groupBox.TabIndex = 1;
this.groupBox.TabStop = false;
this.groupBox.Text = "Genealogy Options";
+ //
+ // openNew_CheckBox
+ //
+ this.openNew_CheckBox.AutoSize = true;
+ this.openNew_CheckBox.Location = new System.Drawing.Point(485, 19);
+ this.openNew_CheckBox.Name = "openNew_CheckBox";
+ this.openNew_CheckBox.Size = new System.Drawing.Size(111, 17);
+ this.openNew_CheckBox.TabIndex = 1;
+ this.openNew_CheckBox.Text = "Open in new view";
+ this.openNew_CheckBox.UseVisualStyleBackColor = true;
//
// lockGraph_checkBox
@@ -142,13 +135,21 @@
this.trace_checkBox.CheckedChanged += new System.EventHandler(this.trace_checkBox_CheckedChanged);
//
- // openNew_CheckBox
+ // genealogyGraphChart
//
- this.openNew_CheckBox.AutoSize = true;
- this.openNew_CheckBox.Location = new System.Drawing.Point(237, 20);
- this.openNew_CheckBox.Name = "openNew_CheckBox";
- this.openNew_CheckBox.Size = new System.Drawing.Size(111, 17);
- this.openNew_CheckBox.TabIndex = 1;
- this.openNew_CheckBox.Text = "Open in new view";
- this.openNew_CheckBox.UseVisualStyleBackColor = true;
+ this.genealogyGraphChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.genealogyGraphChart.BackColor = System.Drawing.SystemColors.Control;
+ this.genealogyGraphChart.GenealogyGraph = null;
+ this.genealogyGraphChart.Location = new System.Drawing.Point(0, 0);
+ this.genealogyGraphChart.LockGenealogy = false;
+ this.genealogyGraphChart.Name = "genealogyGraphChart";
+ this.genealogyGraphChart.ScaleOnResize = true;
+ this.genealogyGraphChart.SelectedGraphNode = null;
+ this.genealogyGraphChart.SimpleLineages = false;
+ this.genealogyGraphChart.Size = new System.Drawing.Size(689, 738);
+ this.genealogyGraphChart.TabIndex = 0;
+ this.genealogyGraphChart.TraceFragments = false;
+ this.genealogyGraphChart.UpdateEnabled = true;
//
// GenealogyGraphView
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/HeuristicLab.EvolutionTracking.Views-3.4.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/HeuristicLab.EvolutionTracking.Views-3.4.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking.Views/3.4/HeuristicLab.EvolutionTracking.Views-3.4.csproj (revision 12208)
@@ -24,4 +24,5 @@
4
false
+ false
@@ -128,4 +129,5 @@
+
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj (revision 12208)
@@ -47,4 +47,5 @@
AllRules.ruleset
false
+ false
@@ -103,7 +104,7 @@
False
-
+
False
- ..\..\..\..\trunk\sources\bin\EPPlus-3.1.3.dll
+ ..\..\..\..\trunk\sources\bin\EPPlus-4.0.3.dll
False
@@ -366,4 +367,7 @@
Resources.Designer.cs
Designer
+
+
+ SymbolicDataAnalysisGenealogyGraphView.cs
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.Designer.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.Designer.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.Designer.cs (revision 12208)
@@ -46,4 +46,6 @@
private void InitializeComponent() {
this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.nodeWeightLabel = new System.Windows.Forms.Label();
+ this.nodeWeightLabelLabel = new System.Windows.Forms.Label();
this.navigateRightButton = new System.Windows.Forms.Button();
this.navigateLeftButton = new System.Windows.Forms.Button();
@@ -76,4 +78,6 @@
// groupBox1
//
+ this.groupBox1.Controls.Add(this.nodeWeightLabel);
+ this.groupBox1.Controls.Add(this.nodeWeightLabelLabel);
this.groupBox1.Controls.Add(this.navigateRightButton);
this.groupBox1.Controls.Add(this.navigateLeftButton);
@@ -84,15 +88,32 @@
this.groupBox1.Controls.Add(this.nodeQualityLabel);
this.groupBox1.Controls.Add(this.nodeQualityLabelLabel);
- this.groupBox1.Location = new System.Drawing.Point(420, 4);
+ this.groupBox1.Location = new System.Drawing.Point(624, 4);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(624, 44);
+ this.groupBox1.Size = new System.Drawing.Size(617, 44);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Current Node";
//
+ // nodeWeightLabel
+ //
+ this.nodeWeightLabel.AutoSize = true;
+ this.nodeWeightLabel.Location = new System.Drawing.Point(285, 20);
+ this.nodeWeightLabel.Name = "nodeWeightLabel";
+ this.nodeWeightLabel.Size = new System.Drawing.Size(0, 13);
+ this.nodeWeightLabel.TabIndex = 8;
+ //
+ // nodeWeightLabelLabel
+ //
+ this.nodeWeightLabelLabel.AutoSize = true;
+ this.nodeWeightLabelLabel.Location = new System.Drawing.Point(241, 20);
+ this.nodeWeightLabelLabel.Name = "nodeWeightLabelLabel";
+ this.nodeWeightLabelLabel.Size = new System.Drawing.Size(44, 13);
+ this.nodeWeightLabelLabel.TabIndex = 7;
+ this.nodeWeightLabelLabel.Text = "Weight:";
+ //
// navigateRightButton
//
this.navigateRightButton.Image = global::HeuristicLab.Problems.DataAnalysis.Symbolic.Views.Properties.Resources.LargeLeftDiagonal_235;
- this.navigateRightButton.Location = new System.Drawing.Point(309, 15);
+ this.navigateRightButton.Location = new System.Drawing.Point(589, 14);
this.navigateRightButton.Name = "navigateRightButton";
this.navigateRightButton.Size = new System.Drawing.Size(22, 22);
@@ -104,5 +125,5 @@
//
this.navigateLeftButton.Image = global::HeuristicLab.Problems.DataAnalysis.Symbolic.Views.Properties.Resources.LargeRightDiagonal_238;
- this.navigateLeftButton.Location = new System.Drawing.Point(281, 15);
+ this.navigateLeftButton.Location = new System.Drawing.Point(561, 14);
this.navigateLeftButton.Name = "navigateLeftButton";
this.navigateLeftButton.Size = new System.Drawing.Size(22, 22);
@@ -114,5 +135,5 @@
//
this.nodeDegreeLabel.AutoSize = true;
- this.nodeDegreeLabel.Location = new System.Drawing.Point(235, 20);
+ this.nodeDegreeLabel.Location = new System.Drawing.Point(205, 20);
this.nodeDegreeLabel.Name = "nodeDegreeLabel";
this.nodeDegreeLabel.Size = new System.Drawing.Size(0, 13);
@@ -122,5 +143,5 @@
//
this.nodeDegreeLabelLabel.AutoSize = true;
- this.nodeDegreeLabelLabel.Location = new System.Drawing.Point(192, 20);
+ this.nodeDegreeLabelLabel.Location = new System.Drawing.Point(154, 20);
this.nodeDegreeLabelLabel.Name = "nodeDegreeLabelLabel";
this.nodeDegreeLabelLabel.Size = new System.Drawing.Size(45, 13);
@@ -131,5 +152,5 @@
//
this.nodeRankLabel.AutoSize = true;
- this.nodeRankLabel.Location = new System.Drawing.Point(138, 20);
+ this.nodeRankLabel.Location = new System.Drawing.Point(123, 20);
this.nodeRankLabel.Name = "nodeRankLabel";
this.nodeRankLabel.Size = new System.Drawing.Size(0, 13);
@@ -139,5 +160,5 @@
//
this.nodeRankLabelLabel.AutoSize = true;
- this.nodeRankLabelLabel.Location = new System.Drawing.Point(96, 20);
+ this.nodeRankLabelLabel.Location = new System.Drawing.Point(81, 20);
this.nodeRankLabelLabel.Name = "nodeRankLabelLabel";
this.nodeRankLabelLabel.Size = new System.Drawing.Size(36, 13);
@@ -192,4 +213,6 @@
private System.Windows.Forms.Button navigateRightButton;
private System.Windows.Forms.Button navigateLeftButton;
+ private System.Windows.Forms.Label nodeWeightLabelLabel;
+ private System.Windows.Forms.Label nodeWeightLabel;
}
}
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymbolicDataAnalysisGenealogyGraphView.cs (revision 12208)
@@ -92,4 +92,5 @@
nodeRankLabel.Text = String.Format("{0:0.0}", graphNode.Rank);
nodeDegreeLabel.Text = String.Format("{0} / {1}", graphNode.InDegree, graphNode.OutDegree);
+ nodeWeightLabel.Text = String.Format("{0:0.00}", graphNode.Weight);
if (openNew_CheckBox.Checked) {
@@ -143,5 +144,22 @@
genealogyGraphChart.UpdateEnabled = true;
genealogyGraphChart.EnforceUpdate();
- MainFormManager.MainForm.ShowContent(traceGraph); // display the fragment graph on the screen
+ if (openNew_CheckBox.Checked)
+ MainFormManager.MainForm.ShowContent(traceGraph); // display the fragment graph on the screen
+
+ var max = traceGraph.Vertices.Max(x => x.Weight);
+
+ genealogyGraphChart.UpdateEnabled = false;
+ foreach (var traceNode in traceGraph.Vertices) {
+ var g = Content.GetByContent(traceNode.Data);
+ g.Weight = traceNode.Weight;
+ var v = genealogyGraphChart.GetMappedNode(g);
+ if (v != null) {
+ int i = (int)Math.Round(g.Weight * (ColorGradient.Colors.Count - 1) / max);
+
+ v.Brush = new SolidBrush(ColorGradient.Colors[i]);
+ }
+ }
+ genealogyGraphChart.UpdateEnabled = true;
+ genealogyGraphChart.EnforceUpdate();
}
} else {
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj (revision 12208)
@@ -47,4 +47,5 @@
AllRules.ruleset
false
+ false
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionPruningOperator.cs
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionPruningOperator.cs (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionPruningOperator.cs (revision 12208)
@@ -109,5 +109,5 @@
: base(original, cloner) { }
- protected SymbolicDataAnalysisExpressionPruningOperator() {
+ protected SymbolicDataAnalysisExpressionPruningOperator(ISymbolicDataAnalysisSolutionImpactValuesCalculator impactValuesCalculator) {
#region add parameters
Parameters.Add(new LookupParameter(ProblemDataParameterName));
@@ -122,13 +122,14 @@
Parameters.Add(new LookupParameter(SymbolicExpressionTreeParameterName));
Parameters.Add(new LookupParameter(QualityParameterName));
+ Parameters.Add(new ValueParameter(ImpactValuesCalculatorParameterName, impactValuesCalculator));
#endregion
}
- protected abstract ISymbolicDataAnalysisModel CreateModel();
+ protected abstract ISymbolicDataAnalysisModel CreateModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData, DoubleLimit estimationLimits);
protected abstract double Evaluate(IDataAnalysisModel model);
public override IOperation Apply() {
- var model = CreateModel();
+ var model = CreateModel(SymbolicExpressionTree, Interpreter, ProblemData, EstimationLimits);
var nodes = SymbolicExpressionTree.Root.GetSubtree(0).GetSubtree(0).IterateNodesPrefix().ToList();
var rows = Enumerable.Range(FitnessCalculationPartition.Start, FitnessCalculationPartition.Size);
@@ -169,5 +170,36 @@
}
- private static void ReplaceWithConstant(ISymbolicExpressionTreeNode original, ISymbolicExpressionTreeNode replacement) {
+ public ISymbolicExpressionTree Prune(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData, DoubleLimit estimationLimits) {
+ var model = CreateModel((ISymbolicExpressionTree)tree.Clone(), Interpreter, ProblemData, EstimationLimits);
+ var nodes = SymbolicExpressionTree.Root.GetSubtree(0).GetSubtree(0).IterateNodesPrefix().ToList();
+ var rows = Enumerable.Range(FitnessCalculationPartition.Start, FitnessCalculationPartition.Size);
+
+ double quality = Evaluate(model);
+
+ for (int i = 0; i < nodes.Count; ++i) {
+ var node = nodes[i];
+ if (node is ConstantTreeNode) continue;
+
+ double impactValue, replacementValue;
+ ImpactValuesCalculator.CalculateImpactAndReplacementValues(model, node, ProblemData, rows, out impactValue, out replacementValue, quality);
+
+ if (PruneOnlyZeroImpactNodes) {
+ if (!impactValue.IsAlmost(0.0)) continue;
+ } else if (NodeImpactThreshold < impactValue) {
+ continue;
+ }
+
+ var constantNode = (ConstantTreeNode)node.Grammar.GetSymbol("Constant").CreateTreeNode();
+ constantNode.Value = replacementValue;
+
+ ReplaceWithConstant(node, constantNode);
+ i += node.GetLength() - 1; // skip subtrees under the node that was folded
+
+ quality -= impactValue;
+ }
+ return model.SymbolicExpressionTree;
+ }
+
+ protected static void ReplaceWithConstant(ISymbolicExpressionTreeNode original, ISymbolicExpressionTreeNode replacement) {
var parent = original.Parent;
var i = parent.IndexOfSubtree(original);
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman.Views/3.3/HeuristicLab.Problems.TravelingSalesman.Views-3.3.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman.Views/3.3/HeuristicLab.Problems.TravelingSalesman.Views-3.3.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman.Views/3.3/HeuristicLab.Problems.TravelingSalesman.Views-3.3.csproj (revision 12208)
@@ -47,4 +47,5 @@
AllRules.ruleset
false
+ false
Index: /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman/3.3/HeuristicLab.Problems.TravelingSalesman-3.3.csproj
===================================================================
--- /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman/3.3/HeuristicLab.Problems.TravelingSalesman-3.3.csproj (revision 12207)
+++ /branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.TravelingSalesman/3.3/HeuristicLab.Problems.TravelingSalesman-3.3.csproj (revision 12208)
@@ -49,4 +49,5 @@
AllRules.ruleset
false
+ false