Genome.h 552 Bytes
Newer Older
1 2 3
#pragma once
#include <vector>

刘乐's avatar
刘乐 committed
4 5
class CivOptSchedEngine;
class GenAlg;
6
/**
刘乐's avatar
刘乐 committed
7
    染色体,实值编码
8 9 10 11 12
*/
class Genome
{
public:
    friend class GenAlg;
刘乐's avatar
刘乐 committed
13
    friend class CivOptSchedEngine;
刘乐's avatar
刘乐 committed
14

15 16
    Genome() :fitness(0) {}
    Genome(std::vector <double> vec, double f) : vecGenome(vec), fitness(f) {}  //类的带参数初始化参数。  
刘乐's avatar
刘乐 committed
17
    Genome(std::vector <char> vec, double f) :mBinaryGenVec(vec), fitness(f) {}
18 19
private:
    std::vector<double> vecGenome;  // 装载基因的容器  
刘乐's avatar
刘乐 committed
20 21 22

    std::vector<char> mBinaryGenVec; // 二进制编码

23 24
    double fitness; // 适应度  
};