koehnw 下限 设定为 0.4。我发现 PSO 方案在使用该值时对各类问题都非常有效。
感谢您的评论!是的,可以将系数与迭代联系起来,就像一群灰狼在优化算法中做的那样。
遗憾的是,并非所有文章都有英文版。
群体优化算法:蚁群优化 (ACO): https://www.mql5.com/ru/articles/11602
群体优化算法:人工蜂群 (ABC): https://www.mql5.com/ru/articles/11736
群体优化算法:一群灰狼的优化 (GreyWolf Optimizer - GWO):https://www.mql5.com/ru/articles/11785
这些关于元启发式优化技术的 文章太棒了!安德烈,你的工作非常出色,你能与我们分享这么多经验,真是令人难以置信,谢谢你!
@METAQUOTES 请考虑在优化器中实现这些元启发式优化目标!
用户可以在 OnTester() 中轻松设置:
OptimizerSetEngine("ACO"); // 蚂蚁群优化 OptimizerSetEngine("COA")); // cuckoo 优化算法 OptimizerSetEngine("ABC")); // 人工蜂群 OptimizerSetEngine("GWO")); // 灰狼优化器 OptimizerSetEngine("PSO")); // 粒子群优化
来自巴西的谢意
谢谢你,但我恐怕已经超出了我的知识范围。
新文章 群体优化算法:粒子群(PSO)已发布:
在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。
由于我采用了与图例 2 中描述的本系列的第一篇文章(我将在未来继续这样做)相同的结构来构建算法,因此我们将算法连接到测试台并不困难。
当在测试台运行时,我们将看到类似于下面显示的动画。 在这种情况下,我们可以清楚地看到一群粒子的行为。 群体行为真的很像自然界中的群体。 在函数的热图上,它以密集云的形式移动。
您可能还记得,黑色圆圈表示函数的全局最优值(最大值),而黑点表示在当前迭代时获得的搜索算法的最佳平均坐标。 我解释一下平均值的来源。 热图在坐标上是二维的,正在优化的函数可以包含数百个变量(测量值)。 故此,结果按坐标取平均值。
基于 Skin 测试函数的 PSO
基于 Forest 测试函数的 PSO。
基于 Megacity 测试函数的 PSO。
正如您在动画中看到的,测试表明 PSO 可以很好地应对平滑的第一个函数,但仅在优化两个变量的时候。 随着搜索空间维度的增加,算法的效率急剧下降。 这在第二个和第三个离散函数上尤其明显。 结果明显比上一篇文章中描述的随机算法更差。 我们将回到结果,并在形成结果比较表格时详细讨论它们。
作者:Andrey Dik