命令行界面使您可以使用文件多次运行遗传算法,使用不同的选项设置。例如,您可以使用不同的设置运行遗传算法交叉分数要查看哪一个给出最佳结果。以下代码运行该函数GA.
21次,不同选项.Crossoverfraction.
从0.
至1
以增量为例0.05
,并记录结果。
选项= Optimoptions('Ga'那'maxgenerations'300,'显示'那'没有');RNG.默认重复性的%唱片= [];对于n = 0:.05:1选项= Optimoptions(选项,'Crossoprofaction',n);[x,fval] = ga(@ rastriginsfcn,2,[],[],[],[],[],[],[],选项);record = [记录;fval];结束
你可以绘制价值fval.
与以下命令的交叉分数:
情节(0:.05:1,记录);Xlabel('交叉分数');ylabel('fval')
出现以下绘图。
剧情表明您可以通过设置获得最佳结果选项.Crossoverfraction.
在某处之间的价值0.4
和0.8
。
你可以得到一个更平滑的情节fval.
作为跑步的交叉分数的函数GA.
20次,平均值fval.
对于每个交叉部分。下图显示了结果图。
这个剧情还表明了最佳选择范围选项.Crossoverfraction.
是0.4
至0.8
。