Changeset 10230 for branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/ConsecutiveSamplesEvaluator.cs
- Timestamp:
- 12/16/13 16:11:31 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.DataAnalysis.Symbolic/3.3/ConsecutiveSamplesEvaluator.cs
r10178 r10230 47 47 private const string MaximumIterationsParameterName = "Maximum Iterations"; 48 48 49 50 49 #region parameter properties 51 50 public ILookupParameter<IDataAnalysisProblemData> ProblemDataParameter { … … 59 58 } 60 59 public ILookupParameter<IntRange> FitnessCalculationPartitionParameter { 61 get { return (I ValueLookupParameter<IntRange>)Parameters[FitnessCalculationPartitionParameterName]; }60 get { return (ILookupParameter<IntRange>)Parameters[FitnessCalculationPartitionParameterName]; } 62 61 } 63 62 public ILookupParameter<IntRange> FixedSamplesPartitionParameter { … … 128 127 var fixedSamples = FixedSamplesPartitionParameter.ActualValue; 129 128 130 //create fixed rows enumerable 131 var rows = Enumerable.Range(fixedSamples.Start, fixedSamples.Size); 132 //create consecutive rows enumerable 133 if (ConsecutiveSamples > 0) { 134 var dataMigrationInterval = DataMigrationIntervalParameter.ActualValue.Value; 135 var islandIndex = IslandIndexParameter.ActualValue.Value; 136 var generation = IterationsParameter.ActualValue.Value; 137 var iteration = islandIndex + (generation / dataMigrationInterval); 138 var consecutiveRows = GenerateRows(samples, fixedSamples, ConsecutiveSamples, Overlap, iteration); 139 rows = rows.Concat(consecutiveRows); 129 var dataMigrationInterval = DataMigrationIntervalParameter.ActualValue.Value; 130 var generationValue = IterationsParameter.ActualValue; 131 var generation = generationValue == null ? 0 : generationValue.Value; 132 133 //calculat new rows for evaluation 134 if (generation % dataMigrationInterval == 0) { 135 //create fixed rows enumerable 136 var rows = Enumerable.Range(fixedSamples.Start, fixedSamples.Size); 137 //create consecutive rows enumerable 138 if (ConsecutiveSamples > 0) { 139 var islandIndex = IslandIndexParameter.ActualValue.Value; 140 var iteration = islandIndex + (generation / dataMigrationInterval); 141 var consecutiveRows = GenerateRows(samples, fixedSamples, ConsecutiveSamples, Overlap, iteration); 142 rows = rows.Concat(consecutiveRows); 143 } 144 //filter out test rows 145 rows = rows.Where(r => r < problemData.TestPartition.Start || r > problemData.TestPartition.End); 146 147 //TODO change to lookup parameter 148 ExecutionContext.Scope.Variables.Remove("Rows"); 149 ExecutionContext.Scope.Variables.Add(new HeuristicLab.Core.Variable("Rows", new EnumerableItem<int>(rows))); 140 150 } 141 //filter out test rows142 rows = rows.Where(r => r < problemData.TestPartition.Start || r > problemData.TestPartition.End);143 151 144 //execution context is created manually to be able to clear the rows parameter easily145 152 var executionContext = new ExecutionContext(ExecutionContext, evaluator, ExecutionContext.Scope); 146 147 //TODO change to lookup parameter148 executionContext.Scope.Variables.Remove("Rows");149 executionContext.Scope.Variables.Add(new HeuristicLab.Core.Variable("Rows", new EnumerableItem<int>(rows)));150 153 var successor = evaluator.Execute(executionContext, this.CancellationToken); 151 154 return new OperationCollection(successor, base.Apply());
Note: See TracChangeset
for help on using the changeset viewer.