Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/06/12 04:29:56 (12 years ago)
Author:
abeham
Message:

#1614: restructured architecture to allow for different evaluator with different penalty strategies

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/Operators/Crossovers/CordeauCrossover.cs

    r7523 r7970  
    3434    IQualitiesAwareGQAPOperator, IWeightsAwareGQAPOperator, IDistancesAwareGQAPOperator, IInstallationCostsAwareGQAPOperator,
    3535    IDemandsAwareGQAPOperator, ICapacitiesAwareGQAPOperator, ITransportationCostsAwareGQAPOperator,
    36     IOverbookedCapacityPenaltyAwareGQAPOperator {
     36    IExpectedRandomQualityAwareGQAPOperator {
    3737
    3838    public ILookupParameter<BoolValue> MaximizationParameter {
     
    6969      get { return (IValueLookupParameter<DoubleValue>)Parameters["TransportationCosts"]; }
    7070    }
    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"]; }
    7376    }
    7477
     
    9194      Parameters.Add(new LookupParameter<DoubleArray>("Capacities", GeneralizedQuadraticAssignmentProblem.CapacitiesDescription));
    9295      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."));
    9498    }
    9599
     
    103107      DoubleMatrix weights, DoubleMatrix distances, DoubleMatrix installationCosts,
    104108      DoubleArray demands, DoubleArray capacities,
    105       DoubleValue transportationCosts, DoubleValue overbookedCapacityPenalty) {
     109      double transportationCosts, double expectedRandomQuality, IGQAPEvaluator evaluator) {
    106110      var mediana = Inizialize(distances);
    107111      int m = capacities.Length;
     
    158162        }
    159163        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);
    161165          if (sonQual < fbest) {
    162166            fbest = sonQual;
     
    197201          onefound = true;
    198202        } 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);
    200204          if (sonQual < fbest) {
    201205            fbest = sonQual;
     
    227231        WeightsParameter.ActualValue, DistancesParameter.ActualValue, InstallationCostsParameter.ActualValue,
    228232        DemandsParameter.ActualValue, CapacitiesParameter.ActualValue,
    229         TransportationCostsParameter.ActualValue, OverbookedCapacityPenaltyParameter.ActualValue);
     233        TransportationCostsParameter.ActualValue.Value, ExpectedRandomQualityParameter.ActualValue.Value,
     234        EvaluatorParameter.ActualValue);
    230235    }
    231236
Note: See TracChangeset for help on using the changeset viewer.