Changeset 2843 for trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors
- Timestamp:
- 02/19/10 18:49:17 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/ArithmeticFunctionLibraryInjector.cs ¶
r2728 r2843 29 29 [SymbolicRegressionFunctionLibraryInjector] 30 30 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 37 31 public override string Description { 38 32 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);56 33 } 57 34 … … 78 55 doubleFunctions.ForEach(fun => functionLibrary.AddFunction(fun)); 79 56 80 variable.SetConstraints(minTimeOffset, maxTimeOffset);81 differential.SetConstraints(minTimeOffset, maxTimeOffset);82 83 57 return functionLibrary; 84 58 } -
TabularUnified trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/DefaultFunctionLibraryInjector.cs ¶
r2821 r2843 29 29 [SymbolicRegressionFunctionLibraryInjector] 30 30 public class DefaultFunctionLibraryInjector : FunctionLibraryInjectorBase { 31 public const string MINTIMEOFFSET = "MinTimeOffset";32 public const string MAXTIMEOFFSET = "MaxTimeOffset";33 34 private int minTimeOffset;35 private int maxTimeOffset;36 37 31 public override string Description { 38 32 get { return @"Injects a default function library for regression and classification problems."; } 39 }40 41 public DefaultFunctionLibraryInjector()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);56 33 } 57 34 … … 121 98 booleanFunctions.ForEach(fun => functionLibrary.AddFunction(fun)); 122 99 123 variable.SetConstraints(minTimeOffset, maxTimeOffset);124 differential.SetConstraints(minTimeOffset, maxTimeOffset);125 126 100 return functionLibrary; 127 101 } -
TabularUnified trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/SimpleFunctionLibraryInjector.cs ¶
r2728 r2843 29 29 [SymbolicRegressionFunctionLibraryInjector] 30 30 public class SimpleFunctionLibraryInjector : FunctionLibraryInjectorBase { 31 public const string MINTIMEOFFSET = "MinTimeOffset";32 public const string MAXTIMEOFFSET = "MaxTimeOffset";33 34 private int minTimeOffset;35 private int maxTimeOffset;36 37 31 public override string Description { 38 32 get { return @"Injects a simple function library for regression and classification problems."; } 39 33 } 40 34 41 public SimpleFunctionLibraryInjector() 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)); 35 protected override FunctionLibrary CreateFunctionLibrary() { 36 return Create(); 45 37 } 46 38 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); 56 } 57 58 protected override FunctionLibrary CreateFunctionLibrary() { 59 return Create( 60 minTimeOffset, 61 maxTimeOffset); 62 } 63 64 public static FunctionLibrary Create(int minTimeOffset, int maxTimeOffset) { 39 public static FunctionLibrary Create() { 65 40 FunctionLibrary functionLibrary = new FunctionLibrary(); 66 41 … … 111 86 allFunctions.ForEach(x => functionLibrary.AddFunction(x)); 112 87 113 variable.SetConstraints(minTimeOffset, maxTimeOffset);114 differential.SetConstraints(minTimeOffset, maxTimeOffset);115 116 88 return functionLibrary; 117 89 } -
TabularUnified trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/UnconstrainedFunctionLibraryInjector.cs ¶
r2728 r2843 29 29 [SymbolicRegressionFunctionLibraryInjector] 30 30 public class UnconstrainedFunctionLibraryInjector : FunctionLibraryInjectorBase { 31 public const string MINTIMEOFFSET = "MinTimeOffset";32 public const string MAXTIMEOFFSET = "MaxTimeOffset";33 34 private int minTimeOffset;35 private int maxTimeOffset;36 37 31 public override string Description { 38 32 get { return @"Injects a function library for regression and classification problems."; } 39 }40 41 public UnconstrainedFunctionLibraryInjector()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);56 33 } 57 34 … … 113 90 doubleFunctions.ForEach(fun => functionLibrary.AddFunction(fun)); 114 91 115 variable.SetConstraints(minTimeOffset, maxTimeOffset);116 differential.SetConstraints(minTimeOffset, maxTimeOffset);117 118 92 return functionLibrary; 119 }120 121 private void ConditionalAddFunction(string condName, IFunction fun, List<IFunction> list) {122 if (GetVariableValue<BoolData>(condName, null, false).Data) list.Add(fun);123 }124 125 private void ConditionalAddOperator(string condName, FunctionLibrary functionLib, IFunction op) {126 if (GetVariableValue<BoolData>(condName, null, false).Data) functionLib.AddFunction(op);127 93 } 128 94 }
Note: See TracChangeset
for help on using the changeset viewer.