Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/26/14 13:24:20 (10 years ago)
Author:
mkommend
Message:

#2174: Implemented multi-encoding operators and adapated wiring of operators in the programmable problems.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/MultiEncodingManipulator.cs

    r11484 r11587  
    2020#endregion
    2121
    22 using System.Linq;
    2322using HeuristicLab.Common;
    2423using HeuristicLab.Core;
    25 using HeuristicLab.Operators;
    2624using HeuristicLab.Optimization;
    2725using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HeuristicLab.Problems.Programmable.Operators;
    2827
    2928namespace HeuristicLab.Problems.Programmable {
    30   [Item("MultiEncoding Manipulator", "Applies different manipulators to change a multiencoding.")]
     29  [Item("MultiEncoding Manipulator", "Applies different manipulators to change a multi-encoding.")]
    3130  [StorableClass]
    32   public class MultiEncodingManipulator : MultiOperator<IManipulator>, IManipulator {
     31  public sealed class MultiEncodingManipulator : MultiEncodingOperator<IManipulator>, IManipulator {
     32    [StorableConstructor]
     33    private MultiEncodingManipulator(bool deserializing) : base(deserializing) { }
     34    private MultiEncodingManipulator(MultiEncodingManipulator original, Cloner cloner)
     35      : base(original, cloner) { }
     36    public MultiEncodingManipulator() { }
    3337
    34     [StorableConstructor]
    35     protected MultiEncodingManipulator(bool deserializing) : base(deserializing) { }
    36     protected MultiEncodingManipulator(MultiEncodingManipulator original, Cloner cloner)
    37       : base(original, cloner) { }
    38     public MultiEncodingManipulator() {
    39     }
     38    public override IDeepCloneable Clone(Cloner cloner) { return new MultiEncodingManipulator(this, cloner); }
    4039
    41     public override IDeepCloneable Clone(Cloner cloner) {
    42       return new MultiEncodingManipulator(this, cloner);
    43     }
    44 
    45     public override IOperation InstrumentedApply() {
    46       var baseOperations = base.InstrumentedApply();
    47       return new OperationCollection(new[] { baseOperations }.Concat(Operators.Select(x => ExecutionContext.CreateOperation(x))));
    48     }
    4940  }
    5041}
Note: See TracChangeset for help on using the changeset viewer.