Changeset 7413 for branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Moves/GQAPMoveGenerator.cs
- Timestamp:
- 01/26/12 00:36:45 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Moves/GQAPMoveGenerator.cs
r7407 r7413 22 22 using HeuristicLab.Common; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Encodings.IntegerVectorEncoding; 24 25 using HeuristicLab.Operators; 25 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Parameters; 26 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 29 … … 29 31 [Item("GQAPMoveGenerator", "Base class for move generators for the Generalized Quadratic Assignment Problem.")] 30 32 [StorableClass] 31 public class GQAPMoveGenerator : SingleSuccessorOperator, IMoveGenerator { 33 public abstract class GQAPMoveGenerator : SingleSuccessorOperator, IMoveGenerator, IGQAPMoveOperator { 34 35 public ILookupParameter<IntegerVector> AssignmentParameter { 36 get { return (ILookupParameter<IntegerVector>)Parameters["Assignment"]; } 37 } 32 38 33 39 [StorableConstructor] 34 40 protected GQAPMoveGenerator(bool deserializing) : base(deserializing) { } 35 protected GQAPMoveGenerator(GQAPMoveGenerator original, Cloner cloner) 36 : base(original, cloner) { 37 // TODO: All fields, especially storable fields, need to be deep-cloned here 38 // myField = cloner.Clone(original.myField); 39 } 41 protected GQAPMoveGenerator(GQAPMoveGenerator original, Cloner cloner) : base(original, cloner) { } 40 42 public GQAPMoveGenerator() 41 43 : base() { 42 // TODO: Add construction logic here 43 } 44 45 public override IDeepCloneable Clone(Cloner cloner) { 46 return new GQAPMoveGenerator(this, cloner); 44 Parameters.Add(new LookupParameter<IntegerVector>("Assignment", "The current equipment-location assignment.")); 47 45 } 48 46 }
Note: See TracChangeset
for help on using the changeset viewer.