private void execute() { // step 1 System.out.println("step 1"); init(); while (t < T_MAX) { // step 2 System.out.println("step 2"); for (CenterObject center : centers) { center.setFitness(getFitness(center)); } // step 3 System.out.println("step 3"); Float f = getF(); System.out.println("F is: " + f); for (CenterObject center : centers) { vCenters.add(getMutant(center, f)); } // step 4 System.out.println("step 4"); for (int index = 0; index < centers.size(); index++) { CenterObject center = centers.get(index); uCenters.add(getCross(center, index)); } // step 5 System.out.println("step 5"); for (CenterObject uCenterObject : uCenters) { uCenterObject.setFitness(getFitness(uCenterObject)); } for (int i = 0; i < centers.size(); i++) { if (uCenters.get(i).getFitness() < centers.get(i).getFitness()) { centers.set(i, uCenters.get(i)); } } // step 6 System.out.println("step 6"); t++; } // step 7 System.out.println("step 7"); float minFit = Float.MAX_VALUE; int pos = 0; for (int i = 0; i < centers.size(); i++) { if (centers.get(i).getFitness() < minFit) { minFit = centers.get(i).getFitness(); pos = i; } } System.out.println("Center Index:" + pos); CenterObject co = originalCenters.get(pos); for (DataObject obj : co.getObjs()) { System.out.println(obj); } }