Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/19/10 18:49:17 (14 years ago)
Author:
gkronber
Message:

Removed max. and min. time offset constraints as algorithm parameters and from all engines. The time constraints were added to the relevant terminal symbols (variable & differential) instead. The time offset constraint can be changed by editing the symbols in the function library. #880 (Max and min time offsets for variable symbols are not set correctly by FunctionLibraryInjectors)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/ArithmeticFunctionLibraryInjector.cs

    r2728 r2843  
    2929  [SymbolicRegressionFunctionLibraryInjector]
    3030  public class ArithmeticFunctionLibraryInjector : FunctionLibraryInjectorBase {
    31     public const string MINTIMEOFFSET = "MinTimeOffset";
    32     public const string MAXTIMEOFFSET = "MaxTimeOffset";
    33 
    34     private int minTimeOffset;
    35     private int maxTimeOffset;
    36 
    3731    public override string Description {
    3832      get { return @"Injects a function library with (+, -, *,  /) symbols."; }
    39     }
    40 
    41     public ArithmeticFunctionLibraryInjector()
    42       : base() {
    43       AddVariableInfo(new VariableInfo(MINTIMEOFFSET, "Minimal time offset for all features", typeof(IntData), VariableKind.In));
    44       AddVariableInfo(new VariableInfo(MAXTIMEOFFSET, "Maximal time offset for all feature", typeof(IntData), VariableKind.In));
    45     }
    46 
    47     public override IOperation Apply(IScope scope) {
    48       // try to get minTimeOffset (use 0 as default if not available)
    49       IItem minTimeOffsetItem = GetVariableValue(MINTIMEOFFSET, scope, true, false);
    50       minTimeOffset = minTimeOffsetItem == null ? 0 : ((IntData)minTimeOffsetItem).Data;
    51       // try to get maxTimeOffset (use 0 as default if not available)
    52       IItem maxTimeOffsetItem = GetVariableValue(MAXTIMEOFFSET, scope, true, false);
    53       maxTimeOffset = maxTimeOffsetItem == null ? 0 : ((IntData)maxTimeOffsetItem).Data;
    54 
    55       return base.Apply(scope);
    5633    }
    5734
     
    7855      doubleFunctions.ForEach(fun => functionLibrary.AddFunction(fun));
    7956
    80       variable.SetConstraints(minTimeOffset, maxTimeOffset);
    81       differential.SetConstraints(minTimeOffset, maxTimeOffset);
    82 
    8357      return functionLibrary;
    8458    }
Note: See TracChangeset for help on using the changeset viewer.