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();
 }
Esempio n. 2
0
 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;
            }
        }
 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();
 }