public void init() { // System.out.println("TRIBES.init()"); // Generate a swarm swarm = new TribesSwarm( this, range, initRange); // TODO initRange is hard coded equal to problem range // swarm.generateSwarm(initExplorerNb, initType, m_problem); // swarm.displaySwarm(swarm,out); // print("\n Best after init: "+swarm.Best.position.fitness,out); iter = 0; adapt = 0; informOption = -1; // Hard coded option // -1 = absolute best informant // 1 = relative (pseudo-gradient) best informant. For "niching" // See also moveExplorer, which can be modified in order to avoid this parameter population.clear(); population.addAll(swarm.toPopulation()); population.init(); // necessary to allow for multi-runs if (m_Show) show(); }