Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/20/21 18:13:55 (3 years ago)
Author:
dpiringe
Message:

#3026

  • merged trunk into branch
Location:
branches/3026_IntegrationIntoSymSpace
Files:
2 deleted
9 edited
5 copied

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace

  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression

  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4

  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj

    r17928 r18027  
    9999  </PropertyGroup>
    100100  <ItemGroup>
    101     <Reference Include="ALGLIB-3.7.0, Version=3.7.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     101    <Reference Include="ALGLIB-3.17.0, Version=3.17.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    102102      <SpecificVersion>False</SpecificVersion>
    103       <HintPath>..\..\bin\ALGLIB-3.7.0.dll</HintPath>
     103      <HintPath>..\..\bin\ALGLIB-3.17.0.dll</HintPath>
    104104      <Private>False</Private>
    105105    </Reference>
     
    119119  </ItemGroup>
    120120  <ItemGroup>
    121     <Compile Include="MultiObjective\NMSEConstraintsEvaluator.cs" />
     121    <Compile Include="Interfaces\IMultiObjectiveConstraintsEvaluator.cs" />
     122    <Compile Include="MultiObjective\NMSEMultiObjectiveConstraintsEvaluator.cs" />
    122123    <Compile Include="MultiObjective\PearsonRSquaredNestedTreeSizeEvaluator.cs" />
    123124    <Compile Include="MultiObjective\PearsonRSquaredNumberOfVariablesEvaluator.cs" />
    124125    <Compile Include="MultiObjective\PearsonRSquaredAverageSimilarityEvaluator.cs" />
    125126    <Compile Include="MultiObjective\PearsonRSquaredTreeComplexityEvaluator.cs" />
     127    <Compile Include="MultiObjective\ShapeConstrainedRegressionMultiObjectiveProblem.cs" />
    126128    <Compile Include="MultiObjective\SymbolicRegressionMultiObjectiveValidationBestSolutionAnalyzer.cs" />
    127129    <Compile Include="Plugin.cs" />
    128130    <Compile Include="ShapeConstraintsAnalyzer.cs" />
    129131    <Compile Include="SingleObjective\ConstantOptimizationAnalyzer.cs" />
    130     <Compile Include="SingleObjective\Evaluators\NMSEConstraintsEvaluator.cs" />
     132    <Compile Include="SingleObjective\Evaluators\NMSESingleObjectiveConstraintsEvaluator.cs" />
    131133    <Compile Include="SingleObjective\Evaluators\SymbolicRegressionMeanRelativeErrorEvaluator.cs" />
     134    <Compile Include="SingleObjective\ShapeConstrainedRegressionSingleObjectiveProblem.cs" />
    132135    <Compile Include="SingleObjective\SymbolicRegressionSolutionsAnalyzer.cs" />
    133136    <Compile Include="SymbolicRegressionPhenotypicDiversityAnalyzer.cs" />
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/SymbolicRegressionMultiObjectiveProblem.cs

    r17180 r18027  
    6060    public override IDeepCloneable Clone(Cloner cloner) { return new SymbolicRegressionMultiObjectiveProblem(this, cloner); }
    6161
    62     public SymbolicRegressionMultiObjectiveProblem()
    63       : base(new RegressionProblemData(), new SymbolicRegressionMultiObjectivePearsonRSquaredTreeSizeEvaluator(), new SymbolicDataAnalysisExpressionTreeCreator()) {
     62    public SymbolicRegressionMultiObjectiveProblem() : this(new RegressionProblemData(), new SymbolicRegressionMultiObjectivePearsonRSquaredTreeSizeEvaluator(), new SymbolicDataAnalysisExpressionTreeCreator()) { }
     63    public SymbolicRegressionMultiObjectiveProblem(IRegressionProblemData problemData, ISymbolicRegressionMultiObjectiveEvaluator evaluator, ISymbolicDataAnalysisSolutionCreator solutionCreator)
     64      : base(problemData, evaluator, solutionCreator) {
    6465      Parameters.Add(new FixedValueParameter<DoubleLimit>(EstimationLimitsParameterName, EstimationLimitsParameterDescription));
    6566
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/Plugin.cs.frame

    r17184 r18027  
    2828  [Plugin("HeuristicLab.Problems.DataAnalysis.Symbolic.Regression","Provides classes to perform symbolic regression (single- or multiobjective).", "3.4.12.$WCREV$")]
    2929  [PluginFile("HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.dll", PluginFileType.Assembly)]
    30   [PluginDependency("HeuristicLab.ALGLIB", "3.7.0")]
     30  [PluginDependency("HeuristicLab.ALGLIB", "3.17.0")]
    3131  [PluginDependency("HeuristicLab.Analysis", "3.3")]
    3232  [PluginDependency("HeuristicLab.Common", "3.3")]
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/ShapeConstraintsAnalyzer.cs

    r17928 r18027  
    3131namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
    3232  [StorableType("4318C6BD-E0A1-45FE-AC30-96E7F73B51FB")]
    33   [Item("ShapeConstraintsAnalyzer", "Analyzes the number of shape-constraint violations of symbolic regression models.")]
     33  [Item("ShapeConstraintsAnalyzer", "Analyzes the number of shape constraint violations of symbolic regression models.")]
    3434  public class ShapeConstraintsAnalyzer : SymbolicDataAnalysisAnalyzer, ISymbolicExpressionTreeAnalyzer {
    3535    private const string ProblemDataParameterName = "ProblemData";
     
    9797
    9898    public override IOperation Apply() {
    99       var problemData = RegressionProblemData;
     99      var problemData = (IShapeConstrainedRegressionProblemData)RegressionProblemData;
    100100      var trees = SymbolicExpressionTree.ToArray();
    101101
     
    115115      }
    116116
    117       var constraintUnsatisfiedSolutionsDataTable = InfeasibleSolutions;
    118       if (constraintUnsatisfiedSolutionsDataTable.Rows.Count == 0)
    119         constraintUnsatisfiedSolutionsDataTable.Rows.Add(new DataRow(InfeasibleSolutionsParameterName));
     117      var infeasibleSolutionsDataTable = InfeasibleSolutions;
     118      if (infeasibleSolutionsDataTable.Rows.Count == 0)
     119        infeasibleSolutionsDataTable.Rows.Add(new DataRow(InfeasibleSolutionsParameterName));
    120120
    121       constraintUnsatisfiedSolutionsDataTable.Rows[InfeasibleSolutionsParameterName]
     121      infeasibleSolutionsDataTable.Rows[InfeasibleSolutionsParameterName]
    122122        .Values
    123123        .Add(trees.Count(t => IntervalUtil.GetConstraintViolations(constraints, estimator, variableRanges, t).Any(x => x > 0.0)));
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs

    r17928 r18027  
    270270      try {
    271271        alglib.lsfitcreatefg(x, y, c, n, m, k, false, out state);
    272         alglib.lsfitsetcond(state, 0.0, 0.0, maxIterations);
     272        alglib.lsfitsetcond(state, 0.0, maxIterations);
    273273        alglib.lsfitsetxrep(state, iterationCallback != null);
    274         //alglib.lsfitsetgradientcheck(state, 0.001);
    275274        alglib.lsfitfit(state, function_cx_1_func, function_cx_1_grad, xrep, rowEvaluationsCounter);
    276275        alglib.lsfitresults(state, out retVal, out c, out rep);
     
    285284
    286285      //retVal == -7  => constant optimization failed due to wrong gradient
    287       if (retVal != -7) {
     286      //          -8  => optimizer detected  NAN / INF  in  the target
     287      //                 function and/ or gradient
     288      if (retVal != -7 && retVal != -8) {
    288289        if (applyLinearScaling) {
    289290          var tmp = new double[c.Length - 2];
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/SymbolicRegressionSingleObjectiveProblem.cs

    r17928 r18027  
    5656    public override IDeepCloneable Clone(Cloner cloner) { return new SymbolicRegressionSingleObjectiveProblem(this, cloner); }
    5757
    58     public SymbolicRegressionSingleObjectiveProblem()
    59       : base(new RegressionProblemData(), new SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator(), new SymbolicDataAnalysisExpressionTreeCreator()) {
     58    public SymbolicRegressionSingleObjectiveProblem() : this(new RegressionProblemData(), new SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator(), new SymbolicDataAnalysisExpressionTreeCreator()) {
     59    }
     60    public SymbolicRegressionSingleObjectiveProblem(IRegressionProblemData problemData, ISymbolicRegressionSingleObjectiveEvaluator evaluator, ISymbolicDataAnalysisSolutionCreator solutionCreator) :
     61      base(problemData, evaluator, solutionCreator) {
     62
    6063      Parameters.Add(new FixedValueParameter<DoubleLimit>(EstimationLimitsParameterName, EstimationLimitsParameterDescription));
    6164
Note: See TracChangeset for help on using the changeset viewer.