主要内容

设置“最大代数”和“Stall代数”

MaxGenerations选项决定遗传算法的最大代数;看到算法停止条件.增加MaxGenerations可以提高最终的结果。相关的MaxStallGenerations选项控制步骤的数量遗传算法查看是否有进展。增加MaxStallGenerations可以使遗传算法继续当算法需要更多的函数求值来找到更好的解决方案。

例如,优化rastriginsfcn使用10个带有默认参数的变量。为了观察求解器的进程,当它接近最小值0时,优化函数的对数。

rng默认的%的再现性有趣= @ (x)日志(rastriginsfcn (x));据nvar = 10;选择= optimoptions (“遗传算法”“PlotFcn”“gaplotbestf”);[x, fval] = ga(有趣,据nvar ,[],[],[],[],[],[],[], 选项)
优化终止:适应度值的平均变化小于options.FunctionTolerance。

图遗传算法包含一个轴对象。标题为Best: 1.45396 Mean: 4.52748的坐标轴对象包含2个线型对象。这些物体代表最佳适应度,平均适应度。

x =1×10-0.0495 -0.0670 -0.0485 - 0.0174 -0.0087 - 0.0275 -0.0383 0.0620 -1.0047 -0.0298
fval = 1.4540

作为遗传算法接近原点的最优点时,它停了下来。为了获得更好的解决方案,设置失速生成限制为500,生成限制为1000。

选择= optimoptions(选项,“MaxStallGenerations”, 500,“MaxGenerations”, 1000);rng默认的%的再现性[x, fval] = ga(有趣,据nvar ,[],[],[],[],[],[],[], 选项)
优化终止:超过了最大代数。

图遗传算法包含一个轴对象。标题Best: -3.14667 Mean: -1.31642的轴对象包含2个线型对象。这些物体代表最佳适应度,平均适应度。

x =1×100.0025 -0.0039 0.0021 -0.0030 -0.0053 0.0033 0.0080 0.0012 0.0006 0.0088
fval = -3.1467

这一次,求解器更接近真正的最小值。

相关的话题