Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/23/15 21:38:35 (8 years ago)
Author:
mkommend
Message:

#2521: Adapted multi-objective programmable problem.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/MultiObjectiveProblemDefinitionScript.cs

    r13218 r13350  
    2828  [Item("Multi-objective Problem Definition Script", "Script that defines the parameter vector and evaluates the solution for a programmable problem.")]
    2929  [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 {
    3133    public string Filename { get; set; }
    3234
    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; }
    3537    }
    3638
    3739    [StorableConstructor]
    3840    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) { }
    4143
    4244    public override IDeepCloneable Clone(Cloner cloner) {
    43       return new MultiObjectiveProblemDefinitionScript(this, cloner);
     45      return new MultiObjectiveProblemDefinitionScript<TEncoding, TSolution>(this, cloner);
    4446    }
    4547
    46     bool[] IMultiObjectiveProblemDefinition.Maximization {
     48    bool[] IMultiObjectiveProblemDefinition<TEncoding, TSolution>.Maximization {
    4749      get { return CompiledProblemDefinition.Maximization; }
    4850    }
    4951
    50     double[] IMultiObjectiveProblemDefinition.Evaluate(Individual individual, IRandom random) {
     52    double[] IMultiObjectiveProblemDefinition<TEncoding, TSolution>.Evaluate(TSolution individual, IRandom random) {
    5153      return CompiledProblemDefinition.Evaluate(individual, random);
    5254    }
    5355
    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) {
    5557      CompiledProblemDefinition.Analyze(individuals, qualities, results, random);
    5658    }
Note: See TracChangeset for help on using the changeset viewer.