private void checkBestSolution() {

		if (!haveBest) {

			haveBest = true;
			Particle particle = particles[0];
			best.copyParticle(particle);

		}

		//currently only PROJECT_ACTUAL_DURATION
		int currentBest = best.getBestProjectDuration();
		int bestIndex = -1;
		for (int particleIndex = 0; particleIndex < particles.length; particleIndex++) {

			Particle particle = particles[particleIndex];
			//currently only PROJECT_ACTUAL_DURATION
			if (particle.getBestProjectDuration() < currentBest) {
				currentBest = particle.getBestProjectDuration();
				bestIndex = particleIndex;
			}

		}

		if (bestIndex != -1) {

			Particle particle = particles[bestIndex];
			best.copyParticle(particle);

		}
	}