/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package examples.math;
import org.jgap.*;
import examples.math.ga.*;
/**
* Main class to start the example.
* The aim is to find a mathematical expression with simple operations (like
* plus, minus, multiply, divide) that results in a given target number.
*
* @author Michael Grove
* @since 3.4.2
*/
public class MathRunner {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.1 $";
public static void main(String[] args)
throws Exception {
int EVOLUTIONS = 1000;
Genotype population = Genotype.randomInitialGenotype(new
MathRunnerConfiguration());
for (int i = 0; i < EVOLUTIONS; i++) {
population.evolve();
if (i % (EVOLUTIONS / 100) == 0) {
System.err.println("Evolution (" + i + ")");
System.err.println(population.getFittestChromosome());
}
}
System.err.println(population.getFittestChromosome());
System.err.println(population.getFittestChromosome().getFitnessValue());
}
}