Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/10/17 22:11:10 (6 years ago)
Author:
abeham
Message:

#1614: refactored code

  • change problem to derive from basic problem
  • using a combined instance class instead of individual parameters
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GeneralizedQAP/HeuristicLab.Problems.GeneralizedQuadraticAssignment/3.3/GQAPSolution.cs

    r7418 r15504  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2017 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Data;
    2625using HeuristicLab.Encodings.IntegerVectorEncoding;
    2726using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    4443
    4544    [Storable]
    46     private DoubleValue quality;
    47     public DoubleValue Quality {
    48       get { return quality; }
     45    private Evaluation evaluation;
     46    public Evaluation Evaluation {
     47      get { return evaluation; }
    4948      set {
    50         bool changed = (quality != value);
    51         quality = value;
    52         if (changed) OnPropertyChanged("Quality");
    53       }
    54     }
    55 
    56     [Storable]
    57     private DoubleValue flowDistanceQuality;
    58     public DoubleValue FlowDistanceQuality {
    59       get { return flowDistanceQuality; }
    60       set {
    61         bool changed = (flowDistanceQuality != value);
    62         flowDistanceQuality = value;
    63         if (changed) OnPropertyChanged("FlowDistanceQuality");
    64       }
    65     }
    66 
    67     [Storable]
    68     private DoubleValue installationQuality;
    69     public DoubleValue InstallationQuality {
    70       get { return installationQuality; }
    71       set {
    72         bool changed = (installationQuality != value);
    73         installationQuality = value;
    74         if (changed) OnPropertyChanged("InstallationQuality");
    75       }
    76     }
    77 
    78     [Storable]
    79     private DoubleValue overbookedCapacity;
    80     public DoubleValue OverbookedCapacity {
    81       get { return overbookedCapacity; }
    82       set {
    83         bool changed = (overbookedCapacity != value);
    84         overbookedCapacity = value;
    85         if (changed) OnPropertyChanged("OverbookedCapacity");
     49        if (evaluation == value) return;
     50        evaluation = value;
     51        OnPropertyChanged(nameof(Evaluation));
    8652      }
    8753    }
     
    9258      : base(original, cloner) {
    9359      assignment = cloner.Clone(original.assignment);
    94       quality = cloner.Clone(original.quality);
    95       flowDistanceQuality = cloner.Clone(original.flowDistanceQuality);
    96       installationQuality = cloner.Clone(original.installationQuality);
    97       overbookedCapacity = cloner.Clone(original.overbookedCapacity);
     60      evaluation = cloner.Clone(original.evaluation);
    9861    }
    99     public GQAPSolution(IntegerVector assignment, DoubleValue quality, DoubleValue flowDistanceQuality, DoubleValue installationQuality, DoubleValue overbookedCapacity)
     62    public GQAPSolution(IntegerVector assignment, Evaluation evaluation)
    10063      : base() {
    10164      this.assignment = assignment;
    102       this.quality = quality;
    103       this.flowDistanceQuality = flowDistanceQuality;
    104       this.installationQuality = installationQuality;
    105       this.overbookedCapacity = overbookedCapacity;
     65      this.evaluation = evaluation;
    10666    }
    10767
Note: See TracChangeset for help on using the changeset viewer.