Free cookie consent management tool by TermsFeed Policy Generator

Changeset 8388 for branches


Ignore:
Timestamp:
08/02/12 15:05:26 (12 years ago)
Author:
bburlacu
Message:

#1763: Rebranched the TreeSimplifier project to fix merging errors. Added functionality to insert symbols into the tree, fixed bug when deleting tree nodes.

Location:
branches/HeuristicLab.TreeSimplifier
Files:
23 added
20 edited
5 copied

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TreeSimplifier

    • Property svn:ignore set to
      *.suo
      _ReSharper.HeuristicLab.TreeSimplifier
      bin
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        23obj
        3 HeuristicLabEncodingsSymbolicExpressionTreeEncodingViewsPlugin.cs
        4 *.vs10x
        5 HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj.user
        6 Plugin.cs
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj

    r6866 r8388  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     43    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
     95    <Reference Include="HeuristicLab.Collections-3.3">
     96      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     97    </Reference>
     98    <Reference Include="HeuristicLab.Common-3.3">
     99      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Common.Resources-3.3">
     102      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     103    </Reference>
     104    <Reference Include="HeuristicLab.Core-3.3">
     105      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Core.Views-3.3">
     108      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Data-3.3">
     111      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Data.Views-3.3">
     114      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data.Views-3.3.dll</HintPath>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     117      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     118    </Reference>
     119    <Reference Include="HeuristicLab.MainForm-3.3">
     120      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
     121    </Reference>
     122    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
     123      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     124    </Reference>
     125    <Reference Include="HeuristicLab.Operators-3.3">
     126      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     127    </Reference>
     128    <Reference Include="HeuristicLab.Optimization-3.3">
     129      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Optimization.Views-3.3">
     132      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization.Views-3.3.dll</HintPath>
     133    </Reference>
     134    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     135      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     136    </Reference>
     137    <Reference Include="HeuristicLab.Random-3.3">
     138      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
     139    </Reference>
     140    <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3">
     141      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
     142    </Reference>
    95143    <Reference Include="System" />
    96144    <Reference Include="System.Core">
     
    110158  </ItemGroup>
    111159  <ItemGroup>
     160    <Compile Include="InteractiveSymbolicExpressionTreeChart.cs">
     161      <SubType>UserControl</SubType>
     162    </Compile>
     163    <Compile Include="InteractiveSymbolicExpressionTreeChart.Designer.cs">
     164      <DependentUpon>InteractiveSymbolicExpressionTreeChart.cs</DependentUpon>
     165    </Compile>
    112166    <Compile Include="Plugin.cs" />
    113167    <Compile Include="SymbolicExpressionGrammarAllowedChildSymbolsControl.cs">
     
    135189      <DependentUpon>SymbolicExpressionGrammarView.cs</DependentUpon>
    136190    </Compile>
     191    <Compile Include="SymbolicExpressionTreeNodeChangeValueDialog.cs">
     192      <SubType>Form</SubType>
     193    </Compile>
     194    <Compile Include="SymbolicExpressionTreeNodeChangeValueDialog.Designer.cs">
     195      <DependentUpon>SymbolicExpressionTreeNodeChangeValueDialog.cs</DependentUpon>
     196    </Compile>
     197    <Compile Include="SymbolicExpressionTreeNodeInsertDialog.cs">
     198      <SubType>Form</SubType>
     199    </Compile>
     200    <Compile Include="SymbolicExpressionTreeNodeInsertDialog.Designer.cs">
     201      <DependentUpon>SymbolicExpressionTreeNodeInsertDialog.cs</DependentUpon>
     202    </Compile>
    137203    <Compile Include="SymbolView.cs">
    138204      <SubType>UserControl</SubType>
     
    162228    <Compile Include="VisualSymbolicExpressionTreeNode.cs" />
    163229    <Compile Include="VisualSymbolicExpressionTreeNodeConnection.cs" />
    164   </ItemGroup>
    165   <ItemGroup>
    166     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    167       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    168       <Name>HeuristicLab.Collections-3.3</Name>
    169       <Private>False</Private>
    170     </ProjectReference>
    171     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
    172       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
    173       <Name>HeuristicLab.Common.Resources-3.3</Name>
    174       <Private>False</Private>
    175     </ProjectReference>
    176     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    177       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    178       <Name>HeuristicLab.Common-3.3</Name>
    179       <Private>False</Private>
    180     </ProjectReference>
    181     <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
    182       <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
    183       <Name>HeuristicLab.Core.Views-3.3</Name>
    184       <Private>False</Private>
    185     </ProjectReference>
    186     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    187       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    188       <Name>HeuristicLab.Core-3.3</Name>
    189       <Private>False</Private>
    190     </ProjectReference>
    191     <ProjectReference Include="..\..\HeuristicLab.Data.Views\3.3\HeuristicLab.Data.Views-3.3.csproj">
    192       <Project>{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}</Project>
    193       <Name>HeuristicLab.Data.Views-3.3</Name>
    194       <Private>False</Private>
    195     </ProjectReference>
    196     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    197       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    198       <Name>HeuristicLab.Data-3.3</Name>
    199       <Private>False</Private>
    200     </ProjectReference>
    201     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    202       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    203       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    204       <Private>False</Private>
    205     </ProjectReference>
    206     <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.3\HeuristicLab.MainForm.WindowsForms-3.3.csproj">
    207       <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
    208       <Name>HeuristicLab.MainForm.WindowsForms-3.3</Name>
    209       <Private>False</Private>
    210     </ProjectReference>
    211     <ProjectReference Include="..\..\HeuristicLab.MainForm\3.3\HeuristicLab.MainForm-3.3.csproj">
    212       <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
    213       <Name>HeuristicLab.MainForm-3.3</Name>
    214       <Private>False</Private>
    215     </ProjectReference>
    216     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    217       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    218       <Name>HeuristicLab.Operators-3.3</Name>
    219       <Private>False</Private>
    220     </ProjectReference>
    221     <ProjectReference Include="..\..\HeuristicLab.Optimization.Views\3.3\HeuristicLab.Optimization.Views-3.3.csproj">
    222       <Project>{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}</Project>
    223       <Name>HeuristicLab.Optimization.Views-3.3</Name>
    224       <Private>False</Private>
    225     </ProjectReference>
    226     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    227       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    228       <Name>HeuristicLab.Optimization-3.3</Name>
    229       <Private>False</Private>
    230     </ProjectReference>
    231     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    232       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    233       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    234       <Private>False</Private>
    235     </ProjectReference>
    236     <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
    237       <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
    238       <Name>HeuristicLab.Random-3.3</Name>
    239       <Private>False</Private>
    240     </ProjectReference>
    241     <ProjectReference Include="..\..\HeuristicLab.Visualization.ChartControlsExtensions\3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj">
    242       <Project>{315BDA09-3F4F-49B3-9790-B37CFC1C5750}</Project>
    243       <Name>HeuristicLab.Visualization.ChartControlsExtensions-3.3</Name>
    244       <Private>False</Private>
    245     </ProjectReference>
    246230  </ItemGroup>
    247231  <ItemGroup>
     
    266250      <Install>true</Install>
    267251    </BootstrapperPackage>
     252  </ItemGroup>
     253  <ItemGroup>
     254    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
     255      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
     256      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     257    </ProjectReference>
     258  </ItemGroup>
     259  <ItemGroup>
     260    <EmbeddedResource Include="InteractiveSymbolicExpressionTreeChart.resx">
     261      <DependentUpon>InteractiveSymbolicExpressionTreeChart.cs</DependentUpon>
     262    </EmbeddedResource>
     263    <EmbeddedResource Include="SymbolicExpressionTreeNodeInsertDialog.resx">
     264      <DependentUpon>SymbolicExpressionTreeNodeInsertDialog.cs</DependentUpon>
     265    </EmbeddedResource>
    268266  </ItemGroup>
    269267  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/Properties

    • Property svn:ignore
      --- 
      +++ 
      
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.Designer.cs

    r7967 r8388  
    7070      //
    7171      this.saveFileDialog.Filter = "Bitmap (*.bmp)|*.bmp|EMF (*.emf)|*.emf";
    72       this.saveFileDialog.FilterIndex = 1;     
     72      this.saveFileDialog.FilterIndex = 1;
    7373      // SymbolicExpressionTreeChart
    7474      //
     
    9090
    9191    private System.Windows.Forms.ToolTip toolTip;
    92     private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
     92    protected System.Windows.Forms.ContextMenuStrip contextMenuStrip;
    9393    private System.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem;
    9494    private System.Windows.Forms.SaveFileDialog saveFileDialog;
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.cs

    r7259 r8388  
    2727
    2828namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views {
    29   public sealed partial class SymbolicExpressionTreeChart : UserControl {
     29  public partial class SymbolicExpressionTreeChart : UserControl {
    3030    private Image image;
    3131    private StringFormat stringFormat;
    32     private Dictionary<ISymbolicExpressionTreeNode, VisualSymbolicExpressionTreeNode> visualTreeNodes;
    33     private Dictionary<Tuple<ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>, VisualSymbolicExpressionTreeNodeConnection> visualLines;
     32    protected Dictionary<ISymbolicExpressionTreeNode, VisualSymbolicExpressionTreeNode> visualTreeNodes;
     33    protected Dictionary<Tuple<ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>, VisualSymbolicExpressionTreeNodeConnection> visualLines;
    3434
    3535    public SymbolicExpressionTreeChart() {
     
    157157    #region events
    158158    public event MouseEventHandler SymbolicExpressionTreeNodeClicked;
    159     private void OnSymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) {
     159    protected void OnSymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) {
    160160      var clicked = SymbolicExpressionTreeNodeClicked;
    161161      if (clicked != null)
     
    163163    }
    164164
    165     private void SymbolicExpressionTreeChart_MouseClick(object sender, MouseEventArgs e) {
     165    protected virtual void SymbolicExpressionTreeChart_MouseClick(object sender, MouseEventArgs e) {
    166166      VisualSymbolicExpressionTreeNode visualTreeNode = FindVisualSymbolicExpressionTreeNodeAt(e.X, e.Y);
    167       if (visualTreeNode != null)
     167      if (visualTreeNode != null) {
    168168        OnSymbolicExpressionTreeNodeClicked(visualTreeNode, e);
     169      }
    169170    }
    170171
    171172    public event MouseEventHandler SymbolicExpressionTreeNodeDoubleClicked;
    172     private void OnSymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) {
     173    protected void OnSymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) {
    173174      var doubleClicked = SymbolicExpressionTreeNodeDoubleClicked;
    174175      if (doubleClicked != null)
     
    183184
    184185    public event ItemDragEventHandler SymbolicExpressionTreeNodeDrag;
    185     private void OnSymbolicExpressionTreeNodeDragDrag(object sender, ItemDragEventArgs e) {
     186    protected void OnSymbolicExpressionTreeNodeDragDrag(object sender, ItemDragEventArgs e) {
    186187      var dragged = SymbolicExpressionTreeNodeDrag;
    187188      if (dragged != null)
     
    234235    ///
    235236    /// </summary>
    236     /// <param name="functionTree"> functiontree to draw</param>
     237    /// <param name="functionTree"> function tree to draw</param>
    237238    /// <param name="graphics">graphics object to draw on</param>
    238239    /// <param name="x">x coordinate of drawing area</param>
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        2 *.user
        3 HeuristicLabProblemsDataAnalysisSymbolicClassificationPlugin.cs
        43obj
        5 *.vs10x
        6 Plugin.cs
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification-3.4.csproj

    r7825 r8388  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     43    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="ALGLIB-3.5.0, Version=3.5.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    96       <HintPath>..\..\bin\ALGLIB-3.5.0.dll</HintPath>
    97       <Private>False</Private>
     95    <Reference Include="ALGLIB-3.5.0">
     96      <HintPath>..\..\..\..\Trunk\sources\bin\ALGLIB-3.5.0.dll</HintPath>
     97    </Reference>
     98    <Reference Include="HeuristicLab.Analysis-3.3">
     99      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Collections-3.3">
     102      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     103    </Reference>
     104    <Reference Include="HeuristicLab.Common-3.3">
     105      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Core-3.3">
     108      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Data-3.3">
     111      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     114      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Operators-3.3">
     117      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     118    </Reference>
     119    <Reference Include="HeuristicLab.Optimization-3.3">
     120      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     121    </Reference>
     122    <Reference Include="HeuristicLab.Parameters-3.3">
     123      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     124    </Reference>
     125    <Reference Include="HeuristicLab.Persistence-3.3">
     126      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     127    </Reference>
     128    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     129      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     132      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     133    </Reference>
     134    <Reference Include="HeuristicLab.Problems.Instances-3.3">
     135      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
    98136    </Reference>
    99137    <Reference Include="System" />
     
    140178      <SubType>Code</SubType>
    141179    </Compile>
     180    <Compile Include="SymbolicDiscriminantFunctionClassificationSolutionValuesCalculator.cs" />
    142181    <None Include="HeuristicLab.snk" />
    143182    <None Include="Plugin.cs.frame" />
     
    166205  </ItemGroup>
    167206  <ItemGroup>
    168     <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
    169       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
    170       <Name>HeuristicLab.Analysis-3.3</Name>
    171       <Private>False</Private>
    172     </ProjectReference>
    173     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    174       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    175       <Name>HeuristicLab.Collections-3.3</Name>
    176       <Private>False</Private>
    177     </ProjectReference>
    178     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    179       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    180       <Name>HeuristicLab.Common-3.3</Name>
    181       <Private>False</Private>
    182     </ProjectReference>
    183     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    184       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    185       <Name>HeuristicLab.Core-3.3</Name>
    186       <Private>False</Private>
    187     </ProjectReference>
    188     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    189       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    190       <Name>HeuristicLab.Data-3.3</Name>
    191       <Private>False</Private>
    192     </ProjectReference>
    193     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    194       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    195       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    196       <Private>False</Private>
    197     </ProjectReference>
    198     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    199       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    200       <Name>HeuristicLab.Operators-3.3</Name>
    201       <Private>False</Private>
    202     </ProjectReference>
    203     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    204       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    205       <Name>HeuristicLab.Optimization-3.3</Name>
    206       <Private>False</Private>
    207     </ProjectReference>
    208     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    209       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    210       <Name>HeuristicLab.Parameters-3.3</Name>
    211       <Private>False</Private>
    212     </ProjectReference>
    213     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    214       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    215       <Name>HeuristicLab.Persistence-3.3</Name>
    216       <Private>False</Private>
    217     </ProjectReference>
    218     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    219       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    220       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    221       <Private>False</Private>
    222     </ProjectReference>
    223207    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
    224208      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
    225209      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
    226       <Private>False</Private>
    227     </ProjectReference>
    228     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    229       <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    230       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
    231       <Private>False</Private>
    232     </ProjectReference>
    233     <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    234       <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
    235       <Name>HeuristicLab.Problems.Instances-3.3</Name>
    236210      <Private>False</Private>
    237211    </ProjectReference>
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Properties

    • Property svn:ignore
      --- 
      +++ 
      
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        2 *.user
        3 HeuristicLabProblemsDataAnalysisSymbolicRegressionPlugin.cs
        43obj
        5 *.vs10x
        6 Plugin.cs
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj

    r8324 r8388  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     43    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="ALGLIB-3.5.0, Version=3.5.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    96       <HintPath>..\..\bin\ALGLIB-3.5.0.dll</HintPath>
    97       <Private>False</Private>
     95    <Reference Include="ALGLIB-3.5.0">
     96      <HintPath>..\..\..\..\Trunk\sources\bin\ALGLIB-3.5.0.dll</HintPath>
     97    </Reference>
     98    <Reference Include="HeuristicLab.Analysis-3.3">
     99      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Collections-3.3">
     102      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     103    </Reference>
     104    <Reference Include="HeuristicLab.Common-3.3">
     105      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Core-3.3">
     108      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Data-3.3">
     111      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     114      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Operators-3.3">
     117      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     118    </Reference>
     119    <Reference Include="HeuristicLab.Optimization-3.3">
     120      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     121    </Reference>
     122    <Reference Include="HeuristicLab.Parameters-3.3">
     123      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     124    </Reference>
     125    <Reference Include="HeuristicLab.Persistence-3.3">
     126      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     127    </Reference>
     128    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     129      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     132      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     133    </Reference>
     134    <Reference Include="HeuristicLab.Problems.Instances-3.3">
     135      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
    98136    </Reference>
    99137    <Reference Include="System" />
     
    138176    <Compile Include="SingleObjective\Evaluators\SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs" />
    139177    <Compile Include="SymbolicRegressionSolution.cs" />
     178    <Compile Include="SymbolicRegressionSolutionValuesCalculator.cs" />
    140179    <None Include="HeuristicLab.snk" />
    141180    <None Include="Plugin.cs.frame" />
     
    161200  </ItemGroup>
    162201  <ItemGroup>
    163     <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
    164       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
    165       <Name>HeuristicLab.Analysis-3.3</Name>
    166       <Private>False</Private>
    167     </ProjectReference>
    168     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    169       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    170       <Name>HeuristicLab.Collections-3.3</Name>
    171       <Private>False</Private>
    172     </ProjectReference>
    173     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    174       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    175       <Name>HeuristicLab.Common-3.3</Name>
    176       <Private>False</Private>
    177     </ProjectReference>
    178     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    179       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    180       <Name>HeuristicLab.Core-3.3</Name>
    181       <Private>False</Private>
    182     </ProjectReference>
    183     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    184       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    185       <Name>HeuristicLab.Data-3.3</Name>
    186       <Private>False</Private>
    187     </ProjectReference>
    188     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    189       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    190       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    191       <Private>False</Private>
    192     </ProjectReference>
    193     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    194       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    195       <Name>HeuristicLab.Operators-3.3</Name>
    196       <Private>False</Private>
    197     </ProjectReference>
    198     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    199       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    200       <Name>HeuristicLab.Optimization-3.3</Name>
    201       <Private>False</Private>
    202     </ProjectReference>
    203     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    204       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    205       <Name>HeuristicLab.Parameters-3.3</Name>
    206       <Private>False</Private>
    207     </ProjectReference>
    208     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    209       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    210       <Name>HeuristicLab.Persistence-3.3</Name>
    211       <Private>False</Private>
    212     </ProjectReference>
    213     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    214       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    215       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    216       <Private>False</Private>
    217     </ProjectReference>
    218202    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
    219203      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
    220204      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
    221       <Private>False</Private>
    222     </ProjectReference>
    223     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    224       <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    225       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
    226       <Private>False</Private>
    227     </ProjectReference>
    228     <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    229       <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
    230       <Name>HeuristicLab.Problems.Instances-3.3</Name>
    231205      <Private>False</Private>
    232206    </ProjectReference>
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Properties

    • Property svn:ignore
      --- 
      +++ 
      
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        23obj
        3 *.user
        4 HeuristicLabProblemsDataAnalysisSymbolicViewsPlugin.cs
        5 *.vs10x
        6 Plugin.cs
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj

    r7675 r8388  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     43    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="ALGLIB-3.5.0, Version=3.5.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    96       <HintPath>..\..\bin\ALGLIB-3.5.0.dll</HintPath>
    97       <Private>False</Private>
     95    <Reference Include="ALGLIB-3.5.0">
     96      <HintPath>..\..\..\..\Trunk\sources\bin\ALGLIB-3.5.0.dll</HintPath>
     97    </Reference>
     98    <Reference Include="HeuristicLab.Collections-3.3">
     99      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Common-3.3">
     102      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     103    </Reference>
     104    <Reference Include="HeuristicLab.Common.Resources-3.3">
     105      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Core-3.3">
     108      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Core.Views-3.3">
     111      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Data-3.3">
     114      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Data.Views-3.3">
     117      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data.Views-3.3.dll</HintPath>
     118    </Reference>
     119    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     120      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     121    </Reference>
     122    <Reference Include="HeuristicLab.MainForm-3.3">
     123      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
     124    </Reference>
     125    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
     126      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     127    </Reference>
     128    <Reference Include="HeuristicLab.Operators-3.3">
     129      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Optimization-3.3">
     132      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     133    </Reference>
     134    <Reference Include="HeuristicLab.Optimization.Views-3.3">
     135      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization.Views-3.3.dll</HintPath>
     136    </Reference>
     137    <Reference Include="HeuristicLab.Parameters-3.3">
     138      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     139    </Reference>
     140    <Reference Include="HeuristicLab.Persistence-3.3">
     141      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     142    </Reference>
     143    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     144      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     145    </Reference>
     146    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     147      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     148    </Reference>
     149    <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3">
     150      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
    98151    </Reference>
    99152    <Reference Include="System" />
     
    181234  </ItemGroup>
    182235  <ItemGroup>
    183     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    184       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    185       <Name>HeuristicLab.Collections-3.3</Name>
    186       <Private>False</Private>
    187     </ProjectReference>
    188     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
    189       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
    190       <Name>HeuristicLab.Common.Resources-3.3</Name>
    191       <Private>False</Private>
    192     </ProjectReference>
    193     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    194       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    195       <Name>HeuristicLab.Common-3.3</Name>
    196       <Private>False</Private>
    197     </ProjectReference>
    198     <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
    199       <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
    200       <Name>HeuristicLab.Core.Views-3.3</Name>
    201       <Private>False</Private>
    202     </ProjectReference>
    203     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    204       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    205       <Name>HeuristicLab.Core-3.3</Name>
    206       <Private>False</Private>
    207     </ProjectReference>
    208     <ProjectReference Include="..\..\HeuristicLab.Data.Views\3.3\HeuristicLab.Data.Views-3.3.csproj">
    209       <Project>{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}</Project>
    210       <Name>HeuristicLab.Data.Views-3.3</Name>
    211       <Private>False</Private>
    212     </ProjectReference>
    213     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    214       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    215       <Name>HeuristicLab.Data-3.3</Name>
    216       <Private>False</Private>
    217     </ProjectReference>
    218236    <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj">
    219237      <Project>{423BD94F-963A-438E-BA45-3BB3D61CD03B}</Project>
    220238      <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4</Name>
    221       <Private>False</Private>
    222     </ProjectReference>
    223     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    224       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    225       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    226       <Private>False</Private>
    227     </ProjectReference>
    228     <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.3\HeuristicLab.MainForm.WindowsForms-3.3.csproj">
    229       <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
    230       <Name>HeuristicLab.MainForm.WindowsForms-3.3</Name>
    231       <Private>False</Private>
    232     </ProjectReference>
    233     <ProjectReference Include="..\..\HeuristicLab.MainForm\3.3\HeuristicLab.MainForm-3.3.csproj">
    234       <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
    235       <Name>HeuristicLab.MainForm-3.3</Name>
    236       <Private>False</Private>
    237     </ProjectReference>
    238     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    239       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    240       <Name>HeuristicLab.Operators-3.3</Name>
    241       <Private>False</Private>
    242     </ProjectReference>
    243     <ProjectReference Include="..\..\HeuristicLab.Optimization.Views\3.3\HeuristicLab.Optimization.Views-3.3.csproj">
    244       <Project>{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}</Project>
    245       <Name>HeuristicLab.Optimization.Views-3.3</Name>
    246       <Private>False</Private>
    247     </ProjectReference>
    248     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    249       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    250       <Name>HeuristicLab.Optimization-3.3</Name>
    251       <Private>False</Private>
    252     </ProjectReference>
    253     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    254       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    255       <Name>HeuristicLab.Parameters-3.3</Name>
    256       <Private>False</Private>
    257     </ProjectReference>
    258     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    259       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    260       <Name>HeuristicLab.Persistence-3.3</Name>
    261       <Private>False</Private>
    262     </ProjectReference>
    263     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    264       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    265       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    266       <Private>False</Private>
    267239    </ProjectReference>
    268240    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
    269241      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
    270242      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
    271       <Private>False</Private>
    272     </ProjectReference>
    273     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    274       <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    275       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
    276       <Private>False</Private>
    277     </ProjectReference>
    278     <ProjectReference Include="..\..\HeuristicLab.Visualization.ChartControlsExtensions\3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj">
    279       <Project>{315BDA09-3F4F-49B3-9790-B37CFC1C5750}</Project>
    280       <Name>HeuristicLab.Visualization.ChartControlsExtensions-3.3</Name>
    281243      <Private>False</Private>
    282244    </ProjectReference>
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.Designer.cs

    r8053 r8388  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.treeChart = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionTreeChart();
    4847      this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    4948      this.splitContainer = new System.Windows.Forms.SplitContainer();
     
    5150      this.flowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
    5251      this.btnSimplify = new System.Windows.Forms.Button();
     52      this.btnPrune = new System.Windows.Forms.Button();
    5353      this.btnOptimizeConstants = new System.Windows.Forms.Button();
     54      this.treeChart = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.InteractiveSymbolicExpressionTreeChart();
    5455      this.grpViewHost = new System.Windows.Forms.GroupBox();
     56      this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
    5557      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
    5658      this.splitContainer.Panel1.SuspendLayout();
     
    6264      this.SuspendLayout();
    6365      //
    64       // treeChart
    65       //
    66       this.treeChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    67             | System.Windows.Forms.AnchorStyles.Left)
    68             | System.Windows.Forms.AnchorStyles.Right)));
    69       this.treeChart.BackgroundColor = System.Drawing.Color.White;
    70       this.treeChart.LineColor = System.Drawing.Color.Black;
    71       this.treeChart.Location = new System.Drawing.Point(6, 16);
    72       this.treeChart.Name = "treeChart";
    73       this.treeChart.Size = new System.Drawing.Size(201, 291);
    74       this.treeChart.Spacing = 5;
    75       this.treeChart.TabIndex = 0;
    76       this.treeChart.TextFont = new System.Drawing.Font("Times New Roman", 8F);
    77       this.treeChart.Tree = null;
    78       this.treeChart.SymbolicExpressionTreeNodeDoubleClicked += new System.Windows.Forms.MouseEventHandler(this.treeChart_SymbolicExpressionTreeNodeDoubleClicked);
    79       //
    8066      // viewHost
    8167      //
    82       this.viewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    83             | System.Windows.Forms.AnchorStyles.Left)
     68      this.viewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
     69            | System.Windows.Forms.AnchorStyles.Left) 
    8470            | System.Windows.Forms.AnchorStyles.Right)));
    8571      this.viewHost.Caption = "View";
     
    11399      // grpSimplify
    114100      //
     101      this.grpSimplify.AutoSize = true;
    115102      this.grpSimplify.Controls.Add(this.flowLayoutPanel);
    116103      this.grpSimplify.Controls.Add(this.treeChart);
     
    125112      // flowLayoutPanel
    126113      //
    127       this.flowLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
     114      this.flowLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
    128115            | System.Windows.Forms.AnchorStyles.Right)));
    129116      this.flowLayoutPanel.Controls.Add(this.btnSimplify);
     117      this.flowLayoutPanel.Controls.Add(this.btnPrune);
    130118      this.flowLayoutPanel.Controls.Add(this.btnOptimizeConstants);
    131119      this.flowLayoutPanel.Location = new System.Drawing.Point(6, 313);
     
    145133      this.btnSimplify.Click += new System.EventHandler(this.btnSimplify_Click);
    146134      //
     135      // btnPrune
     136      //
     137      this.btnPrune.Location = new System.Drawing.Point(104, 3);
     138      this.btnPrune.Name = "btnPrune";
     139      this.btnPrune.Size = new System.Drawing.Size(95, 23);
     140      this.btnPrune.TabIndex = 3;
     141      this.btnPrune.Text = "Prune";
     142      this.btnPrune.UseVisualStyleBackColor = true;
     143      this.btnPrune.Click += new System.EventHandler(this.btnPrune_Click);
     144      //
    147145      // btnOptimizeConstants
    148146      //
    149147      this.btnOptimizeConstants.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
    150148      this.btnOptimizeConstants.Enabled = false;
    151       this.btnOptimizeConstants.Location = new System.Drawing.Point(104, 3);
     149      this.btnOptimizeConstants.Location = new System.Drawing.Point(205, 3);
    152150      this.btnOptimizeConstants.Name = "btnOptimizeConstants";
    153151      this.btnOptimizeConstants.Size = new System.Drawing.Size(97, 23);
     
    156154      this.btnOptimizeConstants.UseVisualStyleBackColor = true;
    157155      this.btnOptimizeConstants.Click += new System.EventHandler(this.btnOptimizeConstants_Click);
     156      //
     157      // treeChart
     158      //
     159      this.treeChart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     160            | System.Windows.Forms.AnchorStyles.Left)
     161            | System.Windows.Forms.AnchorStyles.Right)));
     162      this.treeChart.BackgroundColor = System.Drawing.Color.White;
     163      this.treeChart.LineColor = System.Drawing.Color.Black;
     164      this.treeChart.Location = new System.Drawing.Point(6, 16);
     165      this.treeChart.Name = "treeChart";
     166      this.treeChart.Size = new System.Drawing.Size(201, 291);
     167      this.treeChart.Spacing = 5;
     168      this.treeChart.SuspendRepaint = false;
     169      this.treeChart.TabIndex = 0;
     170      this.treeChart.TextFont = new System.Drawing.Font("Times New Roman", 8F);
     171      this.treeChart.Tree = null;
     172      this.treeChart.SymbolicExpressionTreeChanged += new System.EventHandler(this.treeChart_SymbolicExpressionTreeChanged);
     173      this.treeChart.SymbolicExpressionTreeNodeChanged += new System.EventHandler(this.treeChart_SymbolicExpressionTreeNodeChanged);
     174      this.treeChart.SymbolicExpressionTreeNodeInserted += new System.EventHandler(this.treeChart_SymbolicExpressionTreeNodeInserted);
     175      this.treeChart.SymbolicExpressionTreeNodeClicked += new System.Windows.Forms.MouseEventHandler(this.treeChart_SymbolicExpressionTreeNodeClicked);
     176      this.treeChart.SymbolicExpressionTreeNodeDoubleClicked += new System.Windows.Forms.MouseEventHandler(this.treeChart_SymbolicExpressionTreeNodeDoubleClicked);
    158177      //
    159178      // grpViewHost
     
    168187      this.grpViewHost.Text = "Details";
    169188      //
     189      // backgroundWorker1
     190      //
     191      this.backgroundWorker1.WorkerSupportsCancellation = true;
     192      this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
     193      this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
     194      //
    170195      // InteractiveSymbolicDataAnalysisSolutionSimplifierView
    171196      //
    172197      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    173       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
     198      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    174199      this.Controls.Add(this.splitContainer);
    175200      this.Name = "InteractiveSymbolicDataAnalysisSolutionSimplifierView";
    176201      this.Size = new System.Drawing.Size(564, 348);
    177202      this.splitContainer.Panel1.ResumeLayout(false);
     203      this.splitContainer.Panel1.PerformLayout();
    178204      this.splitContainer.Panel2.ResumeLayout(false);
    179205      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
     
    188214    #endregion
    189215
    190     private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionTreeChart treeChart;
     216    private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.InteractiveSymbolicExpressionTreeChart treeChart;
    191217    private System.Windows.Forms.SplitContainer splitContainer;
    192218    private HeuristicLab.MainForm.WindowsForms.ViewHost viewHost;
     
    196222    private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel;
    197223    protected System.Windows.Forms.Button btnOptimizeConstants;
     224    private System.Windows.Forms.Button btnPrune;
     225    private System.ComponentModel.BackgroundWorker backgroundWorker1;
    198226  }
    199227}
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs

    r7259 r8388  
    2222using System;
    2323using System.Collections.Generic;
     24using System.ComponentModel;
    2425using System.Drawing;
    2526using System.Linq;
    2627using System.Windows.Forms;
    2728using HeuristicLab.Common;
     29using HeuristicLab.Data;
    2830using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2931using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views;
     
    3436    private Dictionary<ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode> replacementNodes;
    3537    private Dictionary<ISymbolicExpressionTreeNode, double> nodeImpacts;
     38    private Dictionary<ISymbolicExpressionTreeNode, double> originalValues;
     39    private Dictionary<ISymbolicExpressionTreeNode, string> originalVariableNames;
    3640    private bool updateInProgress = false;
     41    private ISymbolicExpressionTree model;
    3742
    3843    public InteractiveSymbolicDataAnalysisSolutionSimplifierView() {
    3944      InitializeComponent();
    40       this.replacementNodes = new Dictionary<ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>();
    41       this.nodeImpacts = new Dictionary<ISymbolicExpressionTreeNode, double>();
    42       this.Caption = "Interactive Solution Simplifier";
     45      replacementNodes = new Dictionary<ISymbolicExpressionTreeNode, ISymbolicExpressionTreeNode>();
     46      nodeImpacts = new Dictionary<ISymbolicExpressionTreeNode, double>();
     47      originalValues = new Dictionary<ISymbolicExpressionTreeNode, double>();
     48      originalVariableNames = new Dictionary<ISymbolicExpressionTreeNode, string>();
     49      Caption = "Interactive Solution Simplifier";
    4350    }
    4451
     
    5057    protected override void RegisterContentEvents() {
    5158      base.RegisterContentEvents();
    52       Content.ModelChanged += new EventHandler(Content_ModelChanged);
    53       Content.ProblemDataChanged += new EventHandler(Content_ProblemDataChanged);
     59      Content.ModelChanged += Content_ModelChanged;
     60      Content.ProblemDataChanged += Content_ProblemDataChanged;
    5461    }
    5562    protected override void DeregisterContentEvents() {
    5663      base.DeregisterContentEvents();
    57       Content.ModelChanged -= new EventHandler(Content_ModelChanged);
    58       Content.ProblemDataChanged -= new EventHandler(Content_ProblemDataChanged);
     64      Content.ModelChanged -= Content_ModelChanged;
     65      Content.ProblemDataChanged -= Content_ProblemDataChanged;
    5966    }
    6067
     
    6774
    6875    protected virtual void OnModelChanged() {
    69       this.CalculateReplacementNodesAndNodeImpacts();
     76      model = (model == null) ? (ISymbolicExpressionTree)Content.Model.SymbolicExpressionTree.Clone() : Content.Model.SymbolicExpressionTree;
     77      CalculateReplacementNodesAndNodeImpacts(model);
     78      PaintModel();
    7079    }
    7180
    7281    protected virtual void OnProblemDataChanged() {
    73       this.CalculateReplacementNodesAndNodeImpacts();
     82      CalculateReplacementNodesAndNodeImpacts();
     83      PaintModel();
    7484    }
    7585
    7686    protected override void OnContentChanged() {
     87      model = (model == null) ? (ISymbolicExpressionTree)Content.Model.SymbolicExpressionTree.Clone() : Content.Model.SymbolicExpressionTree;
    7788      base.OnContentChanged();
    78       this.CalculateReplacementNodesAndNodeImpacts();
    79       this.viewHost.Content = this.Content;
     89      CalculateReplacementNodesAndNodeImpacts(model);
     90      PaintModel();
     91      viewHost.Content = this.Content;
    8092    }
    8193
    8294    private void CalculateReplacementNodesAndNodeImpacts() {
    83       if (Content != null && Content.Model != null && Content.ProblemData != null) {
    84         var tree = Content.Model.SymbolicExpressionTree;
    85         var replacementValues = CalculateReplacementValues(tree);
    86         foreach (var pair in replacementValues) {
    87           if (!(pair.Key is ConstantTreeNode)) {
    88             replacementNodes[pair.Key] = MakeConstantTreeNode(pair.Value);
    89           }
    90         }
    91         nodeImpacts = CalculateImpactValues(Content.Model.SymbolicExpressionTree);
    92 
    93         if (!updateInProgress) {
    94           // automatically fold all branches with impact = 1
    95           List<ISymbolicExpressionTreeNode> nodeList = Content.Model.SymbolicExpressionTree.Root.GetSubtree(0).IterateNodesPrefix().ToList();
    96           foreach (var parent in nodeList) {
    97             for (int subTreeIndex = 0; subTreeIndex < parent.SubtreeCount; subTreeIndex++) {
    98               var child = parent.GetSubtree(subTreeIndex);
    99               if (!(child.Symbol is Constant) && nodeImpacts[child].IsAlmost(0.0)) {
    100                 SwitchNodeWithReplacementNode(parent, subTreeIndex);
    101               }
     95      if (Content == null || Content.Model == null || Content.ProblemData == null) return;
     96      var tree = model;
     97      var replacementValues = CalculateReplacementValues(tree);
     98      foreach (var pair in replacementValues.Where(pair => !(pair.Key is ConstantTreeNode))) {
     99        replacementNodes[pair.Key] = MakeConstantTreeNode(pair.Value);
     100      }
     101      nodeImpacts = CalculateImpactValues(tree);
     102
     103      if (!updateInProgress) {
     104        // automatically fold all branches with impact = 0
     105        List<ISymbolicExpressionTreeNode> nodeList = tree.Root.GetSubtree(0).IterateNodesPrefix().ToList();
     106        foreach (var parent in nodeList) {
     107          for (int subTreeIndex = 0; subTreeIndex < parent.SubtreeCount; subTreeIndex++) {
     108            var child = parent.GetSubtree(subTreeIndex);
     109            if (!(child.Symbol is Constant) && nodeImpacts[child].IsAlmost(0.0)) {
     110              SwitchNodeWithReplacementNode(parent, subTreeIndex);
    102111            }
    103112          }
    104113        }
    105 
    106         // show only interesting part of solution
    107         if (tree.Root.SubtreeCount > 1)
    108           this.treeChart.Tree = new SymbolicExpressionTree(tree.Root); // RPB + ADFs
    109         else
    110           this.treeChart.Tree = new SymbolicExpressionTree(tree.Root.GetSubtree(0).GetSubtree(0)); // 1st child of RPB
    111         this.PaintNodeImpacts();
    112       }
     114      }
     115      PaintModel();
     116    }
     117
     118    private void CalculateReplacementNodesAndNodeImpacts(ISymbolicExpressionTree tree) {
     119      var replacementValues = CalculateReplacementValues(tree);
     120      foreach (var pair in replacementValues.Where(pair => !(pair.Key is ConstantTreeNode))) {
     121        replacementNodes[pair.Key] = MakeConstantTreeNode(pair.Value);
     122      }
     123      nodeImpacts = CalculateImpactValues(tree);
     124
     125      if (!updateInProgress) {
     126        // automatically fold all branches with impact = 0
     127        List<ISymbolicExpressionTreeNode> nodeList = tree.Root.GetSubtree(0).IterateNodesPrefix().ToList();
     128        foreach (var parent in nodeList) {
     129          for (int subTreeIndex = 0; subTreeIndex < parent.SubtreeCount; subTreeIndex++) {
     130            var child = parent.GetSubtree(subTreeIndex);
     131            if (!(child.Symbol is Constant) && nodeImpacts[child].IsAlmost(0.0)) {
     132              SwitchNodeWithReplacementNode(parent, subTreeIndex);
     133            }
     134          }
     135        }
     136      }
     137      PaintModel();
     138    }
     139
     140    private void PaintModel() {
     141      // show only interesting part of solution
     142      treeChart.Tree = model.Root.SubtreeCount > 1 ? new SymbolicExpressionTree(model.Root) : new SymbolicExpressionTree(model.Root.GetSubtree(0).GetSubtree(0));
     143      PaintNodeImpacts();
    113144    }
    114145
     
    127158
    128159    private void treeChart_SymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) {
    129       VisualSymbolicExpressionTreeNode visualTreeNode = (VisualSymbolicExpressionTreeNode)sender;
    130       var tree = Content.Model.SymbolicExpressionTree;
     160      if (!treeChart.TreeValid) return;
     161      var visualNode = (VisualSymbolicExpressionTreeNode)sender;
     162      var symbExprTreeNode = (SymbolicExpressionTreeNode)visualNode.SymbolicExpressionTreeNode;
     163      if (symbExprTreeNode == null) return;
     164      var tree = model;
     165      // check if the node value/weight has been altered
     166      // if so, the first double click will return the node to its original value/weight/variable name
     167      // the next double click will replace the ConstantNode with the original SymbolicExpressionTreeNode
     168      if (originalVariableNames.ContainsKey(symbExprTreeNode)) {
     169        var variable = (VariableTreeNode)symbExprTreeNode;
     170        variable.VariableName = originalVariableNames[symbExprTreeNode];
     171        originalVariableNames.Remove(variable);
     172        updateInProgress = true;
     173        UpdateModel(tree);
     174        updateInProgress = false;
     175        return;
     176      }
     177      if (originalValues.ContainsKey(symbExprTreeNode)) {
     178        double value = originalValues[symbExprTreeNode];
     179        if (symbExprTreeNode.Symbol is Constant)
     180          ((ConstantTreeNode)symbExprTreeNode).Value = value;
     181        else if (symbExprTreeNode.Symbol is Variable)
     182          ((VariableTreeNode)symbExprTreeNode).Weight = value;
     183        originalValues.Remove(symbExprTreeNode);
     184        updateInProgress = true;
     185        UpdateModel(tree);
     186        updateInProgress = false;
     187        return;
     188      }
    131189      foreach (SymbolicExpressionTreeNode treeNode in tree.IterateNodesPostfix()) {
    132190        for (int i = 0; i < treeNode.SubtreeCount; i++) {
    133191          ISymbolicExpressionTreeNode subTree = treeNode.GetSubtree(i);
    134192          // only allow to replace nodes for which a replacement value is known (replacement value for ADF nodes are not available)
    135           if (subTree == visualTreeNode.SymbolicExpressionTreeNode && replacementNodes.ContainsKey(subTree)) {
     193          if (subTree == symbExprTreeNode && replacementNodes.ContainsKey(subTree)) {
    136194            SwitchNodeWithReplacementNode(treeNode, i);
    137 
    138195            // show only interesting part of solution
    139             if (tree.Root.SubtreeCount > 1)
    140               this.treeChart.Tree = new SymbolicExpressionTree(tree.Root); // RPB + ADFs
    141             else
    142               this.treeChart.Tree = new SymbolicExpressionTree(tree.Root.GetSubtree(0).GetSubtree(0)); // 1st child of RPB
    143 
     196            treeChart.Tree = tree.Root.SubtreeCount > 1 ? new SymbolicExpressionTree(tree.Root) : new SymbolicExpressionTree(tree.Root.GetSubtree(0).GetSubtree(0));
    144197            updateInProgress = true;
    145198            UpdateModel(tree);
     
    149202        }
    150203      }
     204    }
     205
     206    private void treeChart_SymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) {
     207      // do stuff
     208    }
     209
     210    private void treeChart_SymbolicExpressionTreeChanged(object sender, EventArgs e) {
     211      CalculateReplacementNodesAndNodeImpacts(treeChart.Tree);
     212      PaintModel();
     213    }
     214
     215    private void treeChart_SymbolicExpressionTreeNodeChanged(object sender, EventArgs e) {
     216      var dialog = (ValueChangeDialog)sender;
     217      bool flag1 = false, flag2 = false;
     218      if (dialog.Content is VariableTreeNode) {
     219        var variable = (VariableTreeNode)dialog.Content;
     220        var weight = double.Parse(dialog.NewValueTextBox.Text);
     221        var name = (string)dialog.VariableNameComboBox.SelectedItem;
     222        if (!variable.Weight.Equals(weight)) {
     223          flag1 = true;
     224          originalValues[variable] = variable.Weight;
     225          variable.Weight = weight;
     226        }
     227        if (!variable.VariableName.Equals(name)) {
     228          flag2 = true;
     229          originalVariableNames[variable] = variable.VariableName;
     230          variable.VariableName = name;
     231        }
     232      } else if (dialog.Content is ConstantTreeNode) {
     233        var constant = (ConstantTreeNode)dialog.Content;
     234        var value = double.Parse(dialog.NewValueTextBox.Text);
     235        if (!constant.Value.Equals(value)) {
     236          flag1 = true;
     237          originalValues[constant] = constant.Value;
     238          constant.Value = value;
     239
     240        }
     241      }
     242      if (flag1 || flag2) {
     243        CalculateReplacementNodesAndNodeImpacts();
     244        PaintModel();
     245      }
     246    }
     247
     248    private void treeChart_SymbolicExpressionTreeNodeInserted(object sender, EventArgs e) {
    151249    }
    152250
     
    167265      double max = impacts.Max();
    168266      double min = impacts.Min();
    169       foreach (ISymbolicExpressionTreeNode treeNode in Content.Model.SymbolicExpressionTree.IterateNodesPostfix()) {
     267      foreach (ISymbolicExpressionTreeNode treeNode in model.IterateNodesPostfix()) {
     268        VisualSymbolicExpressionTreeNode visualTree = treeChart.GetVisualSymbolicExpressionTreeNode(treeNode);
     269        bool flag1 = replacementNodes.ContainsKey(treeNode);
     270        bool flag2 = originalValues.ContainsKey(treeNode);
     271        bool flag3 = treeNode is ConstantTreeNode;
     272
     273        if (flag2) // constant or variable node was changed
     274          visualTree.ToolTip += Environment.NewLine + "Original value: " + originalValues[treeNode];
     275        else if (flag1 && flag3) // symbol node was folded to a constant
     276          visualTree.ToolTip += Environment.NewLine + "Original node: " + replacementNodes[treeNode];
     277
    170278        if (!(treeNode is ConstantTreeNode) && nodeImpacts.ContainsKey(treeNode)) {
    171279          double impact = nodeImpacts[treeNode];
    172           VisualSymbolicExpressionTreeNode visualTree = treeChart.GetVisualSymbolicExpressionTreeNode(treeNode);
    173280
    174281          // impact = 0 if no change
     
    196303
    197304    private void PaintCollapsedNodes() {
    198       foreach (ISymbolicExpressionTreeNode treeNode in Content.Model.SymbolicExpressionTree.IterateNodesPostfix()) {
    199         if (treeNode is ConstantTreeNode && replacementNodes.ContainsKey(treeNode))
    200           this.treeChart.GetVisualSymbolicExpressionTreeNode(treeNode).LineColor = Color.DarkOrange;
    201         else {
    202           VisualSymbolicExpressionTreeNode visNode = treeChart.GetVisualSymbolicExpressionTreeNode(treeNode);
    203           if (visNode != null)
    204             visNode.LineColor = Color.Black;
     305      foreach (ISymbolicExpressionTreeNode treeNode in model.IterateNodesPostfix()) {
     306        bool flag1 = replacementNodes.ContainsKey(treeNode);
     307        bool flag2 = originalValues.ContainsKey(treeNode);
     308        if (flag1 && treeNode is ConstantTreeNode) {
     309          this.treeChart.GetVisualSymbolicExpressionTreeNode(treeNode).LineColor = flag2 ? Color.DarkViolet : Color.DarkOrange;
     310        } else if (flag2) {
     311          this.treeChart.GetVisualSymbolicExpressionTreeNode(treeNode).LineColor = Color.DodgerBlue;
    205312        }
    206313      }
     
    208315
    209316    private void btnSimplify_Click(object sender, EventArgs e) {
    210       SymbolicDataAnalysisExpressionTreeSimplifier simplifier = new SymbolicDataAnalysisExpressionTreeSimplifier();
    211       var simplifiedExpressionTree = simplifier.Simplify(Content.Model.SymbolicExpressionTree);
     317      var simplifier = new SymbolicDataAnalysisExpressionTreeSimplifier();
     318      var simplifiedExpressionTree = simplifier.Simplify(model);
    212319      UpdateModel(simplifiedExpressionTree);
    213320    }
    214321
    215322    protected abstract void btnOptimizeConstants_Click(object sender, EventArgs e);
     323
     324    private void btnPrune_Click(object sender, EventArgs e) {
     325      btnPrune.Enabled = false;
     326      backgroundWorker1.RunWorkerAsync();
     327    }
     328
     329    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) {
     330      var worker = sender as BackgroundWorker;
     331      PruneTree(worker);
     332    }
     333
     334    private void PruneTree(BackgroundWorker worker) {
     335      var tree = model;
     336      // get all tree nodes starting from depth 2 (below the root and start nodes)
     337      foreach (var node in GetNodesAtDepth(tree, new IntRange(2, tree.Depth))) {
     338        if (worker.CancellationPending)
     339          break; // pruning cancelled
     340        if (!(node.Symbol is Constant) && nodeImpacts.ContainsKey(node) && nodeImpacts[node] < 0.001) {
     341          SwitchNodeWithReplacementNode(node.Parent, node.Parent.IndexOfSubtree(node));
     342          nodeImpacts = CalculateImpactValues(tree);
     343          // we do not refresh the replacementValues because they won't change when folding nodes with such low impacts (<0.001)
     344        }
     345      }
     346    }
     347
     348    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
     349      if (e.Cancelled) {
     350        // The user canceled the operation.
     351      } else if (e.Error != null) {
     352        // There was an error during the operation.
     353        // Error-handling
     354      } else {
     355        // The operation completed normally. We can update the model
     356        UpdateModel(model);
     357      }
     358      btnPrune.Enabled = true;
     359    }
     360
     361    #region helpers
     362    private static IEnumerable<ISymbolicExpressionTreeNode> GetNodesAtDepth(ISymbolicExpressionTree tree, IntRange depthRange) {
     363      var treeDepth = tree.Root.GetDepth();
     364      return from node in tree.Root.IterateNodesPostfix()
     365             let depth = treeDepth - node.GetDepth()
     366             where depthRange.Start <= depth
     367             where depth <= depthRange.End
     368             select node;
     369    }
     370    #endregion
    216371  }
    217372}
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Properties

    • Property svn:ignore
      --- 
      +++ 
      
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        2 *.user
        3 HeuristicLabProblemsDataAnalysisSymbolicPlugin.cs
        43obj
        5 *.vs10x
        6 Plugin.cs
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r8168 r8388  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     43    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>$(SolutionDir)\bin\</OutputPath>
     52    <OutputPath>..\..\..\..\Trunk\sources\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="ALGLIB-3.5.0, Version=3.5.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    96       <HintPath>..\..\bin\ALGLIB-3.5.0.dll</HintPath>
    97       <Private>False</Private>
     95    <Reference Include="ALGLIB-3.5.0">
     96      <HintPath>..\..\..\..\Trunk\sources\bin\ALGLIB-3.5.0.dll</HintPath>
     97    </Reference>
     98    <Reference Include="HeuristicLab.Analysis-3.3">
     99      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     100    </Reference>
     101    <Reference Include="HeuristicLab.Collections-3.3">
     102      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath>
     103    </Reference>
     104    <Reference Include="HeuristicLab.Common-3.3">
     105      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath>
     106    </Reference>
     107    <Reference Include="HeuristicLab.Common.Resources-3.3">
     108      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     109    </Reference>
     110    <Reference Include="HeuristicLab.Core-3.3">
     111      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>
     112    </Reference>
     113    <Reference Include="HeuristicLab.Data-3.3">
     114      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     117      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     118    </Reference>
     119    <Reference Include="HeuristicLab.Operators-3.3">
     120      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     121    </Reference>
     122    <Reference Include="HeuristicLab.Optimization-3.3">
     123      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     124    </Reference>
     125    <Reference Include="HeuristicLab.Optimization.Operators-3.3">
     126      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     127    </Reference>
     128    <Reference Include="HeuristicLab.Parameters-3.3">
     129      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     130    </Reference>
     131    <Reference Include="HeuristicLab.Persistence-3.3">
     132      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     133    </Reference>
     134    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     135      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     136    </Reference>
     137    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     138      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     139    </Reference>
     140    <Reference Include="HeuristicLab.Problems.Instances-3.3">
     141      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
     142    </Reference>
     143    <Reference Include="HeuristicLab.Random-3.3">
     144      <HintPath>..\..\..\..\Trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
    98145    </Reference>
    99146    <Reference Include="System" />
     
    162209    <Compile Include="SymbolicDataAnalysisExpressionTreeSimplifier.cs" />
    163210    <Compile Include="SymbolicDataAnalysisProblem.cs" />
     211    <Compile Include="SymbolicDataAnalysisSolutionValuesCalculator.cs" />
    164212    <Compile Include="Symbols\Addition.cs" />
    165213    <Compile Include="Symbols\And.cs" />
     
    244292    </BootstrapperPackage>
    245293  </ItemGroup>
    246   <ItemGroup>
    247     <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
    248       <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
    249       <Name>HeuristicLab.Analysis-3.3</Name>
    250       <Private>False</Private>
    251     </ProjectReference>
    252     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    253       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    254       <Name>HeuristicLab.Collections-3.3</Name>
    255       <Private>False</Private>
    256     </ProjectReference>
    257     <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
    258       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
    259       <Name>HeuristicLab.Common.Resources-3.3</Name>
    260       <Private>False</Private>
    261     </ProjectReference>
    262     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    263       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
    264       <Name>HeuristicLab.Common-3.3</Name>
    265       <Private>False</Private>
    266     </ProjectReference>
    267     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
    268       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
    269       <Name>HeuristicLab.Core-3.3</Name>
    270       <Private>False</Private>
    271     </ProjectReference>
    272     <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
    273       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
    274       <Name>HeuristicLab.Data-3.3</Name>
    275       <Private>False</Private>
    276     </ProjectReference>
    277     <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
    278       <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>
    279       <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
    280       <Private>False</Private>
    281     </ProjectReference>
    282     <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
    283       <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    284       <Name>HeuristicLab.Operators-3.3</Name>
    285       <Private>False</Private>
    286     </ProjectReference>
    287     <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
    288       <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
    289       <Name>HeuristicLab.Optimization.Operators-3.3</Name>
    290       <Private>False</Private>
    291     </ProjectReference>
    292     <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
    293       <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
    294       <Name>HeuristicLab.Optimization-3.3</Name>
    295     </ProjectReference>
    296     <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
    297       <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>
    298       <Name>HeuristicLab.Parameters-3.3</Name>
    299       <Private>False</Private>
    300     </ProjectReference>
    301     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
    302       <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
    303       <Name>HeuristicLab.Persistence-3.3</Name>
    304       <Private>False</Private>
    305     </ProjectReference>
    306     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
    307       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
    308       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
    309       <Private>False</Private>
    310     </ProjectReference>
    311     <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    312       <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    313       <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
    314       <Private>False</Private>
    315     </ProjectReference>
    316     <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    317       <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
    318       <Name>HeuristicLab.Problems.Instances-3.3</Name>
    319       <Private>False</Private>
    320     </ProjectReference>
    321     <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
    322       <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
    323       <Name>HeuristicLab.Random-3.3</Name>
    324       <Private>False</Private>
    325     </ProjectReference>
    326   </ItemGroup>
    327294  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    328295  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Properties

    • Property svn:ignore
      --- 
      +++ 
      
Note: See TracChangeset for help on using the changeset viewer.