Changeset 9587


Ignore:
Timestamp:
06/05/13 14:18:57 (6 years ago)
Author:
mkommend
Message:

#1730: Integrated excel export for symbolic datanalysis solutions in the trunk.

Location:
trunk/sources
Files:
20 edited
3 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views

  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.cs

    r9456 r9587  
    376376    }
    377377
    378     private void SaveImageAsBitmap(string filename) {
     378    public void SaveImageAsBitmap(string filename) {
    379379      if (tree == null) return;
    380380      Image image = new Bitmap(Width, Height);
     
    386386    }
    387387
    388     private void SaveImageAsEmf(string filename) {
     388    public void SaveImageAsEmf(string filename) {
    389389      if (tree == null) return;
    390390      using (Graphics g = CreateGraphics()) {
  • trunk/sources/HeuristicLab.ExtLibs

  • trunk/sources/HeuristicLab.ExtLibs.sln

    r9269 r9587  
    4444EndProject
    4545Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ALGLIB-3.6.0", "HeuristicLab.ExtLibs\HeuristicLab.ALGLIB\3.6.0\ALGLIB-3.6.0\ALGLIB-3.6.0.csproj", "{D863807E-4774-455E-85A4-96E7E6A8F68F}"
     46EndProject
     47Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EPPlus-3.1.3", "HeuristicLab.ExtLibs\HeuristicLab.EPPlus\3.1.3\EPPlus-3.1.3\EPPlus-3.1.3.csproj", "{7B288026-5502-4A39-BF41-77E086F3E4A3}"
     48EndProject
     49Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.EPPlus-3.1.3", "HeuristicLab.ExtLibs\HeuristicLab.EPPlus\3.1.3\HeuristicLab.EPPlus-3.1.3\HeuristicLab.EPPlus-3.1.3.csproj", "{B8B9E73B-18DE-4781-8F31-D3472BA9DB66}"
    4650EndProject
    4751Global
     
    283287    {D863807E-4774-455E-85A4-96E7E6A8F68F}.Release|x86.ActiveCfg = Release|x86
    284288    {D863807E-4774-455E-85A4-96E7E6A8F68F}.Release|x86.Build.0 = Release|x86
     289    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     290    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
     291    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|x64.ActiveCfg = Debug|x64
     292    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|x64.Build.0 = Debug|x64
     293    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|x86.ActiveCfg = Debug|x86
     294    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Debug|x86.Build.0 = Debug|x86
     295    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
     296    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|Any CPU.Build.0 = Release|Any CPU
     297    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|x64.ActiveCfg = Release|x64
     298    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|x64.Build.0 = Release|x64
     299    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|x86.ActiveCfg = Release|x86
     300    {7B288026-5502-4A39-BF41-77E086F3E4A3}.Release|x86.Build.0 = Release|x86
     301    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     302    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|Any CPU.Build.0 = Debug|Any CPU
     303    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|x64.ActiveCfg = Debug|x64
     304    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|x64.Build.0 = Debug|x64
     305    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|x86.ActiveCfg = Debug|x86
     306    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Debug|x86.Build.0 = Debug|x86
     307    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|Any CPU.ActiveCfg = Release|Any CPU
     308    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|Any CPU.Build.0 = Release|Any CPU
     309    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x64.ActiveCfg = Release|x64
     310    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x64.Build.0 = Release|x64
     311    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x86.ActiveCfg = Release|x86
     312    {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x86.Build.0 = Release|x86
    285313  EndGlobalSection
    286314  GlobalSection(SolutionProperties) = preSolution
  • trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.EPPlus/3.1.3/EPPlus-3.1.3/EPPlus-3.1.3.csproj

    r9580 r9587  
    5252    <ErrorReport>prompt</ErrorReport>
    5353    <WarningLevel>4</WarningLevel>
    54     <DocumentationFile>bin\Debug\EPPlus.XML</DocumentationFile>
     54    <DocumentationFile>
     55    </DocumentationFile>
    5556    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    5657  </PropertyGroup>
     
    6263    <ErrorReport>prompt</ErrorReport>
    6364    <WarningLevel>4</WarningLevel>
    64     <DocumentationFile>bin\Release\EPPlus.XML</DocumentationFile>
     65    <DocumentationFile>
     66    </DocumentationFile>
    6567    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    6668    <PlatformTarget>AnyCPU</PlatformTarget>
     69  </PropertyGroup>
     70  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
     71    <DebugSymbols>true</DebugSymbols>
     72    <OutputPath>..\..\..\..\bin\</OutputPath>
     73    <DefineConstants>DEBUG;TRACE</DefineConstants>
     74    <DocumentationFile>
     75    </DocumentationFile>
     76    <DebugType>full</DebugType>
     77    <PlatformTarget>x64</PlatformTarget>
     78    <ErrorReport>prompt</ErrorReport>
     79    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     80  </PropertyGroup>
     81  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
     82    <OutputPath>..\..\..\..\bin\</OutputPath>
     83    <DefineConstants>TRACE</DefineConstants>
     84    <DocumentationFile>
     85    </DocumentationFile>
     86    <Optimize>true</Optimize>
     87    <DebugType>pdbonly</DebugType>
     88    <PlatformTarget>x64</PlatformTarget>
     89    <ErrorReport>prompt</ErrorReport>
     90    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     91  </PropertyGroup>
     92  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     93    <DebugSymbols>true</DebugSymbols>
     94    <OutputPath>..\..\..\..\bin\</OutputPath>
     95    <DefineConstants>DEBUG;TRACE</DefineConstants>
     96    <DocumentationFile>
     97    </DocumentationFile>
     98    <DebugType>full</DebugType>
     99    <PlatformTarget>x86</PlatformTarget>
     100    <ErrorReport>prompt</ErrorReport>
     101    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
     102  </PropertyGroup>
     103  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
     104    <OutputPath>..\..\..\..\bin\</OutputPath>
     105    <DefineConstants>TRACE</DefineConstants>
     106    <DocumentationFile>
     107    </DocumentationFile>
     108    <Optimize>true</Optimize>
     109    <DebugType>pdbonly</DebugType>
     110    <PlatformTarget>x86</PlatformTarget>
     111    <ErrorReport>prompt</ErrorReport>
     112    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
    67113  </PropertyGroup>
    68114  <ItemGroup>
  • trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.EPPlus/3.1.3/HeuristicLab.EPPlus-3.1.3

    • Property svn:ignore
      •  

        old new  
        11Plugin.cs
         2bin
         3obj
  • trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.EPPlus/3.1.3/HeuristicLab.EPPlus-3.1.3/HeuristicLab.EPPlus-3.1.3.csproj

    r9580 r9587  
    3636  <PropertyGroup>
    3737    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
     38  </PropertyGroup>
     39  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
     40    <DebugSymbols>true</DebugSymbols>
     41    <OutputPath>..\..\..\..\bin\</OutputPath>
     42    <DefineConstants>DEBUG;TRACE</DefineConstants>
     43    <DebugType>full</DebugType>
     44    <PlatformTarget>x64</PlatformTarget>
     45    <ErrorReport>prompt</ErrorReport>
     46    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
     47  </PropertyGroup>
     48  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
     49    <OutputPath>..\..\..\..\bin\</OutputPath>
     50    <DefineConstants>TRACE</DefineConstants>
     51    <Optimize>true</Optimize>
     52    <DebugType>pdbonly</DebugType>
     53    <PlatformTarget>x64</PlatformTarget>
     54    <ErrorReport>prompt</ErrorReport>
     55    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
     56  </PropertyGroup>
     57  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     58    <DebugSymbols>true</DebugSymbols>
     59    <OutputPath>..\..\..\..\bin\</OutputPath>
     60    <DefineConstants>DEBUG;TRACE</DefineConstants>
     61    <DebugType>full</DebugType>
     62    <PlatformTarget>x86</PlatformTarget>
     63    <ErrorReport>prompt</ErrorReport>
     64    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
     65  </PropertyGroup>
     66  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
     67    <OutputPath>..\..\..\..\bin\</OutputPath>
     68    <DefineConstants>TRACE</DefineConstants>
     69    <Optimize>true</Optimize>
     70    <DebugType>pdbonly</DebugType>
     71    <PlatformTarget>x86</PlatformTarget>
     72    <ErrorReport>prompt</ErrorReport>
     73    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    3874  </PropertyGroup>
    3975  <ItemGroup>
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic

  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/Interfaces/ISymbolicClassificationModel.cs

    r9456 r9587  
    2323namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification {
    2424  public interface ISymbolicClassificationModel : IClassificationModel, ISymbolicDataAnalysisModel {
    25     double LowerEstimationLimit { get; }
    26     double UpperEstimationLimit { get; }
    2725    void RecalculateModelParameters(IClassificationProblemData problemData, IEnumerable<int> rows);
    2826    new ISymbolicClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData);
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SymbolicClassificationModel.cs

    r9456 r9587  
    3232  [StorableClass]
    3333  [Item(Name = "SymbolicClassificationModel", Description = "Represents a symbolic classification model.")]
    34   public abstract class
    35     SymbolicClassificationModel : SymbolicDataAnalysisModel, ISymbolicClassificationModel {
    36     [Storable]
    37     private double lowerEstimationLimit;
    38     public double LowerEstimationLimit { get { return lowerEstimationLimit; } }
    39     [Storable]
    40     private double upperEstimationLimit;
    41     public double UpperEstimationLimit { get { return upperEstimationLimit; } }
     34  public abstract class SymbolicClassificationModel : SymbolicDataAnalysisModel, ISymbolicClassificationModel {
    4235
    4336    [StorableConstructor]
    4437    protected SymbolicClassificationModel(bool deserializing) : base(deserializing) { }
    45     protected SymbolicClassificationModel(SymbolicClassificationModel original, Cloner cloner)
    46       : base(original, cloner) {
    47       lowerEstimationLimit = original.lowerEstimationLimit;
    48       upperEstimationLimit = original.upperEstimationLimit;
    49     }
    50     protected SymbolicClassificationModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit = double.MinValue, double upperEstimationLimit = double.MaxValue)
    51       : base(tree, interpreter) {
    52       this.lowerEstimationLimit = lowerEstimationLimit;
    53       this.upperEstimationLimit = upperEstimationLimit;
    54     }
     38    protected SymbolicClassificationModel(SymbolicClassificationModel original, Cloner cloner) : base(original, cloner) { }
     39    protected SymbolicClassificationModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter,
     40      double lowerEstimationLimit = double.MinValue, double upperEstimationLimit = double.MaxValue)
     41      : base(tree, interpreter, lowerEstimationLimit, upperEstimationLimit) { }
    5542
    5643    public abstract IEnumerable<double> GetEstimatedClassValues(Dataset dataset, IEnumerable<int> rows);
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Interfaces/ISymbolicRegressionModel.cs

    r9456 r9587  
    2222namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
    2323  public interface ISymbolicRegressionModel : IRegressionModel, ISymbolicDataAnalysisModel {
    24     double LowerEstimationLimit { get; }
    25     double UpperEstimationLimit { get; }
    26 
    2724    void Scale(IRegressionProblemData problemData);
    2825  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionModel.cs

    r9456 r9587  
    3333  [Item(Name = "Symbolic Regression Model", Description = "Represents a symbolic regression model.")]
    3434  public class SymbolicRegressionModel : SymbolicDataAnalysisModel, ISymbolicRegressionModel {
    35     [Storable]
    36     private double lowerEstimationLimit;
    37     public double LowerEstimationLimit { get { return lowerEstimationLimit; } }
    38     [Storable]
    39     private double upperEstimationLimit;
    40     public double UpperEstimationLimit { get { return upperEstimationLimit; } }
     35
    4136
    4237    [StorableConstructor]
    4338    protected SymbolicRegressionModel(bool deserializing) : base(deserializing) { }
    44     protected SymbolicRegressionModel(SymbolicRegressionModel original, Cloner cloner)
    45       : base(original, cloner) {
    46       this.lowerEstimationLimit = original.lowerEstimationLimit;
    47       this.upperEstimationLimit = original.upperEstimationLimit;
    48     }
     39    protected SymbolicRegressionModel(SymbolicRegressionModel original, Cloner cloner) : base(original, cloner) { }
     40
    4941    public SymbolicRegressionModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter,
    5042      double lowerEstimationLimit = double.MinValue, double upperEstimationLimit = double.MaxValue)
    51       : base(tree, interpreter) {
    52       this.lowerEstimationLimit = lowerEstimationLimit;
    53       this.upperEstimationLimit = upperEstimationLimit;
    54     }
     43      : base(tree, interpreter, lowerEstimationLimit, upperEstimationLimit) { }
    5544
    5645    public override IDeepCloneable Clone(Cloner cloner) {
     
    6049    public IEnumerable<double> GetEstimatedValues(Dataset dataset, IEnumerable<int> rows) {
    6150      return Interpreter.GetSymbolicExpressionTreeValues(SymbolicExpressionTree, dataset, rows)
    62         .LimitToRange(lowerEstimationLimit, upperEstimationLimit);
     51        .LimitToRange(LowerEstimationLimit, UpperEstimationLimit);
    6352    }
    6453
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.TimeSeriesPrognosis/3.4/Interfaces/ISymbolicTimeSeriesPrognosisModel.cs

    r9462 r9587  
    2323  public interface ISymbolicTimeSeriesPrognosisModel : ITimeSeriesPrognosisModel, ISymbolicDataAnalysisModel {
    2424    new ISymbolicTimeSeriesPrognosisExpressionTreeInterpreter Interpreter { get; }
    25     double LowerEstimationLimit { get; }
    26     double UpperEstimationLimit { get; }
    2725  }
    2826}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views

  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj

    r9288 r9587  
    9797      <Private>False</Private>
    9898    </Reference>
     99    <Reference Include="EPPlus-3.1.3, Version=3.1.3.0, Culture=neutral, PublicKeyToken=ea159fdaa78159a1, processorArchitecture=MSIL">
     100      <SpecificVersion>False</SpecificVersion>
     101      <HintPath>..\..\bin\EPPlus-3.1.3.dll</HintPath>
     102      <Private>False</Private>
     103    </Reference>
    99104    <Reference Include="System" />
    100105    <Reference Include="System.Core">
     
    126131      <DependentUpon>MathSymbolicDataAnalysisModelView.cs</DependentUpon>
    127132    </Compile>
     133    <Compile Include="MenuItems\ExportSymbolicSolutionToExcelMenuItem.cs" />
    128134    <Compile Include="Plugin.cs" />
    129135    <Compile Include="TextualSymbolicDataAnalysisModelView.cs">
     
    274280      <Name>HeuristicLab.Optimization-3.3</Name>
    275281      <Private>False</Private>
     282    </ProjectReference>
     283    <ProjectReference Include="..\..\HeuristicLab.Optimizer\3.3\HeuristicLab.Optimizer-3.3.csproj">
     284      <Project>{c664305e-497c-4533-a140-967dedb05c19}</Project>
     285      <Name>HeuristicLab.Optimizer-3.3</Name>
    276286    </ProjectReference>
    277287    <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/MenuItems/ExportSymbolicSolutionToExcelMenuItem.cs

    r9585 r9587  
    2828using HeuristicLab.MainForm;
    2929using HeuristicLab.Optimizer;
    30 using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
    3130using OfficeOpenXml;
    3231using OfficeOpenXml.Drawing.Chart;
     
    122121      row += 2;
    123122
    124       var regSolution = solution as SymbolicRegressionSolution;
    125       if (regSolution != null) {
    126         modelWorksheet.Cells[row, 1].Value = "Estimation Limits Lower";
    127         modelWorksheet.Cells[row, 2].Value = regSolution.EstimationLimits.Lower;
    128         modelWorksheet.Names.Add("EstimationLimitLower", modelWorksheet.Cells[row, 2]);
    129         row++;
    130 
    131         modelWorksheet.Cells[row, 1].Value = "Estimation Limits Upper";
    132         modelWorksheet.Cells[row, 2].Value = regSolution.EstimationLimits.Upper;
    133         modelWorksheet.Names.Add("EstimationLimitUpper", modelWorksheet.Cells[row, 2]);
    134         row += 2;
    135       }
     123      modelWorksheet.Cells[row, 1].Value = "Estimation Limits Lower";
     124      modelWorksheet.Cells[row, 2].Value = solution.Model.LowerEstimationLimit;
     125      modelWorksheet.Names.Add("EstimationLimitLower", modelWorksheet.Cells[row, 2]);
     126      row++;
     127
     128      modelWorksheet.Cells[row, 1].Value = "Estimation Limits Upper";
     129      modelWorksheet.Cells[row, 2].Value = solution.Model.UpperEstimationLimit;
     130      modelWorksheet.Names.Add("EstimationLimitUpper", modelWorksheet.Cells[row, 2]);
     131      row += 2;
    136132
    137133      modelWorksheet.Cells[row, 1].Value = "Trainings Partition Start";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Plugin.cs.frame

    r9462 r9587  
    3636  [PluginDependency("HeuristicLab.Data", "3.3")]
    3737  [PluginDependency("HeuristicLab.Data.Views", "3.3")]
     38  [PluginDependency("HeuristicLab.EPPlus", "3.1")]
    3839  [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
    3940  [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views", "3.4")]
     
    4243  [PluginDependency("HeuristicLab.MathJax", "1.1")]
    4344  [PluginDependency("HeuristicLab.Optimization","3.3")]
     45  [PluginDependency("HeuristicLab.Optimizer","3.3")]
    4446  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
    4547  [PluginDependency("HeuristicLab.Problems.DataAnalysis.Symbolic", "3.4")]
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r9288 r9587  
    139139    <Compile Include="Crossovers\SymbolicDataAnalysisExpressionProbabilisticFunctionalCrossover.cs" />
    140140    <Compile Include="Crossovers\SymbolicDataAnalysisExpressionSemanticSimilarityCrossover.cs" />
     141    <Compile Include="Formatters\SymbolicDataAnalysisExpressionExcelFormatter.cs" />
    141142    <Compile Include="Interfaces\ISymbolicDataAnalysisExpressionCrossover.cs" />
    142143    <Compile Include="Interfaces\ISymbolicDataAnalysisImpactValuesCalculator.cs" />
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs

    r9456 r9587  
    2525    ISymbolicExpressionTree SymbolicExpressionTree { get; }
    2626    ISymbolicDataAnalysisExpressionTreeInterpreter Interpreter { get; }
     27
     28    double LowerEstimationLimit { get; }
     29    double UpperEstimationLimit { get; }
    2730  }
    2831}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisModel.cs

    r9456 r9587  
    3838
    3939    #region properties
     40    [Storable]
     41    private double lowerEstimationLimit;
     42    public double LowerEstimationLimit { get { return lowerEstimationLimit; } }
     43    [Storable]
     44    private double upperEstimationLimit;
     45    public double UpperEstimationLimit { get { return upperEstimationLimit; } }
    4046
    4147    [Storable]
     
    5056      get { return interpreter; }
    5157    }
    52 
    5358    #endregion
    5459
     
    5964      this.symbolicExpressionTree = cloner.Clone(original.symbolicExpressionTree);
    6065      this.interpreter = cloner.Clone(original.interpreter);
     66      this.lowerEstimationLimit = original.lowerEstimationLimit;
     67      this.upperEstimationLimit = original.upperEstimationLimit;
    6168    }
    62     public SymbolicDataAnalysisModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter)
     69    protected SymbolicDataAnalysisModel(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter,
     70       double lowerEstimationLimit, double upperEstimationLimit)
    6371      : base() {
    6472      this.name = ItemName;
     
    6674      this.symbolicExpressionTree = tree;
    6775      this.interpreter = interpreter;
     76      this.lowerEstimationLimit = lowerEstimationLimit;
     77      this.upperEstimationLimit = upperEstimationLimit;
    6878    }
    6979
Note: See TracChangeset for help on using the changeset viewer.