📄 ackminimizingfitnessfunction.java
字号:
import org.jgap.*;
import java.math.*;
import org.jgap.Chromosome;
import org.jgap.FitnessFunction;
public class ACKMinimizingFitnessFunction
extends FitnessFunction {
private final static String CVS_REVISION = "$Revision: 1.2 $";
public static final int MAX_BOUND = 15;
public ACKMinimizingFitnessFunction(){}
public double evaluate(IChromosome subject) {
double finalresult=0.0;
double square = squareplus(subject);
double mul1Pi = mul2PIpluscos(subject);
finalresult=(-20)*Math.exp((-0.2*Math.sqrt(square/30)))
-Math.exp(mul1Pi/30)
+20
+Math.E;
return finalresult;
}
public static double squareplus(IChromosome everynum ){
double doubleplusresult=0.0;
for (int i=0;i<30;i++){
double num=getValueAtGene(everynum,i);
doubleplusresult=doubleplusresult+num*num;
}
return doubleplusresult;
}
public static double mul2PIpluscos (IChromosome everynum ){
double mul2result=0.0;
for (int i=0;i<30;i++){
double num=getValueAtGene(everynum,i);
mul2result=mul2result+Math.cos(num*2*Math.PI);
}
return mul2result;
}
public static double getValueAtGene(IChromosome a_potentialSolution,
int a_position) {
double numCoins =
(Double) a_potentialSolution.getGene(a_position).getAllele();
return numCoins;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -