Changeset 17111 for stable/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiEncodingCrossover.cs
- Timestamp:
- 07/08/19 15:37:35 (5 years ago)
- Location:
- stable
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk merged: 16782-16783
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Optimization
- Property svn:mergeinfo changed
/trunk/HeuristicLab.Optimization merged: 16782
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiEncodingCrossover.cs
r17097 r17111 20 20 #endregion 21 21 22 using HEAL.Attic; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 using H EAL.Attic;25 using HeuristicLab.Parameters; 25 26 26 27 namespace HeuristicLab.Optimization { 27 28 [Item("MultiEncoding Crossover", "Applies different crossovers to cross a multi-encoding.")] 28 29 [StorableType("BB0A04E2-899D-460C-82A2-5E4CEEDE8996")] 29 public sealed class MultiEncodingCrossover : MultiEncodingOperator<ICrossover>, ICrossover { 30 public sealed class MultiEncodingCrossover : MultiEncodingOperator<ICrossover>, ICrossover, IStochasticOperator { 31 public ILookupParameter<IRandom> RandomParameter { 32 get { return (ILookupParameter<IRandom>)Parameters["Random"]; } 33 } 34 35 public override string OperatorPrefix => "Crossover"; 36 30 37 [StorableConstructor] 31 38 private MultiEncodingCrossover(StorableConstructorFlag _) : base(_) { } 32 39 private MultiEncodingCrossover(MultiEncodingCrossover original, Cloner cloner) : base(original, cloner) { } 33 public MultiEncodingCrossover() { } 40 public MultiEncodingCrossover() { 41 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator used by the individual operators.")); 42 } 34 43 35 44 public override IDeepCloneable Clone(Cloner cloner) { return new MultiEncodingCrossover(this, cloner); } 45 46 [StorableHook(HookType.AfterDeserialization)] 47 private void AfterDeserialization() { 48 if (!Parameters.ContainsKey("Random")) { 49 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator used by the individual operators.")); 50 } 51 } 36 52 } 37 53 }
Note: See TracChangeset
for help on using the changeset viewer.