Changeset 7878 for trunk/sources/HeuristicLab.Problems.QuadraticAssignment
- Timestamp:
- 05/23/12 16:28:05 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/LocalImprovement/QAPExhaustiveSwap2LocalImprovement.cs
r7259 r7878 100 100 } 101 101 102 public override IOperation Apply() { 103 int maxIterations = MaximumIterationsParameter.ActualValue.Value; 104 Permutation assignment = AssignmentParameter.ActualValue; 105 bool maximization = MaximizationParameter.ActualValue.Value; 106 DoubleMatrix weights = WeightsParameter.ActualValue; 107 DoubleMatrix distances = DistancesParameter.ActualValue; 108 109 double evaluatedSolutions = 0.0; 102 public static double Improve(Permutation assignment, double quality, DoubleMatrix weights, DoubleMatrix distances, bool maximization, int maxIterations, out double evaluatedSolutions) { 103 evaluatedSolutions = 0.0; 110 104 double evalSolPerMove = 4.0 / assignment.Length; 111 105 … … 124 118 if (bestMove == null) break; 125 119 Swap2Manipulator.Apply(assignment, bestMove.Index1, bestMove.Index2); 126 QualityParameter.ActualValue.Value+= bestQuality;120 quality += bestQuality; 127 121 } 128 EvaluatedSolutionsParameter.ActualValue.Value += (int)Math.Ceiling(evaluatedSolutions); 122 return quality; 123 } 124 125 public override IOperation Apply() { 126 int maxIterations = MaximumIterationsParameter.ActualValue.Value; 127 Permutation assignment = AssignmentParameter.ActualValue; 128 bool maximization = MaximizationParameter.ActualValue.Value; 129 DoubleMatrix weights = WeightsParameter.ActualValue; 130 DoubleMatrix distances = DistancesParameter.ActualValue; 131 double quality = QualityParameter.ActualValue.Value; 132 133 double evaluations; 134 QualityParameter.ActualValue.Value = Improve(assignment, quality, weights, distances, maximization, maxIterations, out evaluations); 135 EvaluatedSolutionsParameter.ActualValue.Value += (int)Math.Ceiling(evaluations); 129 136 return base.Apply(); 130 137 }
Note: See TracChangeset
for help on using the changeset viewer.