Esempio n. 1
0
  public ParallelVBPSO() {
    this.mainSwarm = new VBPSO();
    VBPSO pso = (VBPSO) this.mainSwarm;
    ((SynchronousIterationStrategy) pso.getIterationStrategy())
        .setBoundaryConstraint(new ReinitialisationBoundary());

    VBParticle mainSwarmParticle = new VBParticle();
    mainSwarmParticle.setVelocityInitializationStrategy(new RandomInitializationStrategy());
    StandardVelocityProvider velocityUpdateStrategy = new StandardVelocityProvider();
    velocityUpdateStrategy.setCognitiveAcceleration(ConstantControlParameter.of(1.0));
    velocityUpdateStrategy.setSocialAcceleration(ConstantControlParameter.of(1.0));
    velocityUpdateStrategy.setInertiaWeight(ConstantControlParameter.of(0.8));

    mainSwarmParticle.setVelocityProvider(velocityUpdateStrategy);
    PopulationInitialisationStrategy mainSwarmInitialisationStrategy =
        new ClonedPopulationInitialisationStrategy();
    mainSwarmInitialisationStrategy.setEntityType(mainSwarmParticle);
    mainSwarmInitialisationStrategy.setEntityNumber(20);

    this.mainSwarm.setInitialisationStrategy(mainSwarmInitialisationStrategy);
    this.randomProvider = new MersenneTwister();
    distanceMeaser = new EuclideanDistanceMeasure();
    currentNiche = 0;
    granularity = 0.05;
  }