jenetics/jenetics

Jenetics - Genetic Algorithm, Genetic Programming, Grammatical Evolution, Evolutionary Algorithm, and Multi-objective Optimization

解决的问题

Jenetics 是一个旨在利用受自然启发的算法来解决优化问题的 Java 库。它提供了一个框架,用于最小化或最大化适应度函数,从而在庞大的搜索空间中找到最佳解决方案,而无需用户手动调整算法的内部机制。

工作原理

该库实现了多种进化计算技术,包括遗传算法 (GA)、进化算法、文法进化、遗传编程 (GP) 和多目标优化。它采用结构化方法,其中问题由 Genotype(解决方案的表示)、Phenotype(实际解决方案)和适应度 Function(成功度量)定义。

Jenetics 独有的 EvolutionStream 实现了 Java Stream 接口。这允许开发人员将进化过程视为一代代的流,从而可以使用标准的 Java Stream API 操作(如 limitcollect)来控制执行并获取结果。

适用人群

适用于需要在应用程序中实现复杂优化、搜索或符号回归任务的 Java 开发人员。

亮点

  • Java Stream 集成:使用 EvolutionStream 使进化过程与 Java Stream API 兼容。
  • 全面的工具包:支持多种范式,包括遗传编程和文法进化。
  • 多目标优化:包含解决具有多个竞争目标问题的能力。
  • 模块化设计:分为核心、扩展和编程模块,以实现灵活部署。

相关

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