PIKAIA 遗传算法的现代 Fortran 版
2022-06-19 09:06:41 317KB fortran
提供以下功能: 快速和并行的遗传算法实现(它在几秒钟内解决了 N=255 的 N Queens 问题)。对于基准查看此文件的基准部分。 根据内置的世代,可定制的突变和选择率具有常数、线性和二次函数(您可以通过MutationRate和SelectionRate特征实现自己的函数)。 可自定义的个体年龄不适合度,没有不适合度,线性和二次不适合度根据个人内置的代数(您可以通过Age特征实现自己的年龄函数)。 AccumulatedRoulette和内置选择函数(您可以通过 trait 实现自己的选择函数Tournaments)。CupSelection SingleCrossPoint,MultiCrossPoint和UniformCross内置的交叉函数(您可以通过Crossovertrait 实现自己的交叉函数)。 许多内置的生存压力功能。SurvivalPressure您可以通过trait实现自己的生存压力函数。 Niches内置PopulationRefitness功能。您可以通过 trait 实现自己的人口适应功能PopulationRefitness。 等等
2022-06-19 09:06:41 54KB rust
这是一个轻量级框架,可简化创建遗传算法并并行运行它们的过程
2022-06-18 19:04:52 7KB Julia
算法 (μ/ρ(+/,)λ)-SA-ES (ES) (μ/μ I ,λ)-CMA-ES (CMAES) 遗传算法(GA) 多目标:NSGA-II (NSGA2) 微分进化(DE) 遗传编程(TreeGP)
2022-06-18 19:04:51 222KB Julia
描述 Go/Golang 的遗传算法
2022-06-18 19:04:50 18KB go语言
RsGenetic 是一个在 Rust 中执行遗传算法的框架。它旨在具有简单但模块化的 API。
2022-06-18 19:04:50 35KB rust
背景 进化优化算法是进化计算的一个子领域。他们的目标是在不使用任何梯度信息的情况下最小化/最大化函数(通常是因为没有可用的梯度)。它们具有通过繁殖、变异、评估和分类所谓的个体来探索搜索空间的共同属性。大多数进化算法旨在处理实值函数,但实际上它们通常用于处理更奇特的问题。例如,遗传算法可用于找到神经网络的最佳结构。 eaopt 提供各种进化优化算法的实现。在实现方面,这个想法是大多数(如果不是全部)所述算法可以写成遗传算法的特殊情况。实际上,这是通过使用遗传算法的通用定义,允许随意修改突变、交叉、选择和替换过程来实现的。该GA结构因此是 eaopt 最灵活的结构,其他算法都写在它之上。如果您没有找到任何适合您需要的算法,那么您可以轻松编写自己的运算符(如大多数示例中所做的那样)。 特征 使用一致的 API 可以使用不同的进化算法 您几乎可以使用GAstruct做任何事情 提供物种形成和迁移程序 常见的遗传算子(突变、交叉、选择、迁移、物种形成)已经实施 如果您的功能成本高昂,则可以并行进行功能评估
2022-06-18 19:04:49 67KB go
Ruby 的通用遗传算法是一种非常简单易用的 Ruby 遗传算法: 拿一个类来进化它并定义适应度、重组和变异方法。 使用种群创建一个 GeneticAlgorithm 对象。 根据需要多次调用进化方法,并查看最佳进化。
2022-06-18 19:04:48 47KB ruby
使使用 Elixir 编写遗传算法变得容易。 特征 Genex 力求尽可能简单和可定制。除了能够自定义遗传算法的每一步之外,Genex 还具有以下功能: 6 个选择运算符(预计 14 个) 12 位交叉操作员(预计 17 位) 4 个变异算子(预计 9 个) 完全可定制的演变 多目标优化 惩罚函数 基因型生成助手 常见问题的基准测试 可导出的家谱树 可出口名人堂 染色体的灵活编码(任意Enum) 可扩展的可视化 要请求功能,请打开一个问题
2022-06-18 19:04:47 57KB elixir
GA包提供了一套灵活的通用工具,用于在连续和离散情况下实现遗传算法搜索,无论是否受到约束。用户可以根据手头的问题轻松定义自己的目标函数。有几个遗传算子可用,可以组合起来探索当前任务的最佳设置。此外,用户可以定义新的遗传算子并轻松评估其性能。使用通用优化算法的局部搜索可以随机应用以利用感兴趣的区域。GA 可以顺序或并行运行,使用明确的主从并行化或粗粒度岛方法。
2022-06-18 19:04:46 9.54MB r语言