Changeset 12969 for branches/gteufl/HeuristicLab.Algorithms.VariableNeighborhoodSearch/3.3/VariableNeighborhoodSearch.cs
- Timestamp:
- 09/25/15 14:39:59 (9 years ago)
- Location:
- branches/gteufl
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gteufl
- Property svn:ignore
-
old new 8 8 FxCopResults.txt 9 9 Google.ProtocolBuffers-0.9.1.dll 10 Google.ProtocolBuffers-2.4.1.473.dll 10 11 HeuristicLab 3.3.5.1.ReSharper.user 11 12 HeuristicLab 3.3.6.0.ReSharper.user 12 13 HeuristicLab.4.5.resharper.user 13 14 HeuristicLab.ExtLibs.6.0.ReSharper.user 15 HeuristicLab.Scripting.Development 14 16 HeuristicLab.resharper.user 15 17 ProtoGen.exe … … 17 19 _ReSharper.HeuristicLab 18 20 _ReSharper.HeuristicLab 3.3 21 _ReSharper.HeuristicLab 3.3 Tests 19 22 _ReSharper.HeuristicLab.ExtLibs 20 23 bin 21 24 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests 23 Google.ProtocolBuffers-2.4.1.473.dll 25 obj
-
- Property svn:mergeinfo changed
-
Property
svn:global-ignores
set to
*.nuget
packages
- Property svn:ignore
-
branches/gteufl/HeuristicLab.Algorithms.VariableNeighborhoodSearch/3.3/VariableNeighborhoodSearch.cs
r9456 r12969 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 3Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 36 36 namespace HeuristicLab.Algorithms.VariableNeighborhoodSearch { 37 37 [Item("Variable Neighborhood Search", "A variable neighborhood search algorithm based on the description in Mladenovic, N. and Hansen, P. (1997). Variable neighborhood search. Computers & Operations Research Volume 24, Issue 11, pp. 1097-1100.")] 38 [Creatable( "Algorithms")]38 [Creatable(CreatableAttribute.Categories.SingleSolutionAlgorithms, Priority = 110)] 39 39 [StorableClass] 40 40 public sealed class VariableNeighborhoodSearch : HeuristicOptimizationEngineAlgorithm, IStorableContent { … … 283 283 private void ParameterizeLocalImprovementOperators() { 284 284 foreach (ILocalImprovementOperator op in LocalImprovementParameter.ValidValues) { 285 if (op != LocalImprovementParameter.Value) op.Problem = null;286 285 op.MaximumIterationsParameter.Value = null; 287 286 op.MaximumIterationsParameter.ActualName = LocalImprovementMaximumIterationsParameter.Name; 288 } 289 if (LocalImprovementParameter.Value != null) 290 LocalImprovementParameter.Value.Problem = Problem; 287 288 var algOp = op as ILocalImprovementAlgorithmOperator; 289 if (algOp != null && algOp != LocalImprovementParameter.Value) algOp.Problem = null; 290 } 291 if (LocalImprovementParameter.Value is ILocalImprovementAlgorithmOperator) 292 ((ILocalImprovementAlgorithmOperator)LocalImprovementParameter.Value).Problem = Problem; 291 293 } 292 294 private void InitializeLocalImprovementOperators() { 293 if (Problem == null) { 294 LocalImprovementParameter.ValidValues.Clear(); 295 } else { 296 foreach (var entry in LocalImprovementParameter.ValidValues.ToList()) { 297 if (!entry.ProblemType.IsAssignableFrom(Problem.GetType())) { 298 LocalImprovementParameter.ValidValues.Remove(entry); 299 } 295 LocalImprovementParameter.ValidValues.Clear(); 296 if (Problem != null) { 297 // Regular ILocalImprovementOperators queried from Problem 298 foreach (var op in Problem.Operators.OfType<ILocalImprovementOperator>().Where(x => !(x is ILocalImprovementAlgorithmOperator))) { 299 LocalImprovementParameter.ValidValues.Add(op); 300 300 } 301 foreach (ILocalImprovementOperator op in ApplicationManager.Manager.GetInstances<ILocalImprovementOperator>().Where(x => x.ProblemType.IsAssignableFrom(Problem.GetType()))) { 302 if (!LocalImprovementParameter.ValidValues.Any(x => x.GetType() == op.GetType())) 301 // ILocalImprovementAlgorithmOperators queried from ApplicationManager 302 var algOps = ApplicationManager.Manager.GetInstances<ILocalImprovementAlgorithmOperator>() 303 .Where(x => x.ProblemType.IsInstanceOfType(Problem)); 304 foreach (var op in algOps) { 305 if (LocalImprovementParameter.ValidValues.All(x => x.GetType() != op.GetType())) 303 306 LocalImprovementParameter.ValidValues.Add(op); 304 307 }
Note: See TracChangeset
for help on using the changeset viewer.