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