Changeset 7970 for branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Crossovers/CordeauCrossover.cs
- Timestamp:
- 06/06/12 04:29:56 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Crossovers/CordeauCrossover.cs
r7523 r7970 34 34 IQualitiesAwareGQAPOperator, IWeightsAwareGQAPOperator, IDistancesAwareGQAPOperator, IInstallationCostsAwareGQAPOperator, 35 35 IDemandsAwareGQAPOperator, ICapacitiesAwareGQAPOperator, ITransportationCostsAwareGQAPOperator, 36 I OverbookedCapacityPenaltyAwareGQAPOperator {36 IExpectedRandomQualityAwareGQAPOperator { 37 37 38 38 public ILookupParameter<BoolValue> MaximizationParameter { … … 69 69 get { return (IValueLookupParameter<DoubleValue>)Parameters["TransportationCosts"]; } 70 70 } 71 public IValueLookupParameter<DoubleValue> OverbookedCapacityPenaltyParameter { 72 get { return (IValueLookupParameter<DoubleValue>)Parameters["OverbookedCapacityPenalty"]; } 71 public IValueLookupParameter<DoubleValue> ExpectedRandomQualityParameter { 72 get { return (IValueLookupParameter<DoubleValue>)Parameters["ExpectedRandomQuality"]; } 73 } 74 public IValueLookupParameter<IGQAPEvaluator> EvaluatorParameter { 75 get { return (IValueLookupParameter<IGQAPEvaluator>)Parameters["Evaluator"]; } 73 76 } 74 77 … … 91 94 Parameters.Add(new LookupParameter<DoubleArray>("Capacities", GeneralizedQuadraticAssignmentProblem.CapacitiesDescription)); 92 95 Parameters.Add(new ValueLookupParameter<DoubleValue>("TransportationCosts", GeneralizedQuadraticAssignmentProblem.TransportationCostsDescription)); 93 Parameters.Add(new ValueLookupParameter<DoubleValue>("OverbookedCapacityPenalty", GeneralizedQuadraticAssignmentProblem.OverbookedCapacityPenaltyDescription)); 96 Parameters.Add(new ValueLookupParameter<DoubleValue>("ExpectedRandomQuality", GeneralizedQuadraticAssignmentProblem.ExpectedRandomQualityDescription)); 97 Parameters.Add(new ValueLookupParameter<IGQAPEvaluator>("Evaluator", "The evaluator used to evaluate solutions.")); 94 98 } 95 99 … … 103 107 DoubleMatrix weights, DoubleMatrix distances, DoubleMatrix installationCosts, 104 108 DoubleArray demands, DoubleArray capacities, 105 DoubleValue transportationCosts, DoubleValue overbookedCapacityPenalty) {109 double transportationCosts, double expectedRandomQuality, IGQAPEvaluator evaluator) { 106 110 var mediana = Inizialize(distances); 107 111 int m = capacities.Length; … … 158 162 } 159 163 if (!nofound) { 160 double sonQual = GQAPEvaluator.Evaluate(son, weights, distances, installationCosts, demands, capacities, transportationCosts, overbookedCapacityPenalty);164 double sonQual = evaluator.Evaluate(son, weights, distances, installationCosts, demands, capacities, transportationCosts, expectedRandomQuality); 161 165 if (sonQual < fbest) { 162 166 fbest = sonQual; … … 197 201 onefound = true; 198 202 } else { 199 double sonQual = GQAPEvaluator.Evaluate(son, weights, distances, installationCosts, demands, capacities, transportationCosts, overbookedCapacityPenalty);203 double sonQual = evaluator.Evaluate(son, weights, distances, installationCosts, demands, capacities, transportationCosts, expectedRandomQuality); 200 204 if (sonQual < fbest) { 201 205 fbest = sonQual; … … 227 231 WeightsParameter.ActualValue, DistancesParameter.ActualValue, InstallationCostsParameter.ActualValue, 228 232 DemandsParameter.ActualValue, CapacitiesParameter.ActualValue, 229 TransportationCostsParameter.ActualValue, OverbookedCapacityPenaltyParameter.ActualValue); 233 TransportationCostsParameter.ActualValue.Value, ExpectedRandomQualityParameter.ActualValue.Value, 234 EvaluatorParameter.ActualValue); 230 235 } 231 236
Note: See TracChangeset
for help on using the changeset viewer.