Changeset 425 for trunk/sources/HeuristicLab.Functions/Constant.cs
- Timestamp:
- 08/03/08 10:51:50 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Functions/Constant.cs
r229 r425 28 28 using HeuristicLab.Constraints; 29 29 using HeuristicLab.DataAnalysis; 30 using HeuristicLab.Operators; 31 using HeuristicLab.Random; 30 32 31 33 namespace HeuristicLab.Functions { … … 48 50 AddVariable(value); 49 51 52 SetupInitialization(); 53 SetupManipulation(); 54 50 55 // constant can't have suboperators 51 56 AddConstraint(new NumberOfSubOperatorsConstraint(0, 0)); 52 57 } 58 59 private void SetupInitialization() { 60 // initialization operator 61 AddVariableInfo(new VariableInfo(INITIALIZATION, "Initialization operator-graph for constants", typeof(IOperatorGraph), VariableKind.None)); 62 GetVariableInfo(INITIALIZATION).Local = false; 63 CombinedOperator combinedOp = new CombinedOperator(); 64 SequentialProcessor initSeq = new SequentialProcessor(); 65 UniformRandomizer randomizer = new UniformRandomizer(); 66 randomizer.Min = -20.0; 67 randomizer.Max = 20.0; 68 69 combinedOp.OperatorGraph.AddOperator(initSeq); 70 combinedOp.OperatorGraph.AddOperator(randomizer); 71 combinedOp.OperatorGraph.InitialOperator = initSeq; 72 initSeq.AddSubOperator(randomizer); 73 AddVariable(new HeuristicLab.Core.Variable(INITIALIZATION, combinedOp)); 74 } 75 76 private void SetupManipulation() { 77 // manipulation operator 78 AddVariableInfo(new VariableInfo(MANIPULATION, "Manipulation operator-graph for constants", typeof(IOperatorGraph), VariableKind.None)); 79 GetVariableInfo(MANIPULATION).Local = false; 80 CombinedOperator combinedOp = new CombinedOperator(); 81 SequentialProcessor manipulationSeq = new SequentialProcessor(); 82 NormalRandomAdder valueAdder = new NormalRandomAdder(); 83 valueAdder.Mu = 0.0; 84 valueAdder.Sigma = 0.1; 85 86 combinedOp.OperatorGraph.AddOperator(manipulationSeq); 87 combinedOp.OperatorGraph.AddOperator(valueAdder); 88 combinedOp.OperatorGraph.InitialOperator = manipulationSeq; 89 manipulationSeq.AddSubOperator(valueAdder); 90 AddVariable(new HeuristicLab.Core.Variable(MANIPULATION, combinedOp)); 91 } 92 53 93 public override void Accept(IFunctionVisitor visitor) { 54 94 visitor.Visit(this);
Note: See TracChangeset
for help on using the changeset viewer.