Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 17:43:17 (13 years ago)
Author:
mkommend
Message:

Refactored Algorithms.* and fixed BoolValue (ticket #922).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs

    r4437 r4669  
    253253    [StorableConstructor]
    254254    private IslandOffspringSelectionGeneticAlgorithm(bool deserializing) : base(deserializing) { }
     255    [StorableHook(HookType.AfterDeserialization)]
     256    private void AfterDeserialization() {
     257      Initialize();
     258    }
     259    private IslandOffspringSelectionGeneticAlgorithm(IslandOffspringSelectionGeneticAlgorithm original, Cloner cloner)
     260      : base(original, cloner) {
     261      islandQualityAnalyzer = cloner.Clone(original.islandQualityAnalyzer);
     262      qualityAnalyzer = cloner.Clone(original.qualityAnalyzer);
     263      islandSelectionPressureAnalyzer = cloner.Clone(original.islandSelectionPressureAnalyzer);
     264      selectionPressureAnalyzer = cloner.Clone(original.selectionPressureAnalyzer);
     265      Initialize();
     266    }
     267    public override IDeepCloneable Clone(Cloner cloner) {
     268      return new IslandOffspringSelectionGeneticAlgorithm(this, cloner);
     269    }
    255270    public IslandOffspringSelectionGeneticAlgorithm()
    256271      : base() {
     
    357372      Initialize();
    358373    }
    359 
    360     public override IDeepCloneable Clone(Cloner cloner) {
    361       IslandOffspringSelectionGeneticAlgorithm clone = (IslandOffspringSelectionGeneticAlgorithm)base.Clone(cloner);
    362       clone.islandQualityAnalyzer = (BestAverageWorstQualityAnalyzer)cloner.Clone(islandQualityAnalyzer);
    363       clone.qualityAnalyzer = (BestAverageWorstQualityAnalyzer)cloner.Clone(qualityAnalyzer);
    364       clone.islandSelectionPressureAnalyzer = (ValueAnalyzer)cloner.Clone(islandSelectionPressureAnalyzer);
    365       clone.selectionPressureAnalyzer = (ValueAnalyzer)cloner.Clone(selectionPressureAnalyzer);
    366       clone.Initialize();
    367       return clone;
    368     }
    369 
    370374    public override void Prepare() {
    371375      if (Problem != null) base.Prepare();
     
    454458
    455459    #region Helpers
    456     [StorableHook(HookType.AfterDeserialization)]
    457460    private void Initialize() {
    458461      PopulationSizeParameter.ValueChanged += new EventHandler(PopulationSizeParameter_ValueChanged);
Note: See TracChangeset for help on using the changeset viewer.