Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/14/12 15:59:39 (12 years ago)
Author:
abeham
Message:

#1614, #1848

  • updated extension methods and operators that use them
Location:
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Crossovers/GQAPPathRelinking.cs

    r7523 r7807  
    183183        if (B.Any()) {
    184184          GQAPSolution pi;
    185           if (maximization.Value) pi = B.ChooseProportionalRandom(random, 1, x => x.Quality.Value, false, true).First();
    186           else pi = B.ChooseProportionalRandom(random, 1, x => 1.0 / x.Quality.Value, false, true).First();
     185          if (maximization.Value) pi = B.SampleProportional(random, 1, B.Select(x => x.Quality.Value), false).First();
     186          else pi = B.SampleProportional(random, 1, B.Select(x => 1.0 / x.Quality.Value), false).First();
    187187          var diff = IntegerVectorEqualityComparer.GetDifferingIndices(pi.Assignment, target);
    188188          var I = phi.Except(diff);
    189           var i = I.ChooseUniformRandom(random);
     189          var i = I.SampleRandom(random);
    190190          fix.Add(i);
    191191          nonFix.Remove(i);
     
    226226          var T = nonFix.Where(x => x != equipment && assignment[x] == l && demands[x] <= maxSlack);
    227227          if (T.Any()) {
    228             int i = T.ChooseProportionalRandom(random, 1, x => demands[x], false, true).First();
    229             var j = Enumerable.Range(0, capacities.Length).Where(x => slack[x] >= demands[i]).ChooseUniformRandom(random);
     228            int i = T.SampleProportional(random, 1, T.Select(x => demands[x]), false).First();
     229            var j = Enumerable.Range(0, capacities.Length).Where(x => slack[x] >= demands[i]).SampleRandom(random);
    230230            result[i] = j;
    231231            slack[j] -= demands[i];
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Manipulators/DemandEquivalentSwapEquipmentManipluator.cs

    r7523 r7807  
    8080          groupedLocations[location2].Remove(equipment2);
    8181          if (!groupedLocations[location2].Any()) break;
    82           equipment2 = groupedLocations[location2].ChooseUniformRandom(random);
     82          equipment2 = groupedLocations[location2].SampleRandom(random);
    8383        }
    8484      }
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Manipulators/RelocateEquipmentManipluator.cs

    r7523 r7807  
    7979      }
    8080
    81       var sourceLocation = overbookedLocations.ChooseUniformRandom(random);
    82       int equipmentToRelocate = groupedLocations[sourceLocation.Key].ChooseUniformRandom(random);
     81      var sourceLocation = overbookedLocations.SampleRandom(random);
     82      int equipmentToRelocate = groupedLocations[sourceLocation.Key].SampleRandom(random);
    8383      var bestFreeLocations = freeLocations.Where(x => capacities[x.Key] > x.Value + demands[equipmentToRelocate]);
    8484
    8585      if (bestFreeLocations.Any()) { // a feasible solution will still be feasible, an infeasible solution might become feasible
    86         var selected = bestFreeLocations.ChooseUniformRandom(random);
     86        var selected = bestFreeLocations.SampleRandom(random);
    8787        assignment[equipmentToRelocate] = sourceLocation.Key;
    8888      } else { // the solution will become infeasible
    89         sourceLocation = freeLocations.ChooseUniformRandom(random);
     89        sourceLocation = freeLocations.SampleRandom(random);
    9090        assignment[equipmentToRelocate] = sourceLocation.Key;
    9191      }
Note: See TracChangeset for help on using the changeset viewer.