Changeset 13345 for branches/ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProblemDefinitionScript.cs
- Timestamp:
- 11/23/15 18:38:37 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProblemDefinitionScript.cs
r13218 r13345 29 29 [Item("Single-objective Problem Definition Script", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")] 30 30 [StorableClass] 31 public sealed class SingleObjectiveProblemDefinitionScript : ProblemDefinitionScript, ISingleObjectiveProblemDefinition, IStorableContent { 31 public class SingleObjectiveProblemDefinitionScript<TEncoding, TSolution> : ProblemDefinitionScript<TEncoding, TSolution>, ISingleObjectiveProblemDefinition<TEncoding, TSolution>, IStorableContent 32 where TEncoding : class, IEncoding<TSolution> 33 where TSolution : class, ISolution { 32 34 public string Filename { get; set; } 33 35 34 pr ivate new ISingleObjectiveProblemDefinitionCompiledProblemDefinition {35 get { return (ISingleObjectiveProblemDefinition )base.CompiledProblemDefinition; }36 protected new ISingleObjectiveProblemDefinition<TEncoding, TSolution> CompiledProblemDefinition { 37 get { return (ISingleObjectiveProblemDefinition<TEncoding, TSolution>)base.CompiledProblemDefinition; } 36 38 } 37 39 38 40 [StorableConstructor] 39 private SingleObjectiveProblemDefinitionScript(bool deserializing) : base(deserializing) { } 40 private SingleObjectiveProblemDefinitionScript(SingleObjectiveProblemDefinitionScript original, Cloner cloner) : base(original, cloner) { } 41 public SingleObjectiveProblemDefinitionScript() : base(ScriptTemplates.CompiledSingleObjectiveProblemDefinition) { } 41 protected SingleObjectiveProblemDefinitionScript(bool deserializing) : base(deserializing) { } 42 protected SingleObjectiveProblemDefinitionScript(SingleObjectiveProblemDefinitionScript<TEncoding, TSolution> original, Cloner cloner) : base(original, cloner) { } 43 public SingleObjectiveProblemDefinitionScript(string codeTemplate) : base(codeTemplate) { } 44 public SingleObjectiveProblemDefinitionScript() { } 42 45 43 46 public override IDeepCloneable Clone(Cloner cloner) { 44 return new SingleObjectiveProblemDefinitionScript (this, cloner);47 return new SingleObjectiveProblemDefinitionScript<TEncoding, TSolution>(this, cloner); 45 48 } 46 49 47 bool ISingleObjectiveProblemDefinition .Maximization {50 bool ISingleObjectiveProblemDefinition<TEncoding, TSolution>.Maximization { 48 51 get { return CompiledProblemDefinition.Maximization; } 49 52 } 50 53 51 double ISingleObjectiveProblemDefinition .Evaluate(Individualindividual, IRandom random) {54 double ISingleObjectiveProblemDefinition<TEncoding, TSolution>.Evaluate(TSolution individual, IRandom random) { 52 55 return CompiledProblemDefinition.Evaluate(individual, random); 53 56 } 54 57 55 void ISingleObjectiveProblemDefinition .Analyze(Individual[] individuals, double[] qualities, ResultCollection results, IRandom random) {58 void ISingleObjectiveProblemDefinition<TEncoding, TSolution>.Analyze(TSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) { 56 59 CompiledProblemDefinition.Analyze(individuals, qualities, results, random); 57 60 } 58 IEnumerable< Individual> ISingleObjectiveProblemDefinition.GetNeighbors(Individualindividual, IRandom random) {61 IEnumerable<TSolution> ISingleObjectiveProblemDefinition<TEncoding, TSolution>.GetNeighbors(TSolution individual, IRandom random) { 59 62 return CompiledProblemDefinition.GetNeighbors(individual, random); 60 63 }
Note: See TracChangeset
for help on using the changeset viewer.