SciML/Evolutionary.jl

Evolutionary & genetic algorithms for Julia

解决的问题

提供一个全面的工具包,用于使用进化和遗传算法解决优化问题,使用户能够在传统基于梯度的方法可能失效的复杂搜索空间中找到最优解。

工作原理

该包实现了多种受自然启发的优化策略。它包含 CMA-ES、差分进化(Differential Evolution)和遗传算法等算法,以及一个庞大的变异、重组、交叉和选择算子库,可用于自定义候选解随时间的演化方式。

适用人群

需要在 Julia 语言中使用强大全局优化工具的研究人员和工程师,特别是处理实值、二进制或组合优化问题的用户。

主要亮点

  • 多样化的算法支持:包括 (mu/rho(+/,)lambda)-SA-ES、CMA-ES、多目标优化用的 NSGA-II、差分进化(Differential Evolution),以及用于遗传编程的 TreeGP。
  • 丰富的算子库:提供多种变异类型(高斯、柯西、多项式)、交叉方式(单点、模拟二进制、部分映射)和选择方法(锦标赛、轮盘赌、SUS)。
  • 灵活的参数化:支持多种数据类型,包括二进制、实数值和组合表示。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目