Changeset 3187 for trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
- Timestamp:
- 03/22/10 22:58:43 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
r3182 r3187 123 123 set { BestKnownQualityParameter.Value = value; } 124 124 } 125 private List<I RealVectorOperator> operators;125 private List<IOperator> operators; 126 126 public IEnumerable<IOperator> Operators { 127 get { return operators .Cast<IOperator>(); }127 get { return operators; } 128 128 } 129 129 #endregion … … 197 197 private void EvaluatorParameter_ValueChanged(object sender, EventArgs e) { 198 198 ParameterizeEvaluator(); 199 UpdateMoveEvaluators(); 199 200 Maximization.Value = Evaluator.Maximization; 200 201 BoundsParameter.Value = Evaluator.Bounds; … … 226 227 Bounds[e.Value, 0] = Bounds[e.Value, 1] - 0.1; 227 228 } 228 private void BoundsParameter_NameChanged(object sender, EventArgs e) { 229 ParameterizeOperators(); 229 private void MoveGenerator_AdditiveMoveParameter_ActualNameChanged(object sender, EventArgs e) { 230 string name = ((ILookupParameter<AdditiveMove>)sender).ActualName; 231 foreach (IAdditiveRealVectorMoveOperator op in Operators.OfType<IAdditiveRealVectorMoveOperator>()) { 232 op.AdditiveMoveParameter.ActualName = name; 233 } 230 234 } 231 235 #endregion … … 237 241 ProblemSizeParameter.ValueChanged += new EventHandler(ProblemSizeParameter_ValueChanged); 238 242 ProblemSize.ValueChanged += new EventHandler(ProblemSize_ValueChanged); 239 BoundsParameter.NameChanged += new EventHandler(BoundsParameter_NameChanged);240 243 BoundsParameter.ValueChanged += new EventHandler(BoundsParameter_ValueChanged); 241 244 Bounds.ToStringChanged += new EventHandler(Bounds_ToStringChanged); … … 248 251 } 249 252 private void InitializeOperators() { 250 operators = new List<I RealVectorOperator>();253 operators = new List<IOperator>(); 251 254 if (ApplicationManager.Manager != null) { 252 operators.AddRange(ApplicationManager.Manager.GetInstances<IRealVectorOperator>()); 255 foreach (IRealVectorOperator op in ApplicationManager.Manager.GetInstances<IRealVectorOperator>()) 256 operators.Add(op); 257 UpdateMoveEvaluators(); 253 258 ParameterizeOperators(); 254 259 } 255 //InitializeMoveGenerators();256 } 257 /*private void InitializeMoveGenerators() {258 foreach (I TwoOptPermutationMoveOperator op in Operators.OfType<ITwoOptPermutationMoveOperator>()) {260 InitializeMoveGenerators(); 261 } 262 private void InitializeMoveGenerators() { 263 foreach (IAdditiveRealVectorMoveOperator op in Operators.OfType<IAdditiveRealVectorMoveOperator>()) { 259 264 if (op is IMoveGenerator) { 260 op. TwoOptMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_TwoOptMoveParameter_ActualNameChanged);265 op.AdditiveMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_AdditiveMoveParameter_ActualNameChanged); 261 266 } 262 267 } 263 foreach (IThreeOptPermutationMoveOperator op in Operators.OfType<IThreeOptPermutationMoveOperator>()) { 264 if (op is IMoveGenerator) { 265 op.ThreeOptMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_ThreeOptMoveParameter_ActualNameChanged); 266 } 267 } 268 }*/ 268 } 269 private void UpdateMoveEvaluators() { 270 if (ApplicationManager.Manager != null) { 271 foreach (ISingleObjectiveTestFunctionMoveEvaluator op in Operators.OfType<ISingleObjectiveTestFunctionMoveEvaluator>().ToList()) 272 operators.Remove(op); 273 foreach (ISingleObjectiveTestFunctionMoveEvaluator op in ApplicationManager.Manager.GetInstances<ISingleObjectiveTestFunctionMoveEvaluator>()) 274 if (op.EvaluatorType == Evaluator.GetType()) { 275 operators.Add(op); 276 } 277 ParameterizeOperators(); 278 OnOperatorsChanged(); 279 } 280 } 269 281 private void ParameterizeSolutionCreator() { 270 282 SolutionCreator.LengthParameter.Value = new IntValue(ProblemSize.Value); … … 289 301 op.BoundsParameter.ActualName = BoundsParameter.Name; 290 302 } 291 /*foreach (IPermutationMoveOperator op in Operators.OfType<IPermutationMoveOperator>()) { 292 op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName; 293 } 294 foreach (ITSPPathMoveEvaluator op in Operators.OfType<ITSPPathMoveEvaluator>()) { 295 op.CoordinatesParameter.ActualName = CoordinatesParameter.Name; 296 op.DistanceMatrixParameter.ActualName = DistanceMatrixParameter.Name; 297 op.UseDistanceMatrixParameter.ActualName = UseDistanceMatrixParameter.Name; 298 }*/ 303 foreach (IRealVectorMoveOperator op in Operators.OfType<IRealVectorMoveOperator>()) { 304 op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName; 305 } 306 foreach (IRealVectorMoveGenerator op in Operators.OfType<IRealVectorMoveGenerator>()) { 307 op.BoundsParameter.ActualName = BoundsParameter.Name; 308 } 309 foreach (ISingleObjectiveTestFunctionAdditiveMoveEvaluator op in Operators.OfType<ISingleObjectiveTestFunctionAdditiveMoveEvaluator>()) { 310 op.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName; 311 op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName; 312 } 299 313 } 300 314 #endregion
Note: See TracChangeset
for help on using the changeset viewer.