- Timestamp:
- 03/18/10 02:17:56 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.SGA/3.3/SGAMainLoop.cs
r3080 r3095 56 56 get { return (ValueLookupParameter<IOperator>)Parameters["Crossover"]; } 57 57 } 58 public ValueLookupParameter< DoubleValue> MutationProbabilityParameter {59 get { return (ValueLookupParameter< DoubleValue>)Parameters["MutationProbability"]; }58 public ValueLookupParameter<PercentValue> MutationProbabilityParameter { 59 get { return (ValueLookupParameter<PercentValue>)Parameters["MutationProbability"]; } 60 60 } 61 61 public ValueLookupParameter<IOperator> MutatorParameter { … … 98 98 Parameters.Add(new ValueLookupParameter<IOperator>("Selector", "The operator used to select solutions for reproduction.")); 99 99 Parameters.Add(new ValueLookupParameter<IOperator>("Crossover", "The operator used to cross solutions.")); 100 Parameters.Add(new ValueLookupParameter< DoubleValue>("MutationProbability", "The probability that the mutation operator is applied on a solution."));100 Parameters.Add(new ValueLookupParameter<PercentValue>("MutationProbability", "The probability that the mutation operator is applied on a solution.")); 101 101 Parameters.Add(new ValueLookupParameter<IOperator>("Mutator", "The operator used to mutate solutions.")); 102 102 Parameters.Add(new ValueLookupParameter<IOperator>("Evaluator", "The operator used to evaluate solutions.")); … … 110 110 VariableCreator variableCreator = new VariableCreator(); 111 111 BestQualityMemorizer bestQualityMemorizer1 = new BestQualityMemorizer(); 112 BestQualityMemorizer bestQualityMemorizer2 = new BestQualityMemorizer(); 112 113 BestAverageWorstQualityCalculator bestAverageWorstQualityCalculator1 = new BestAverageWorstQualityCalculator(); 113 114 DataTableValuesCollector dataTableValuesCollector1 = new DataTableValuesCollector(); 115 QualityDifferenceCalculator qualityDifferenceCalculator1 = new QualityDifferenceCalculator(); 114 116 ResultsCollector resultsCollector = new ResultsCollector(); 115 117 SubScopesSorter subScopesSorter1 = new SubScopesSorter(); … … 130 132 IntCounter intCounter = new IntCounter(); 131 133 Comparator comparator = new Comparator(); 132 BestQualityMemorizer bestQualityMemorizer2 = new BestQualityMemorizer(); 134 BestQualityMemorizer bestQualityMemorizer3 = new BestQualityMemorizer(); 135 BestQualityMemorizer bestQualityMemorizer4 = new BestQualityMemorizer(); 133 136 BestAverageWorstQualityCalculator bestAverageWorstQualityCalculator2 = new BestAverageWorstQualityCalculator(); 134 137 DataTableValuesCollector dataTableValuesCollector2 = new DataTableValuesCollector(); 138 QualityDifferenceCalculator qualityDifferenceCalculator2 = new QualityDifferenceCalculator(); 135 139 ConditionalBranch conditionalBranch = new ConditionalBranch(); 136 140 137 141 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Generations", new IntValue(0))); 138 142 139 bestQualityMemorizer1.BestQualityParameter.ActualName = "Best 143 bestQualityMemorizer1.BestQualityParameter.ActualName = "BestQuality"; 140 144 bestQualityMemorizer1.MaximizationParameter.ActualName = "Maximization"; 141 145 bestQualityMemorizer1.QualityParameter.ActualName = "Quality"; 142 146 143 bestAverageWorstQualityCalculator1.AverageQualityParameter.ActualName = "Current Average Quality"; 144 bestAverageWorstQualityCalculator1.BestQualityParameter.ActualName = "Current Best Quality"; 147 bestQualityMemorizer2.BestQualityParameter.ActualName = "BestKnownQuality"; 148 bestQualityMemorizer2.MaximizationParameter.ActualName = "Maximization"; 149 bestQualityMemorizer2.QualityParameter.ActualName = "Quality"; 150 151 bestAverageWorstQualityCalculator1.AverageQualityParameter.ActualName = "CurrentAverageQuality"; 152 bestAverageWorstQualityCalculator1.BestQualityParameter.ActualName = "CurrentBestQuality"; 145 153 bestAverageWorstQualityCalculator1.MaximizationParameter.ActualName = "Maximization"; 146 154 bestAverageWorstQualityCalculator1.QualityParameter.ActualName = "Quality"; 147 bestAverageWorstQualityCalculator1.WorstQualityParameter.ActualName = "Current WorstQuality";148 149 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality" ));150 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality" ));151 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality" ));152 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality" ));155 bestAverageWorstQualityCalculator1.WorstQualityParameter.ActualName = "CurrentWorstQuality"; 156 157 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 158 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 159 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 160 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 153 161 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, "BestKnownQuality")); 154 162 dataTableValuesCollector1.DataTableParameter.ActualName = "Qualities"; 155 163 164 qualityDifferenceCalculator1.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 165 qualityDifferenceCalculator1.FirstQualityParameter.ActualName = "BestKnownQuality"; 166 qualityDifferenceCalculator1.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 167 qualityDifferenceCalculator1.SecondQualityParameter.ActualName = "BestQuality"; 168 156 169 resultsCollector.CollectedValues.Add(new LookupParameter<IntValue>("Generations")); 157 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality" ));158 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality" ));159 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality" ));160 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality" ));170 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 171 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 172 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 173 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 161 174 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, "BestKnownQuality")); 175 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Absolute Difference of Best Known Quality to Best Quality", null, "AbsoluteDifferenceBestKnownToBest")); 176 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Relative Difference of Best Known Quality to Best Quality", null, "RelativeDifferenceBestKnownToBest")); 162 177 resultsCollector.CollectedValues.Add(new LookupParameter<DataTable>("Qualities")); 163 178 resultsCollector.ResultsParameter.ActualName = "Results"; … … 199 214 comparator.RightSideParameter.ActualName = "MaximumGenerations"; 200 215 201 bestQualityMemorizer2.BestQualityParameter.ActualName = "Best Quality"; 202 bestQualityMemorizer2.MaximizationParameter.ActualName = "Maximization"; 203 bestQualityMemorizer2.QualityParameter.ActualName = "Quality"; 204 205 bestAverageWorstQualityCalculator2.AverageQualityParameter.ActualName = "Current Average Quality"; 206 bestAverageWorstQualityCalculator2.BestQualityParameter.ActualName = "Current Best Quality"; 216 bestQualityMemorizer3.BestQualityParameter.ActualName = "BestQuality"; 217 bestQualityMemorizer3.MaximizationParameter.ActualName = "Maximization"; 218 bestQualityMemorizer3.QualityParameter.ActualName = "Quality"; 219 220 bestQualityMemorizer4.BestQualityParameter.ActualName = "BestKnownQuality"; 221 bestQualityMemorizer4.MaximizationParameter.ActualName = "Maximization"; 222 bestQualityMemorizer4.QualityParameter.ActualName = "Quality"; 223 224 bestAverageWorstQualityCalculator2.AverageQualityParameter.ActualName = "CurrentAverageQuality"; 225 bestAverageWorstQualityCalculator2.BestQualityParameter.ActualName = "CurrentBestQuality"; 207 226 bestAverageWorstQualityCalculator2.MaximizationParameter.ActualName = "Maximization"; 208 227 bestAverageWorstQualityCalculator2.QualityParameter.ActualName = "Quality"; 209 bestAverageWorstQualityCalculator2.WorstQualityParameter.ActualName = "Current WorstQuality";210 211 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality" ));212 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality" ));213 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality" ));214 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality" ));228 bestAverageWorstQualityCalculator2.WorstQualityParameter.ActualName = "CurrentWorstQuality"; 229 230 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 231 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 232 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 233 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 215 234 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, "BestKnownQuality")); 216 235 dataTableValuesCollector2.DataTableParameter.ActualName = "Qualities"; 236 237 qualityDifferenceCalculator2.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 238 qualityDifferenceCalculator2.FirstQualityParameter.ActualName = "BestKnownQuality"; 239 qualityDifferenceCalculator2.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 240 qualityDifferenceCalculator2.SecondQualityParameter.ActualName = "BestQuality"; 217 241 218 242 conditionalBranch.ConditionParameter.ActualName = "Terminate"; … … 222 246 OperatorGraph.InitialOperator = variableCreator; 223 247 variableCreator.Successor = bestQualityMemorizer1; 224 bestQualityMemorizer1.Successor = bestAverageWorstQualityCalculator1; 248 bestQualityMemorizer1.Successor = bestQualityMemorizer2; 249 bestQualityMemorizer2.Successor = bestAverageWorstQualityCalculator1; 225 250 bestAverageWorstQualityCalculator1.Successor = dataTableValuesCollector1; 226 dataTableValuesCollector1.Successor = resultsCollector; 251 dataTableValuesCollector1.Successor = qualityDifferenceCalculator1; 252 qualityDifferenceCalculator1.Successor = resultsCollector; 227 253 resultsCollector.Successor = subScopesSorter1; 228 254 subScopesSorter1.Successor = selector; … … 249 275 mergingReducer.Successor = intCounter; 250 276 intCounter.Successor = comparator; 251 comparator.Successor = bestQualityMemorizer2; 252 bestQualityMemorizer2.Successor = bestAverageWorstQualityCalculator2; 277 comparator.Successor = bestQualityMemorizer3; 278 bestQualityMemorizer3.Successor = bestQualityMemorizer4; 279 bestQualityMemorizer4.Successor = bestAverageWorstQualityCalculator2; 253 280 bestAverageWorstQualityCalculator2.Successor = dataTableValuesCollector2; 254 dataTableValuesCollector2.Successor = conditionalBranch; 281 dataTableValuesCollector2.Successor = qualityDifferenceCalculator2; 282 qualityDifferenceCalculator2.Successor = conditionalBranch; 255 283 conditionalBranch.FalseBranch = subScopesSorter1; 256 284 conditionalBranch.TrueBranch = null;
Note: See TracChangeset
for help on using the changeset viewer.