遗传算法是一种全局优化算法,但是也具有可能陷入局部极值的缺点。为了测试遗传算法的全局搜索能力,我们使用Rastrigin函数对其进行测试。
Rastrigin函数的表达式为
打开文件JSOP/shell/testfunction.m,可以看到该函数的代码
function y=testfunction(x1,x2)
y=20+x1.^2+x2.^2-10*(cos(2*pi*x1)+cos(2*pi*x2));
end
运行文件JSOP/shell/plot_testfunction.m,可以看到该函数的图像
从图中可以看到,该函数在定义域内分布着大量的局部极小值,其中全局最小值在(0,0)处。大量的局部极小值为遗传算法寻找全局最小值增加了难度。我们将使用该函数测试JSOP的性能。