Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/22/11 10:56:48 (13 years ago)
Author:
cneumuel
Message:

#1215

  • reduced significance of NormalCrossovers
  • small fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs

    r6024 r6038  
    6363      //TestDoubleSampling(); return;
    6464      //TestTypeDiscovery();
    65       //TestOperators();
     65      TestOperators(); return;
    6666      //TestCombinations();
    6767      //TestCombinations2();
     
    598598      IRandom random = new MersenneTwister();
    599599
    600       var doubleRange = new DoubleValueRange(new DoubleValue(0), new DoubleValue(100), new DoubleValue(0.1));
     600      var doubleRange = new DoubleValueRange(new DoubleValue(0), new DoubleValue(1), new DoubleValue(0.001));
    601601      using (var sw = new StreamWriter("out-DoubleValue.txt")) {
    602602        for (int i = 0; i < 10000; i++) {
    603           var val = new DoubleValue(90);
     603          var val = new DoubleValue(0.0);
    604604          NormalDoubleValueManipulator.ApplyStatic(random, val, doubleRange);
    605605
    606606          sw.WriteLine(val);
     607          Debug.Assert(val.Value >= 0.0 && val.Value <= 1.0);
    607608        }
    608609      }
     
    623624          UniformIntValueManipulator.ApplyStatic(random, val, intRange);
    624625          sw.WriteLine(val);
     626        }
     627      }
     628
     629      using (var sw = new StreamWriter("out-DoubleValueCrossed.txt")) {
     630        for (int i = 0; i < 10000; i++) {
     631          var val1 = new DoubleValue(0.0);
     632          var val2 = new DoubleValue(0.5);
     633          var val3 = NormalDoubleValueCrossover.ApplyStatic(random, val1, val2, doubleRange);
     634
     635          sw.WriteLine(val3);
     636          Debug.Assert(val3.Value >= 0.0 && val3.Value <= 1.0);
    625637        }
    626638      }
     
    10711083
    10721084    private static void TestDoubleSampling() {
    1073       System.Random rand = new System.Random();
    1074       double lower = 2;
    1075       double upper = 3;
    1076       double stepsize = 0.6;
    1077       for (int i = 0; i < 100; i++) {
    1078         double val;
    1079         do {
    1080           val = Math.Round((rand.NextDouble() * (upper - lower) + lower) / stepsize, 0) * stepsize;
    1081         } while (val < lower || val > upper);
    1082         Console.WriteLine(val);
     1085      var random = new MersenneTwister();
     1086      double lower = 0;
     1087      double upper = 1;
     1088      double stepsize = 0.0000001;
     1089      DoubleValueRange range = new DoubleValueRange(new DoubleValue(lower), new DoubleValue(upper), new DoubleValue(stepsize));
     1090
     1091      using (var sw = new StreamWriter("out-DoubleValue.txt")) {
     1092        for (int i = 0; i < 10000; i++) {
     1093          var val = range.GetRandomValue(random);
     1094          Debug.Assert(val.Value >= lower && val.Value <= upper);
     1095          sw.WriteLine(val);
     1096        }
    10831097      }
    10841098    }
Note: See TracChangeset for help on using the changeset viewer.