Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/30/17 23:10:29 (6 years ago)
Author:
abeham
Message:

#1614:

  • Added LAHC and pLAHC-s
  • Changed all algorithms to update high frequency results only every second
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment.Algorithms/3.3/LocalSearch/IteratedLS.cs

    r15562 r15563  
    3333  [Creatable(CreatableAttribute.Categories.SingleSolutionAlgorithms)]
    3434  [StorableClass]
    35   public sealed class IteratedLS : ContextAlgorithm<LocalSearchContext> {
     35  public sealed class IteratedLS : StochasticAlgorithm<LocalSearchContext> {
    3636
    3737    public override bool SupportsPause {
     
    9292
    9393    protected override void Run(CancellationToken cancellationToken) {
     94      var lastUpdate = ExecutionTime;
     95
    9496      while (!StoppingCriterion()) {
    9597        var lsevaluations = 0;
     
    109111
    110112        IResult result;
    111         if (Results.TryGetValue("Iterations", out result))
    112           ((IntValue)result.Value).Value = Context.Iterations;
    113         else Results.Add(new Result("Iterations", new IntValue(Context.Iterations)));
    114         if (Results.TryGetValue("EvaluatedSolutions", out result))
    115           ((IntValue)result.Value).Value = Context.EvaluatedSolutions;
    116         else Results.Add(new Result("EvaluatedSolutions", new IntValue(Context.EvaluatedSolutions)));
     113        if (ExecutionTime - lastUpdate > TimeSpan.FromSeconds(1)) {
     114          if (Results.TryGetValue("Iterations", out result))
     115            ((IntValue)result.Value).Value = Context.Iterations;
     116          else Results.Add(new Result("Iterations", new IntValue(Context.Iterations)));
     117          if (Results.TryGetValue("EvaluatedSolutions", out result))
     118            ((IntValue)result.Value).Value = Context.EvaluatedSolutions;
     119          else Results.Add(new Result("EvaluatedSolutions", new IntValue(Context.EvaluatedSolutions)));
     120          lastUpdate = ExecutionTime;
     121        }
    117122        if (Results.TryGetValue("BestQuality", out result))
    118123          ((DoubleValue)result.Value).Value = Context.BestQuality;
     
    127132        if (cancellationToken.IsCancellationRequested) break;
    128133      }
     134      IResult result2;
     135      if (Results.TryGetValue("Iterations", out result2))
     136        ((IntValue)result2.Value).Value = Context.Iterations;
     137      else Results.Add(new Result("Iterations", new IntValue(Context.Iterations)));
     138      if (Results.TryGetValue("EvaluatedSolutions", out result2))
     139        ((IntValue)result2.Value).Value = Context.EvaluatedSolutions;
     140      else Results.Add(new Result("EvaluatedSolutions", new IntValue(Context.EvaluatedSolutions)));
    129141    }
    130142
Note: See TracChangeset for help on using the changeset viewer.