Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/23/20 17:39:40 (4 years ago)
Author:
abeham
Message:

#2521:

  • fixed bug in EngineAlgorithm in Problem setter
  • Added storable type to IEncodedProblem
  • fixed some bugs and tests
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.LinearAssignment/3.3/LinearAssignmentProblem.cs

    r17695 r17696  
    2525using System.Threading;
    2626using HEAL.Attic;
    27 using HeuristicLab.Analysis;
    2827using HeuristicLab.Common;
    2928using HeuristicLab.Core;
     
    3130using HeuristicLab.Encodings.PermutationEncoding;
    3231using HeuristicLab.Optimization;
    33 using HeuristicLab.Optimization.Operators;
    3432using HeuristicLab.Parameters;
    35 using HeuristicLab.PluginInfrastructure;
    3633
    3734namespace HeuristicLab.Problems.LinearAssignment {
     
    119116      Costs[2, 0] = 5; Costs[2, 1] = 5; Costs[2, 2] = 1;
    120117
    121       InitializeOperators();
    122       Parameterize();
     118      Operators.RemoveAll(x => x is IMoveOperator);
    123119      AttachEventHandlers();
    124120    }
     
    194190
    195191    #region Events
    196     protected override void OnOperatorsChanged() {
    197       base.OnOperatorsChanged();
    198       Parameterize();
    199     }
    200192    private void Costs_RowsChanged(object sender, EventArgs e) {
    201193      if (Costs.Rows != Costs.Columns) {
    202194        ((IStringConvertibleMatrix)Costs).Columns = Costs.Rows;
    203         Parameterize();
     195        Dimension = Costs.Rows;
    204196      }
    205197    }
     
    207199      if (Costs.Rows != Costs.Columns) {
    208200        ((IStringConvertibleMatrix)Costs).Rows = Costs.Columns;
    209         Parameterize();
     201        Dimension = Costs.Rows;
    210202      }
    211203    }
    212204    private void Costs_Reset(object sender, EventArgs e) {
    213       Parameterize();
    214     }
    215     private void SolutionCreator_PermutationParameter_ActualNameChanged(object sender, EventArgs e) {
    216       Parameterize();
     205      Dimension = Costs.Rows;
    217206    }
    218207    #endregion
     
    229218      Costs.Reset += new EventHandler(Costs_Reset);
    230219    }
    231 
    232     private void InitializeOperators() {
    233       Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>());
    234       Operators.RemoveAll(x => x is IMoveOperator);
    235 
    236       Operators.Add(new HammingSimilarityCalculator());
    237       Operators.Add(new QualitySimilarityCalculator());
    238       Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType<ISolutionSimilarityCalculator>()));
    239     }
    240 
    241     private void Parameterize() {
    242       if (Costs.Rows != Dimension) Dimension = Costs.Rows;
    243       foreach (var similarityCalculator in Operators.OfType<ISolutionSimilarityCalculator>()) {
    244         similarityCalculator.SolutionVariableName = Encoding.Name;
    245         similarityCalculator.QualityVariableName = Evaluator.QualityParameter.ActualName;
    246       }
    247     }
    248220    #endregion
    249221  }
Note: See TracChangeset for help on using the changeset viewer.