Changeset 2924 for trunk/sources/HeuristicLab.Algorithms.SGA
- Timestamp:
- 03/04/10 04:52:28 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Algorithms.SGA/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.SGA/3.3/SGA.cs
r2917 r2924 52 52 get { return (ConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; } 53 53 } 54 private ConstrainedValueParameter<IManipulator> MutatorParameter {55 get { return ( ConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; }54 private OptionalConstrainedValueParameter<IManipulator> MutatorParameter { 55 get { return (OptionalConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; } 56 56 } 57 57 private ValueParameter<IntData> ElitesParameter { … … 75 75 Parameters.Add(new ConstrainedValueParameter<ICrossover>("Crossover", "The operator used to cross solutions.")); 76 76 Parameters.Add(new ValueParameter<DoubleData>("MutationProbability", "The probability that the mutation operator is applied on a solution.", new DoubleData(0.05))); 77 Parameters.Add(new ConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions."));77 Parameters.Add(new OptionalConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions.")); 78 78 Parameters.Add(new ValueParameter<IntData>("Elites", "The numer of elite solutions which are kept in each generation.", new IntData(1))); 79 79 Parameters.Add(new ValueParameter<IntData>("MaximumGenerations", "The maximum number of generations which should be processed.", new IntData(1000))); -
trunk/sources/HeuristicLab.Algorithms.SGA/3.3/SGAOperator.cs
r2908 r2924 97 97 #region Create operator graph 98 98 VariableCreator variableCreator = new VariableCreator(); 99 ResultsCollector resultsCollector 1= new ResultsCollector();99 ResultsCollector resultsCollector = new ResultsCollector(); 100 100 SubScopesSorter subScopesSorter1 = new SubScopesSorter(); 101 101 Placeholder selector = new Placeholder(); … … 116 116 Comparator comparator = new Comparator(); 117 117 BestAverageWorstQualityCalculator bestAverageWorstQualityCalculator = new BestAverageWorstQualityCalculator(); 118 ResultsCollector resultsCollector2 = new ResultsCollector();119 118 DataTableValuesCollector dataTableValuesCollector = new DataTableValuesCollector(); 120 119 ConditionalBranch conditionalBranch = new ConditionalBranch(); … … 122 121 OperatorGraph.InitialOperator = variableCreator; 123 122 123 variableCreator.CollectedValues.Add(new ValueParameter<IntData>("Generations", new IntData(0))); 124 variableCreator.CollectedValues.Add(new ValueParameter<DoubleData>("Best Quality", new DoubleData(0))); 125 variableCreator.CollectedValues.Add(new ValueParameter<DoubleData>("Average Quality", new DoubleData(0))); 126 variableCreator.CollectedValues.Add(new ValueParameter<DoubleData>("Worst Quality", new DoubleData(0))); 124 127 variableCreator.CollectedValues.Add(new ValueParameter<DataTable>("Qualities", new DataTable("Qualities"))); 125 variableCreator.Successor = resultsCollector1; 126 127 LookupParameter<DataTable> qualities = new LookupParameter<DataTable>("Qualities"); 128 qualities.ActualName = "Qualities"; 129 resultsCollector1.CollectedValues.Add(qualities); 130 resultsCollector1.ResultsParameter.ActualName = "Results"; 131 resultsCollector1.Successor = subScopesSorter1; 128 variableCreator.Successor = resultsCollector; 129 130 resultsCollector.CollectedValues.Add(new LookupParameter<IntData>("Generations")); 131 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Best Quality")); 132 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Average Quality")); 133 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Worst Quality")); 134 resultsCollector.CollectedValues.Add(new LookupParameter<DataTable>("Qualities")); 135 resultsCollector.ResultsParameter.ActualName = "Results"; 136 resultsCollector.Successor = subScopesSorter1; 132 137 133 138 subScopesSorter1.DescendingParameter.ActualName = "Maximization"; … … 196 201 comparator.Successor = bestAverageWorstQualityCalculator; 197 202 198 bestAverageWorstQualityCalculator.AverageQualityParameter.ActualName = "Average Quality";199 bestAverageWorstQualityCalculator.BestQualityParameter.ActualName = "Best Quality";203 bestAverageWorstQualityCalculator.AverageQualityParameter.ActualName = "Average Quality"; 204 bestAverageWorstQualityCalculator.BestQualityParameter.ActualName = "Best Quality"; 200 205 bestAverageWorstQualityCalculator.MaximizationParameter.ActualName = "Maximization"; 201 206 bestAverageWorstQualityCalculator.QualityParameter.ActualName = "Quality"; 202 bestAverageWorstQualityCalculator.WorstQualityParameter.ActualName = "Worst Quality";207 bestAverageWorstQualityCalculator.WorstQualityParameter.ActualName = "Worst Quality"; 203 208 bestAverageWorstQualityCalculator.Successor = dataTableValuesCollector; 204 209 205 LookupParameter<DoubleData> bestQuality = new LookupParameter<DoubleData>("BestQuality"); 206 bestQuality.ActualName = "BestQuality"; 207 dataTableValuesCollector.CollectedValues.Add(bestQuality); 208 LookupParameter<DoubleData> averageQuality = new LookupParameter<DoubleData>("AverageQuality"); 209 averageQuality.ActualName = "AverageQuality"; 210 dataTableValuesCollector.CollectedValues.Add(averageQuality); 211 LookupParameter<DoubleData> worstQuality = new LookupParameter<DoubleData>("WorstQuality"); 212 worstQuality.ActualName = "WorstQuality"; 213 dataTableValuesCollector.CollectedValues.Add(worstQuality); 210 dataTableValuesCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Best Quality")); 211 dataTableValuesCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Average Quality")); 212 dataTableValuesCollector.CollectedValues.Add(new LookupParameter<DoubleData>("Worst Quality")); 214 213 dataTableValuesCollector.DataTableParameter.ActualName = "Qualities"; 215 dataTableValuesCollector.Successor = resultsCollector2; 216 217 bestQuality = new LookupParameter<DoubleData>("BestQuality"); 218 bestQuality.ActualName = "BestQuality"; 219 resultsCollector2.CollectedValues.Add(bestQuality); 220 averageQuality = new LookupParameter<DoubleData>("AverageQuality"); 221 averageQuality.ActualName = "AverageQuality"; 222 resultsCollector2.CollectedValues.Add(averageQuality); 223 worstQuality = new LookupParameter<DoubleData>("WorstQuality"); 224 worstQuality.ActualName = "WorstQuality"; 225 resultsCollector2.CollectedValues.Add(worstQuality); 226 resultsCollector2.ResultsParameter.ActualName = "Results"; 227 resultsCollector2.Successor = conditionalBranch; 214 dataTableValuesCollector.Successor = conditionalBranch; 228 215 229 216 conditionalBranch.ConditionParameter.ActualName = "Terminate";
Note: See TracChangeset
for help on using the changeset viewer.