设置最大数量的代和失速代
的MaxGenerations
选择决定了遗传算法需要一代又一代的最大数量;看到该算法停止条件。增加MaxGenerations
可以提高最终结果。相关的MaxStallGenerations
选择控制的步骤遗传算法
看起来是否取得进展。增加MaxStallGenerations
可以使遗传算法
继续当算法需要更多函数评估找到一个更好的解决方案。
例如,优化rastriginsfcn
使用10个变量使用默认参数。观察解算器的进展,因为它接近0的最小值,优化函数的对数。
rng默认的%的再现性有趣= @ (x)日志(rastriginsfcn (x));据nvar = 10;选择= optimoptions (“遗传算法”,“PlotFcn”,“gaplotbestf”);[x, fval] = ga(乐趣、据nvar[]、[][],[],[],[],[],选项)
优化终止:平均不到options.FunctionTolerance健身价值的变化。
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[]、[][],[],[],[],[],选项)
优化终止:超过了一代又一代的最大数目。
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
这次的解决方法真正的最低更为紧密。