Changeset 18084


Ignore:
Timestamp:
11/18/21 15:55:41 (13 days ago)
Author:
dpiringe
Message:

#3136

  • added a new problem data provider AsadzadehProvider and the correspondig instance Asadzadeh1
    • implements the test setup of paper Symbolic regression based hybrid semiparametric modelling of processes: An example case of a bending process
  • used the Asadzadeh1 instance in StructuredSymbolicRegressionSingleObjectiveProblem for default setup
  • added the SubFunctionSymbol in DerivativeCalculator and IntervalArithBoundsEstimator
Location:
branches/3136_Structural_GP
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj

    r18061 r18084  
    258258      <Private>False</Private>
    259259    </ProjectReference>
     260    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances.DataAnalysis\3.3\HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj">
     261      <Project>{94C7714E-29D4-4D6D-B213-2C18D627AB75}</Project>
     262      <Name>HeuristicLab.Problems.Instances.DataAnalysis-3.3</Name>
     263    </ProjectReference>
    260264    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
    261265      <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
  • branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs

    r18081 r18084  
    1313using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    1414using HeuristicLab.PluginInfrastructure;
     15using HeuristicLab.Problems.Instances.DataAnalysis.Regression.Asadzadeh;
     16using HeuristicLab.Problems.Instances.DataAnalysis;
    1517
    1618namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
     
    7476    #region Constructors & Cloning
    7577    public StructuredSymbolicRegressionSingleObjectiveProblem() {
    76       var problemData = new ShapeConstrainedRegressionProblemData();
    77       var targetInterval = problemData.VariableRanges.GetInterval(problemData.TargetVariable);
     78      var provider = new AsadzadehProvider();
     79      var descriptor = new Asadzadeh1();
     80      var problemData = provider.LoadData(descriptor);
     81      var shapeConstraintProblemData = new ShapeConstrainedRegressionProblemData(problemData);
     82
     83
     84      var targetInterval = shapeConstraintProblemData.VariableRanges.GetInterval(shapeConstraintProblemData.TargetVariable);
    7885      var estimationWidth = targetInterval.Width * 10;
    7986
     
    93100      Parameters.Add(new ValueParameter<IRegressionProblemData>(
    94101        ProblemDataParameterName,
    95         problemData));
     102        shapeConstraintProblemData));
    96103      ProblemDataParameter.ValueChanged += ProblemDataParameterValueChanged;
    97104
     
    119126      Operators.Add(new SymbolicDataAnalysisVariableFrequencyAnalyzer());
    120127      Operators.Add(new MinAverageMaxSymbolicExpressionTreeLengthAnalyzer());
    121       //TODO change to value lookup
    122       //Operators.Add(new SymbolicExpressionTreeLengthAnalyzer());
    123128      Operators.Add(new SymbolicExpressionSymbolFrequencyAnalyzer());
    124129
     130      StructureTemplate.Template =
     131        "(" +
     132          "(210000 / (210000 + h)) * ((sigma_y * t * t) / (wR * Rt * t)) + " +
     133          "PlasticHardening(_) - Elasticity(_)" +
     134        ")" +
     135        " * C(_)";
    125136    }
    126137
  • branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/DerivativeCalculator.cs

    r17902 r18084  
    197197        var tanh = (ISymbolicExpressionTreeNode)branch.Clone();
    198198        return Product(fxp, Subtract(CreateConstant(1.0), Square(tanh)));
     199      }
     200      if (branch.Symbol is SubFunctionSymbol) {
     201        return Derive(branch.GetSubtree(0), variableName);
    199202      }
    200203      throw new NotSupportedException(string.Format("Symbol {0} is not supported.", branch.Symbol));
     
    282285          !(n.Symbol is Cosine) &&
    283286          !(n.Symbol is Tangent) &&
    284           !(n.Symbol is StartSymbol)
     287          !(n.Symbol is StartSymbol) &&
     288          !(n.Symbol is SubFunctionSymbol)
    285289        select n).Any();
    286290      return !containsUnknownSymbol;
  • branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/IntervalArithBoundsEstimator.cs

    r17964 r18084  
    247247
    248248            break;
     249          }
     250        case OpCodes.SubFunction: {
     251            result = Evaluate(instructions, ref instructionCounter, nodeIntervals, variableIntervals);
     252          break;
    249253          }
    250254        default:
     
    342346          !(n.Symbol is Power) &&
    343347          !(n.Symbol is Absolute) &&
    344           !(n.Symbol is AnalyticQuotient)
     348          !(n.Symbol is AnalyticQuotient) &&
     349          !(n.Symbol is SubFunctionSymbol)
    345350        select n).Any();
    346351      return !containsUnknownSymbols;
  • branches/3136_Structural_GP/HeuristicLab.Problems.Instances.DataAnalysis/3.3/HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj

    r17969 r18084  
    155155    <Compile Include="Regression\ArtificialRegressionDataDescriptor.cs" />
    156156    <Compile Include="Regression\ArtificialRegressionInstanceProvider.cs" />
     157    <Compile Include="Regression\Asadzadeh\Asadzadeh1.cs" />
     158    <Compile Include="Regression\Asadzadeh\AsadzadehProvider.cs" />
    157159    <Compile Include="Regression\CSV\RegressionCSVInstanceProvider.cs" />
    158160    <Compile Include="Regression\FeatureSelection\FeatureSelectionRegressionProblemData.cs" />
Note: See TracChangeset for help on using the changeset viewer.