Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/01/10 20:37:36 (13 years ago)
Author:
cneumuel
Message:

#1215 worked on metaoptimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encodings/RangeConstraints/DoubleValueRange.cs

    r4997 r5009  
    55using HeuristicLab.Data;
    66using HeuristicLab.Common;
     7using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     8using HeuristicLab.Core;
    79
    810namespace HeuristicLab.Problems.MetaOptimization {
     11  [StorableClass]
    912  public class DoubleValueRange : Range<DoubleValue> {
    1013
    1114    public DoubleValueRange(DoubleValue lowerBound, DoubleValue upperBound, DoubleValue stepSize) : base(lowerBound, upperBound, stepSize) { }
    1215    public DoubleValueRange() { }
     16    [StorableConstructor]
     17    protected DoubleValueRange(bool deserializing) : base(deserializing) { }
    1318    protected DoubleValueRange(DoubleValueRange original, Cloner cloner) : base(original, cloner) { }
    1419    public override IDeepCloneable Clone(Cloner cloner) {
     
    1621    }
    1722
    18     public override DoubleValue GetRandomValue() {
    19       Random rand = new Random(); // todo: use common random
     23    public override DoubleValue GetRandomValue(IRandom random) {
    2024      double val;
    2125      do {
    22         val = Math.Round((rand.NextDouble() * (UpperBound.Value - LowerBound.Value) + LowerBound.Value) / StepSize.Value, 0) * StepSize.Value;
     26        val = Math.Round((random.NextDouble() * (UpperBound.Value - LowerBound.Value) + LowerBound.Value) / StepSize.Value, 0) * StepSize.Value;
    2327      } while (val < LowerBound.Value || val > UpperBound.Value);
    2428      return new DoubleValue(val);
Note: See TracChangeset for help on using the changeset viewer.