Changeset 3107 for trunk/sources/HeuristicLab.Problems.TSP/3.3/TSP.cs
- Timestamp:
- 03/19/10 04:56:06 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.TSP/3.3/TSP.cs
r3099 r3107 70 70 get { return EvaluatorParameter; } 71 71 } 72 public OptionalValueParameter<ITSPSolutionsVisualizer> VisualizerParameter { 73 get { return (OptionalValueParameter<ITSPSolutionsVisualizer>)Parameters["Visualizer"]; } 74 } 75 IParameter IProblem.VisualizerParameter { 76 get { return VisualizerParameter; } 77 } 72 78 public OptionalValueParameter<DoubleValue> BestKnownQualityParameter { 73 79 get { return (OptionalValueParameter<DoubleValue>)Parameters["BestKnownQuality"]; } … … 108 114 get { return EvaluatorParameter.Value; } 109 115 } 116 public ITSPSolutionsVisualizer Visualizer { 117 get { return VisualizerParameter.Value; } 118 set { VisualizerParameter.Value = value; } 119 } 120 ISolutionsVisualizer IProblem.Visualizer { 121 get { return VisualizerParameter.Value; } 122 } 110 123 public DoubleValue BestKnownQuality { 111 124 get { return BestKnownQualityParameter.Value; } … … 122 135 RandomPermutationCreator creator = new RandomPermutationCreator(); 123 136 TSPRoundedEuclideanPathEvaluator evaluator = new TSPRoundedEuclideanPathEvaluator(); 137 BestPathTSPTourVisualizer visualizer = new BestPathTSPTourVisualizer(); 124 138 125 139 Parameters.Add(new ValueParameter<BoolValue>("Maximization", "Set to false as the Traveling Salesman Problem is a minimization problem.", new BoolValue(false))); … … 129 143 Parameters.Add(new ValueParameter<IPermutationCreator>("SolutionCreator", "The operator which should be used to create new TSP solutions.", creator)); 130 144 Parameters.Add(new ValueParameter<ITSPEvaluator>("Evaluator", "The operator which should be used to evaluate TSP solutions.", evaluator)); 145 Parameters.Add(new OptionalValueParameter<ITSPSolutionsVisualizer>("Visualizer", "The operator which should be used to visualize TSP solutions.", visualizer)); 131 146 Parameters.Add(new OptionalValueParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this TSP instance.")); 132 147 … … 135 150 ParameterizeSolutionCreator(); 136 151 ParameterizeEvaluator(); 152 ParameterizeVisualizer(); 137 153 138 154 Initialize(); … … 164 180 EvaluatorChanged(this, EventArgs.Empty); 165 181 } 182 public event EventHandler VisualizerChanged; 183 private void OnVisualizerChanged() { 184 if (VisualizerChanged != null) 185 VisualizerChanged(this, EventArgs.Empty); 186 } 166 187 public event EventHandler OperatorsChanged; 167 188 private void OnOperatorsChanged() { … … 187 208 ParameterizeSolutionCreator(); 188 209 ParameterizeEvaluator(); 210 ParameterizeVisualizer(); 189 211 ParameterizeOperators(); 190 212 OnSolutionCreatorChanged(); … … 192 214 private void SolutionCreator_PermutationParameter_ActualNameChanged(object sender, EventArgs e) { 193 215 ParameterizeEvaluator(); 216 ParameterizeVisualizer(); 194 217 ParameterizeOperators(); 195 218 } 196 219 private void EvaluatorParameter_ValueChanged(object sender, EventArgs e) { 197 220 ParameterizeEvaluator(); 221 ParameterizeVisualizer(); 198 222 ClearDistanceMatrix(); 199 223 OnEvaluatorChanged(); 224 } 225 private void VisualizerParameter_ValueChanged(object sender, EventArgs e) { 226 ParameterizeVisualizer(); 227 OnVisualizerChanged(); 200 228 } 201 229 private void MoveGenerator_TwoOptMoveParameter_ActualNameChanged(object sender, EventArgs e) { … … 223 251 SolutionCreator.PermutationParameter.ActualNameChanged += new EventHandler(SolutionCreator_PermutationParameter_ActualNameChanged); 224 252 EvaluatorParameter.ValueChanged += new EventHandler(EvaluatorParameter_ValueChanged); 253 VisualizerParameter.ValueChanged += new EventHandler(VisualizerParameter_ValueChanged); 225 254 } 226 255 private void InitializeOperators() { … … 257 286 } 258 287 } 288 private void ParameterizeVisualizer() { 289 Visualizer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName; 290 if (Visualizer is ICoordinatesTSPSolutionsVisualizer) 291 ((ICoordinatesTSPSolutionsVisualizer)Visualizer).CoordinatesParameter.ActualName = CoordinatesParameter.Name; 292 if (Visualizer is IPathCoordinatesTSPSolutionsVisualizer) 293 ((IPathCoordinatesTSPSolutionsVisualizer)Visualizer).PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName; 294 } 259 295 private void ParameterizeOperators() { 260 296 foreach (IPermutationCrossover op in Operators.OfType<IPermutationCrossover>()) {
Note: See TracChangeset
for help on using the changeset viewer.