遗传算法GA
本质上来讲,就是找随机点x,通过公式或者回归模型构成的映射函数获得y。
区别于其他搜索寻优算法之处在于:遗传算法的一轮一轮迭代中,新的随机点x的生成,是靠交叉变异01而来的。
初始的DNA_size不管设置为多少,最终都会缩放到boundaries范围内。
大多数初始生成的种群population是01矩阵,将该二进制矩阵转化为十进制后,大多是小数。所以可能更多时间适合于x的取值是连续小数的任务场景。
对于如果x取值是整数,即调整步长是1,我想,或许可以直接把十进制转二进制,不经过缩放,来寻优。比如,一个x的取值范围是0~255,调整步长为1,则可以转化为二进制00000000至11111111.再将其进行遗传算法搜索
寻优。
一般来说,如果场景完全合适的话(x取值连续),应用到我们的任务中,只需修改fitness和boundaries即可,即确认你的目标函数和x的范围。