Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/08/09 12:48:18 (16 years ago)
Author:
gkronber
Message:

Merged change sets from CEDMA branch to trunk:

Location:
trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries
Files:
1 edited
9 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/HeuristicLab.GP.StructureIdentification.TimeSeries.csproj

    r852 r1287  
    5454      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    5555    </Reference>
     56    <Reference Include="System.Drawing" />
     57    <Reference Include="System.Windows.Forms" />
    5658    <Reference Include="System.Xml.Linq">
    5759      <RequiredTargetFramework>3.5</RequiredTargetFramework>
     
    6971    </Compile>
    7072    <Compile Include="HeuristicLabGPTimeSeriesPlugin.cs" />
     73    <Compile Include="OffspringSelectionGP.cs" />
     74    <Compile Include="OffspringSelectionGpEditor.cs">
     75      <SubType>UserControl</SubType>
     76    </Compile>
     77    <Compile Include="OffspringSelectionGpEditor.Designer.cs">
     78      <DependentUpon>OffspringSelectionGpEditor.cs</DependentUpon>
     79    </Compile>
     80    <Compile Include="ProblemInjector.cs" />
    7181    <Compile Include="ProfitEvaluator.cs" />
    7282    <Compile Include="Properties\AssemblyInfo.cs" />
     83    <Compile Include="StandardGP.cs" />
     84    <Compile Include="StandardGpEditor.cs">
     85      <SubType>UserControl</SubType>
     86    </Compile>
     87    <Compile Include="StandardGpEditor.Designer.cs">
     88      <DependentUpon>StandardGpEditor.cs</DependentUpon>
     89    </Compile>
    7390    <Compile Include="TheilInequalityCoefficientEvaluator.cs" />
    7491  </ItemGroup>
     
    98115      <Name>HeuristicLab.GP</Name>
    99116    </ProjectReference>
     117    <ProjectReference Include="..\HeuristicLab.Logging\HeuristicLab.Logging.csproj">
     118      <Project>{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}</Project>
     119      <Name>HeuristicLab.Logging</Name>
     120    </ProjectReference>
     121    <ProjectReference Include="..\HeuristicLab.Operators\HeuristicLab.Operators.csproj">
     122      <Project>{A9983BA2-B3B2-475E-8E2C-62050B71D1C5}</Project>
     123      <Name>HeuristicLab.Operators</Name>
     124    </ProjectReference>
    100125    <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
    101126      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
     
    106131    <None Include="HeuristicLab.snk" />
    107132    <None Include="Properties\AssemblyInfo.frame" />
     133  </ItemGroup>
     134  <ItemGroup>
     135    <EmbeddedResource Include="OffspringSelectionGpEditor.resx">
     136      <DependentUpon>OffspringSelectionGpEditor.cs</DependentUpon>
     137    </EmbeddedResource>
     138    <EmbeddedResource Include="StandardGpEditor.resx">
     139      <DependentUpon>StandardGpEditor.cs</DependentUpon>
     140    </EmbeddedResource>
    108141  </ItemGroup>
    109142  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/OffspringSelectionGP.cs

    r1245 r1287  
    3030using HeuristicLab.Data;
    3131using HeuristicLab.Operators;
     32using HeuristicLab.Logging;
    3233
    3334namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
    3435  public class OffspringSelectionGP : HeuristicLab.GP.StructureIdentification.OffspringSelectionGP {
     36    public virtual bool Autoregressive {
     37      get { return ProblemInjector.GetVariable("Autoregressive").GetValue<BoolData>().Data; }
     38      set { ProblemInjector.GetVariable("Autoregressive").GetValue<BoolData>().Data = value; }
     39    }
     40
    3541    protected override IOperator CreateFunctionLibraryInjector() {
    3642      return new FunctionLibraryInjector();
    3743    }
    3844
     45    protected override IOperator CreateProblemInjector() {
     46      return new ProblemInjector();
     47    }
     48
    3949    protected override IOperator CreateBestSolutionProcessor() {
    4050      IOperator seq = base.CreateBestSolutionProcessor();
    41       TheilInequalityCoefficientEvaluator trainingTheil = new TheilInequalityCoefficientEvaluator();
    42       trainingTheil.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
    43       trainingTheil.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
    44       trainingTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
    45       trainingTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TrainingTheilInequalityCoefficientBias";
    46       trainingTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TrainingTheilInequalityCoefficientVariance";
    47       trainingTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TrainingTheilInequalityCoefficientCovariance";
     51      seq.AddSubOperator(StandardGP.BestSolutionProcessor);
     52      return seq;
     53    }
    4854
    49       TheilInequalityCoefficientEvaluator validationTheil = new TheilInequalityCoefficientEvaluator();
    50       validationTheil.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
    51       validationTheil.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
    52       validationTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
    53       validationTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "ValidationTheilInequalityCoefficientBias";
    54       validationTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "ValidationTheilInequalityCoefficientVariance";
    55       validationTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "ValidationTheilInequalityCoefficientCovariance";
     55    public override IEditor CreateEditor() {
     56      return new OffspringSelectionGpEditor(this);
     57    }
    5658
    57       TheilInequalityCoefficientEvaluator testTheil = new TheilInequalityCoefficientEvaluator();
    58       testTheil.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
    59       testTheil.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
    60       testTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
    61       testTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TestTheilInequalityCoefficientBias";
    62       testTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TestTheilInequalityCoefficientVariance";
    63       testTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TestTheilInequalityCoefficientCovariance";
    64 
    65       seq.AddSubOperator(trainingTheil);
    66       seq.AddSubOperator(validationTheil);
    67       seq.AddSubOperator(testTheil);
    68 
    69       return seq;
     59    public override IView CreateView() {
     60      return new OffspringSelectionGpEditor(this);
    7061    }
    7162  }
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/OffspringSelectionGpEditor.Designer.cs

    r1254 r1287  
    1 namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
    223  partial class OffspringSelectionGpEditor {
    324    /// <summary>
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/OffspringSelectionGpEditor.cs

    r1254 r1287  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.ComponentModel;
     
    1940
    2041    protected override void SetDataBinding() {
    21       base.SetDataBinding();
     42      base.SetDataBinding();     
    2243      autoregressionCheckbox.DataBindings.Add("Checked", OffspringSelectionGP, "Autoregressive");
    2344    }
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/ProblemInjector.cs

    r1254 r1287  
    4040    public ProblemInjector()
    4141      : base() {
     42      AddVariableInfo(new Core.VariableInfo("Autoregressive", "Autoregressive modelling includes previous values of the target variable to predict future values.", typeof(BoolData), Core.VariableKind.New));
     43      GetVariableInfo("Autoregressive").Local = true;
     44      AddVariable(new Core.Variable("Autoregressive", new BoolData()));
     45
    4246      AddVariableInfo(new Core.VariableInfo("MaxTimeOffset", "MaxTimeOffset", typeof(IntData), Core.VariableKind.New));
    4347      GetVariableInfo("MaxTimeOffset").Local = true;
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/StandardGP.cs

    r1245 r1287  
    2929using HeuristicLab.DataAnalysis;
    3030using HeuristicLab.Data;
     31using HeuristicLab.Operators;
     32using HeuristicLab.Logging;
    3133
    3234namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
    3335  public class StandardGP : HeuristicLab.GP.StructureIdentification.StandardGP {
     36    public bool Autoregressive {
     37      get { return ProblemInjector.GetVariable("Autoregressive").GetValue<BoolData>().Data; }
     38      set { ProblemInjector.GetVariable("Autoregressive").GetValue<BoolData>().Data = value; }
     39    }
     40
    3441    protected override IOperator CreateFunctionLibraryInjector() {
    3542      return new FunctionLibraryInjector();
    3643    }
    3744
     45    protected override IOperator CreateProblemInjector() {
     46      return new ProblemInjector();
     47    }
     48
    3849    protected override IOperator CreateBestSolutionProcessor() {
    3950      IOperator seq = base.CreateBestSolutionProcessor();
    40       TheilInequalityCoefficientEvaluator trainingTheil = new TheilInequalityCoefficientEvaluator();
    41       trainingTheil.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
    42       trainingTheil.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
    43       trainingTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
    44       trainingTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TrainingTheilInequalityCoefficientBias";
    45       trainingTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TrainingTheilInequalityCoefficientVariance";
    46       trainingTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TrainingTheilInequalityCoefficientCovariance";
     51      seq.AddSubOperator(BestSolutionProcessor);
     52      return seq;
     53    }
    4754
    48       TheilInequalityCoefficientEvaluator validationTheil = new TheilInequalityCoefficientEvaluator();
    49       validationTheil.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
    50       validationTheil.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
    51       validationTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
    52       validationTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "ValidationTheilInequalityCoefficientBias";
    53       validationTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "ValidationTheilInequalityCoefficientVariance";
    54       validationTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "ValidationTheilInequalityCoefficientCovariance";
     55    public override IEditor CreateEditor() {
     56      return new StandardGpEditor(this);
     57    }
    5558
    56       TheilInequalityCoefficientEvaluator testTheil = new TheilInequalityCoefficientEvaluator();
    57       testTheil.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
    58       testTheil.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
    59       testTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
    60       testTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TestTheilInequalityCoefficientBias";
    61       testTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TestTheilInequalityCoefficientVariance";
    62       testTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TestTheilInequalityCoefficientCovariance";
     59    public override IView CreateView() {
     60      return new StandardGpEditor(this);
     61    }
    6362
    64       seq.AddSubOperator(trainingTheil);
    65       seq.AddSubOperator(validationTheil);
    66       seq.AddSubOperator(testTheil);
     63    internal static IOperator BestSolutionProcessor {
     64      get {
     65        SequentialProcessor seq = new SequentialProcessor();
     66        TheilInequalityCoefficientEvaluator trainingTheil = new TheilInequalityCoefficientEvaluator();
     67        trainingTheil.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
     68        trainingTheil.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
     69        trainingTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TrainingTheilInequalityCoefficient";
     70        trainingTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TrainingTheilInequalityCoefficientBias";
     71        trainingTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TrainingTheilInequalityCoefficientVariance";
     72        trainingTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TrainingTheilInequalityCoefficientCovariance";
    6773
    68       return seq;
     74        TheilInequalityCoefficientEvaluator validationTheil = new TheilInequalityCoefficientEvaluator();
     75        validationTheil.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
     76        validationTheil.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
     77        validationTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "ValidationTheilInequalityCoefficient";
     78        validationTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "ValidationTheilInequalityCoefficientBias";
     79        validationTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "ValidationTheilInequalityCoefficientVariance";
     80        validationTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "ValidationTheilInequalityCoefficientCovariance";
     81
     82        TheilInequalityCoefficientEvaluator testTheil = new TheilInequalityCoefficientEvaluator();
     83        testTheil.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
     84        testTheil.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
     85        testTheil.GetVariableInfo("TheilInequalityCoefficient").ActualName = "TestTheilInequalityCoefficient";
     86        testTheil.GetVariableInfo("TheilInequalityCoefficientBias").ActualName = "TestTheilInequalityCoefficientBias";
     87        testTheil.GetVariableInfo("TheilInequalityCoefficientVariance").ActualName = "TestTheilInequalityCoefficientVariance";
     88        testTheil.GetVariableInfo("TheilInequalityCoefficientCovariance").ActualName = "TestTheilInequalityCoefficientCovariance";
     89
     90        SimpleEvaluator trainingEvaluator = new SimpleEvaluator();
     91        trainingEvaluator.GetVariableInfo("SamplesStart").ActualName = "TrainingSamplesStart";
     92        trainingEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TrainingSamplesEnd";
     93        trainingEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesTraining";
     94
     95        SimpleEvaluator validationEvaluator = new SimpleEvaluator();
     96        validationEvaluator.GetVariableInfo("SamplesStart").ActualName = "ValidationSamplesStart";
     97        validationEvaluator.GetVariableInfo("SamplesEnd").ActualName = "ValidationSamplesEnd";
     98        validationEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesValidation";
     99
     100        SimpleEvaluator testEvaluator = new SimpleEvaluator();
     101        testEvaluator.GetVariableInfo("SamplesStart").ActualName = "TestSamplesStart";
     102        testEvaluator.GetVariableInfo("SamplesEnd").ActualName = "TestSamplesEnd";
     103        testEvaluator.GetVariableInfo("Values").ActualName = "PredictedValuesTest";
     104
     105        LinechartInjector trainingChartInjector = new LinechartInjector();
     106        trainingChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
     107        trainingChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesTraining";
     108        trainingChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartTrainingPredictedValues";
     109
     110        LinechartInjector validationChartInjector = new LinechartInjector();
     111        validationChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
     112        validationChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesValidation";
     113        validationChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartValidationPredictedValues";
     114
     115        LinechartInjector testChartInjector = new LinechartInjector();
     116        testChartInjector.GetVariableValue<IntData>("NumberOfLines", null, false).Data = 2;
     117        testChartInjector.GetVariableInfo("Values").ActualName = "PredictedValuesTest";
     118        testChartInjector.GetVariableInfo("Linechart").ActualName = "LinechartTestPredictedValues";
     119
     120        seq.AddSubOperator(trainingTheil);
     121        seq.AddSubOperator(validationTheil);
     122        seq.AddSubOperator(testTheil);
     123        seq.AddSubOperator(trainingEvaluator);
     124        seq.AddSubOperator(trainingChartInjector);
     125        seq.AddSubOperator(validationEvaluator);
     126        seq.AddSubOperator(validationChartInjector);
     127        seq.AddSubOperator(testEvaluator);
     128        seq.AddSubOperator(testChartInjector);
     129
     130        return seq;
     131      }
    69132    }
    70133  }
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/StandardGpEditor.Designer.cs

    r1254 r1287  
    1 namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22namespace HeuristicLab.GP.StructureIdentification.TimeSeries {
    223  partial class StandardGpEditor {
    324    /// <summary>
  • trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/StandardGpEditor.cs

    r1254 r1287  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     4 *
     5 * This file is part of HeuristicLab.
     6 *
     7 * HeuristicLab is free software: you can redistribute it and/or modify
     8 * it under the terms of the GNU General Public License as published by
     9 * the Free Software Foundation, either version 3 of the License, or
     10 * (at your option) any later version.
     11 *
     12 * HeuristicLab is distributed in the hope that it will be useful,
     13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 * GNU General Public License for more details.
     16 *
     17 * You should have received a copy of the GNU General Public License
     18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
     19 */
     20#endregion
     21
     22using System;
    223using System.Collections.Generic;
    324using System.ComponentModel;
Note: See TracChangeset for help on using the changeset viewer.