- Timestamp:
- 11/27/14 20:02:35 (9 years ago)
- Location:
- branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/MultiObjectiveAnalyzer.cs
r11559 r11598 50 50 var definition = ProblemDefinitionParameter.ActualValue; 51 51 if (definition == null) throw new InvalidOperationException("Problem definition is null."); 52 var config = EncodingParameter.ActualValue;52 var encoding = EncodingParameter.ActualValue; 53 53 var results = ResultsParameter.ActualValue; 54 54 … … 57 57 scopes = scopes.Select(x => (IEnumerable<IScope>)x.SubScopes).Aggregate((a, b) => a.Concat(b)); 58 58 59 var vectors = scopes.Select(scope => Helper.Extract(scope, config)).ToArray();60 definition.Analyze( vectors, QualitiesParameter.ActualValue.Select(x => x.ToArray()).ToArray(), results);59 var individuals = scopes.Select(encoding.CreateIndividual).ToArray(); 60 definition.Analyze(individuals, QualitiesParameter.ActualValue.Select(x => x.ToArray()).ToArray(), results); 61 61 return base.Apply(); 62 62 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/MultiObjectiveEvaluator.cs
r11559 r11598 68 68 var definition = ProblemDefinitionParameter.ActualValue; 69 69 if (definition == null) throw new InvalidOperationException("Problem definition is null."); 70 var config = EncodingParameter.ActualValue;71 var vector = Helper.Extract(ExecutionContext.Scope, config);72 QualitiesParameter.ActualValue = new DoubleArray(definition.Evaluate(random, vector));70 var encoding = EncodingParameter.ActualValue; 71 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 72 QualitiesParameter.ActualValue = new DoubleArray(definition.Evaluate(random, individual)); 73 73 return base.Apply(); 74 74 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveAnalyzer.cs
r11559 r11598 50 50 var definition = ProblemDefinitionParameter.ActualValue; 51 51 if (definition == null) throw new InvalidOperationException("Problem definition is null"); 52 var config = EncodingParameter.ActualValue;52 var encoding = EncodingParameter.ActualValue; 53 53 var results = ResultsParameter.ActualValue; 54 54 … … 57 57 scopes = scopes.Select(x => (IEnumerable<IScope>)x.SubScopes).Aggregate((a, b) => a.Concat(b)); 58 58 59 var vectors = scopes.Select(scope => Helper.Extract(scope, config)).ToArray();60 definition.Analyze( vectors, QualityParameter.ActualValue.Select(x => x.Value).ToArray(), results);59 var individuals = scopes.Select(encoding.CreateIndividual).ToArray(); 60 definition.Analyze(individuals, QualityParameter.ActualValue.Select(x => x.Value).ToArray(), results); 61 61 return base.Apply(); 62 62 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveEvaluator.cs
r11559 r11598 68 68 var definition = ProblemDefinitionParameter.ActualValue; 69 69 if (definition == null) throw new InvalidOperationException("Problem definition is null."); 70 var config = EncodingParameter.ActualValue;71 var vector = Helper.Extract(ExecutionContext.Scope, config);72 QualityParameter.ActualValue = new DoubleValue(definition.Evaluate(random, vector));70 var encoding = EncodingParameter.ActualValue; 71 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 72 QualityParameter.ActualValue = new DoubleValue(definition.Evaluate(random, individual)); 73 73 return base.Apply(); 74 74 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveImprover.cs
r11559 r11598 75 75 var maxAttempts = ImprovementAttemptsParameter.ActualValue.Value; 76 76 var sampleSize = SampleSizeParameter.ActualValue.Value; 77 var vector = Helper.Extract(ExecutionContext.Scope, encoding);78 var quality = QualityParameter.ActualValue == null ? definition.Evaluate(random, vector) : QualityParameter.ActualValue.Value;77 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 78 var quality = QualityParameter.ActualValue == null ? definition.Evaluate(random, individual) : QualityParameter.ActualValue.Value; 79 79 80 80 var count = 0; … … 82 82 Individual best = null; 83 83 var bestQuality = quality; 84 foreach (var neighbor in definition.GetNeighbors(random, vector).Take(sampleSize)) {84 foreach (var neighbor in definition.GetNeighbors(random, individual).Take(sampleSize)) { 85 85 var q = definition.Evaluate(random, neighbor); 86 86 count++; … … 90 90 } 91 91 if (best == null) break; 92 vector= best;92 individual = best; 93 93 quality = bestQuality; 94 94 } 95 95 96 96 LocalEvaluatedSolutionsParameter.ActualValue = new IntValue(count); 97 Helper.Write(ExecutionContext.Scope, vector);97 individual.Copy(ExecutionContext.Scope); 98 98 return base.Apply(); 99 99 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveMoveEvaluator.cs
r11559 r11598 73 73 var definition = ProblemDefinitionParameter.ActualValue; 74 74 if (definition == null) throw new InvalidOperationException("Problem definition is null."); 75 var config = EncodingParameter.ActualValue;76 var vector = Helper.Extract(ExecutionContext.Scope, config);77 MoveQualityParameter.ActualValue = new DoubleValue(definition.Evaluate(random, vector));75 var encoding = EncodingParameter.ActualValue; 76 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 77 MoveQualityParameter.ActualValue = new DoubleValue(definition.Evaluate(random, individual)); 78 78 return base.InstrumentedApply(); 79 79 } -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveMoveGenerator.cs
r11559 r11598 73 73 var sampleSize = SampleSizeParameter.ActualValue.Value; 74 74 var encoding = EncodingParameter.ActualValue; 75 var vector = Helper.Extract(ExecutionContext.Scope, encoding);76 var nbhood = definition.GetNeighbors(random, vector).Take(sampleSize).ToList();75 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 76 var nbhood = definition.GetNeighbors(random, individual).Take(sampleSize).ToList(); 77 77 78 78 var moveScopes = new Scope[nbhood.Count]; 79 79 for (int i = 0; i < moveScopes.Length; i++) { 80 80 moveScopes[i] = new Scope(i.ToString(CultureInfo.InvariantCulture.NumberFormat)); 81 Helper.Write(moveScopes[i], nbhood[i]);81 nbhood[i].Copy(moveScopes[i]); 82 82 } 83 83 ExecutionContext.Scope.SubScopes.AddRange(moveScopes); -
branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/SingleObjectiveMoveMaker.cs
r11559 r11598 62 62 63 63 var encoding = EncodingParameter.ActualValue; 64 Helper.Write(ExecutionContext.Scope.Parent, Helper.Extract(ExecutionContext.Scope, encoding)); 64 var individual = encoding.CreateIndividual(ExecutionContext.Scope); 65 individual.Copy(ExecutionContext.Scope.Parent); 65 66 66 67 if (QualityParameter.ActualValue == null) QualityParameter.ActualValue = new DoubleValue(MoveQualityParameter.ActualValue.Value);
Note: See TracChangeset
for help on using the changeset viewer.