作家
登录

遗传算法的基本概念和实现(附 Java 实现案例)

作者: 来源: 2017-07-12 15:48:31 阅读 我要评论




//Population class

int popSize = 10;
Individual[] individuals = new Individual[10];
//Initialize population
public void initializePopulation(int size) {
for (int i = 0; i < individuals.length; i++) {
int fittest = 0;
individuals[i] = new Individual();
}
}

//Get the fittest individual
public Individual getFittest() {
int maxFit = Integer.MIN_VALUE;
for (int i = 0; i < individuals.length; i++) {
if (maxFit <= individuals[i].fitness) {
maxFit = i;
}
}

//Get the second most fittest individual
public Individual getSecondFittest() {
int maxFit1 = 0;
int maxFit2 = 0;
//Select the most fittest individual
for (int i = 0; i < individuals.length; i++) {
if (individuals[i].fitness > individuals[maxFit1].fitness) {
maxFit2 = maxFit1;
maxFit1 = i;
} else if (individuals[i].fitness > individuals[maxFit2].fitness) {
maxFit2 = i;
}
}
return individuals[maxFit2];
}

//Get index of least fittest individual
public int getLeastFittestIndex() {
int minFit = 0;
for (int i = 0; i < individuals.length; i++) {
if (minFit >= individuals[i].fitness) {
minFit = i;
}
}
return minFit;
}

//Calculate fitness of each individual
public void calculateFitness() {

for (int i = 0; i < individuals.length; i++) {
individuals[i].calcFitness();
}
getFittest();
}


  推荐阅读

  如何理解并正确使用MySql索引

1、概述索引是存储引擎用于快速查找记录的一种数据构造,经由过程合理的应用数据库索引可以大年夜大年夜进步体系的拜访机能,接下来重要介绍在MySql数据库中索引类型,以及若何创建出加倍>>>详细阅读


本文标题:遗传算法的基本概念和实现(附 Java 实现案例)

地址:http://www.17bianji.com/lsqh/36176.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)