资源简介

采用遗传算法解决八皇后问题,包含以下遗传算法步骤: 选择方式:轮盘赌,繁殖池,竞技选择 交叉方式:顺序交叉,部分匹配交叉 变异方式:交换变异,插入变异,倒序变异 变异概率可选择

资源截图

代码片段和文件信息

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

import javax.swing.JScrollPane;
import javax.swing.JTextArea;
class Entity{

public List code = new ArrayList();
public int fitness;
public int newFitness = 28;
void updateFitness(){
fitness = 0;
 for(int i=0;i<8;i++){
 for(int j=i;j<8;j++)
 if(code.get(i)!=code.get(j)&&Math.abs(i-j)!=Math.abs((int)code.get(i)-(int)code.get(j)))
 fitness++;
 }
 check();
}
void check(){
if(fitness == 28){
//GeneticQueen.show1();
GeneticQueen.endtime = System.currentTimeMillis();
double cost = (GeneticQueen.endtime-GeneticQueen.starttime)/1000;
//System.out.println(“找到解!!执行次数为:“+(GeneticQueen.number+1));
System.out.println(“找到解!!执行次数为:“+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-01 15:28  遗传算法解决八皇后问题\
     文件       18165  2019-06-01 15:22  遗传算法解决八皇后问题\GeneticQueen.java
     文件        4642  2019-05-31 23:26  遗传算法解决八皇后问题\QueenWindow.java

评论

共有 条评论