文章 "射箭算法(Archery Algorithm, AA)"

 

新文章 射箭算法(Archery Algorithm, AA)已发布:

本文详细探讨了受射箭启发的优化算法——射箭算法(Archery Algorithm, AA),重点介绍了如何使用轮盘赌法(roulette method)作为选择“箭矢”目标区域的机制。该方法允许评估解决方案的质量,并选择最有希望的位置进行进一步的探究。

射箭算法(AA)是一种全新的随机优化方法,旨在寻找优化问题的最优解,其灵感来源于射箭者瞄准目标的行为。AA模拟了向目标射箭的过程。群体中的每个成员代表优化问题的一个潜在解,它们在搜索空间中的位置会根据随机选择的“目标”成员的表现进行更新,这类似于射箭者根据他们想要击中的位置调整瞄准方向。

群体以矩阵的形式表示,其中每一行对应一个成员(解),每一列对应问题的一个维度。这样可以根据目标函数值对决策进行结构化的评估和更新。每个成员的表现通过目标函数进行评估,该函数量化了找到的解的质量。结果存储在一个向量中,这使得算法可以比较不同解的效率。

目标被划分为若干区域,其宽度对应种群成员的生产力。计算概率函数以根据目标函数值确定每个成员被选中的概率,表现更优的“射箭者”被选中的概率更高。基于累积概率随机选择群体中的一个成员,模拟射箭者选择目标的过程。这一选择会影响其他成员位置的更新方式。该算法使用特定的方程在搜索空间中更新每个“射箭者”的位置。更新取决于所选“射箭者”的目标函数值是否优于当前值。这一过程涉及随机性,以探索搜索空间。AA以迭代的方式工作,直到达到停止条件(最大迭代次数)为止。在此过程中,算法会跟踪找到的最优解。


作者:Andrey Dik

 
感谢您的研究。但作为 mql5 上 Expert Advisors 的一名普通程序员(我不是数学家),我有一个非常简单的问题。这个问题对您来说可能很愚蠢,我在此先向您道歉。但是,您的研究对优化 EA 有什么帮助?您能举个例子吗?比方说,我们有一个新的 EA,我们想优化它,....?谢谢。
 
Ilya Melamed 优化 EA 有什么帮助?您能举个例子吗?比方说,我们有一个新的 EA,我们想优化它,....?谢谢。

感谢您对我工作的关注和提出的好问题。

应用优化算法的场景有很多,只要您想在可能的解决方案中获得最佳方案。

例如,您可以将其应用于 EA 的自我优化,如此处 所述。

或者可以将其作为内部测试人员优化管理的一部分,如此处 所述。

Использование алгоритмов оптимизации для настройки параметров советника "на лету"
Использование алгоритмов оптимизации для настройки параметров советника "на лету"
  • www.mql5.com
В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.