ec.simple.SimpleProblemForm Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ecj Show documentation
Show all versions of ecj Show documentation
ECJ, A Java-based Evolutionary Computation Research System.
ECJ is a research EC system written in Java. It was designed to be highly flexible, with nearly all classes (and all of their settings) dynamically determined at runtime by a user-provided parameter file. All structures in the system are arranged to be easily modifiable. Even so, the system was designed with an eye toward efficiency.
ECJ is developed at George Mason University's ECLab Evolutionary Computation Laboratory. The software has nothing to do with its initials' namesake, Evolutionary Computation Journal. ECJ's sister project is MASON, a multi-agent simulation system which dovetails with ECJ nicely.
The newest version!
/*
Copyright 2006 by Sean Luke
Licensed under the Academic Free License version 3.0
See the file "LICENSE" for more information
*/
package ec.simple;
import ec.*;
/*
* SimpleProblemForm.java
*
* Created: Tue Mar 6 11:33:37 EST 2001
* By: Sean Luke
*/
/**
* SimpleProblemForm is an interface which defines methods
* for Problems to implement simple, single-individual (non-coevolutionary)
* evaluation.
*
* @author Sean Luke
* @version 1.0
*/
public interface SimpleProblemForm
{
/** Evaluates the individual in ind, if necessary (perhaps
not evaluating them if their evaluated flags are true),
and sets their fitness appropriately.
*/
public void evaluate(final EvolutionState state,
final Individual ind,
final int subpopulation,
final int threadnum);
/** "Reevaluates" an individual,
for the purpose of printing out
interesting facts about the individual in the context of the
Problem, and logs the results. This might be called to print out
facts about the best individual in the population, for example. */
public void describe(
final EvolutionState state,
final Individual ind,
final int subpopulation,
final int threadnum,
final int log);
}