- Timestamp:
- 06/27/12 11:33:49 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.LawnMower/3.3/Problem.cs
r8059 r8131 42 42 private const string MaxLawnMowerProgramDepthParameterName = "MaxProgramDepth"; 43 43 private const string LawnMowerGrammarParameterName = "Grammar"; 44 private const string MaxFunctionDefinitionsParameterName = "MaxFunctionDefinitions"; 45 private const string MaxArgumentDefinitionsParameterName = "MaxArgumentDefinitions"; 44 46 45 47 public IFixedValueParameter<IntValue> LawnWidthParameter { … … 58 60 get { return (IValueParameter<Grammar>)Parameters[LawnMowerGrammarParameterName]; } 59 61 } 62 public IFixedValueParameter<IntValue> MaxFunctionDefinitionsParameter { 63 get { return (IFixedValueParameter<IntValue>)Parameters[MaxFunctionDefinitionsParameterName]; } 64 } 65 public IFixedValueParameter<IntValue> MaxArgumentDefinitionsParameter { 66 get { return (IFixedValueParameter<IntValue>)Parameters[MaxArgumentDefinitionsParameterName]; } 67 } 60 68 61 69 [StorableConstructor] … … 73 81 Parameters.Add(new FixedValueParameter<IntValue>(MaxLawnMowerProgramDepthParameterName, "Maximal depth of the lawn mower program.", new IntValue(13))); 74 82 Parameters.Add(new FixedValueParameter<IntValue>(MaxLawnMowerProgramLengthParameterName, "Maximal length of the lawn mower program.", new IntValue(1000))); 83 Parameters.Add(new FixedValueParameter<IntValue>(MaxFunctionDefinitionsParameterName, "Maximal number of automatically defined functions (ADF).", new IntValue(3))); 84 Parameters.Add(new FixedValueParameter<IntValue>(MaxArgumentDefinitionsParameterName, "Maximal number of automatically defined arguments.", new IntValue(3))); 75 85 Parameters.Add(new ValueParameter<Grammar>(LawnMowerGrammarParameterName, "Grammar for the lawn mower program.", 76 86 new Grammar())); … … 105 115 SolutionCreator.SymbolicExpressionTreeParameter.ActualNameChanged += 106 116 SymbolicExpressionTreeParameterOnActualNameChanged; 117 MaxArgumentDefinitionsParameter.ValueChanged += ParameterizeGrammar; 118 MaxFunctionDefinitionsParameter.ValueChanged += ParameterizeGrammar; 107 119 } 108 109 110 120 111 121 protected override void OnEvaluatorChanged() { … … 135 145 ParameterizeAnalyzers(); 136 146 ParameterizeOperators(); 147 } 148 149 private void ParameterizeGrammar(object sender, EventArgs eventArgs) { 150 GrammarParameter.Value.MaximumFunctionArguments = MaxArgumentDefinitionsParameter.Value.Value; 151 GrammarParameter.Value.MaximumFunctionDefinitions = MaxFunctionDefinitionsParameter.Value.Value; 137 152 } 138 153 … … 175 190 op.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName; 176 191 } 192 foreach (ISymbolicExpressionTreeArchitectureAlteringOperator op in operators.OfType<ISymbolicExpressionTreeArchitectureAlteringOperator>()) { 193 op.MaximumFunctionDefinitionsParameter.ActualName = MaxFunctionDefinitionsParameter.Name; 194 op.MaximumFunctionArgumentsParameter.ActualName = MaxArgumentDefinitionsParameter.Name; 195 } 177 196 } 178 197 }
Note: See TracChangeset
for help on using the changeset viewer.