public SimulatedAnnealing() {
		// initial configuration
		best = Random.generateSchedule();
		temperature = INITIAL_TEMPERATURE;

		// cache
		if(cachedSortedSectionIds == null)
			cachedSortedSectionIds = Resources.getCachedSortedSectionIds();
	}