cgaqueen.h
来自「自己收集的八皇后问题相关知识,有不少源代码,能解决八皇后问题」· C头文件 代码 · 共 71 行
H
71 行
#include "CGenome.h"
class CgaQueen
{
public:
vector<CGenome> m_vecGenomes;//群体
vector<CGenome>::iterator m_vecGenomes_it;//相应的迭代器
CGenome m_CSolve;
int m_iQueen;//皇后的个数,也就是染色体的个数
int m_iChromoLength;//染色体的位数
int m_iPopSize;//群体大小
double m_dCrossRate;//杂交率
double m_dMutationRate;//变异率
int m_iGeneLength;
int m_iFittestGenome;
double m_dBestFitnessScore;
double m_dTotalFitnessScore;
int m_iGeneration;//代数
int m_iGroup;//种群数
bool m_bBusy;
bool m_bSolved;
public:
CgaQueens(double CrossRate,double MutationRate,int ChromoLength,int PopSize);
public:
void Mutate(vector<int>&baby);//变异
void CrossOver(vector<int>&mum,vector<int>&dad,vector<int>&baby1,vector<int>&baby2);//杂交
//PMX部分映射杂交
void CrossOverPMX(vector<int>&mum,vector<int>&dad,vector<int>&baby1,vector<int>&baby2);//杂交
int RouletteWheelSelection();//赌轮选择法
//用新的适应性分数来更新基因组原有的适应性分数
//并计算群体的最高适应性分数和适应性分数最高的那个成员
bool UpdateFitnessScores();
//创建一个随机的初始群体
void CreateStartPopulation();
//显示所有染色体
void ShowChromo();
void Epoach();
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?