Changeset 4687 for branches/CloningRefactoring/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/ZhuEncoding.cs
- Timestamp:
- 10/29/10 20:21:04 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CloningRefactoring/HeuristicLab.Problems.VehicleRouting/3.3/Encodings/Zhu/ZhuEncoding.cs
r4352 r4687 20 20 #endregion 21 21 22 using System; 23 using System.Collections.Generic; 22 24 using HeuristicLab.Common; 23 25 using HeuristicLab.Core; … … 25 27 using HeuristicLab.Encodings.PermutationEncoding; 26 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 using System.Collections.Generic;28 29 using HeuristicLab.Problems.VehicleRouting.Encodings.General; 29 using System;30 30 31 31 namespace HeuristicLab.Problems.VehicleRouting.Encodings.Zhu { … … 44 44 [Storable] 45 45 DoubleArray dueTimeArray; 46 46 47 47 [Storable] 48 48 DoubleArray serviceTimeArray; … … 50 50 [Storable] 51 51 DoubleArray readyTimeArray; 52 52 53 53 [Storable] 54 54 DoubleArray demandArray; … … 75 75 distanceMatrix, 76 76 useDistanceMatrix)) { 77 78 79 77 newTour.Cities.Remove(city); 78 if (newTour.Cities.Count > 0) 79 result.Add(newTour); 80 80 81 82 81 newTour = new Tour(); 82 newTour.Cities.Add(city); 83 83 } 84 84 } … … 124 124 #endregion 125 125 126 public override IDeepCloneable Clone(HeuristicLab.Common.Cloner cloner) {127 ZhuEncoding clone = new ZhuEncoding(128 new Permutation(this.PermutationType, this.array), cities,129 dueTimeArray, serviceTimeArray, readyTimeArray, demandArray, capacity,130 coordinates, useDistanceMatrix);131 132 cloner.RegisterClonedObject(this, clone);133 clone.readOnly = readOnly;134 return clone;135 }136 137 public ZhuEncoding(Permutation permutation, int cities,138 DoubleArray dueTimeArray, DoubleArray serviceTimeArray, DoubleArray readyTimeArray, DoubleArray demandArray, DoubleValue capacity,139 DoubleMatrix coordinates, BoolValue useDistanceMatrix)140 : base(permutation) {141 this.cities = cities;142 this.dueTimeArray = dueTimeArray;143 this.serviceTimeArray = serviceTimeArray;144 this.readyTimeArray = readyTimeArray;145 this.demandArray = demandArray;146 this.capacity = capacity;147 this.coordinates = coordinates;148 this.useDistanceMatrix = useDistanceMatrix;149 }150 151 126 [StorableConstructor] 152 127 private ZhuEncoding(bool serializing) 153 128 : base(serializing) { 129 } 130 131 protected ZhuEncoding(ZhuEncoding original, Cloner cloner) 132 : base(original, cloner) { 133 this.cities = original.cities; 134 this.dueTimeArray = original.dueTimeArray; 135 this.serviceTimeArray = original.serviceTimeArray; 136 this.readyTimeArray = original.readyTimeArray; 137 this.demandArray = original.demandArray; 138 this.capacity = original.capacity; 139 this.coordinates = original.coordinates; 140 this.useDistanceMatrix = original.useDistanceMatrix; 141 } 142 public override IDeepCloneable Clone(Cloner cloner) { 143 return new ZhuEncoding(this, cloner); 154 144 } 155 145 … … 171 161 } 172 162 173 public static ZhuEncoding ConvertFrom(List<int> routeParam, int cities, 163 public static ZhuEncoding ConvertFrom(List<int> routeParam, int cities, 174 164 DoubleArray dueTimeArray, DoubleArray serviceTimeArray, DoubleArray readyTimeArray, DoubleArray demandArray, DoubleValue capacity, 175 165 DoubleMatrix coordinates, BoolValue useDistanceMatrix) { … … 183 173 184 174 return new ZhuEncoding( 185 new Permutation(PermutationTypes.RelativeUndirected, route.ToArray()), cities, 175 new Permutation(PermutationTypes.RelativeUndirected, route.ToArray()), cities, 186 176 dueTimeArray, serviceTimeArray, readyTimeArray, demandArray, capacity, 187 177 coordinates, useDistanceMatrix);
Note: See TracChangeset
for help on using the changeset viewer.