Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/30/15 15:12:34 (8 years ago)
Author:
mkommend
Message:

#2521: Adapted type discovery and type selector to allow the creation of generic programmable problems.

File:
1 edited

Legend:

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

    r13390 r13422  
    3434  [Creatable(CreatableAttribute.Categories.Problems, Priority = 120)]
    3535  [StorableClass]
    36   public abstract class MultiObjectiveProgrammableProblem<TEncoding, TSolution> : MultiObjectiveProblem<TEncoding, TSolution>, IProgrammableItem, IProgrammableProblem
     36  public class MultiObjectiveProgrammableProblem<TEncoding, TSolution> : MultiObjectiveProblem<TEncoding, TSolution>, IProgrammableItem, IProgrammableProblem
    3737    where TEncoding : class, IEncoding<TSolution>
    3838    where TSolution : class, ISolution {
     
    6666      RegisterEvents();
    6767    }
     68
     69    public override IDeepCloneable Clone(Cloner cloner) {
     70      return new MultiObjectiveProgrammableProblem<TEncoding, TSolution>(this, cloner);
     71    }
     72
    6873    public MultiObjectiveProgrammableProblem()
    6974      : base() {
     
    7176        new MultiObjectiveProblemDefinitionScript<TEncoding, TSolution>() { Name = Name }));
    7277      ProblemScript.Encoding = (TEncoding)Encoding.Clone();
     78
     79      var codeTemplate = ScriptTemplates.MultiObjectiveProblem_Template;
     80      codeTemplate = codeTemplate.Replace(ENCODING_NAMESPACE, typeof(TEncoding).Namespace);
     81      codeTemplate = codeTemplate.Replace(ENCODING_CLASS, typeof(TEncoding).Name);
     82      codeTemplate = codeTemplate.Replace(SOLUTION_CLASS, typeof(TSolution).Name);
     83      ProblemScript.Code = codeTemplate;
     84
    7385      RegisterEvents();
    7486    }
Note: See TracChangeset for help on using the changeset viewer.