Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/19/20 15:01:59 (4 years ago)
Author:
abeham
Message:

#2521: Introduce class to make parameter change handling easier, fix bug in SingleObjectiveProblem regarding MaximizationChanged

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/SingleObjectiveProblem.cs

    r17522 r17546  
    6262        if (Maximization == value) return;
    6363        MaximizationParameter.ForceValue(new BoolValue(value, @readonly: true));
    64         OnMaximizationChanged();
    6564      }
    6665    }
     
    7473      MaximizationParameter = cloner.Clone(original.MaximizationParameter);
    7574      ParameterizeOperators();
     75      RegisterEventHandlers();
    7676    }
    7777
    7878    protected SingleObjectiveProblem() : base() {
    79 
    8079      MaximizationParameter = new ValueParameter<BoolValue>("Maximization", "Whether the problem should be maximized (True) or minimized (False).", new BoolValue(false).AsReadOnly()) { Hidden = true, ReadOnly = true };
    8180      BestKnownQualityParameter = new OptionalValueParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this problem.");
     
    9291
    9392      ParameterizeOperators();
     93      RegisterEventHandlers();
    9494    }
    9595
     
    106106
    107107      ParameterizeOperators();
     108      RegisterEventHandlers();
    108109    }
    109110
     
    111112    private void AfterDeserialization() {
    112113      ParameterizeOperators();
     114      RegisterEventHandlers();
    113115    }
    114116
     
    200202    }
    201203
     204    private void RegisterEventHandlers() {
     205      BoolValueParameterChangeHandler.Create(MaximizationParameter, OnMaximizationChanged);
     206    }
     207
    202208    #region ISingleObjectiveHeuristicOptimizationProblem Members
    203209    IParameter ISingleObjectiveHeuristicOptimizationProblem.MaximizationParameter {
Note: See TracChangeset for help on using the changeset viewer.