Changeset 3232 for trunk/sources/HeuristicLab.Problems.TravelingSalesman
- Timestamp:
- 03/29/10 18:49:55 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3
- Files:
-
- 2 edited
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/HeuristicLab.Problems.TravelingSalesman-3.3.csproj
r3209 r3232 87 87 <Compile Include="Evaluators\TSPGeoPathEvaluator.cs" /> 88 88 <Compile Include="HeuristicLabProblemsTravelingSalesmanPlugin.cs" /> 89 <Compile Include="MoveEvaluators\ThreeOpt\TSPThreeOptRoundedEuclideanPathMoveEvaluator.cs" /> 90 <Compile Include="MoveEvaluators\ThreeOpt\TSPThreeOptEuclideanPathMoveEvaluator.cs" /> 91 <Compile Include="MoveEvaluators\ThreeOpt\TSPThreeOptGeoPathMoveEvaluator.cs" /> 92 <Compile Include="MoveEvaluators\TwoOpt\TSPTwoOptEuclideanPathMoveEvaluator.cs" /> 93 <Compile Include="MoveEvaluators\TwoOpt\TSPTwoOptGeoPathMoveEvaluator.cs" /> 94 <Compile Include="MoveEvaluators\TwoOpt\TSPTwoOptPathMoveEvaluator.cs" /> 95 <Compile Include="MoveEvaluators\TwoOpt\TSPTwoOptRoundedEuclideanPathMoveEvaluator.cs" /> 89 <Compile Include="MoveEvaluators\ThreeOpt\TSPTranslocationMoveEuclideanPathEvaluator.cs" /> 90 <Compile Include="MoveEvaluators\ThreeOpt\TSPTranslocationMoveGeoPathEvaluator.cs" /> 91 <Compile Include="MoveEvaluators\ThreeOpt\TSPTranslocationMovePathEvaluator.cs" /> 92 <Compile Include="MoveEvaluators\ThreeOpt\TSPTranslocationMoveRoundedEuclideanPathEvaluator.cs" /> 93 <Compile Include="MoveEvaluators\TwoOpt\TSPInversionMoveEuclideanPathEvaluator.cs" /> 94 <Compile Include="MoveEvaluators\TwoOpt\TSPInversionMoveGeoPathEvaluator.cs" /> 95 <Compile Include="MoveEvaluators\TwoOpt\TSPInversionMovePathEvaluator.cs" /> 96 <Compile Include="MoveEvaluators\TwoOpt\TSPInversionMoveRoundedEuclideanPathEvaluator.cs" /> 96 97 <Compile Include="TravelingSalesmanProblem.cs" /> 97 98 <Compile Include="TSPLIBTourParser.cs" /> … … 109 110 <Compile Include="Interfaces\ITSPPathEvaluator.cs" /> 110 111 <Compile Include="Interfaces\ITSPPathMoveEvaluator.cs" /> 111 <Compile Include="MoveEvaluators\ThreeOpt\TSPThreeOptPathMoveEvaluator.cs" />112 112 <Compile Include="MoveEvaluators\TSPPathMoveEvaluator.cs" /> 113 113 <Compile Include="MoveEvaluators\TSPMoveEvaluator.cs" /> -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/ThreeOpt/TSPTranslocationMoveEuclideanPathEvaluator.cs
r3229 r3232 26 26 namespace HeuristicLab.Problems.TravelingSalesman { 27 27 /// <summary> 28 /// An operator to evaluate 3-opt moves.28 /// An operator to evaluate translocation or insertion moves (3-opt). 29 29 /// </summary> 30 [Item("TSPT hreeOptEuclideanPathMoveEvaluator", "Operator for evaluating a 3-opt movebased on euclidean distances.")]30 [Item("TSPTranslocationMoveEuclideanPathEvaluator", "Operator for evaluating a translocation or insertion move (3-opt) based on euclidean distances.")] 31 31 [StorableClass] 32 public class TSPT hreeOptEuclideanPathMoveEvaluator : TSPThreeOptPathMoveEvaluator {32 public class TSPTranslocationMoveEuclideanPathEvaluator : TSPTranslocationMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPEuclideanPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/ThreeOpt/TSPTranslocationMoveGeoPathEvaluator.cs
r3229 r3232 26 26 namespace HeuristicLab.Problems.TravelingSalesman { 27 27 /// <summary> 28 /// An operator to evaluate 3-opt moves.28 /// An operator to evaluate translocation or insertion moves (3-opt). 29 29 /// </summary> 30 [Item("TSPT hreeOptGeoPathMoveEvaluator", "Operator for evaluating a 3-opt movebased on geo (world) distances.")]30 [Item("TSPTranslocationMoveGeoPathEvaluator", "Operator for evaluating a translocation or insertion move (3-opt) based on geo (world) distances.")] 31 31 [StorableClass] 32 public class TSPT hreeOptGeoPathMoveEvaluator : TSPThreeOptPathMoveEvaluator {32 public class TSPTranslocationMoveGeoPathEvaluator : TSPTranslocationMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPGeoPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/ThreeOpt/TSPTranslocationMovePathEvaluator.cs
r3229 r3232 30 30 namespace HeuristicLab.Problems.TravelingSalesman { 31 31 /// <summary> 32 /// An operator to evaluate 3-opt moves.32 /// An operator to evaluate a translocation or insertion move. 33 33 /// </summary> 34 [Item("TSPT hreeOptPathMoveEvaluator", "Evaluates a 3-opt moveby summing up the length of all added edges and subtracting the length of all deleted edges.")]34 [Item("TSPTranslocationMovePathEvaluator", "Evaluates a translocation or insertion move (3-opt) by summing up the length of all added edges and subtracting the length of all deleted edges.")] 35 35 [StorableClass] 36 public abstract class TSPT hreeOptPathMoveEvaluator : TSPPathMoveEvaluator, IThreeOptPermutationMoveOperator {37 public ILookupParameter<T hreeOptMove> ThreeOptMoveParameter {38 get { return (ILookupParameter<T hreeOptMove>)Parameters["ThreeOptMove"]; }36 public abstract class TSPTranslocationMovePathEvaluator : TSPPathMoveEvaluator, IPermutationTranslocationMoveOperator { 37 public ILookupParameter<TranslocationMove> TranslocationMoveParameter { 38 get { return (ILookupParameter<TranslocationMove>)Parameters["TranslocationMove"]; } 39 39 } 40 40 41 public TSPT hreeOptPathMoveEvaluator()41 public TSPTranslocationMovePathEvaluator() 42 42 : base() { 43 Parameters.Add(new LookupParameter<T hreeOptMove>("ThreeOptMove", "The move to evaluate."));43 Parameters.Add(new LookupParameter<TranslocationMove>("TranslocationMove", "The move to evaluate.")); 44 44 } 45 45 46 46 protected override double EvaluateByCoordinates(Permutation permutation, DoubleMatrix coordinates) { 47 T hreeOptMove move = ThreeOptMoveParameter.ActualValue;47 TranslocationMove move = TranslocationMoveParameter.ActualValue; 48 48 int edge1source = permutation.GetCircular(move.Index1 - 1); 49 49 int edge1target = permutation[move.Index1]; … … 81 81 82 82 protected override double EvaluateByDistanceMatrix(Permutation permutation, DoubleMatrix distanceMatrix) { 83 T hreeOptMove move = ThreeOptMoveParameter.ActualValue;83 TranslocationMove move = TranslocationMoveParameter.ActualValue; 84 84 int edge1source = permutation.GetCircular(move.Index1 - 1); 85 85 int edge1target = permutation[move.Index1]; -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/ThreeOpt/TSPTranslocationMoveRoundedEuclideanPathEvaluator.cs
r3229 r3232 26 26 namespace HeuristicLab.Problems.TravelingSalesman { 27 27 /// <summary> 28 /// An operator to evaluate 3-opt moves.28 /// An operator to evaluate translocation or insertion moves (3-opt). 29 29 /// </summary> 30 [Item("TSPT hreeOptRoundedEuclideanPathMoveEvaluator", "Operator for evaluating a 3-opt movebased on rounded euclidean distances.")]30 [Item("TSPTranslocationMoveRoundedEuclideanPathEvaluator", "Operator for evaluating a translocation or insertion move (3-opt) based on rounded euclidean distances.")] 31 31 [StorableClass] 32 public class TSPT hreeOptRoundedEuclideanPathMoveEvaluator : TSPThreeOptPathMoveEvaluator {32 public class TSPTranslocationMoveRoundedEuclideanPathEvaluator : TSPTranslocationMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPRoundedEuclideanPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/TwoOpt/TSPInversionMoveEuclideanPathEvaluator.cs
r3229 r3232 28 28 /// An operator to evaluate 2-opt moves. 29 29 /// </summary> 30 [Item("TSP TwoOptEuclideanPathMoveEvaluator", "Operator for evaluating a 2-opt movebased on euclidean distances.")]30 [Item("TSPInversionMoveEuclideanPathEvaluator", "Operator for evaluating an inversion move (2-opt) based on euclidean distances.")] 31 31 [StorableClass] 32 public class TSP TwoOptEuclideanPathMoveEvaluator : TSPTwoOptPathMoveEvaluator {32 public class TSPInversionMoveEuclideanPathEvaluator : TSPInversionMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPEuclideanPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/TwoOpt/TSPInversionMoveGeoPathEvaluator.cs
r3229 r3232 26 26 namespace HeuristicLab.Problems.TravelingSalesman { 27 27 /// <summary> 28 /// An operator to evaluate 2-opt moves.28 /// An operator to evaluate inversion moves (2-opt). 29 29 /// </summary> 30 [Item("TSP TwoOptGeoPathMoveEvaluator", "Operator for evaluating a 2-opt movebased on geo (world) distances.")]30 [Item("TSPInversionMoveGeoPathEvaluator", "Operator for evaluating an inversion move (2-opt) based on geo (world) distances.")] 31 31 [StorableClass] 32 public class TSP TwoOptGeoPathMoveEvaluator : TSPTwoOptPathMoveEvaluator {32 public class TSPInversionMoveGeoPathEvaluator : TSPInversionMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPGeoPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/TwoOpt/TSPInversionMovePathEvaluator.cs
r3229 r3232 30 30 namespace HeuristicLab.Problems.TravelingSalesman { 31 31 /// <summary> 32 /// An operator to evaluate 2-opt moves.32 /// An operator to evaluate inversion moves (2-opt). 33 33 /// </summary> 34 [Item("TSP TwoOptPathMoveEvaluator", "Evaluates a 2-opt moveby summing up the length of all added edges and subtracting the length of all deleted edges.")]34 [Item("TSPInversionMovePathEvaluator", "Evaluates an inversion move (2-opt) by summing up the length of all added edges and subtracting the length of all deleted edges.")] 35 35 [StorableClass] 36 public abstract class TSP TwoOptPathMoveEvaluator : TSPPathMoveEvaluator, ITwoOptPermutationMoveOperator {37 public ILookupParameter< TwoOptMove> TwoOptMoveParameter {38 get { return (ILookupParameter< TwoOptMove>)Parameters["TwoOptMove"]; }36 public abstract class TSPInversionMovePathEvaluator : TSPPathMoveEvaluator, IPermutationInversionMoveOperator { 37 public ILookupParameter<InversionMove> InversionMoveParameter { 38 get { return (ILookupParameter<InversionMove>)Parameters["InversionMove"]; } 39 39 } 40 40 41 public TSP TwoOptPathMoveEvaluator()41 public TSPInversionMovePathEvaluator() 42 42 : base() { 43 Parameters.Add(new LookupParameter< TwoOptMove>("TwoOptMove", "The move to evaluate."));43 Parameters.Add(new LookupParameter<InversionMove>("InversionMove", "The move to evaluate.")); 44 44 } 45 45 46 46 protected override double EvaluateByCoordinates(Permutation permutation, DoubleMatrix coordinates) { 47 TwoOptMove move = TwoOptMoveParameter.ActualValue;47 InversionMove move = InversionMoveParameter.ActualValue; 48 48 int edge1source = permutation.GetCircular(move.Index1 - 1); 49 49 int edge1target = permutation[move.Index1]; … … 66 66 67 67 protected override double EvaluateByDistanceMatrix(Permutation permutation, DoubleMatrix distanceMatrix) { 68 TwoOptMove move = TwoOptMoveParameter.ActualValue;68 InversionMove move = InversionMoveParameter.ActualValue; 69 69 int edge1source = permutation.GetCircular(move.Index1 - 1); 70 70 int edge1target = permutation[move.Index1]; -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/MoveEvaluators/TwoOpt/TSPInversionMoveRoundedEuclideanPathEvaluator.cs
r3229 r3232 26 26 namespace HeuristicLab.Problems.TravelingSalesman { 27 27 /// <summary> 28 /// An operator to evaluate 2-opt moves.28 /// An operator to evaluate inversion moves (2-opt). 29 29 /// </summary> 30 [Item("TSP TwoOptRoundedEuclideanPathMoveEvaluator", "Operator for evaluating a 2-opt movebased on rounded euclidean distances.")]30 [Item("TSPInversionMoveRoundedEuclideanPathEvaluator", "Operator for evaluating an inversion move (2-opt) based on rounded euclidean distances.")] 31 31 [StorableClass] 32 public class TSP TwoOptRoundedEuclideanPathMoveEvaluator : TSPTwoOptPathMoveEvaluator {32 public class TSPInversionMoveRoundedEuclideanPathEvaluator : TSPInversionMovePathEvaluator { 33 33 public override Type EvaluatorType { 34 34 get { return typeof(TSPRoundedEuclideanPathEvaluator); } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs
r3231 r3232 265 265 OnVisualizerChanged(); 266 266 } 267 private void MoveGenerator_ TwoOptMoveParameter_ActualNameChanged(object sender, EventArgs e) {268 string name = ((ILookupParameter< TwoOptMove>)sender).ActualName;269 foreach (I TwoOptPermutationMoveOperator op in Operators.OfType<ITwoOptPermutationMoveOperator>()) {270 op. TwoOptMoveParameter.ActualName = name;271 } 272 } 273 private void MoveGenerator_T hreeOptMoveParameter_ActualNameChanged(object sender, EventArgs e) {274 string name = ((ILookupParameter<T hreeOptMove>)sender).ActualName;275 foreach (I ThreeOptPermutationMoveOperator op in Operators.OfType<IThreeOptPermutationMoveOperator>()) {276 op.T hreeOptMoveParameter.ActualName = name;267 private void MoveGenerator_InversionMoveParameter_ActualNameChanged(object sender, EventArgs e) { 268 string name = ((ILookupParameter<InversionMove>)sender).ActualName; 269 foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>()) { 270 op.InversionMoveParameter.ActualName = name; 271 } 272 } 273 private void MoveGenerator_TranslocationMoveParameter_ActualNameChanged(object sender, EventArgs e) { 274 string name = ((ILookupParameter<TranslocationMove>)sender).ActualName; 275 foreach (IPermutationTranslocationMoveOperator op in Operators.OfType<IPermutationTranslocationMoveOperator>()) { 276 op.TranslocationMoveParameter.ActualName = name; 277 277 } 278 278 } … … 301 301 } 302 302 private void InitializeMoveGenerators() { 303 foreach (I TwoOptPermutationMoveOperator op in Operators.OfType<ITwoOptPermutationMoveOperator>()) {303 foreach (IPermutationInversionMoveOperator op in Operators.OfType<IPermutationInversionMoveOperator>()) { 304 304 if (op is IMoveGenerator) { 305 op. TwoOptMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_TwoOptMoveParameter_ActualNameChanged);305 op.InversionMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_InversionMoveParameter_ActualNameChanged); 306 306 } 307 307 } 308 foreach (I ThreeOptPermutationMoveOperator op in Operators.OfType<IThreeOptPermutationMoveOperator>()) {308 foreach (IPermutationTranslocationMoveOperator op in Operators.OfType<IPermutationTranslocationMoveOperator>()) { 309 309 if (op is IMoveGenerator) { 310 op.T hreeOptMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_ThreeOptMoveParameter_ActualNameChanged);310 op.TranslocationMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_TranslocationMoveParameter_ActualNameChanged); 311 311 } 312 312 }
Note: See TracChangeset
for help on using the changeset viewer.