Changeset 14517 for trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs
- Timestamp:
- 12/22/16 10:07:46 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.ParameterlessPopulationPyramid/3.3/ParameterlessPopulationPyramid.cs
r14185 r14517 165 165 166 166 public ParameterlessPopulationPyramid() { 167 pausable = true; 167 168 Parameters.Add(new FixedValueParameter<IntValue>(MaximumIterationsParameterName, "", new IntValue(Int32.MaxValue))); 168 169 Parameters.Add(new FixedValueParameter<IntValue>(MaximumEvaluationsParameterName, "", new IntValue(Int32.MaxValue))); … … 170 171 Parameters.Add(new FixedValueParameter<IntValue>(SeedParameterName, "The random seed used to initialize the new pseudo random number generator.", new IntValue(0))); 171 172 Parameters.Add(new FixedValueParameter<BoolValue>(SetSeedRandomlyParameterName, "True if the random seed should be set to a random value, otherwise false.", new BoolValue(true))); 173 } 174 175 [StorableHook(HookType.AfterDeserialization)] 176 private void AfterDeserialization() { 177 // BackwardsCompatibility3.3 178 #region Backwards compatible code, remove with 3.4 179 pausable = true; 180 #endregion 172 181 } 173 182 … … 213 222 } 214 223 215 protected override void Run(CancellationToken cancellationToken) {224 protected override void Initialize(CancellationToken cancellationToken) { 216 225 // Set up the algorithm 217 226 if (SetSeedRandomly) Seed = new System.Random().Next(); … … 242 251 Results.Add(new Result("Stored Solutions", table)); 243 252 253 base.Initialize(cancellationToken); 254 } 255 256 protected override void Run(CancellationToken cancellationToken) { 244 257 // Loop until iteration limit reached or canceled. 245 for (ResultsIterations = 0; ResultsIterations < MaximumIterations; ResultsIterations++) { 246 double fitness = double.NaN; 247 248 try { 249 fitness = iterate(); 250 cancellationToken.ThrowIfCancellationRequested(); 251 } finally { 252 ResultsEvaluations = tracker.Evaluations; 253 ResultsBestSolution = new BinaryVector(tracker.BestSolution); 254 ResultsBestQuality = tracker.BestQuality; 255 ResultsBestFoundOnEvaluation = tracker.BestFoundOnEvaluation; 256 ResultsQualitiesBest.Values.Add(tracker.BestQuality); 257 ResultsQualitiesIteration.Values.Add(fitness); 258 ResultsLevels.Values.Add(pyramid.Count); 259 ResultsSolutions.Values.Add(seen.Count); 260 } 258 while (ResultsIterations < MaximumIterations) { 259 cancellationToken.ThrowIfCancellationRequested(); 260 double fitness = iterate(); 261 262 ResultsEvaluations = tracker.Evaluations; 263 ResultsBestSolution = new BinaryVector(tracker.BestSolution); 264 ResultsBestQuality = tracker.BestQuality; 265 ResultsBestFoundOnEvaluation = tracker.BestFoundOnEvaluation; 266 ResultsQualitiesBest.Values.Add(tracker.BestQuality); 267 ResultsQualitiesIteration.Values.Add(fitness); 268 ResultsLevels.Values.Add(pyramid.Count); 269 ResultsSolutions.Values.Add(seen.Count); 270 271 ResultsIterations++; 261 272 } 262 273 }
Note: See TracChangeset
for help on using the changeset viewer.