- Timestamp:
- 07/24/12 15:04:37 (12 years ago)
- Location:
- branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.VehicleRouting/3.3
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.VehicleRouting/3.3/Improvers/VRPImprovementOperator.cs
r8086 r8319 37 37 [Item("VRPImprovementOperator", "An operator that improves vehicle routing solutions.")] 38 38 [StorableClass] 39 public sealed class VRPImprovementOperator : SingleSuccessorOperator, I ImprovementOperator {39 public sealed class VRPImprovementOperator : SingleSuccessorOperator, ISingleObjectiveImprovementOperator { 40 40 #region Parameter properties 41 41 public ILookupParameter<DoubleValue> CapacityParameter { … … 90 90 get { return (ILookupParameter<DoubleValue>)Parameters["EvalTardinessPenalty"]; } 91 91 } 92 public IValueLookupParameter<IItem> TargetParameter {93 get { return (IValueLookupParameter<IItem>)Parameters[" Target"]; }92 public IValueLookupParameter<IItem> SolutionParameter { 93 get { return (IValueLookupParameter<IItem>)Parameters["Solution"]; } 94 94 } 95 95 public ILookupParameter<DoubleValue> EvalTimeFactorParameter { … … 127 127 Parameters.Add(new LookupParameter<DoubleArray>("ServiceTime", "The service time of each customer.")); 128 128 Parameters.Add(new LookupParameter<DoubleValue>("EvalTardinessPenalty", "The tardiness penalty considered in the evaluation.")); 129 Parameters.Add(new ValueLookupParameter<IItem>(" Target", "This parameter is used for name translation only."));129 Parameters.Add(new ValueLookupParameter<IItem>("Solution", "The solution to be improved. This parameter is used for name translation only.")); 130 130 Parameters.Add(new LookupParameter<DoubleValue>("EvalTimeFactor", "The time factor considered in the evaluation.")); 131 131 Parameters.Add(new LookupParameter<BoolValue>("UseDistanceMatrix", "True if a distance matrix should be calculated and used for evaluation, otherwise false")); … … 139 139 140 140 public override IOperation Apply() { 141 AlbaEncoding solution = TargetParameter.ActualValue is AlbaEncoding ?142 TargetParameter.ActualValue as AlbaEncoding :143 AlbaEncoding.ConvertFrom( TargetParameter.ActualValue as IVRPEncoding, VehiclesParameter.ActualValue.Value, DistanceMatrixParameter);141 AlbaEncoding solution = SolutionParameter.ActualValue is AlbaEncoding ? 142 SolutionParameter.ActualValue as AlbaEncoding : 143 AlbaEncoding.ConvertFrom(SolutionParameter.ActualValue as IVRPEncoding, VehiclesParameter.ActualValue.Value, DistanceMatrixParameter); 144 144 145 145 if (solution == null) … … 156 156 EvalTardinessPenaltyParameter.ActualValue, UseDistanceMatrixParameter.ActualValue); 157 157 158 TargetParameter.ActualValue = PotvinEncoding.ConvertFrom(solution, DistanceMatrixParameter);158 SolutionParameter.ActualValue = PotvinEncoding.ConvertFrom(solution, DistanceMatrixParameter); 159 159 CurrentScopeParameter.ActualValue.Variables.Add(new Variable("LocalEvaluatedSolutions", new IntValue(evaluatedSolutions))); 160 160 -
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.VehicleRouting/3.3/PathRelinkers/VRPPathRelinker.cs
r8086 r8319 39 39 [Item("VRPPathRelinker", "An operator that relinks paths between vehicle routing solutions.")] 40 40 [StorableClass] 41 public sealed class VRPPathRelinker : PathRelinker, IStochasticOperator {41 public sealed class VRPPathRelinker : SingleObjectivePathRelinker, IStochasticOperator { 42 42 #region Parameters 43 43 public ILookupParameter<DoubleMatrix> CoordinatesParameter { -
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.VehicleRouting/3.3/SimilarityCalculators/VRPSimilarityCalculator.cs
r8304 r8319 33 33 /// An operator that performs similarity calculation between two vehicle routing solutions. 34 34 /// </summary> 35 /// <remarks> 36 /// The operator calculates the similarity based on the number of edges the two solutions have in common. 37 /// </remarks> 35 38 [Item("VRPSimilarityCalculator", "An operator that performs similarity calculation between two vehicle routing solutions.")] 36 public sealed class VRPSimilarityCalculator : Si milarityCalculator {39 public sealed class VRPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator { 37 40 private VRPSimilarityCalculator(bool deserializing) : base(deserializing) { } 38 41 private VRPSimilarityCalculator(VRPSimilarityCalculator original, Cloner cloner) : base(original, cloner) { } … … 78 81 } 79 82 80 public override double Calculate IndividualSimilarity(IScope left, IScope right) {81 var sol1 = left .Variables[Target].Value as PotvinEncoding;82 var sol2 = right .Variables[Target].Value as PotvinEncoding;83 public override double CalculateSolutionSimilarity(IScope leftSolution, IScope rightSolution) { 84 var sol1 = leftSolution.Variables[SolutionVariableName].Value as PotvinEncoding; 85 var sol2 = rightSolution.Variables[SolutionVariableName].Value as PotvinEncoding; 83 86 84 87 return CalculateSimilarity(sol1, sol2); -
branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.VehicleRouting/3.3/VehicleRoutingProblem.cs
r8086 r8319 518 518 } 519 519 520 foreach ( var op in Operators.OfType<IVRPMultiNeighborhoodShakingOperator>()) {520 foreach (IVRPMultiNeighborhoodShakingOperator op in Operators.OfType<IVRPMultiNeighborhoodShakingOperator>()) { 521 521 op.VRPToursParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName; 522 522 } 523 foreach (I ImprovementOperator op in Operators.OfType<IImprovementOperator>()) {524 op. TargetParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName;525 op. TargetParameter.Hidden = true;526 } 527 foreach (I PathRelinker op in Operators.OfType<IPathRelinker>()) {523 foreach (ISingleObjectiveImprovementOperator op in Operators.OfType<ISingleObjectiveImprovementOperator>()) { 524 op.SolutionParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName; 525 op.SolutionParameter.Hidden = true; 526 } 527 foreach (ISingleObjectivePathRelinker op in Operators.OfType<ISingleObjectivePathRelinker>()) { 528 528 op.ParentsParameter.ActualName = SolutionCreator.VRPToursParameter.ActualName; 529 529 op.ParentsParameter.Hidden = true; 530 530 } 531 foreach ( ISimilarityCalculator op in Operators.OfType<ISimilarityCalculator>()) {532 op. Target= SolutionCreator.VRPToursParameter.ActualName;531 foreach (VRPSimilarityCalculator op in Operators.OfType<VRPSimilarityCalculator>()) { 532 op.SolutionVariableName = SolutionCreator.VRPToursParameter.ActualName; 533 533 } 534 534 }
Note: See TracChangeset
for help on using the changeset viewer.