1 /* 2 * This file is part of JGAP. 3 * 4 * JGAP offers a dual license model containing the LGPL as well as the MPL. 5 * 6 * For licencing information please see the file license.txt included with JGAP 7 * or have a look at the top of class org.jgap.Chromosome which representatively 8 * includes the JGAP license policy applicable for any file delivered with JGAP. 9 */ 10 package org.jgap; 11 12 import java.io.*; 13 14 /** 15 * Interface for a calculator that determines a dynamic rate. 16 * 17 * @author Chris Knowles 18 * @since 2.0 19 */ 20 public interface IUniversalRateCalculator extends Serializable { 21 /** String containing the CVS revision. Read out via reflection!*/ 22 final static String CVS_REVISION = "$Revision: 1.6 $"; 23 24 /** 25 * Calculates the required dynamic rate. 26 * @return the currently applying mutation rate. 27 * 28 * @author Chris Knowles 29 * @since 2.0 30 */ 31 int calculateCurrentRate(); 32 33 /** 34 * Calculates whether a mutation should be carried out. 35 * @return flag indicating whether mutation should be performed 36 * 37 * @author Chris Knowles 38 * @since 2.0 39 */ 40 boolean toBePermutated(IChromosome a_chrom, int a_geneIndex); 41 } 42