首页 > 代码库 > ga算法

ga算法

ga算法是模拟生物进化过程中,适者生存,优胜劣汰规则的一种算法,ga算子有选择,交叉,变异,个体对环境的适应度用适应度函数来衡量,每个个体对应一个适应度值,选择算子淘汰劣质个体,交叉和变异产生新个体,个体组成的种群不断进化,直到产生最优个体。

与普通智能算法不同的是ga算法从多个解开始搜索,对多个值同时进行评估,很少会陷入局部最优解,普通智能算法的缺点就是容易陷入局部最优解,例如粒子群算法,每次都只迭代更新一个个体,一旦陷入局部最小值,很难跳出

下面是matlab实现的ga算法

function testga()
size=20;
chromelen=8;
lr=0.8;
mr=0.1;
pop=init(size,chromelen);
pop2=binary2int(pop);
gim=ones(500,8);
for i=1:50
    fitvalue=http://www.mamicode.com/calfitvalue(pop);>
技术分享

 

ga算法