Changeset 5752
- Timestamp:
- 03/18/11 15:20:24 (13 years ago)
- Location:
- branches/VNS
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/VNS/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/HeuristicLab.Algorithms.SimulatedAnnealing-3.3.csproj
r5163 r5752 12 12 <AssemblyName>HeuristicLab.Algorithms.SimulatedAnnealing-3.3</AssemblyName> 13 13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 14 <TargetFrameworkProfile></TargetFrameworkProfile> 14 <TargetFrameworkProfile> 15 </TargetFrameworkProfile> 15 16 <FileAlignment>512</FileAlignment> 16 17 <SignAssembly>true</SignAssembly> … … 107 108 <ItemGroup> 108 109 <Compile Include="HeuristicLabAlgorithmsSimulatedAnnealingPlugin.cs" /> 110 <Compile Include="SimulatedAnnealingImprovementOperator.cs" /> 109 111 <Compile Include="Properties\AssemblyInfo.cs" /> 110 112 <Compile Include="SimulatedAnnealing.cs" /> -
branches/VNS/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs
r5445 r5752 189 189 variableCreator.Name = "Initialize EvaluatedMoves"; 190 190 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("EvaluatedMoves", new IntValue())); 191 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Iterations", new IntValue(0))); 191 192 variableCreator.Successor = resultsCollector; 192 193 … … 206 207 mainLoop.AnalyzerParameter.ActualName = AnalyzerParameter.Name; 207 208 mainLoop.EvaluatedMovesParameter.ActualName = "EvaluatedMoves"; 209 mainLoop.IterationsParameter.ActualName = "Iterations"; 208 210 209 211 foreach (IDiscreteDoubleValueModifier op in ApplicationManager.Manager.GetInstances<IDiscreteDoubleValueModifier>().OrderBy(x => x.Name)) -
branches/VNS/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingMainLoop.cs
r5445 r5752 60 60 get { return (ValueLookupParameter<IntValue>)Parameters["InnerIterations"]; } 61 61 } 62 public LookupParameter<IntValue> IterationsParameter { 63 get { return (LookupParameter<IntValue>)Parameters["LocalIterations"]; } 64 } 62 65 public ValueLookupParameter<IntValue> MaximumIterationsParameter { 63 66 get { return (ValueLookupParameter<IntValue>)Parameters["MaximumIterations"]; } … … 109 112 Parameters.Add(new ValueLookupParameter<DoubleValue>("EndTemperature", "The end temperature.")); 110 113 Parameters.Add(new ValueLookupParameter<IntValue>("InnerIterations", "The amount of inner iterations (number of moves before temperature is adjusted again).")); 114 Parameters.Add(new LookupParameter<IntValue>("LocalIterations", "The number of generations.")); 111 115 Parameters.Add(new ValueLookupParameter<IntValue>("MaximumIterations", "The maximum number of iterations which should be processed.")); 112 116 … … 144 148 ConditionalBranch iterationsTermination = new ConditionalBranch(); 145 149 146 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Iterations", new IntValue(0))); // Class SimulatedAnnealing expects this to be called Iterations147 150 variableCreator.CollectedValues.Add(new ValueParameter<DoubleValue>("Temperature", new DoubleValue(double.MaxValue))); 148 151 149 resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>( "Iterations"));152 resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>(IterationsParameter.Name)); 150 153 resultsCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Temperature")); 151 154 resultsCollector1.ResultsParameter.ActualName = ResultsParameter.Name; … … 180 183 iterationsCounter.Name = "Increment Iterations"; 181 184 iterationsCounter.Increment = new IntValue(1); 182 iterationsCounter.ValueParameter.ActualName = "Iterations";185 iterationsCounter.ValueParameter.ActualName = IterationsParameter.Name; 183 186 184 187 iterationsComparator.Name = "Iterations >= MaximumIterations"; 185 iterationsComparator.LeftSideParameter.ActualName = "Iterations";188 iterationsComparator.LeftSideParameter.ActualName = IterationsParameter.Name; 186 189 iterationsComparator.RightSideParameter.ActualName = MaximumIterationsParameter.Name; 187 190 iterationsComparator.ResultParameter.ActualName = "Terminate"; -
branches/VNS/HeuristicLab.Algorithms.VariableNeighborhoodSearch/3.3/IShakingOperator.cs
r5642 r5752 29 29 namespace HeuristicLab.Algorithms.VariableNeighborhoodSearch { 30 30 public interface IShakingOperator: IManipulator { 31 void Parameterize(IProblem problem);31 void OnProblemChanged(IProblem problem); 32 32 } 33 33 } -
branches/VNS/HeuristicLab.Algorithms.VariableNeighborhoodSearch/3.3/ShakingOperator.cs
r5642 r5752 59 59 } 60 60 61 public void Parameterize(IProblem problem) {61 public void OnProblemChanged(IProblem problem) { 62 62 Operators.Clear(); 63 63 -
branches/VNS/HeuristicLab.Algorithms.VariableNeighborhoodSearch/3.3/VariableNeighborhoodSearch.cs
r5735 r5752 143 143 Problem.Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged); 144 144 } 145 LocalImprovementParameter.ValueChanged += new EventHandler(LocalImprovementParameter_ValueChanged); 145 146 } 146 147 … … 186 187 ParameterizeVNSMainLoop(); 187 188 ParameterizeAnalyzers(); 189 } 190 191 void LocalImprovementParameter_ValueChanged(object sender, EventArgs e) { 192 if (LocalImprovementParameter.Value != null) 193 LocalImprovementParameter.Value.OnProblemChanged(Problem); 188 194 } 189 195 #endregion … … 264 270 ShakingParameter.Value = (IShakingOperator)Activator.CreateInstance(genericType, new object[]{}); 265 271 266 ShakingParameter.Value. Parameterize(Problem);272 ShakingParameter.Value.OnProblemChanged(Problem); 267 273 } 268 274 private void UpdateLocalImprovementOperator() {
Note: See TracChangeset
for help on using the changeset viewer.