C ++遗传算法 这是使用C ++实现的遗传算法,遗传算法针对不同的问题实现起来细节可能不一样,这里罗列一下当前的实现方式具有的特性: 通过锦标赛算法选择个体 通过从上一代中剔除低适应度个体的方式消除劣质解 个体由一条染色体组成,所以程序不区分个体和染色体两个概念 通过实数编码组成染色体,重新获得De jong函数f2在-2.048到2.048范围内的对应 通过两个染色体相同位置基因求和再平均进行染色体交叉 通过高斯分布的随机数对基因进行变异操作 适应度取1 /(0.01 + f2) 算法的参数可以通过修改main.cpp中run方法的输入参数来改变 另外,程序通过针对对象方式实现和类名称和文件名存在严格的对应关系,命名都采用驼峰命名法,以及虽然不多但是每个方法和成员属性都有中文注释。 环境需求 Cmake推荐使用版本3.10以上的,否则参考CMakeLists.txt中的注释修改版本。
2021-03-24 12:07:48 19KB 系统开源
1