class AbstractOptimizer implements Optimizer {

	protected void nextIteration() throws TerminationException, StopException {
		completer.complete(population);
		archive.update(population);
		iteration.next();
		for (OptimizerIterationListener listener : iterationListeners) {
			listener.iterationComplete(iteration.value());
		}
		control.checkpointStop();
	}

	public  AbstractOptimizer(Population population, Archive archive, IndividualCompleter completer, Control control,
			Iteration iteration);

}