本节介绍一个例子,说明如何找出最小Rastrigin的功能,也就是通常用于测试遗传算法的功能。
对于两个独立的变量,Rastrigin的功能被定义为
全局优化工具箱软件包含rastriginsfcn.m
文件,该文件计算Rastrigin的函数值。下图显示了Rastrigin的函数的曲线图。
正如图显示,Rastrigin的函数有很多局部极小,中图中的“低谷”。但是,该函数只有一个全局最小值,其发生在点[0 0]X-Y平面,通过在图中的垂直线,其中该函数的值是0。在任何局部最小值比其他所指示的[0 0],Rastrigin的函数的值大于0越远局部最小值是从原点,该函数的值越大是在该点处。
Rastrigin的功能经常被用来测试遗传算法,因为它的许多局部极小很难让标准的,基于梯度的方法来寻找全局最小值。
的Rastrigin的功能显示以下等高线图交替的最大值和最小值。
本节将介绍如何使用遗传算法来找出最小Rastrigin的功能。
由于遗传算法使用随机数生成器,该算法返回稍有不同的结果每次运行它。
为了找出最小,请执行下列操作步骤:
输入optimtool( 'GA')
在命令行打开优化应用程序。
输入优化的应用程序如下:
在里面健身功能字段中输入@rastriginsfcn
。
在里面变量数字段中输入2
,自变量对Rastrigin的功能数量。
该健身功能和变量数如图中下图字段应该出现。
点击开始按钮,在运行求解器和查看结果窗格中,如下面图中所示。
虽然算法运行时,当前迭代字段显示当前代的数目。您可以通过点击临时暂停算法暂停按钮。当你这样做时,按钮的名称更改为恢复。要继续从您暂停处的算法,请点击恢复。
当算法结束时,运行求解器和查看结果窗格显示如图中下图。你的计算结果可能会与图中的有所不同,因为GA
是随机的。
显示如下:
为了找到最小的命令行Rastrigin的功能,输入
RNG(1, '捻线机')%的再现性[X,FVAL,exitflag] = GA(@ rastriginsfcn,2)
这将返回
优化终止:在健身值小于options.FunctionTolerance平均变化。X = -1.0421 -1.0018 FVAL = 2.4385 exitflag = 1
X
是由算法返回的最终点。
FVAL
是在最后点的适应度函数值。
exitflag
是对应于该算法终止的原因整数值。
由于遗传算法使用随机数生成器,该算法返回稍有不同的结果每次运行它。
优化应用绘图功能面板使您能够显示可提供有关遗传算法的信息在运行时的各种阴谋。这些信息可以帮助你改变选项来提高算法的性能。例如,绘制适应度函数的最值和平均值在每一代中,选择旁边的框最好的健身,如在以下图中示出。
当你点击开始,优化应用程序显示在每一代适应度函数的最值和平均值的曲线图。
试试这个上最大限度地减少Rastrigin的功能:
当算法停止,情节表现为显示在下面的图中。
在图底部的点表示最好的健身价值,而它们上面的点表示在每一代的适应值的平均值。该图还显示数字在顶部的当前一代的最佳值和平均值。
为了获得最佳的适应值有多少下降的一个更好的画面,你可以改变的比例ÿ- 轴中的情节对数标度。要做到这一点,
选择轴属性来自编辑在图形窗口中打开属性编辑器菜单连接到你的身材窗口,如下图所示。
点击Y轴标签。
在里面Y轴刻度窗格中,选择日志。
如图下图中的情节现在看来。
通常情况下,最好的锻炼价值提升迅速在初代中,当个体的最佳更远。最好的锻炼价值后人,其人口是接近最佳点提高更慢。
当您显示一个以上的情节,你可以在一个单独的窗口中打开一个情节的放大版。右键点击 (按Ctrl对于上单击鼠标右键苹果系统)上,而情节的空白区域GA
正在运行,或已停止后,并选择唯一的菜单项。
图解选项介绍了类型,您可以创建地块。