Changeset 16947 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.GeneticProgramming/3.3/ArtificialAnt/Problem.cs
- Timestamp:
- 05/13/19 15:16:40 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.GeneticProgramming/3.3/ArtificialAnt/Problem.cs
r16946 r16947 82 82 get { return (IValueParameter<BoolMatrix>)Parameters["World"]; } 83 83 } 84 public I ValueParameter<IntValue> MaxTimeStepsParameter {85 get { return (I ValueParameter<IntValue>)Parameters["MaximumTimeSteps"]; }84 public IFixedValueParameter<IntValue> MaxTimeStepsParameter { 85 get { return (IFixedValueParameter<IntValue>)Parameters["MaximumTimeSteps"]; } 86 86 } 87 87 #endregion … … 92 92 set { WorldParameter.Value = value; } 93 93 } 94 public IntValueMaxTimeSteps {95 get { return MaxTimeStepsParameter.Value ; }96 set { MaxTimeStepsParameter.Value = value; }94 public int MaxTimeSteps { 95 get { return MaxTimeStepsParameter.Value.Value; } 96 set { MaxTimeStepsParameter.Value.Value = value; } 97 97 } 98 98 #endregion … … 119 119 BoolMatrix world = new BoolMatrix(ToBoolMatrix(santaFeAntTrail)); 120 120 Parameters.Add(new ValueParameter<BoolMatrix>("World", "The world for the artificial ant with scattered food items.", world)); 121 Parameters.Add(new ValueParameter<IntValue>("MaximumTimeSteps", "The number of time steps the artificial ant has available to collect all food items.", new IntValue(600)));121 Parameters.Add(new FixedValueParameter<IntValue>("MaximumTimeSteps", "The number of time steps the artificial ant has available to collect all food items.", new IntValue(600))); 122 122 123 123 var g = new SimpleSymbolicExpressionGrammar(); … … 128 128 Encoding.TreeLength = 20; 129 129 Encoding.TreeDepth = 10; 130 Encoding.GrammarParameter.ReadOnly = false; 130 131 Encoding.Grammar = g; 131 base.BestKnownQuality = 89; 132 base.Encoding.GrammarParameter.ReadOnly = true; 132 Encoding.GrammarParameter.ReadOnly = true; 133 134 BestKnownQuality = 89; 135 BestKnownQualityParameter.ReadOnly = true; 133 136 } 134 137 135 138 136 139 public override double Evaluate(ISymbolicExpressionTree tree, IRandom random) { 137 var interpreter = new Interpreter(tree, World, MaxTimeSteps .Value);140 var interpreter = new Interpreter(tree, World, MaxTimeSteps); 138 141 interpreter.Run(); 139 142 return interpreter.FoodEaten; … … 146 149 147 150 if (!results.ContainsKey(bestSolutionResultName)) { 148 results.Add(new Result(bestSolutionResultName, new Solution(World, trees[bestIdx], MaxTimeSteps .Value, qualities[bestIdx])));151 results.Add(new Result(bestSolutionResultName, new Solution(World, trees[bestIdx], MaxTimeSteps, qualities[bestIdx]))); 149 152 } else if (((Solution)(results[bestSolutionResultName].Value)).Quality < qualities[bestIdx]) { 150 results[bestSolutionResultName].Value = new Solution(World, trees[bestIdx], MaxTimeSteps .Value, qualities[bestIdx]);153 results[bestSolutionResultName].Value = new Solution(World, trees[bestIdx], MaxTimeSteps, qualities[bestIdx]); 151 154 } 152 155 }
Note: See TracChangeset
for help on using the changeset viewer.