迭代运算借过为:x78562248553当x为78562时,f(x)取最大值248553注:遗传算法一般用来取得近似最优解,而不是最优解。
1
遗传算法实例2【问题】在-5Xi5i12区间内,求解fx1x220exp02sqrt05x12x22exp05cos2pix1cos2pix22271282的最小值。【分析】种群大小10,最大代数1000,变异率01交叉率03【程序清单】%源函数的matlab代码
ffu
ctio
evalfsol
umvsizesol2xsol1
umveval20exp02sqrtsumx2
umvexpsumcos2pix
umv2271282适应度函数的matlab代码fu
ctio
solevalfit
esssoloptio
s
umvsizesol21xsol1
umvevalfxevaleval遗传算法的matlab代码bou
dso
es2155pe
dPopbestSolstracegabou
dsfit
ess注:前两个文件存储为m文件并放在工作目录下,运行结果为p000000000000055
大家可以直接绘出fx的图形来大概看看fx)(的最值是多少,也可是使用优化函数来验证。matlab命令行执行命令:fplotx10si
5x7cos4x09
evalops是传递给适应度函数的参数,opts是二进制编码的精度,termops是选择maxGe
Term结束函数时传递个maxGe
Term的参数,即遗传代数。xoverops是传递给交叉函数的参数。mutops是传递给变异函数的参数。
遗传算法Ge
eticAlgorithmGA是近几年发展起来的一种崭新的全局优化算法,它借用了生物遗传学的观点,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。这一点体现了自然界中