Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/23/15 16:14:57 (8 years ago)
Author:
mkommend
Message:

#2521: Rectored problems and encodings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs

    r13336 r13339  
    3030namespace HeuristicLab.Optimization {
    3131  [StorableClass]
    32   public abstract class Problem<TSolution, TEvaluator> : HeuristicOptimizationProblem<TEvaluator, ISolutionCreator<TSolution>>, IProblemDefinition, IStorableContent
     32  public abstract class Problem<TEncoding, TSolution, TEvaluator> : HeuristicOptimizationProblem<TEvaluator, ISolutionCreator<TSolution>>, IProblemDefinition<TEncoding, TSolution>, IStorableContent
     33    where TEncoding : class, IEncoding<TSolution>
    3334    where TSolution : class, ISolution
    3435    where TEvaluator : class, IEvaluator {
     
    3637    public string Filename { get; set; }
    3738
    38     protected IValueParameter<IEncoding<TSolution>> EncodingParameter {
    39       get { return (IValueParameter<IEncoding<TSolution>>)Parameters["Encoding"]; }
     39    protected IValueParameter<TEncoding> EncodingParameter {
     40      get { return (IValueParameter<TEncoding>)Parameters["Encoding"]; }
    4041    }
    4142
    42     public IEncoding<TSolution> Encoding {
     43    public TEncoding Encoding {
    4344      get { return EncodingParameter.Value; }
    4445      protected set {
     
    6162    protected Problem()
    6263      : base() {
    63       Parameters.Add(new ValueParameter<IEncoding<TSolution>>("Encoding", "Describes the configuration of the encoding, what the variables are called, what type they are and their bounds if any."));
    64       if (Encoding != null) Parameterize();
     64      Parameters.Add(new ValueParameter<TEncoding>("Encoding", "Describes the configuration of the encoding, what the variables are called, what type they are and their bounds if any."));
     65      if (Encoding != null) {
     66        SolutionCreator = Encoding.SolutionCreator;
     67        Parameterize();
     68      }
    6569      RegisterEvents();
    6670    }
    6771
    68     protected Problem(Problem<TSolution, TEvaluator> original, Cloner cloner)
     72    protected Problem(Problem<TEncoding, TSolution, TEvaluator> original, Cloner cloner)
    6973      : base(original, cloner) {
    7074      RegisterEvents();
Note: See TracChangeset for help on using the changeset viewer.