Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/25/10 06:35:43 (15 years ago)
Author:
swagner
Message:

Operator architecture refactoring (#95)

  • worked on algorithms
Location:
trunk/sources/HeuristicLab.Permutation/3.3
Files:
2 added
9 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Permutation/3.3/AbsolutePositionTopologicalCrossover.cs

    r2854 r2865  
    2121
    2222using System;
    23 using System.Collections.Generic;
    24 using System.Text;
    2523using HeuristicLab.Core;
    26 using HeuristicLab.Data;
    2724using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2825
  • trunk/sources/HeuristicLab.Permutation/3.3/CosaCrossover.cs

    r2856 r2865  
    2121
    2222using System;
    23 using System.Collections.Generic;
    24 using System.Text;
    2523using HeuristicLab.Core;
    26 using HeuristicLab.Data;
    2724using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2825
  • trunk/sources/HeuristicLab.Permutation/3.3/EdgeRecombinationCrossover.cs

    r2854 r2865  
    2121
    2222using System;
    23 using System.Collections.Generic;
    24 using System.Text;
    2523using HeuristicLab.Core;
    26 using HeuristicLab.Data;
    2724using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2825
  • trunk/sources/HeuristicLab.Permutation/3.3/HeuristicLab.Permutation-3.3.csproj

    r2857 r2865  
    8383    <None Include="HeuristicLabPermutationPlugin.cs.frame" />
    8484    <Compile Include="AbsolutePositionTopologicalCrossover.cs" />
     85    <Compile Include="IPermutationCreator.cs" />
     86    <Compile Include="IPermutationOperator.cs" />
    8587    <Compile Include="CosaCrossover.cs" />
    8688    <Compile Include="CyclicCrossover.cs" />
     
    9092      <SubType>Code</SubType>
    9193    </Compile>
    92     <Compile Include="IPermutationCrossoverOperator.cs" />
    93     <Compile Include="IPermutationManipulationOperator.cs" />
     94    <Compile Include="IPermutationCrossover.cs" />
     95    <Compile Include="IPermutationManipulator.cs" />
    9496    <Compile Include="MaximalPreservativeCrossover.cs" />
    9597    <Compile Include="OrderBasedCrossover.cs" />
  • trunk/sources/HeuristicLab.Permutation/3.3/IPermutationCrossover.cs

    r2862 r2865  
    2121
    2222using HeuristicLab.Core;
    23 using HeuristicLab.Data;
    2423using HeuristicLab.Optimization;
    2524
     
    2827  /// An interface which represents an operator for crossing permutations.
    2928  /// </summary>
    30   public interface IPermutationCrossoverOperator : ICrossoverOperator { }
     29  public interface IPermutationCrossover : IPermutationOperator, ICrossover {
     30    ILookupParameter<ItemArray<Permutation>> ParentsParameter { get; }
     31    ILookupParameter<Permutation> ChildParameter { get; }
     32  }
    3133}
  • trunk/sources/HeuristicLab.Permutation/3.3/IPermutationManipulator.cs

    r2862 r2865  
    2121
    2222using HeuristicLab.Core;
    23 using HeuristicLab.Data;
    2423using HeuristicLab.Optimization;
    2524
     
    2827  /// An interface which represents an operator for manipulating solutions.
    2928  /// </summary>
    30   public interface IPermutationManipulationOperator : IManipulationOperator { }
     29  public interface IPermutationManipulator : IPermutationOperator, IManipulator {
     30    ILookupParameter<Permutation> PermutationParameter { get; }
     31  }
    3132}
  • trunk/sources/HeuristicLab.Permutation/3.3/InsertionManipulator.cs

    r2854 r2865  
    2020#endregion
    2121
    22 using System;
    23 using System.Collections.Generic;
    24 using System.Text;
    2522using HeuristicLab.Core;
    2623using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
  • trunk/sources/HeuristicLab.Permutation/3.3/OrderBasedCrossover.cs

    r2854 r2865  
    2121
    2222using System;
    23 using System.Collections.Generic;
    24 using System.Text;
    2523using HeuristicLab.Core;
    26 using HeuristicLab.Data;
    2724using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2825
  • trunk/sources/HeuristicLab.Permutation/3.3/PermutationCrossover.cs

    r2857 r2865  
    3232  [Item("PermutationCrossover", "A base class for permutation crossover operators.")]
    3333  [EmptyStorableClass]
    34   public abstract class PermutationCrossover : SingleSuccessorOperator, IPermutationCrossoverOperator {
     34  public abstract class PermutationCrossover : SingleSuccessorOperator, IPermutationCrossover, IStochasticOperator {
    3535    public ILookupParameter<IRandom> RandomParameter {
    3636      get { return (LookupParameter<IRandom>)Parameters["Random"]; }
    3737    }
    38     public SubScopesLookupParameter<Permutation> ParentsParameter {
     38    public ILookupParameter<ItemArray<Permutation>> ParentsParameter {
    3939      get { return (SubScopesLookupParameter<Permutation>)Parameters["Parents"]; }
    4040    }
    41     public LookupParameter<Permutation> ChildParameter {
    42       get { return (LookupParameter<Permutation>)Parameters["Child"]; }
     41    public ILookupParameter<Permutation> ChildParameter {
     42      get { return (ILookupParameter<Permutation>)Parameters["Child"]; }
    4343    }
    4444
  • trunk/sources/HeuristicLab.Permutation/3.3/PermutationManipulator.cs

    r2857 r2865  
    3232  [Item("PermutationManipulator", "A base class for permutation manipulation operators.")]
    3333  [EmptyStorableClass]
    34   public abstract class PermutationManipulator : SingleSuccessorOperator, IPermutationManipulationOperator {
     34  public abstract class PermutationManipulator : SingleSuccessorOperator, IPermutationManipulator, IStochasticOperator {
    3535    public ILookupParameter<IRandom> RandomParameter {
    3636      get { return (LookupParameter<IRandom>)Parameters["Random"]; }
    3737    }
    38     public LookupParameter<Permutation> PermutationParameter {
    39       get { return (LookupParameter<Permutation>)Parameters["Permutation"]; }
     38    public ILookupParameter<Permutation> PermutationParameter {
     39      get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; }
    4040    }
    4141
  • trunk/sources/HeuristicLab.Permutation/3.3/RandomPermutationCreator.cs

    r2852 r2865  
    3434  [EmptyStorableClass]
    3535  [Creatable("Test")]
    36   public sealed class RandomPermutationCreator : SingleSuccessorOperator, ISolutionCreator {
     36  public sealed class RandomPermutationCreator : SingleSuccessorOperator, IPermutationCreator, IStochasticOperator {
    3737    public ILookupParameter<IRandom> RandomParameter {
    3838      get { return (LookupParameter<IRandom>)Parameters["Random"]; }
    3939    }
    40     public ValueLookupParameter<IntData> LengthParameter {
    41       get { return (ValueLookupParameter<IntData>)Parameters["Length"]; }
     40    public IValueLookupParameter<IntData> LengthParameter {
     41      get { return (IValueLookupParameter<IntData>)Parameters["Length"]; }
    4242    }
    43     public LookupParameter<Permutation> PermutationParameter {
    44       get { return (LookupParameter<Permutation>)Parameters["Permutation"]; }
     43    public ILookupParameter<Permutation> PermutationParameter {
     44      get { return (ILookupParameter<Permutation>)Parameters["Permutation"]; }
    4545    }
    4646
Note: See TracChangeset for help on using the changeset viewer.