注:建议先看一些科普的再看本文,本文只是为了自己理解和备份,如果能启发他人,那就是最大的荣幸,故文字写的比较精简,算法参考《MATLAB智能算法30个案例分析》(史峰等)第二章
概念
遗传算法(GA,Genetic Algorithm),也称为进化算法。遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。其主要特点是直接对结构对象进行操作,因此不同于其他求解最优解的算法,遗传算法不存在求导和对函数连续性的限定,采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化的搜索空间,自适应地调整搜索方向。[引用CSDN博主「冉冉云」]
目标
对于一个函数F(x1,x2,x3,x4),变量数目任意,这里以4个数为例,编码采用实数编码。
初始化种群
随机产生一群满足约束条件的解(个体),如:
个体1(解1):(1,2,3,4)
个体2(解2):(2,2,4,4)
个体3(解3):(2,2,5,4)
个体4(解4):(1,5,3,5)
...
所有个体组成一个种群,所以遗传算法需要定义种群规模,即个体数目。