• 大小: 23KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签: GA_SVM  matlab  

资源简介

标准遗传算法优化支持向量机的参数,用matlab实现的,简单易学,适合初学matlab和GA算法的童鞋们。

资源截图

代码片段和文件信息

//头文件:		Chrom.hpp
//目的: 为染色体提供基类
//语言: VC++ 6.0
//时间: 1999年6月~2000年1月
//作者: 刘康
//环境: Win32
//////////////////////////////////////////////////////////////////////

#include 
#include 
#include 
#include “chrom.hpp“

//染色体初始化种子初始化
unsigned Chromosome::Seed = 0;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//构造函数
Chromosome::Chromosome()
{
GeneLen = 0;
Gene = NULL;
geneStr = NULL;
}
Chromosome::Chromosome(int l)
{
GeneLen = l;
geneStr = new char[GeneLen+1];
Init();
}
Chromosome::Chromosome(const Chromosome &c)
{
ChromNum = c.ChromNum;
GeneLen = c.GeneLen;
Gene = new OneChmType[ChromNum];
geneStr = new char[GeneLen+1];
for(int i=0; i Gene[i] = c.Gene[i];
}

//析构函数
Chromosome::~Chromosome()
{
if(Gene) delete []Gene;
if(geneStr) delete[]geneStr;
}

/////////////////////////////////////////////////////////////////////
//私有函数
/////////////////////////////////////////////////////////////////////

//染色体初始化
void Chromosome::Init()
{
ChromNum = GeneLen/(sizeof(OneChmType)*8)+1;
Gene = new OneChmType[ChromNum];
for(int i=0; i if(!Seed) Seed = (unsigned)time(NULL);
srand(Seed);
Seed = Seed+(unsigned)time(NULL);
for(i=0; i {
int cNum = i/(sizeof(OneChmType)*8);
if(rand()>=RAND_MAX/2) 
{
Gene[cNum] <<= 1;
Gene[cNum] |= 0x1;
}
else Gene[cNum] <<= 1;
}
}

/////////////////////////////////////////////////////////////////////
//公有函数
/////////////////////////////////////////////////////////////////////

//设置染色体长度
void Chromosome::SetLen(int l)
{
if(Gene) delete []Gene;
GeneLen = l;
if(geneStr) delete []geneStr;
geneStr = new char[GeneLen+1];
Init();
}

//返回字符串形式基因
const char* Chromosome::GetGeneStr()
{
for(int i=0; i {
int cNum = i/(sizeof(OneChmType)*8);
int bit = i-cNum*(sizeof(OneChmType)*8);
__int64 tmp = 0x1;
tmp <<= bit;
if(Gene[cNum] & tmp) geneStr[GeneLen-1-i] = ‘1‘;
else geneStr[GeneLen-1-i] = ‘0‘;
}
geneStr[GeneLen] = ‘\0‘;
return geneStr;
}

//返回i1位到i2位的整型值包含i1i2位
unsigned __int64 Chromosome::GetInt(int i1 int i2)
{
if((i2-i1)<0 || (i2-i1)>=64 || i1<1) return -1;
unsigned __int64 tmp=0;
for(int i=i2-1; i>=i1-1; i--)
{
int cNum = i/(sizeof(OneChmType)*8); //i位所在组
int bits = i-cNum*(sizeof(OneChmType)*8); //组内偏移
OneChmType bit = (0x1< if(Gene[cNum]&bit)
{
tmp <<= 1;
tmp |= 0x1;
}
else
tmp <<= 1;
}
return tmp;
}

//=号重载函数
Chromosome& Chromosome::operator = (const Chromosome &c)
{
if(Gene) delete []Gene;
GeneLen = c.GeneLen;
ChromNum = c.ChromNum;
Gene = new OneChmType[ChromNum];
for(int i=0; i return *this;
}

//==号重载
bool Chromosome::operator ==

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6596  2000-10-06 01:48  798923ga-vc\GA-VC\chrom.cpp

     文件        999  1999-07-20 10:46  798923ga-vc\GA-VC\GenDup.cpp

     文件       1058  1996-02-04 16:59  798923ga-vc\GA-VC\GenLinear.cpp

     文件       3055  2000-10-10 13:29  798923ga-vc\GA-VC\GenMSrch.cpp

     文件        761  2000-01-31 10:50  798923ga-vc\GA-VC\GenSteady.cpp

     文件       1795  2001-03-19 08:51  798923ga-vc\GA-VC\GenVacuum.cpp

     文件       1014  1999-07-20 11:25  798923ga-vc\GA-VC\LinearDup.cpp

     文件        941  2000-10-09 21:46  798923ga-vc\GA-VC\LinearSteady.cpp

     文件       1764  1996-02-11 16:01  798923ga-vc\GA-VC\chrom.hpp

     文件        748  2000-01-29 17:27  798923ga-vc\GA-VC\GenDup.hpp

     文件       4096  2001-03-19 12:18  798923ga-vc\GA-VC\Genetic.hpp

     文件        850  2000-01-29 17:25  798923ga-vc\GA-VC\GenLinear.hpp

     文件        876  2000-10-09 22:29  798923ga-vc\GA-VC\GenMSrch.hpp

     文件        749  1996-02-03 21:39  798923ga-vc\GA-VC\GenSteady.hpp

     文件       1423  2001-03-19 08:50  798923ga-vc\GA-VC\GenVacuum.hpp

     文件        755  2000-01-29 17:27  798923ga-vc\GA-VC\LinearDup.hpp

     文件        778  1996-02-03 21:39  798923ga-vc\GA-VC\LinearSteady.hpp

     文件       7843  2003-12-05 13:59  798923ga-vc\GA-VC\Genetic1.cpp.txt

    ..A.SH.     10240  2004-10-09 00:07  798923ga-vc\GA-VC\Thumbs.db

     目录          0  2011-03-06 08:20  798923ga-vc\GA-VC

     目录          0  2011-03-06 08:20  798923ga-vc

----------- ---------  ---------- -----  ----

                46559                    22


评论

共有 条评论