using System.Collections.Generic; using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.Problems.MetaOptimization { [StorableClass] public class NullValueConfiguration : ValueConfiguration { public NullValueConfiguration() : base() { ActualValue = new ConstrainedValue(null, null, null, true); IsOptimizable = false; Name = "NullValueConfiguration"; } [StorableConstructor] protected NullValueConfiguration(bool deserializing) : base(deserializing) { } protected NullValueConfiguration(NullValueConfiguration original, Cloner cloner) : base(original, cloner) { } public override IDeepCloneable Clone(Cloner cloner) { return new NullValueConfiguration(this, cloner); } public override string ToString() { return "null"; } public override void Randomize(IRandom random) { } public override void Mutate(IRandom random, MutateDelegate mutate, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator) { } public override void Cross(IRandom random, IOptimizable other, CrossDelegate cross, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover) { } public override double CalculateSimilarity(IOptimizable optimizable) { return 1.0; } public override string ParameterInfoString { get { return "null"; } } public override void CollectOptimizedParameterNames(List parameterNames, string prefix) { } public override List GetAllOptimizables() { return new List(); } } }