- Timestamp:
- 08/04/10 17:34:02 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Creators/AlbaPushForwardInsertionCreator.cs
r4150 r4154 28 28 using HeuristicLab.Parameters; 29 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 using HeuristicLab.Problems.VehicleRouting.Encodings.General; 30 31 31 32 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Crossovers/AlbaCrossover.cs
r4150 r4154 28 28 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { 29 29 [StorableClass] 30 public abstract class AlbaCrossover : VRPCrossover { 31 public ILookupParameter<IntValue> VehiclesParameter { 32 get { return (ILookupParameter<IntValue>)Parameters["Vehicles"]; } 33 } 34 35 public AlbaCrossover() 36 : base() { 37 Parameters.Add(new LookupParameter<IntValue>("Vehicles", "The vehicles count.")); 38 } 39 30 public abstract class AlbaCrossover : VRPCrossover { 40 31 protected virtual void Crossover() { 41 32 } 42 33 43 34 public override IOperation Apply() { 44 int cities = 0;45 46 35 ItemArray<IVRPEncoding> parents = new ItemArray<IVRPEncoding>(ParentsParameter.ActualValue.Length); 47 36 for (int i = 0; i < ParentsParameter.ActualValue.Length; i++) { 48 37 IVRPEncoding solution = ParentsParameter.ActualValue[i]; 49 cities = solution.Cities; 38 50 39 if (!(solution is AlbaEncoding)) { 51 40 parents[i] = AlbaEncoding.ConvertFrom(solution, VehiclesParameter.ActualValue.Value); -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Crossovers/AlbaPermutationCrossover.cs
r4150 r4154 39 39 40 40 protected override void Crossover() { 41 int cities = ParentsParameter.ActualValue[0].Cities;42 43 41 PermutationCrossoverParameter.ActualValue.ParentsParameter.ActualName = ParentsParameter.ActualName; 44 42 IAtomicOperation op = this.ExecutionContext.CreateOperation( … … 51 49 ExecutionContext.Scope.Variables.Remove(childName); 52 50 53 ChildParameter.ActualValue = new AlbaEncoding(permutation, cities);51 ChildParameter.ActualValue = new AlbaEncoding(permutation, Cities); 54 52 } else 55 53 ChildParameter.ActualValue = null; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Manipulators/AlbaManipulator.cs
r4150 r4154 28 28 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Alba { 29 29 [StorableClass] 30 public abstract class AlbaManipulator : VRPManipulator { 31 public ILookupParameter<IntValue> VehiclesParameter { 32 get { return (ILookupParameter<IntValue>)Parameters["Vehicles"]; } 33 } 34 35 public AlbaManipulator() 36 : base() { 37 Parameters.Add(new LookupParameter<IntValue>("Vehicles", "The vehicles count.")); 38 } 39 30 public abstract class AlbaManipulator : VRPManipulator { 40 31 protected virtual void Manipulate() { 41 32 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/AlbaMoveOperator.cs
r4150 r4154 29 29 [Item("AlbaMoveOperator", "A move operator for an alba VRP representation.")] 30 30 [StorableClass] 31 public abstract class AlbaMoveOperator : VRPMoveOperator { 32 public ILookupParameter<IntValue> VehiclesParameter { 33 get { return (ILookupParameter<IntValue>)Parameters["Vehicles"]; } 34 } 35 36 public AlbaMoveOperator() 37 : base() { 38 Parameters.Add(new LookupParameter<IntValue>("Vehicles", "The vehicles count.")); 39 } 40 31 public abstract class AlbaMoveOperator : VRPMoveOperator { 41 32 [Storable] 42 33 protected abstract IPermutationMoveOperator PermutationMoveOperatorParameter { get; set; } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Alba/Moves/ThreeOpt/AlbaTranslocationMoveGenerator.cs
r4068 r4154 82 82 Permutation permutation = VRPSolutionParameter.ActualValue as Permutation; 83 83 string moveName = TranslocationMoveGeneratorParameter.ActualValue.TranslocationMoveParameter.Name; 84 int cities = VRPSolutionParameter.ActualValue.Cities;85 84 86 85 List<Scope> toBeDeleted = new List<Scope>(); … … 93 92 if (move.Index1 - 1 >= 0 && 94 93 move.Index3 - 1 >= 0) 95 criteria1 = (permutation[move.Index1] >= cities &&96 permutation[move.Index1 - 1] >= cities &&97 permutation[move.Index3 - 1] >= cities);94 criteria1 = (permutation[move.Index1] >= Cities && 95 permutation[move.Index1 - 1] >= Cities && 96 permutation[move.Index3 - 1] >= Cities); 98 97 99 98 int index3 = move.Index3 + (move.Index2 - move.Index1) + 1; … … 101 100 if (move.Index2 + 1 < permutation.Length && 102 101 index3 < permutation.Length) 103 criteria2 = (permutation[move.Index2] >= cities &&104 permutation[move.Index2 + 1] >= cities &&105 permutation[index3] >= cities);102 criteria2 = (permutation[move.Index2] >= Cities && 103 permutation[move.Index2 + 1] >= Cities && 104 permutation[index3] >= Cities); 106 105 107 106 if (criteria1 && criteria2) -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/IntListRepresentationCreator.cs
r4150 r4154 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 27 using System.Collections.Generic; 28 using HeuristicLab.Problems.VehicleRouting.Encodings; 28 29 29 namespace HeuristicLab.Problems.VehicleRouting {30 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General { 30 31 [StorableClass] 31 32 public abstract class IntListRepresentationCreator : VRPCreator { -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/General/PushForwardInsertionCreator.cs
r4150 r4154 29 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 30 31 namespace HeuristicLab.Problems.VehicleRouting {31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.General { 32 32 [StorableClass] 33 33 public abstract class PushForwardCreator : IntListRepresentationCreator, IStochasticOperator { … … 199 199 *----------------------------------------------------------------------------- 200 200 */ 201 for (int i = 1; i <= Cities Parameter.ActualValue.Value; i++) {201 for (int i = 1; i <= Cities; i++) { 202 202 distance = Distance(i, 0); 203 203 if (CoordinatesParameter.ActualValue[i, 0] < x0) distance = -distance; -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Potvin/Creators/PotvinPushForwardInsertionCreator.cs
r4150 r4154 28 28 using HeuristicLab.Parameters; 29 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 using HeuristicLab.Problems.VehicleRouting.Encodings.General; 30 31 31 32 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Potvin { -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/VRPCreator.cs
r4068 r4154 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 27 28 namespace HeuristicLab.Problems.VehicleRouting {28 namespace HeuristicLab.Problems.VehicleRouting.Encodings { 29 29 [StorableClass] 30 public abstract class VRPCreator : SingleSuccessorOperator, IVRPCreator {30 public abstract class VRPCreator : VRPOperator, IVRPCreator { 31 31 public override bool CanChangeName { 32 32 get { return false; } … … 34 34 35 35 #region IVRPCreator Members 36 public IValueLookupParameter<IntValue> CitiesParameter {37 get { return (IValueLookupParameter<IntValue>)Parameters["Cities"]; }38 }39 36 public ILookupParameter<IVRPEncoding> VRPSolutionParameter { 40 37 get { return (ILookupParameter<IVRPEncoding>)Parameters["VRPSolution"]; } 41 38 } 42 public ILookupParameter<DoubleMatrix> CoordinatesParameter { 43 get { return (ILookupParameter<DoubleMatrix>)Parameters["Coordinates"]; } 44 } 45 public ILookupParameter<DoubleMatrix> DistanceMatrixParameter { 46 get { return (ILookupParameter<DoubleMatrix>)Parameters["DistanceMatrix"]; } 47 } 48 public ILookupParameter<BoolValue> UseDistanceMatrixParameter { 49 get { return (ILookupParameter<BoolValue>)Parameters["UseDistanceMatrix"]; } 50 } 51 public ILookupParameter<IntValue> VehiclesParameter { 52 get { return (ILookupParameter<IntValue>)Parameters["Vehicles"]; } 53 } 54 public ILookupParameter<DoubleValue> CapacityParameter { 55 get { return (ILookupParameter<DoubleValue>)Parameters["Capacity"]; } 56 } 57 public ILookupParameter<DoubleArray> DemandParameter { 58 get { return (ILookupParameter<DoubleArray>)Parameters["Demand"]; } 59 } 60 public ILookupParameter<DoubleArray> ReadyTimeParameter { 61 get { return (ILookupParameter<DoubleArray>)Parameters["ReadyTime"]; } 62 } 63 public ILookupParameter<DoubleArray> DueTimeParameter { 64 get { return (ILookupParameter<DoubleArray>)Parameters["DueTime"]; } 65 } 66 public ILookupParameter<DoubleArray> ServiceTimeParameter { 67 get { return (ILookupParameter<DoubleArray>)Parameters["ServiceTime"]; } 68 } 39 40 public IValueLookupParameter<IntValue> CitiesParameter { 41 get { return (IValueLookupParameter<IntValue>)Parameters["Cities"]; } 42 } 69 43 70 44 public VRPCreator() 71 45 : base() { 72 Parameters.Add(new ValueLookupParameter<IntValue>("Cities", "The city count."));73 Parameters.Add(new LookupParameter<IntValue>("Vehicles", "The vehicles count."));74 Parameters.Add(new LookupParameter<DoubleMatrix>("Coordinates", "The coordinates of the cities."));75 Parameters.Add(new LookupParameter<DoubleMatrix>("DistanceMatrix", "The matrix which contains the distances between the cities."));76 Parameters.Add(new LookupParameter<BoolValue>("UseDistanceMatrix", "True if a distance matrix should be calculated and used for evaluation, otherwise false."));77 Parameters.Add(new LookupParameter<DoubleValue>("Capacity", "The capacity of each vehicle."));78 Parameters.Add(new LookupParameter<DoubleArray>("Demand", "The demand of each customer."));79 Parameters.Add(new LookupParameter<DoubleArray>("ReadyTime", "The ready time of each customer."));80 Parameters.Add(new LookupParameter<DoubleArray>("DueTime", "The due time of each customer."));81 Parameters.Add(new LookupParameter<DoubleArray>("ServiceTime", "The service time of each customer."));82 83 46 Parameters.Add(new LookupParameter<IVRPEncoding>("VRPSolution", "The new VRP solution.")); 84 47 } -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/VRPCrossover.cs
r4150 r4154 26 26 27 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings { 28 public abstract class VRPCrossover : SingleSuccessorOperator, IVRPCrossover {28 public abstract class VRPCrossover : VRPOperator, IVRPCrossover { 29 29 #region IVRPCrossover Members 30 30 -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/VRPManipulator.cs
r4150 r4154 26 26 27 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings { 28 public abstract class VRPManipulator : SingleSuccessorOperator, IVRPManipulator {28 public abstract class VRPManipulator : VRPOperator, IVRPManipulator { 29 29 #region IVRPManipulator Members 30 30 -
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/VRPMoveOperator.cs
r4150 r4154 26 26 27 27 namespace HeuristicLab.Problems.VehicleRouting.Encodings { 28 public abstract class VRPMoveOperator : SingleSuccessorOperator, IVRPMoveOperator {28 public abstract class VRPMoveOperator : VRPOperator, IVRPMoveOperator { 29 29 #region IVRPManipulator Members 30 30
Note: See TracChangeset
for help on using the changeset viewer.