예제 #1
0
 public void reset() {
   super.reset();
   results.reset();
   int numAlts = model.getAlternatives().size();
   utilities = new double[numAlts];
   ranks = new int[numAlts];
   confidenceHits = new boolean[numAlts];
 }
예제 #2
0
  private void aggregateWithCentralWeights() {
    clearConfidenceHits();
    Map<Alternative, Map<Criterion, Double>> cws = results.getCentralWeightVectors();

    for (int altIndex = 0; altIndex < model.getAlternatives().size(); altIndex++) {
      Map<Criterion, Double> cw = cws.get(model.getAlternatives().get(altIndex));
      double utility = computeUtility(altIndex, cw);
      for (int otherAlt = 0; otherAlt < model.getAlternatives().size(); otherAlt++) {
        if (altIndex == otherAlt) {
          continue;
        }
        double otherUtility = computeUtility(otherAlt, cw);
        if (otherUtility > utility) {
          confidenceHits[altIndex] = false;
          break;
        }
      }
    }
  }