/* * 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 org.jgap.gp; import java.io.*; import org.jgap.gp.impl.*; /** * Abstract base class for GP-crossing over implementations. * * @author Klaus Meffert * @since 3.0 */ public abstract class CrossMethod implements Serializable { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.8 $"; private /*transient*/ GPConfiguration m_configuration; public CrossMethod(GPConfiguration a_configuration) { m_configuration = a_configuration; } public GPConfiguration getConfiguration() { return m_configuration; } /** * Crosses two individuals. * * @param a_i1 the first individual to cross * @param a_i2 the second individual to cross * @return an array of the two resulting individuals * * @author Klaus Meffert * @since 3.0 */ public abstract IGPProgram[] operate(final IGPProgram a_i1, final IGPProgram a_i2); }