Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/11/12 22:57:09 (12 years ago)
Author:
abeham
Message:

#1329:

  • Moved decoders and evaluators from encoding to problem
  • Removed unnecessary state variables in operators
  • Introduced parameters in interfaces and added wiring code
  • Removed ConcreteScheduleManipulator as it does not perform any manipulation
  • Made ErrorPolicy and ForcingStrategy configurable and added views for them
  • Renamed the SchedulingEvaluationAlgorithm and also converted the AlgorithmOperator to a SingleSuccessorOperator
  • Fixed Plugin- and AssemblyFileVersion
  • Added missing license headers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Manipulators/JSMManipulator.cs

    r8603 r8887  
    2020#endregion
    2121
     22using System;
    2223using HeuristicLab.Common;
    2324using HeuristicLab.Core;
     
    2728  [Item("JSMManipulator", "An operator which manipulates a JSM representation.")]
    2829  [StorableClass]
    29   public abstract class JSMManipulator : ScheduleManipulator<JSMEncoding>, IJSMOperator {
     30  public abstract class JSMManipulator : ScheduleManipulator, IJSMOperator {
    3031    [StorableConstructor]
    3132    protected JSMManipulator(bool deserializing) : base(deserializing) { }
     
    3637    }
    3738
    38     protected abstract void Manipulate(IRandom random, JSMEncoding individual);
    39 
     39    protected abstract void Manipulate(IRandom random, IScheduleEncoding individual);
    4040
    4141    public override IOperation Apply() {
    42       JSMEncoding solution = ScheduleEncodingParameter.ActualValue;
     42      var solution = ScheduleEncodingParameter.ActualValue as JSMEncoding;
     43      if (solution == null) throw new InvalidOperationException("ScheduleEncoding was not found or is not of type JSMEncoding.");
    4344      Manipulate(RandomParameter.ActualValue, solution);
    4445      return base.Apply();
Note: See TracChangeset for help on using the changeset viewer.