Changeset 7744 for branches/ScatterSearch/HeuristicLab.Algorithms.ScatterSearch/3.3/ReferenceSetUpdateMethod.cs
- Timestamp:
- 04/20/12 17:00:09 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ScatterSearch/HeuristicLab.Algorithms.ScatterSearch/3.3/ReferenceSetUpdateMethod.cs
r7740 r7744 46 46 get { return (IValueLookupParameter<IntValue>)Parameters["ReferenceSetSize"]; } 47 47 } 48 public IValueLookupParameter<IItem> QualityParameter { 49 get { return (IValueLookupParameter<IItem>)Parameters["Quality"]; } 48 public IValueLookupParameter<IItem> TargetParameter { 49 get { return (IValueLookupParameter<IItem>)Parameters["Target"]; } 50 } 51 public IValueLookupParameter<DiversityCalculator> DiversityCalculatorParameter { 52 get { return (IValueLookupParameter<DiversityCalculator>)Parameters["DiversityCalculator"]; } 50 53 } 51 54 #endregion … … 61 64 get { return ReferenceSetSizeParameter.ActualValue; } 62 65 } 63 private IItem Quality { 64 get { return QualityParameter.ActualValue; } 66 private IItem Target { 67 get { return TargetParameter.ActualValue; } 68 } 69 private DiversityCalculator DiversityCalculator { 70 get { return DiversityCalculatorParameter.ActualValue; } 65 71 } 66 72 #endregion … … 80 86 Parameters.Add(new ValueLookupParameter<IntValue>("NumberOfHighQualitySolutions")); 81 87 Parameters.Add(new ValueLookupParameter<IntValue>("ReferenceSetSize")); 82 Parameters.Add(new ValueLookupParameter<IItem>("Quality")); 88 Parameters.Add(new ValueLookupParameter<IItem>("Target")); 89 Parameters.Add(new ValueLookupParameter<DiversityCalculator>("DiversityCalculator")); 83 90 #endregion 91 TargetParameter.ActualName = "KnapsackSolution"; // temporary solution for the knapsack problem 84 92 } 85 93 … … 88 96 foreach (var pScope in CurrentScope.SubScopes[0].SubScopes) { 89 97 int diversity = 0; 90 var pSol = pScope.Variables[ QualityParameter.ActualName].Value;98 var pSol = pScope.Variables[TargetParameter.ActualName].Value; 91 99 foreach (var rScope in CurrentScope.SubScopes[1].SubScopes) { 92 var rSol = rScope.Variables[ QualityParameter.ActualName].Value;93 if (pSol != null && rSol != null) diversity += Knapsack.DiversityCalculator.CalculateDiversity(pSol, rSol);100 var rSol = rScope.Variables[TargetParameter.ActualName].Value; 101 diversity += DiversityCalculator.ExecuteCalculation(pSol, rSol); 94 102 } 95 103 population[pScope] = diversity;
Note: See TracChangeset
for help on using the changeset viewer.