Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/15/15 15:16:24 (8 years ago)
Author:
mkommend
Message:

#2521: Refactored problem base classes and adapted scheduling encoding, scheduling problem and unit tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/ScheduleCreator.cs

    r13437 r13469  
    3030  [Item("ScheduleCreator", "Represents the generalized form of creators for Scheduling Problems.")]
    3131  [StorableClass]
    32   public abstract class ScheduleCreator : InstrumentedOperator, IScheduleCreator {
     32  public abstract class ScheduleCreator<TSchedule> : InstrumentedOperator, IScheduleCreator<TSchedule>
     33  where TSchedule : class,ISchedule {
    3334
    34     public ILookupParameter<ISchedule> ScheduleParameter {
    35       get { return (ILookupParameter<ISchedule>)Parameters["Schedule"]; }
     35    public ILookupParameter<TSchedule> ScheduleParameter {
     36      get { return (ILookupParameter<TSchedule>)Parameters["Schedule"]; }
    3637    }
    3738    public IValueLookupParameter<IntValue> JobsParameter {
     
    4445    [StorableConstructor]
    4546    protected ScheduleCreator(bool deserializing) : base(deserializing) { }
    46     protected ScheduleCreator(ScheduleCreator original, Cloner cloner) : base(original, cloner) { }
     47    protected ScheduleCreator(ScheduleCreator<TSchedule> original, Cloner cloner) : base(original, cloner) { }
    4748    public ScheduleCreator()
    4849      : base() {
    49       Parameters.Add(new LookupParameter<ISchedule>("Schedule", "The new scheduling solution candidate."));
     50      Parameters.Add(new LookupParameter<TSchedule>("Schedule", "The new scheduling solution candidate."));
    5051      Parameters.Add(new ValueLookupParameter<IntValue>("Jobs", "The number of jobs handled in this problem instance."));
    5152      Parameters.Add(new ValueLookupParameter<IntValue>("Resources", "The number of resources used in this problem instance."));
     
    5758    }
    5859
    59     protected abstract ISchedule CreateSolution();
     60    protected abstract TSchedule CreateSolution();
    6061  }
    6162}
Note: See TracChangeset for help on using the changeset viewer.