Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/23/11 09:28:34 (13 years ago)
Author:
abeham
Message:

#1330

  • Adapted QAP to new problem base class structure
  • Fixed a bug in a view
  • Merged changes from Optimization plugin into branch
Location:
branches/QAP/HeuristicLab.Optimization/3.3
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/QAP/HeuristicLab.Optimization/3.3

  • branches/QAP/HeuristicLab.Optimization/3.3/SingleObjectiveHeuristicOptimizationProblem.cs

    r5809 r5811  
    4141      : base() {
    4242      Parameters.Add(new ValueParameter<BoolValue>(MaximizationParameterName, "Set to false if the problem should be minimized.", new BoolValue()));
    43       Parameters.Add(new ValueParameter<DoubleValue>(BestKnownQualityParameterName, "The quality of the best known solution of this problem.", new DoubleValue()));
     43      Parameters.Add(new OptionalValueParameter<DoubleValue>(BestKnownQualityParameterName, "The quality of the best known solution of this problem.", new DoubleValue()));
    4444    }
    4545
     
    4747      : base(evaluator, solutionCreator) {
    4848      Parameters.Add(new ValueParameter<BoolValue>(MaximizationParameterName, "Set to false if the problem should be minimized.", new BoolValue()));
    49       Parameters.Add(new ValueParameter<DoubleValue>(BestKnownQualityParameterName, "The quality of the best known solution of this problem.", new DoubleValue()));
     49      Parameters.Add(new OptionalValueParameter<DoubleValue>(BestKnownQualityParameterName, "The quality of the best known solution of this problem.", new DoubleValue()));
    5050    }
    5151
    52     public ValueParameter<BoolValue> MaximizationParameter {
    53       get { return (ValueParameter<BoolValue>)Parameters[MaximizationParameterName]; }
     52    [StorableHook(HookType.AfterDeserialization)]
     53    protected virtual void AfterDeserialization() {
     54      // BackwardsCompatibility3.3
     55      #region Backwards compatible code (remove with 3.4)
     56      if (BestKnownQualityParameter is ValueParameter<DoubleValue>) {
     57        Parameters.Remove(BestKnownQualityParameterName);
     58        Parameters.Add(new OptionalValueParameter<DoubleValue>(BestKnownQualityParameterName, "The quality of the best known solution of this problem."));
     59      }
     60      #endregion
     61    }
     62    public IValueParameter<BoolValue> MaximizationParameter {
     63      get { return (IValueParameter<BoolValue>)Parameters[MaximizationParameterName]; }
    5464    }
    5565    IParameter ISingleObjectiveHeuristicOptimizationProblem.MaximizationParameter {
     
    6171    }
    6272
    63     public ValueParameter<DoubleValue> BestKnownQualityParameter {
    64       get { return (ValueParameter<DoubleValue>)Parameters[BestKnownQualityParameterName]; }
     73    public IValueParameter<DoubleValue> BestKnownQualityParameter {
     74      get { return (IValueParameter<DoubleValue>)Parameters[BestKnownQualityParameterName]; }
    6575    }
    6676    IParameter ISingleObjectiveHeuristicOptimizationProblem.BestKnownQualityParameter {
Note: See TracChangeset for help on using the changeset viewer.