maximizingfunctionfitnessfunction.java
来自「JGAP(发音"jay-gap")是一款用Java编写的遗传算法包。提供了基本的」· Java 代码 · 共 44 行
JAVA
44 行
/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licencing 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.config;
import org.jgap.*;
/**
* Sample Fitness function for the MaximizingFunction problem.
*/
public class MaximizingFunctionFitnessFunction
extends FitnessFunction {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.4 $";
/**
* Determine the fitness of the given Chromosome instance. The higher the
* return value, the more fit the instance. This method should always
* return the same fitness value for two equivalent Chromosome instances.
* @author Siddhartha Azad.
* @param a_chromosome the Chromosome instance to evaluate
* @return a positive integer reflecting the fitness rating of the given
* Chromosome
*/
public double evaluate(IChromosome a_chromosome) {
int numGenes = a_chromosome.size();
if (numGenes != 3) {
throw new IllegalArgumentException("Chromosome for " +
"MaximizingFunction must have "
+ "exactly 3 genes.");
}
Integer aVal = (Integer) a_chromosome.getGene(0).getAllele();
Integer bVal = (Integer) a_chromosome.getGene(1).getAllele();
Integer cVal = (Integer) a_chromosome.getGene(2).getAllele();
return (aVal.intValue() - bVal.intValue() + cVal.intValue());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?