Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/28/18 16:10:48 (6 years ago)
Author:
jkarder
Message:

#2520: worked on reintegration of new persistence

  • added nuget references to HEAL.Fossil
  • added StorableType attributes to many classes
  • changed signature of StorableConstructors
  • removed some classes in old persistence
  • removed some unnecessary usings
Location:
branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/DiscreteCrossover.cs

    r16453 r16462  
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     25using HEAL.Fossil;
    2626
    2727namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3333  /// </remarks>
    3434  [Item("DiscreteCrossover", "Discrete crossover for integer vectors. It is implemented as described in Gwiazda, T.D. 2006. Genetic algorithms reference Volume I Crossover for single-objective numerical optimization problems, p.17.")]
    35   [StorableClass]
     35  [StorableType("64C79AA5-1D77-4CF4-A19B-9646F270E4D8")]
    3636  public class DiscreteCrossover : IntegerVectorCrossover {
    3737    [StorableConstructor]
    38     protected DiscreteCrossover(bool deserializing) : base(deserializing) { }
     38    protected DiscreteCrossover(StorableConstructorFlag _) : base(_) { }
    3939    protected DiscreteCrossover(DiscreteCrossover original, Cloner cloner) : base(original, cloner) { }
    4040    public DiscreteCrossover() : base() { }
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/MultiIntegerVectorCrossover.cs

    r16453 r16462  
    2929using HeuristicLab.Optimization;
    3030using HeuristicLab.Parameters;
    31 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     31using HEAL.Fossil;
    3232using HeuristicLab.PluginInfrastructure;
    3333
    3434namespace HeuristicLab.Encodings.IntegerVectorEncoding {
    3535  [Item("MultiIntegerVectorCrossover", "Randomly selects and applies one of its crossovers every time it is called.")]
    36   [StorableClass]
     36  [StorableType("EC482D88-4258-48D3-BCD2-C6FC013C8FED")]
    3737  public class MultiIntegerVectorCrossover : StochasticMultiBranch<IIntegerVectorCrossover>, IIntegerVectorCrossover, IStochasticOperator, IBoundedIntegerVectorOperator {
    3838    public override bool CanChangeName {
     
    5656
    5757    [StorableConstructor]
    58     protected MultiIntegerVectorCrossover(bool deserializing) : base(deserializing) { }
     58    protected MultiIntegerVectorCrossover(StorableConstructorFlag _) : base(_) { }
    5959    protected MultiIntegerVectorCrossover(MultiIntegerVectorCrossover original, Cloner cloner) : base(original, cloner) { }
    6060    public MultiIntegerVectorCrossover()
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedAverageCrossover.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Data;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727
    2828namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3131  /// </summary>
    3232  [Item("RoundedAverageCrossover", "Average crossover for integer vectors.")]
    33   [StorableClass]
     33  [StorableType("6899DA13-4004-4E22-99B5-46FE6E3418FA")]
    3434  public class RoundedAverageCrossover : BoundedIntegerVectorCrossover, IBoundedIntegerVectorOperator {
    3535
    3636    [StorableConstructor]
    37     protected RoundedAverageCrossover(bool deserializing) : base(deserializing) { }
     37    protected RoundedAverageCrossover(StorableConstructorFlag _) : base(_) { }
    3838    protected RoundedAverageCrossover(RoundedAverageCrossover original, Cloner cloner) : base(original, cloner) { }
    3939    public RoundedAverageCrossover() : base() { }
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedBlendAlphaBetaCrossover.cs

    r16453 r16462  
    2626using HeuristicLab.Optimization;
    2727using HeuristicLab.Parameters;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Fossil;
    2929
    3030namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3737  /// </summary>
    3838  [Item("RoundedBlendAlphaBetaCrossover", "The rounded blend alpha beta crossover (BLX-a-b) for integer vectors is similar to the blend alpha crossover (BLX-a), but distinguishes between the better and worse of the parents. The interval from which to choose the new offspring can be extended beyond the better parent by specifying a higher alpha value, and beyond the worse parent by specifying a higher beta value. The new offspring is sampled uniformly in the extended range and rounded to the next feasible integer.")]
    39   [StorableClass]
     39  [StorableType("E9786DA1-C713-44EA-AD2A-BBE371712BA2")]
    4040  public class RoundedBlendAlphaBetaCrossover : BoundedIntegerVectorCrossover, ISingleObjectiveOperator {
    4141    /// <summary>
     
    6565
    6666    [StorableConstructor]
    67     protected RoundedBlendAlphaBetaCrossover(bool deserializing) : base(deserializing) { }
     67    protected RoundedBlendAlphaBetaCrossover(StorableConstructorFlag _) : base(_) { }
    6868    protected RoundedBlendAlphaBetaCrossover(RoundedBlendAlphaBetaCrossover original, Cloner cloner) : base(original, cloner) { }
    6969    /// <summary>
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedBlendAlphaCrossover.cs

    r16453 r16462  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Parameters;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3434  /// </summary>
    3535  [Item("RoundedBlendAlphaCrossover", "The rounded blend alpha crossover (BLX-a) for integer vectors creates new offspring by sampling a new value in the range [min_i - d * alpha, max_i + d * alpha) at each position i and rounding the result to the next feasible integer. Here min_i and max_i are the smaller and larger value of the two parents at position i and d is max_i - min_i.")]
    36   [StorableClass]
     36  [StorableType("F371B342-7D0C-4ED9-8F3F-A641E82DC8F1")]
    3737  public class RoundedBlendAlphaCrossover : BoundedIntegerVectorCrossover {
    3838    /// <summary>
     
    4747
    4848    [StorableConstructor]
    49     protected RoundedBlendAlphaCrossover(bool deserializing) : base(deserializing) { }
     49    protected RoundedBlendAlphaCrossover(StorableConstructorFlag _) : base(_) { }
    5050    protected RoundedBlendAlphaCrossover(RoundedBlendAlphaCrossover original, Cloner cloner) : base(original, cloner) { }
    5151    /// <summary>
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedHeuristicCrossover.cs

    r16453 r16462  
    2626using HeuristicLab.Optimization;
    2727using HeuristicLab.Parameters;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Fossil;
    2929
    3030namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3535  /// </summary>
    3636  [Item("RoundedHeuristicCrossover", "The heuristic crossover produces offspring that extend the better parent in direction from the worse to the better parent.")]
    37   [StorableClass]
     37  [StorableType("94963FD3-4092-4B76-88E0-5FE5AC2DA9E2")]
    3838  public class RoundedHeuristicCrossover : BoundedIntegerVectorCrossover, ISingleObjectiveOperator {
    3939    /// <summary>
     
    5151
    5252    [StorableConstructor]
    53     protected RoundedHeuristicCrossover(bool deserializing) : base(deserializing) { }
     53    protected RoundedHeuristicCrossover(StorableConstructorFlag _) : base(_) { }
    5454    protected RoundedHeuristicCrossover(RoundedHeuristicCrossover original, Cloner cloner) : base(original, cloner) { }
    5555    /// <summary>
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedLocalCrossover.cs

    r16453 r16462  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Data;
    26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Fossil;
    2727
    2828namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3232  /// </remarks>
    3333  [Item("RoundedLocalCrossover", @"The runded local crossover is similar to the arithmetic crossover, but uses a random alpha for each position x = alpha * p1 + (1-alpha) * p2.")]
    34   [StorableClass]
     34  [StorableType("2E21F322-85CD-4B67-AF9C-4119FAABB3C1")]
    3535  public class RoundedLocalCrossover : BoundedIntegerVectorCrossover {
    3636    [StorableConstructor]
    37     protected RoundedLocalCrossover(bool deserializing) : base(deserializing) { }
     37    protected RoundedLocalCrossover(StorableConstructorFlag _) : base(_) { }
    3838    protected RoundedLocalCrossover(RoundedLocalCrossover original, Cloner cloner) : base(original, cloner) { }
    3939    public RoundedLocalCrossover() : base() { }
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/RoundedUniformArithmeticCrossover.cs

    r16453 r16462  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Parameters;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Fossil;
    2828
    2929namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3232  /// </summary>
    3333  [Item("RoundedUniformSomePositionsArithmeticCrossover", "The uniform some positions arithmetic crossover (continuous recombination) constructs an offspring by calculating x = alpha * p1 + (1-alpha) * p2 for a position x in the vector with a given probability (otherwise p1 is taken at this position).")]
    34   [StorableClass]
     34  [StorableType("8393AFC2-FAA5-47A8-A1E3-E6DEABE71B2F")]
    3535  public class RoundedUniformArithmeticCrossover : BoundedIntegerVectorCrossover, IBoundedIntegerVectorOperator {
    3636
     
    4949
    5050    [StorableConstructor]
    51     protected RoundedUniformArithmeticCrossover(bool deserializing) : base(deserializing) { }
     51    protected RoundedUniformArithmeticCrossover(StorableConstructorFlag _) : base(_) { }
    5252    protected RoundedUniformArithmeticCrossover(RoundedUniformArithmeticCrossover original, Cloner cloner) : base(original, cloner) { }
    5353    /// <summary>
  • branches/2520_PersistenceReintegration/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Crossovers/SinglePointCrossover.cs

    r16453 r16462  
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     25using HEAL.Fossil;
    2626
    2727namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3333  /// </remarks>
    3434  [Item("SinglePointCrossover", "Single point crossover for integer vectors. It is implemented as described in Michalewicz, Z. 1999. Genetic Algorithms + Data Structures = Evolution Programs. Third, Revised and Extended Edition, Spring-Verlag Berlin Heidelberg.")]
    35   [StorableClass]
     35  [StorableType("0B985803-CC2D-466B-B5F2-9A1F7C415735")]
    3636  public class SinglePointCrossover : IntegerVectorCrossover {
    3737    [StorableConstructor]
    38     protected SinglePointCrossover(bool deserializing) : base(deserializing) { }
     38    protected SinglePointCrossover(StorableConstructorFlag _) : base(_) { }
    3939    protected SinglePointCrossover(SinglePointCrossover original, Cloner cloner) : base(original, cloner) { }
    4040    public SinglePointCrossover() : base() { }
Note: See TracChangeset for help on using the changeset viewer.