主要内容

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

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

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

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

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

x =1×10-0.0495 -0.0670 -0.0485 -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个类型为line的对象。这些对象代表最佳适应度,平均适应度。

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

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

相关的话题