Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/20/11 13:54:57 (12 years ago)
Author:
spimming
Message:

#1680:

  • merged changes from trunk into branch

' removed pre-build event for multiple app.configs

Location:
branches/HeuristicLab.Hive.Azure
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive.Azure

  • branches/HeuristicLab.Hive.Azure/HeuristicLab.Problems.QuadraticAssignment.Algorithms/3.3/RobustTabooSearch.cs

    r6953 r7215  
    5151
    5252    #region Parameter Properties
    53     public FixedValueParameter<MultiAnalyzer> AnalyzerParameter {
    54       get { return (FixedValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
     53    public IValueParameter<MultiAnalyzer> AnalyzerParameter {
     54      get { return (IValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
    5555    }
    5656    public FixedValueParameter<IntValue> SeedParameter {
     
    7777    public FixedValueParameter<BoolValue> UseNewTabuTenureAdaptionSchemeParameter {
    7878      get { return (FixedValueParameter<BoolValue>)Parameters["UseNewTabuTenureAdaptionScheme"]; }
     79    }
     80    public FixedValueParameter<BoolValue> TerminateOnOptimalSolutionParameter {
     81      get { return (FixedValueParameter<BoolValue>)Parameters["TerminateOnOptimalSolution"]; }
    7982    }
    8083    #endregion
     
    112115      get { return UseNewTabuTenureAdaptionSchemeParameter.Value.Value; }
    113116      set { UseNewTabuTenureAdaptionSchemeParameter.Value.Value = value; }
     117    }
     118    public bool TerminateOnOptimalSolution {
     119      get { return TerminateOnOptimalSolutionParameter.Value.Value; }
     120      set { TerminateOnOptimalSolutionParameter.Value.Value = value; }
    114121    }
    115122    #endregion
     
    132139    }
    133140    public RobustTabooSearch() {
    134       Parameters.Add(new FixedValueParameter<MultiAnalyzer>("Analyzer", "The analyzers that are applied after each iteration.", new MultiAnalyzer()));
     141      Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The analyzers that are applied after each iteration.", new MultiAnalyzer()));
    135142      Parameters.Add(new FixedValueParameter<IntValue>("Seed", "The seed value of the random number generator.", new IntValue(0)));
    136143      Parameters.Add(new FixedValueParameter<BoolValue>("SetSeedRandomly", "True whether the seed should be set randomly for each run, false if it should be fixed.", new BoolValue(true)));
     
    140147      Parameters.Add(new FixedValueParameter<BoolValue>("UseAlternativeAspiration", "True if the alternative aspiration condition should be used that takes moves that have not been made for some time above others.", new BoolValue(false)));
    141148      Parameters.Add(new FixedValueParameter<IntValue>("AlternativeAspirationTenure", "The time t that a move will be remembered for the alternative aspiration condition.", new IntValue(int.MaxValue)));
    142       Parameters.Add(new FixedValueParameter<BoolValue>("TerminateOnOptimalSolution", "True when the algorithm should stop if it reached a quality equal or smaller to the BestKnownQuality.", new BoolValue(true)));
     149      Parameters.Add(new FixedValueParameter<BoolValue>("TerminateOnOptimalSolution", "True when the algorithm should stop if it reached a quality equal or smaller to the BestKnownQuality.", new BoolValue(false)));
    143150      Parameters.Add(new FixedValueParameter<BoolValue>("UseNewTabuTenureAdaptionScheme", @"In an updated version of his implementation, Eric Taillard introduced a different way to change the tabu tenure.
    144151Instead of setting it uniformly between min and max, it will be set between 0 and max according to a right-skewed distribution.
    145152Set this option to false if you want to optimize using the earlier 1991 version, and set to true if you want to optimize using the newer version.
    146153Please note that the MinimumTabuTenure parameter has no effect in the new version.", new BoolValue(true)));
     154
     155      TerminateOnOptimalSolutionParameter.Hidden = true;
    147156
    148157      qualityAnalyzer = new BestAverageWorstQualityAnalyzer();
     
    298307    [StorableHook(HookType.AfterDeserialization)]
    299308    private void AfterDeserialization() {
     309      // BackwardsCompatibility3.3
     310      #region Backwards compatible code, remove with 3.4
     311      if (Parameters["Analyzer"] is FixedValueParameter<MultiAnalyzer>) {
     312        MultiAnalyzer analyzer = AnalyzerParameter.Value;
     313        Parameters.Remove("Analyzer");
     314        Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The analyzers that are applied after each iteration.", analyzer));
     315      }
     316      #endregion
    300317      RegisterEventHandlers();
    301318    }
     
    365382      if (Problem != null) {
    366383        foreach (IAnalyzer analyzer in ((IProblem)Problem).Operators.OfType<IAnalyzer>()) {
    367           AnalyzerParameter.Value.Operators.Add(analyzer);
     384          AnalyzerParameter.Value.Operators.Add(analyzer, analyzer.EnabledByDefault);
    368385          if (!(analyzer is BestQAPSolutionAnalyzer))
    369386            AnalyzerParameter.Value.Operators.SetItemCheckedState(analyzer, false);
    370387        }
    371388      }
    372       AnalyzerParameter.Value.Operators.Add(qualityAnalyzer);
     389      AnalyzerParameter.Value.Operators.Add(qualityAnalyzer, qualityAnalyzer.EnabledByDefault);
    373390    }
    374391
Note: See TracChangeset for help on using the changeset viewer.