Changeset 16751 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProblemDefinitionScript.cs
- Timestamp:
- 04/03/19 15:37:38 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProblemDefinitionScript.cs
r16723 r16751 21 21 22 22 using System.Collections.Generic; 23 using HEAL.Attic; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; 25 26 using HeuristicLab.Optimization; 26 using HEAL.Attic;27 27 28 28 namespace HeuristicLab.Problems.Programmable { 29 29 [Item("Single-objective Problem Definition Script", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")] 30 30 [StorableType("D0B2A649-EDDE-4A6E-A3B5-F40F5FD1B2C0")] 31 public sealed class SingleObjectiveProblemDefinitionScript<TEncoding, T Solution> : ProblemDefinitionScript<TEncoding, TSolution>, ISingleObjectiveProblemDefinition<TEncoding, TSolution>, IStorableContent32 where TEncoding : class, IEncoding<T Solution>33 where T Solution : class, ISolution {31 public sealed class SingleObjectiveProblemDefinitionScript<TEncoding, TEncodedSolution> : ProblemDefinitionScript<TEncoding, TEncodedSolution>, ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>, IStorableContent 32 where TEncoding : class, IEncoding<TEncodedSolution> 33 where TEncodedSolution : class, IEncodedSolution { 34 34 public string Filename { get; set; } 35 35 36 private new ISingleObjectiveProblemDefinition<TEncoding, T Solution> CompiledProblemDefinition {37 get { return (ISingleObjectiveProblemDefinition<TEncoding, T Solution>)base.CompiledProblemDefinition; }36 private new ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution> CompiledProblemDefinition { 37 get { return (ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>)base.CompiledProblemDefinition; } 38 38 } 39 39 40 40 [StorableConstructor] 41 41 private SingleObjectiveProblemDefinitionScript(StorableConstructorFlag _) : base(_) { } 42 private SingleObjectiveProblemDefinitionScript(SingleObjectiveProblemDefinitionScript<TEncoding, T Solution> original, Cloner cloner) : base(original, cloner) { }42 private SingleObjectiveProblemDefinitionScript(SingleObjectiveProblemDefinitionScript<TEncoding, TEncodedSolution> original, Cloner cloner) : base(original, cloner) { } 43 43 public SingleObjectiveProblemDefinitionScript(string codeTemplate) : base(codeTemplate) { } 44 44 public SingleObjectiveProblemDefinitionScript() { } 45 45 46 46 public override IDeepCloneable Clone(Cloner cloner) { 47 return new SingleObjectiveProblemDefinitionScript<TEncoding, T Solution>(this, cloner);47 return new SingleObjectiveProblemDefinitionScript<TEncoding, TEncodedSolution>(this, cloner); 48 48 } 49 49 50 bool ISingleObjectiveProblemDefinition<TEncoding, T Solution>.Maximization {50 bool ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.Maximization { 51 51 get { return CompiledProblemDefinition.Maximization; } 52 52 } 53 53 54 double ISingleObjectiveProblemDefinition<TEncoding, T Solution>.Evaluate(TSolution individual, IRandom random) {54 double ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.Evaluate(TEncodedSolution individual, IRandom random) { 55 55 return CompiledProblemDefinition.Evaluate(individual, random); 56 56 } 57 57 58 void ISingleObjectiveProblemDefinition<TEncoding, T Solution>.Analyze(TSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {58 void ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.Analyze(TEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) { 59 59 CompiledProblemDefinition.Analyze(individuals, qualities, results, random); 60 60 } 61 IEnumerable<T Solution> ISingleObjectiveProblemDefinition<TEncoding, TSolution>.GetNeighbors(TSolution individual, IRandom random) {61 IEnumerable<TEncodedSolution> ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.GetNeighbors(TEncodedSolution individual, IRandom random) { 62 62 return CompiledProblemDefinition.GetNeighbors(individual, random); 63 63 } 64 64 65 bool ISingleObjectiveProblemDefinition<TEncoding, T Solution>.IsBetter(double quality, double bestQuality) {65 bool ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.IsBetter(double quality, double bestQuality) { 66 66 return CompiledProblemDefinition.IsBetter(quality, bestQuality); 67 67 }
Note: See TracChangeset
for help on using the changeset viewer.