?? cgaqueen.h
字號:
#include "CGenome.h"
class CgaQueen
{
public:
vector<CGenome> m_vecGenomes;//群體
vector<CGenome>::iterator m_vecGenomes_it;//相應(yīng)的迭代器
CGenome m_CSolve;
int m_iQueen;//皇后的個數(shù),也就是染色體的個數(shù)
int m_iChromoLength;//染色體的位數(shù)
int m_iPopSize;//群體大小
double m_dCrossRate;//雜交率
double m_dMutationRate;//變異率
int m_iGeneLength;
int m_iFittestGenome;
double m_dBestFitnessScore;
double m_dTotalFitnessScore;
int m_iGeneration;//代數(shù)
int m_iGroup;//種群數(shù)
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();//賭輪選擇法
//用新的適應(yīng)性分數(shù)來更新基因組原有的適應(yīng)性分數(shù)
//并計算群體的最高適應(yīng)性分數(shù)和適應(yīng)性分數(shù)最高的那個成員
bool UpdateFitnessScores();
//創(chuàng)建一個隨機的初始群體
void CreateStartPopulation();
//顯示所有染色體
void ShowChromo();
void Epoach();
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -