问题标签 [genetic-algorithm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5880 浏览

c++ - C ++中的遗传编程,库建议?

我希望在我参与的运筹学项目中添加一些遗传算法。目前我们有一个程序可以帮助优化一些调度,我们希望以遗传算法的形式添加一些启发式算法。c++ 中有没有用于通用遗传编程/算法的好的库?或者你会建议我自己编写代码吗?

我应该补充一点,虽然我对 c++ 并不陌生,但我对在 c++ 中进行这种数学优化工作还是相当陌生,因为我之前与之合作的小组倾向于使用专有的优化包。

我们有一个计算量相当大的适应度函数来评估,并且我们有一个集群来运行它,所以并行化代码是非常可取的。

那么c ++是一种很好的语言吗?如果没有,请推荐其他一些,因为如果它能让生活更轻松,我愿意学习另一种语言。

谢谢!

0 投票
4 回答
52103 浏览

genetic-algorithm - What is Crossover Probability & Mutation Probability in Genetic Algorithm or Genetic Programming?

What is Crossover Probability & Mutation Probability in Genetic Algorithm or Genetic Programming ? Could someone explain them from implementation perspective!

0 投票
5 回答
30627 浏览

algorithm - 遗传算法和进化算法有什么区别?

遗传算法进化算法有区别吗?

我读过多篇关于遗传或进化算法的论文,虽然非常相似,但我认为它们可能不是一回事。

0 投票
3 回答
563 浏览

optimization - 多背包问题的改进遗传算法

最近我一直在改进多背包问题的传统遗传算法。所以我改进的遗传算法比传统的遗传算法效果更好。我测试过。(我使用从 OR-Library(http://people.brunel.ac.uk/~mastjjb/jeb/orlib/mknapinfo.html)公开获得的用于测试 GA。)有人知道其他改进的 GA。我想与其他改进的遗传算法进行比较。其实我在互联网上搜索。但是找不到比较好的算法。

0 投票
2 回答
319 浏览

genetic-algorithm - 平衡启发式(针对时间表问题)

我正在编写用于生成时间表的遗传算法。

目前我正在使用这两种启发式方法:

  1. 一天内讲座之间的孔数(相关)(孔少 -> 分数更高)
  2. 每个小时都有一些价值,因此对于每个时间表,我都会对讲座进行时的小时数进行总和。(在更合适的时间上课 -> 更高的分数)

我想平衡这两种启发式方法,因此该算法不会对任何一种都有利。实现这一目标的最佳方法是什么?

0 投票
3 回答
4181 浏览

probability - 如何实现非均匀概率分布?

我正在尝试在遗传算法中实现非均匀概率分布。

在遗传程序的实施中,我有一个实验,它有 3 个结果,每个结果都有不同的概率。假设一个结果的概率是 0.85,另一个是 0.01,最后一个是 0.14?

PS:我最近才知道它被称为概率的非均匀分布。我正在用 Java 实现它,任何人都可以说出非均匀概率背后的理论。分发以及实现它的任何 Java 包。

如果您需要有关该问题的更多信息,请随时问我!

提前致谢!

0 投票
1 回答
1075 浏览

algorithm - 有趣的图遍历优化问题

假设您有一组节点连接成一个具有一个根节点的树结构,并且任何节点都可以有任意数量的子节点。

您只能从根节点开始或沿着直接连接从当前位置开始遍历树。即,没有对特定节点的随机访问,但是图的结构是已知的并且适合内存。

每个节点都有一个必须重访的时间,这个时间不会透露给你。必须重访时间计算 [其中i = 自上次访问以来的时间间隔] 为(now + a + i *b + ( i *c)^2)。对于每个节点,参数 a、b 和 c 具有不同的值,但每个节点通常总是在不同节点的相同数量级内。

如果您在必须重访时间过去后重新访问一个节点,它将重置,以便根据上述公式计算该访问后的必须重访时间为 (now + a)。如果您遍历一个节点,它将向您显示您是否已经过了必须重访的时间,但您将不知道它是什么或值或 a、b 或 c 是什么。

您的目标是选择一种策略来遍历并随着时间的推移重新访问树中的每个节点,以便没有节点超过其必须重新访问的时间,并最大限度地减少整体遍历操作的数量。过早重访节点是低效的,但是在超过其必须重访时间后重访节点是非常低效的。理想情况下,您希望在其必须重访时间之前或如果您需要遍历每个节点以遍历另一个节点。

0 投票
5 回答
5539 浏览

graph - applying crossover and mutation to a graph (genetic algorithm)

I'm playing arround with a Genetic Algorithm in which I want to evolve graphs. Do you know a way to apply crossover and mutation when the chromosomes are graphs?

Or am I missing a coding for the graphs that let me apply "regular" crossover and mutation over bit strings?

thanks a lot! Any help, even if it is not directly related to my problem, is appreciated!

Manuel

0 投票
2 回答
1655 浏览

vb.net - VB.NET - 遗传算法 - 背包问题

我一直在使用遗传算法研究背包问题。但是我遇到了一些困难......

首先,用户生成存储在文本文档中的数据集。从那里我将数据读入程序。

我很好地让程序计算适应度值,选择父母,生孩子,然后变异孩子。但由于某种原因,它仅在我人口较少时才有效。当我的人口较少时,我的程序会不断发展,但当我的人口较多时,我的程序就会非常不一致。

例如:当我的人口约为 10-200 时,遗传算法运行完美。但是当我到达更多的人口(大约 300+)时,我会点击运行,但什么也没有发生。然后我重新启动程序并使用相同的数据集,程序成功执行。

我不确定我的代码的哪一部分导致了问题,所以如果您需要一段示例代码,请告诉我您想要哪一部分代码(父选择、加载数据集等)。

多谢!

0 投票
2 回答
681 浏览

algorithm - 具有所有修饰的遗传算法开源库,例如细胞遗传算法特性

我想为 SGI UV 系统(核心 = 512,共享内存 = 4TB)实现一个基于 GA 的特征选择程序,其运行方式如下:(特征选择是找到原始特征的最小子集的过程,这使得对于给定的数据,输出类之间的区分比使用原始特征集(或只是相同)更好,例如数据包括:{Atmospheric Pressure, Temperature, myShoeSize} 作为自变量,输出是降雨,可能是特征的结果选择将是 {Atm.Pressure, Temperature})。

GA 保留了一个父池,每个父池代表一个不同的特征子集。这些父母需要使用支持向量机或任何其他机器学习方法(神经网络等)进行评估,所以我希望每个父母都被发送到下一个可用的 cpu 核心,使用任何程序进行评估并将适合度发送回GA。因此,GA 将负责除每个父级的评估(适应度)之外的所有事情 - 相反,GA 会将父级发送到可用核心并等待适应度结果。这就是该方法的分布式特征所在(所以我不希望在不同的核心上运行各种 GA,只在一个核心上运行一个 GA 并在不同的核心中产生适应度评估器)。

为了利用我的硬件的分布式计算特性,我希望 GA 在异步模式下运行,而有两组父母,一组接受过健康评估,另一组正在等待。当有一个空闲核心时,GA 从未评估池中取出一个父级并将其发送到核心。与此同时,GA 从评估池中获取父母,对他们进行变异等。交叉他们并将其孩子发送到未评估池等等。

所以,我的想法是获取一个开源的 GA 库,并就其评估功能对其进行一些修改。如果库提供这种“异步”模式,那就太好了。除了所有这些之外,我还希望该库提供许多功能,例如蜂窝GA。无论结果如何,也将是开源的。

有没有人有什么建议?顺便说一句,有没有人知道任何关于这种“异步”模式的出版物的引用——或者你认为有什么缺点吗?