Changeset 8085 for branches/GP-MoveOperators/HeuristicLab.Problems.QuadraticAssignment/3.3/LocalImprovement
- Timestamp:
- 06/21/12 18:02:33 (13 years ago)
- Location:
- branches/GP-MoveOperators
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GP-MoveOperators
- Property svn:ignore
-
old new 20 20 bin 21 21 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/GP-MoveOperators/HeuristicLab.Problems.QuadraticAssignment
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.QuadraticAssignment (added) merged: 7877-7878
- Property svn:mergeinfo changed
-
branches/GP-MoveOperators/HeuristicLab.Problems.QuadraticAssignment/3.3/LocalImprovement/QAPExhaustiveSwap2LocalImprovement.cs
r7259 r8085 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.