📄 genlinear.cpp
字号:
//头文件: GenLinear.hpp
//目的: 为线性规格化遗传算法提供基类,本类为Genetic的派生类
//语言: VC++ 6.0
//时间: 1999年7月
//作者: 刘康
//环境: Win32
//注意: EvalVal(INIDIVIDUAL&)应由用户类覆盖,以提供正确的评价函数.
//////////////////////////////////////////////////////////////////////
#include "GenLinear.hpp"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GenLinear::GenLinear(int n, int gl) : Genetic(n,gl)
{
FitStep = 10;
ValOK = false;
}
GenLinear::GenLinear(GenLinear& g) : Genetic(g)
{
FitStep = g.FitStep;
ValOK = g.ValOK;
}
//适合度计算函数
double GenLinear::GetFit(int i)
{
if(!ValOK)
{
AllVal();
IndexSort();
ValOK = true;
}
double fit = 0;
for(int k=IndNumber-1; k>=0; k--)
{
Individual[IndIndex[k]].Fit = fit;
fit += FitStep;
}
return Individual[i].Fit;
}
//产生新一代
void GenLinear::Generation()
{
ValOK = false;
Genetic::Generation();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -