Changeset 10645 for branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm
- Timestamp:
- 03/21/14 15:17:02 (11 years ago)
- Location:
- branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm merged: 10643
- Property svn:mergeinfo changed
-
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.csproj
r10152 r10645 141 141 <Private>False</Private> 142 142 </Reference> 143 <Reference Include="HeuristicLab.Selection-3.3"> 143 <Reference Include="HeuristicLab.Selection-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 144 <SpecificVersion>False</SpecificVersion> 144 145 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Selection-3.3.dll</HintPath> 145 146 <Private>False</Private> … … 192 193 <Install>true</Install> 193 194 </BootstrapperPackage> 195 </ItemGroup> 196 <ItemGroup> 197 <WCFMetadata Include="Service References\" /> 194 198 </ItemGroup> 195 199 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs
r10389 r10645 133 133 get { return (ValueParameter<IntValue>)Parameters["MaximumEvaluatedSolutions"]; } 134 134 } 135 private IFixedValueParameter<BoolValue> FillPopulationWithParentsParameter { 136 get { return (IFixedValueParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 137 } 135 138 protected IFixedValueParameter<BoolValue> ReevaluateImmigrantsParameter { 136 139 get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateImmigrants"]; } … … 238 241 get { return MaximumEvaluatedSolutionsParameter.Value; } 239 242 set { MaximumEvaluatedSolutionsParameter.Value = value; } 243 } 244 public bool FillPopulationWithParents { 245 get { return FillPopulationWithParentsParameter.Value.Value; } 246 set { FillPopulationWithParentsParameter.Value.Value = value; } 240 247 } 241 248 public bool ReevaluateImmigrants { … … 281 288 Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateImmigrants", "Flag which indicates if inviduals should be reevaluated before they are immigrated.", new BoolValue(false)) { Hidden = true }); 282 289 } 290 if (!Parameters.ContainsKey("FillPopulationWithParents")) 291 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(false)) { Hidden = true }); 283 292 #endregion 284 293 … … 325 334 Parameters.Add(new ValueParameter<MultiAnalyzer>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); 326 335 Parameters.Add(new ValueParameter<IntValue>("MaximumEvaluatedSolutions", "The maximum number of evaluated solutions (approximately).", new IntValue(int.MaxValue))); 336 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(true)) { Hidden = true }); 327 337 Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateImmigrants", "Flag which indicates if inviduals should be reevaluated before they are immigrated.", new BoolValue(false)) { Hidden = true }); 328 338 … … 390 400 mainLoop.OffspringSelectionBeforeMutationParameter.ActualName = OffspringSelectionBeforeMutationParameter.Name; 391 401 mainLoop.EvaluatedSolutionsParameter.ActualName = "EvaluatedSolutions"; 402 mainLoop.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 392 403 mainLoop.Successor = null; 393 404 -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithmMainLoop.cs
r10640 r10645 20 20 #endregion 21 21 22 using System.Linq;23 22 using HeuristicLab.Common; 24 23 using HeuristicLab.Core; … … 29 28 using HeuristicLab.Parameters; 30 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 31 using HeuristicLab.Selection;32 30 33 31 namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { … … 131 129 public LookupParameter<IntValue> EvaluatedSolutionsParameter { 132 130 get { return (LookupParameter<IntValue>)Parameters["EvaluatedSolutions"]; } 131 } 132 public IValueLookupParameter<BoolValue> FillPopulationWithParentsParameter { 133 get { return (IValueLookupParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 133 134 } 134 135 public ValueLookupParameter<BoolValue> ReevaluateIndividualsAfterMigration { … … 179 180 Parameters.Add(new ValueLookupParameter<IOperator>("IslandAnalyzer", "The operator used to analyze each island.")); 180 181 Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of times solutions have been evaluated.")); 182 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 181 183 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateIndividualsAfterMigration", "Flag which indicates if inviduals should be reevaluated after migration.")); 182 184 #endregion … … 277 279 mainOperator.SelectorParameter.ActualName = SelectorParameter.Name; 278 280 mainOperator.SuccessRatioParameter.ActualName = SuccessRatioParameter.Name; 279 foreach (var offspringSelector in mainOperator.OperatorGraph.Operators.OfType<OffspringSelector>()) 280 offspringSelector.FillPopulationWithParents = true; 281 mainOperator.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 281 282 282 283 islandAnalyzer2.Name = "Island Analyzer (placeholder)"; … … 458 459 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 459 460 } 461 if (!Parameters.ContainsKey("FillPopulationWithParents")) 462 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 460 463 #endregion 461 464 } -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs
r9756 r10645 112 112 get { return (ValueParameter<IntValue>)Parameters["MaximumEvaluatedSolutions"]; } 113 113 } 114 private IFixedValueParameter<BoolValue> FillPopulationWithParentsParameter { 115 get { return (IFixedValueParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 116 } 114 117 #endregion 115 118 … … 190 193 get { return MaximumEvaluatedSolutionsParameter.Value; } 191 194 set { MaximumEvaluatedSolutionsParameter.Value = value; } 195 } 196 public bool FillPopulationWithParents { 197 get { return FillPopulationWithParentsParameter.Value.Value; } 198 set { FillPopulationWithParentsParameter.Value.Value = value; } 192 199 } 193 200 private RandomCreator RandomCreator { … … 219 226 Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)", (BoolValue)new BoolValue(false).AsReadOnly()) { Hidden = true }); 220 227 } 228 if (!Parameters.ContainsKey("FillPopulationWithParents")) 229 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(false)) { Hidden = true }); 221 230 #endregion 222 231 … … 254 263 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); 255 264 Parameters.Add(new ValueParameter<IntValue>("MaximumEvaluatedSolutions", "The maximum number of evaluated solutions (approximately).", new IntValue(int.MaxValue))); 265 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(false)) { Hidden = true }); 256 266 257 267 RandomCreator randomCreator = new RandomCreator(); … … 297 307 mainLoop.SelectorParameter.ActualName = SelectorParameter.Name; 298 308 mainLoop.SuccessRatioParameter.ActualName = SuccessRatioParameter.Name; 309 mainLoop.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 299 310 300 311 foreach (ISelector selector in ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name)) -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithmMainLoop.cs
r9756 r10645 96 96 get { return (LookupParameter<IntValue>)Parameters["EvaluatedSolutions"]; } 97 97 } 98 public IValueLookupParameter<BoolValue> FillPopulationWithParentsParameter { 99 get { return (IValueLookupParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 100 } 98 101 #endregion 99 102 … … 118 121 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 119 122 } 123 if (!Parameters.ContainsKey("FillPopulationWithParents")) 124 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 120 125 #endregion 121 126 } … … 144 149 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.")); 145 150 Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of times solutions have been evaluated.")); 151 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 146 152 #endregion 147 153 … … 197 203 mainOperator.SelectorParameter.ActualName = SelectorParameter.Name; 198 204 mainOperator.SuccessRatioParameter.ActualName = SuccessRatioParameter.Name; 205 mainOperator.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 199 206 200 207 generationsCounter.Increment = new IntValue(1); -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithmMainOperator.cs
r9756 r10645 88 88 get { return (ValueLookupParameter<BoolValue>)Parameters["OffspringSelectionBeforeMutation"]; } 89 89 } 90 public IValueLookupParameter<BoolValue> FillPopulationWithParentsParameter { 91 get { return (IValueLookupParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 92 } 90 93 #endregion 91 94 … … 110 113 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 111 114 } 115 if (!Parameters.ContainsKey("FillPopulationWithParents")) 116 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 112 117 #endregion 113 118 } … … 132 137 Parameters.Add(new ValueLookupParameter<DoubleValue>("MaximumSelectionPressure", "The maximum selection pressure that terminates the algorithm.")); 133 138 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.")); 139 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 134 140 #endregion 135 141 … … 261 267 offspringSelector.OffspringPopulationWinnersParameter.ActualName = "OffspringPopulationWinners"; 262 268 offspringSelector.SuccessfulOffspringParameter.ActualName = "SuccessfulOffspring"; 269 offspringSelector.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 263 270 264 271 bestSelector.CopySelected = new BoolValue(false); -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs
r9756 r10645 121 121 get { return (ValueParameter<IntValue>)Parameters["MaximumEvaluatedSolutions"]; } 122 122 } 123 private IFixedValueParameter<BoolValue> FillPopulationWithParentsParameter { 124 get { return (IFixedValueParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 125 } 123 126 #endregion 124 127 … … 211 214 get { return MaximumEvaluatedSolutionsParameter.Value; } 212 215 set { MaximumEvaluatedSolutionsParameter.Value = value; } 216 } 217 public bool FillPopulationWithParents { 218 get { return FillPopulationWithParentsParameter.Value.Value; } 219 set { FillPopulationWithParentsParameter.Value.Value = value; } 213 220 } 214 221 private RandomCreator RandomCreator { … … 247 254 Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)", (BoolValue)new BoolValue(false).AsReadOnly()) { Hidden = true }); 248 255 } 256 if (!Parameters.ContainsKey("FillPopulationWithParents")) 257 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(false)) { Hidden = true }); 249 258 #endregion 250 259 … … 287 296 Parameters.Add(new ValueParameter<MultiAnalyzer>("VillageAnalyzer", "The operator used to analyze each village.", new MultiAnalyzer())); 288 297 Parameters.Add(new ValueParameter<IntValue>("MaximumEvaluatedSolutions", "The maximum number of evaluated solutions (approximately).", new IntValue(int.MaxValue))); 298 Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(true)) { Hidden = true }); 289 299 290 300 RandomCreator randomCreator = new RandomCreator(); … … 346 356 mainLoop.OffspringSelectionBeforeMutationParameter.ActualName = OffspringSelectionBeforeMutationParameter.Name; 347 357 mainLoop.EvaluatedSolutionsParameter.ActualName = "EvaluatedSolutions"; 358 mainLoop.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 348 359 mainLoop.Successor = null; 349 360 -
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs
r9756 r10645 111 111 public LookupParameter<IntValue> EvaluatedSolutionsParameter { 112 112 get { return (LookupParameter<IntValue>)Parameters["EvaluatedSolutions"]; } 113 } 114 public IValueLookupParameter<BoolValue> FillPopulationWithParentsParameter { 115 get { return (IValueLookupParameter<BoolValue>)Parameters["FillPopulationWithParents"]; } 113 116 } 114 117 #endregion … … 150 153 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.")); 151 154 Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of times solutions have been evaluated.")); 155 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 152 156 #endregion 153 157 … … 253 257 mainOperator.SelectorParameter.ActualName = SelectorParameter.Name; 254 258 mainOperator.SuccessRatioParameter.ActualName = SuccessRatioParameter.Name; 259 mainOperator.FillPopulationWithParentsParameter.ActualName = FillPopulationWithParentsParameter.Name; 255 260 256 261 villageAnalyzer2.Name = "Village Analyzer (placeholder)"; … … 436 441 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 437 442 } 443 if (!Parameters.ContainsKey("FillPopulationWithParents")) 444 Parameters.Add(new ValueLookupParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.")); 438 445 #endregion 439 446 }
Note: See TracChangeset
for help on using the changeset viewer.