Free cookie consent management tool by TermsFeed Policy Generator

Changeset 14557


Ignore:
Timestamp:
01/11/17 02:18:19 (8 years ago)
Author:
abeham
Message:

#2701: minor tweaks

Location:
branches/MemPRAlgorithm/HeuristicLab.Algorithms.MemPR/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/MemPRAlgorithm/HeuristicLab.Algorithms.MemPR/3.3/Binary/BinaryMemPR.cs

    r14556 r14557  
    160160      while (evaluations < N) {
    161161        BinaryVector c = null;
    162         var xochoice = Context.Random.NextDouble();
    163         if (xochoice < 0.2)
    164           c = NPointCrossover.Apply(Context.Random, p1.Solution, p2.Solution, new IntValue(1));
    165         else if (xochoice < 0.5)
    166           c = NPointCrossover.Apply(Context.Random, p1.Solution, p2.Solution, new IntValue(2));
    167         else c = UniformCrossover.Apply(Context.Random, p1.Solution, p2.Solution);
     162        var xochoice = Context.Random.Next(3);
     163        switch (xochoice) {
     164          case 0: c = NPointCrossover.Apply(Context.Random, p1.Solution, p2.Solution, new IntValue(1)); break;
     165          case 1: c = NPointCrossover.Apply(Context.Random, p1.Solution, p2.Solution, new IntValue(2)); break;
     166          case 2: c = UniformCrossover.Apply(Context.Random, p1.Solution, p2.Solution); break;
     167        }
    168168        if (cache.Contains(c)) {
    169169          cacheHits++;
    170           if (cacheHits > 20) break;
     170          if (cacheHits > 50) break;
    171171          continue;
    172172        }
  • branches/MemPRAlgorithm/HeuristicLab.Algorithms.MemPR/3.3/MemPRAlgorithm.cs

    r14556 r14557  
    254254      offspring = Breed(token);
    255255      if (offspring != null) {
    256         if (Context.PopulationCount < MaximumPopulationSize)
    257           AdaptiveClimb(offspring, Context.LocalSearchEvaluations, token);
    258256        var replNew = Replace(offspring, token);
    259257        if (replNew) {
     
    265263      offspring = Relink(token);
    266264      if (offspring != null) {
    267         if (Context.PopulationCount < MaximumPopulationSize)
    268           AdaptiveClimb(offspring, Context.LocalSearchEvaluations, token);
    269265        if (Replace(offspring, token)) {
    270266          replaced = true;
     
    275271      offspring = Delink(token);
    276272      if (offspring != null) {
    277         if (Context.PopulationCount < MaximumPopulationSize)
    278           AdaptiveClimb(offspring, Context.LocalSearchEvaluations, token);
    279273        if (Replace(offspring, token)) {
    280274          replaced = true;
     
    285279      offspring = Sample(token);
    286280      if (offspring != null) {
    287         if (Context.PopulationCount < MaximumPopulationSize)
    288           AdaptiveClimb(offspring, Context.LocalSearchEvaluations, token);
    289281        if (Replace(offspring, token)) {
    290282          replaced = true;
     
    295287      if (!replaced && offspring != null) {
    296288        if (Context.HillclimbingSuited(offspring)) {
    297           AdaptiveClimb(offspring, Context.LocalSearchEvaluations, token);
     289          HillClimb(offspring, token, CalculateSubspace(Context.Population.Select(x => x.Solution)));
    298290          if (Replace(offspring, token)) {
    299291            Context.ByHillclimbing++;
Note: See TracChangeset for help on using the changeset viewer.