背景
进化优化算法是进化计算的一个子领域。他们的目标是在不使用任何梯度信息的情况下最小化/最大化函数(通常是因为没有可用的梯度)。它们具有通过繁殖、变异、评估和分类所谓的个体来探索搜索空间的共同属性。大多数进化算法旨在处理实值函数,但实际上它们通常用于处理更奇特的问题。例如,遗传算法可用于找到神经网络的最佳结构。
eaopt 提供各种进化优化算法的实现。在实现方面,这个想法是大多数(如果不是全部)所述算法可以写成遗传算法的特殊情况。实际上,这是通过使用遗传算法的通用定义,允许随意修改突变、交叉、选择和替换过程来实现的。该GA结构因此是 eaopt 最灵活的结构,其他算法都写在它之上。如果您没有找到任何适合您需要的算法,那么您可以轻松编写自己的运算符(如大多数示例中所做的那样)。
特征
使用一致的 API 可以使用不同的进化算法
您几乎可以使用GAstruct做任何事情
提供物种形成和迁移程序
常见的遗传算子(突变、交叉、选择、迁移、物种形成)已经实施
如果您的功能成本高昂,则可以并行进行功能评估
2022-06-18 19:04:49
67KB
go