using HeuristicLab.Common; using HeuristicLab.Core; using HEAL.Attic; namespace HeuristicLab.Problems.MetaOptimization { // todo: item name/descr... [StorableType("71AA1D18-73D0-4ADA-A0EF-DB94ED6A94D3")] public class ParameterConfigurationAllPositionsManipulator : ParameterConfigurationManipulator { public ParameterConfigurationAllPositionsManipulator() { } [StorableConstructor] protected ParameterConfigurationAllPositionsManipulator(StorableConstructorFlag _) : base(_) { } protected ParameterConfigurationAllPositionsManipulator(ParameterConfigurationAllPositionsManipulator original, Cloner cloner) : base(original, cloner) { } public override IDeepCloneable Clone(Cloner cloner) { return new ParameterConfigurationAllPositionsManipulator(this, cloner); } public sealed override IOperation Apply() { Apply(RandomParameter.ActualValue, ParameterConfigurationTreeParameter.ActualValue, IntValueManipulatorParameter.ActualValue, DoubleValueManipulatorParameter.ActualValue); return base.Apply(); } public static new void Apply(IRandom random, IValueConfiguration configuration, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator) { configuration.Mutate(random, Mutate, intValueManipulator, doubleValueManipulator); } } }