1.遗传算法介绍
遗传算法的基本思想是从初始种群出发,采用优胜劣汰适者生存的自然法则选择个体,并通过杂交、变异来产生新
一代种群,如此逐代进化,直到满足目标为止。
2.自己解决的问题
自己选取了一个二维函数 “obj(i)=100*(x1*x1-x2).^2+(1-x1).^2; %目标函数 ”来进行函数优化
3.如何开始
种群是指用遗传算法求解问题时,初始给定的多个解的集合。遗传算法的求解过程是从这个子
集开始的。初始化种群大小等于80
4.编码
二进制编码是将原问题的结构变换为染色体的位串结构。在二进制编码中,首先要确定二进制字符串的长度l,该长度与
变量的定义域和所求问题的计算精度有关。例 假设变量x的定义域为[4,10],要求的计算精度为10-5,则需要将[4,10]至少分为600000个等长小区间,每个小区间用一个二进制串表示。于是,串长至少等于20,原因是524288=2^19<600000<2^20=1048576,这样,对应于区间[4,10]内满足精度要求的每个值x,都可用一个20位编码的二进制串<b19,b18,…,b0>来表示。
我用rand随机函数,来生成初始种群 :bval=round(rand(N,Dim*L));%初始种群,round函数为四舍五入
5.解码
解码即将编码空间中的基因串翻译成解空间中的自变量的实际值的过程。对于二进制编码而言,每个二进制基因串都可以这样翻译成一个十进制实数值,。例如基因串0000110110000101,可以翻译为,这里二进制基因串转变成十进制是从左至右进行的。
可以想