Esempio n. 1
0
  private void createNiches() {
    calculateNeighbourhoodBest();
    double smallR = 1000000000000000.0;
    double radius;

    for (VBParticle p : mainSwarm.getTopology()) {
      p.setNeighbourhoodBest(yhead.getClone());
      p.calculateVG();
      p.calculateDotProduct();
      radius = distanceMeaser.distance(yhead.getBestPosition(), p.getPosition());
      p.setRadius(radius);
      if (radius < smallR && p.getDotProduct() < 0) {
        smallR = radius;
      }
    }
    nicheRadius = smallR;
    calculateNewNiche();
  }