⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ackminimizingfitnessfunction.java

📁 人工智能 作业3 武汉大学 国际软件学院
💻 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 + -