private LocalSearchImprovementOperator(LocalSearchImprovementOperator original, Cloner cloner) : base(original, cloner) { this.loop = cloner.Clone(original.loop); this.qualityAnalyzer = cloner.Clone(original.qualityAnalyzer); this.problem = cloner.Clone(original.problem); RegisterEventHandlers(); }
private SimulatedAnnealingImprovementOperator(SimulatedAnnealingImprovementOperator original, Cloner cloner) : base(original, cloner) { this.problem = cloner.Clone(original.problem); this.loop = cloner.Clone(original.loop); this.qualityAnalyzer = cloner.Clone(original.qualityAnalyzer); RegisterEventHandlers(); }
public void Parameterize(IParameter qualityParameter, ISingleObjectiveHeuristicOptimizationProblem problem) { ComparisonValueParameter.ActualName = qualityParameter.Name; if (problem == null) { return; } var maximizationParameter = (IValueParameter <BoolValue>)problem.MaximizationParameter; if (maximizationParameter != null) { bool maximization = maximizationParameter.Value.Value; ComparisonType = maximization ? ComparisonType.Less : ComparisonType.Greater; Threshold.Value = maximization ? double.MaxValue : double.MinValue; } }