遗传算法是一种群体寻优的算法。在编码方法决定以后,就要设定初始群体,即给定开始时的群体大小,也就是个体的数目。其次在每次进化计算后,各代群体如何决定?哪些个体是优秀的个体,因而要保留到后代中?哪些个体在遗传操作后改变了亲代的基因而产生新的子代?这些问题就是在进化过程中的群体决定问题。下面主要介绍初始群体的设定方法,至于进化过程中的群体决定问题,将在选择操作中讨论。
初始群体的大小,对遗传算法的影响很大。模式定理表明,若群体规模为M,则可以从这M个个体中生成M3个模式。模式数越多,则经遗传操作后获得最优解的机会越高。也就是说,群体规模越大,算法陷入局部优化的危险越小。所以,从群体的多样性和全局优化的观点出发,群体规模应较大。但群体规模也不是越大越好。群体规模过大,使适应度评估次数增加,计算量增加,从而影响计算效率。其次,当群体规模数很大时,由于个体生存概率的计算采用和适应度成比例的算法,这样产生的许多低概率的个体会遭淘汰,而少数适应度高的个体被选择而生存下来,结果影响了配对库的形成。另一方面,群体规模太小,会使搜索空间中的分布范围过小,而使搜索过早停止,引起未成熟收敛(premature convergence)现象。一般取群体规模n为几十至几百。
确定了n后,在决定具体的个体时,可以采用下列方法。
(1)随机法 例如编码采用l位二进制码,则染色体由l位二进制码的基因座串联而成,此时可以选l个硬币,分别代表位基因,抛掷这l个硬币,就得到不同面的基因串,也就得到了一个个体,对这l个硬币,抛掷n次,就得到n个个体的群体。(www.xing528.com)
(2)均匀分布法 仍以二进制编码为例,将l位二进制数分成n等份,然后用式(9.3.36)计算间隔数为
然后以二进制数:I,2I,3I,…,2l-1来编码,就得到分布均匀的n个个体组成的初始群体。
(3)逐步完善法 先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。这种过程不断迭代,直到群体的个数达到了预先确定的规模。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。