Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/09/10 13:29:06 (14 years ago)
Author:
svonolfe
Message:

Refactored VRP in preparation for the code review (#1039)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaManipulator.cs

    r4154 r4177  
    2727
    2828namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba {
     29  [Item("AlbaManipulator", "An operator which manipulates an alba VRP representation.")]
    2930  [StorableClass]
    30   public abstract class AlbaManipulator : VRPManipulator {   
    31     protected virtual void Manipulate() {
     31  public sealed class AlbaManipulator : VRPManipulator {   
     32    public IValueLookupParameter<IPermutationManipulator> PermutationManipulatorParameter {
     33      get { return (IValueLookupParameter<IPermutationManipulator>)Parameters["PermutationManipulator"]; }
    3234    }
    33    
     35
     36    public AlbaManipulator()
     37      : base() {
     38      Parameters.Add(new ValueLookupParameter<IPermutationManipulator>("PermutationManipulator", "The permutation manipulator.", new TranslocationManipulator()));
     39    }
     40
    3441    public override IOperation Apply() {
    3542      IVRPEncoding solution = VRPSolutionParameter.ActualValue;
     
    3845      }
    3946     
    40       Manipulate();
     47      OperationCollection next = new OperationCollection(base.Apply());
    4148
    42       return base.Apply();
     49      IPermutationManipulator op = PermutationManipulatorParameter.ActualValue;
     50      if (op != null) {
     51        op.PermutationParameter.ActualName = VRPSolutionParameter.ActualName;
     52        next.Insert(0, ExecutionContext.CreateOperation(op));
     53      }
     54
     55      return next;
    4356    }
    4457  }
Note: See TracChangeset for help on using the changeset viewer.