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

📄 chromosome.java

📁 基于求函数f(x,y,z)=xyz*sin(xyz)最大值问题的演示程序 解压后在命令行输入:java -jar genetic_algorithm.jar
💻 JAVA
字号:
package edu.zsu.zouang.genetic;

import edu.zsu.zouang.util.Randomizer;

public class Chromosome implements Cloneable{
	private double fitness = -1; //代表未计算适应函数
	
	private double select = -1; // 选择概率
	
	private char[] chromo; //染色体串
	
	private Randomizer random;
	
	private int lower;
	
	private int upper;
	
	public Chromosome(int lower, int upper, int length){
		this.lower = lower;
		this.upper = upper;
		random = new Randomizer(lower, upper);
		chromo = random.nextBitArray(length);
	}

	/**
	 * 克隆一个染色体
	 */
	public Chromosome clone(){
		Chromosome c = new Chromosome(lower,upper,chromo.length);
		char[] temp = new char[c.chromo.length];
		System.arraycopy(chromo, 0, temp, 0, chromo.length);
		c.setChromo(temp);
		return c;
	}
	public char[] getChromo() {
		return chromo;
	}

	public void setChromo(char[] chromo) {
		this.chromo = chromo;
	}

	public double getFitness() {
		return fitness;
	}

	public void setFitness(double fitness) {
		this.fitness = fitness;
	}

	public double getSelect() {
		return select;
	}

	public void setSelect(double select) {
		this.select = select;
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -